Простой, надежный и прозрачный API SMS-верификации.
API SMSKap предоставляет одобренным аккаунтам реальные физические номера для WhatsApp, WhatsApp Business и Telegram по прозрачным стандартным ценам каталога со 100% автовозвратом средств.
https://api.smskap.com/v1Интеграция за три шага
Отправьте заявку, получите одобрение, создайте Live API-ключ и начните отправлять запросы со своего сервера.
Submit your developer form to begin the review process.
Get notified once your account is reviewed and approved.
Generate your live secret key and configure it on your server.
Аутентификация через Bearer Token
Передавайте ключ в заголовке Authorization: Bearer <key> при каждом запросе. Секретный ключ отображается только один раз.
curl https://api.smskap.com/v1/account \
-H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxx"Состояние аккаунта и баланс
Запрос GET /v1/account возвращает доступный баланс, валюту (TRY) и настроенные лимиты запросов.
/v1/accountТребуется одобренный Live-ключ{
"account": { "balance": 450.00, "currency": "TRY" },
"application": {
"name": "Production Bot",
"status": "approved",
"requests_per_minute": 60,
"daily_activation_limit": 200,
"currency": "TRY"
},
"environment": "live",
"request_id": "req_01J8SMSKAP123456789"
}Стандартный каталог сервисов и стран
Инфраструктура сфокусирована исключительно на 3 ключевых сервисах и 3 проверенных странах с максимальной проходимостью SMS.
Supported Services
whatsappwhatsapp-businesstelegramSupported Countries
trusgbНикаких скрытых наценок. Тарификация идет строго по ценам официального каталога сайта. Для крупных партнеров в панели администратора может быть настроена скидка (дисконт). Эндпоинт GET /v1/offers сразу отдает цены с учетом скидки.
/v1/countriesАктивные страны (TR, US, GB)/v1/servicesАктивные сервисы (WhatsApp, WhatsApp Business, Telegram)/v1/offersТекущие цены и наличиеВыдача номера, получение SMS и автовозврат
Забронируйте номер, запросите входящий код или отмените активацию. Если SMS не поступило, баланс возвращается мгновенно.
/v1/activationsЗаказ номера (POST /v1/activations)curl -X POST https://api.smskap.com/v1/activations \
-H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Idempotency-Key: e9b8d2e1-4567-4d89-b123-987654321abc" \
-H "Content-Type: application/json" \
-d '{
"service_key": "whatsapp",
"country_code": "tr"
}'{
"activation": {
"id": "AKT-260827-ABC123",
"status": "waiting_code",
"service_key": "whatsapp",
"service_name": "WhatsApp",
"country_code": "tr",
"country_name": "Türkiye",
"number": "+905301234567",
"code": null,
"sale_amount": 40.50,
"currency": "TRY",
"expires_at": "2026-10-19T21:05:00Z",
"cancellable_at": "2026-10-19T20:47:00Z",
"poll_interval_seconds": 3
},
"request_id": "req_01J8SMSKAP123456789"
}/v1/activations/{activation_id}Проверка SMS (GET /v1/activations/{id})curl https://api.smskap.com/v1/activations/AKT-260827-ABC123 \
-H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxx"{
"activation": {
"id": "AKT-260827-ABC123",
"status": "code_received",
"code": "482910",
"sale_amount": 40.50,
"currency": "TRY"
},
"request_id": "req_01J8SMSKAP123456789"
}/v1/activations/{activation_id}Отмена и возврат (DELETE /v1/activations/{id})Официальный Python SDK
Integrate in seconds using our official open-source Python SDK with automated polling and refund handling:
pip install smskapfrom smskap import SMSKapClient, SMSKapError
client = SMSKapClient(api_key="sk_live_xxxxxxxxxxxxxxxxxxxxxxxx")
try:
# 1. Numara rezerve et (WhatsApp / Türkiye)
act = client.create_activation(service="whatsapp", country="tr")
print(f"Tahsis edilen numara: {act['number']} (ID: {act['id']})")
# 2. SMS kodunu otomatik dinle (120 saniyeye kadar)
code = client.wait_for_code(activation_id=act["id"], timeout=120)
if code:
print(f"SMS Doğrulama Kodu: {code}")
else:
# Kod gelmezse iptal et; bakiye anında iade edilir
client.cancel_activation(act["id"])
print("Süre doldu, rezervasyon iptal edildi ve bakiye iade edildi.")
except SMSKapError as e:
print(f"Hata [{e.code}]: {e.message}")Лимиты, аудит и безопасность
Использование API контролируется гибкими ограничениями.
Максимальное число вызовов в минуту (например, 60/мин). При превышении возвращается 429 и Retry-After.
Максимальное количество номеров в день. Может быть увеличено по запросу.
Уникальный ID каждого ответа для аудита и быстрого решения вопросов через службу поддержки.
Стандартные коды ошибок
Все ошибки возвращаются в едином JSON-формате. Обрабатывайте поле error.code в логике вашего приложения.
| HTTP | Код ошибки (error.code) | Описание и рекомендуемое действие |
|---|---|---|
| 400 | invalid_payload | Missing or invalid payload (service_key or country_code outside supported catalog). |
| 400 | insufficient_balance | Account balance is insufficient. Top up balance in the user panel. |
| 400 | cancel_window_expired | Cancellation window expired or SMS code already delivered; cannot be cancelled. |
| 401 | invalid_api_key | Invalid, missing or revoked Bearer API key. |
| 403 | forbidden | Developer application pending approval or suspended. |
| 404 | no_numbers_available | No numbers available right now for this service and country. Please retry shortly. |
| 404 | activation_not_found | The requested activation ID does not exist. |
| 409 | activation_conflict | Conflict detected on activation or duplicate idempotency key. |
| 429 | rate_limit_exceeded | Rate limit exceeded. Wait the number of seconds specified in the Retry-After header. |
| 429 | daily_activation_limit_exceeded | Daily activation quota reached. Contact support to request a quota increase. |
| 503 | service_temporarily_unavailable | Carrier network is temporarily unavailable. Please retry shortly. |