API sencilla, confiable y transparente para verificación SMS.
La API de SMSKap ofrece números físicos reales de SIM para WhatsApp, WhatsApp Business y Telegram a precios estándar de catálogo y con reembolso 100% automático.
https://api.smskap.com/v1Integra en tres sencillos pasos
Envía tu solicitud, obtén la aprobación, genera tu clave Live y comienza a operar desde tu propio servidor backend.
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.
Autenticación Segura con Bearer Token
Envía tu clave en la cabecera Authorization: Bearer <key> en cada petición. La clave secreta solo se muestra una vez al generarla.
curl https://api.smskap.com/v1/account \
-H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxx"Estado de Cuenta y Saldo
Consulta GET /v1/account para verificar el saldo disponible, la moneda (TRY) y los límites configurados.
/v1/accountRequiere Clave Live Aprobada{
"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"
}Catálogo Estándar de Servicios y Países
Nuestra infraestructura está enfocada en 3 servicios clave y 3 países globales con la más alta tasa de entrega.
Supported Services
whatsappwhatsapp-businesstelegramSupported Countries
trusgbSin márgenes ocultos ni costes sorpresa. Todos los precios se rigen por el catálogo público estándar, con descuentos por volumen configurables desde el panel de administración. GET /v1/offers devuelve los precios netos.
/v1/countriesPaíses Activos (TR, US, GB)/v1/servicesServicios Activos (WhatsApp, WhatsApp Business, Telegram)/v1/offersPrecios y Stock en Tiempo RealReserva de Números, Consulta de SMS y Reembolso
Reserva un número, consulta el código SMS recibido o cancela en plazo. Si el código no llega, el saldo se reembolsa al instante.
/v1/activationsReservar Número (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}Consultar 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}Cancelar y Reembolsar (DELETE /v1/activations/{id})Integración con SDK Oficial de Python
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}")Observabilidad, Límites y Seguridad
El consumo de la API está protegido por límites configurables en tiempo real.
Límite de solicitudes por minuto (ej. 60/min). Devuelve 429 y Retry-After si se excede.
Máximo número de activaciones por día calendario. Ampliable según tus necesidades.
Identificador único incluido en cada respuesta para auditoría y soporte ágil.
Códigos de Error Estandarizados
Todos los errores responden con un esquema JSON estandarizado. Procesa el valor de error.code.
| HTTP | Código de Error (error.code) | Descripción y Solución |
|---|---|---|
| 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. |