Compatible directo

Compatibilidad de API heredada

Si ya usas sms-activate.org o un servicio similar, cambia a SMSBulk modificando solo tu URL base. Todos los endpoints, nombres de acción y formatos de respuesta son idénticos.

Cambia en una línea

https://sms-activate.org/stubs/handler_api.php
https://smsbulk.net/stubs/handler_api.php

Tus scripts, bibliotecas de bots e integraciones existentes funcionan sin cambios de código. Los IDs de país coinciden con el mapeo canónico (TR=187, US=12, RU=0, etc.).

Autenticación

Igual que SMS-Activate: pasa tu clave API como parámetro de query string.

# Query string (sms-activate convention)
curl "https://smsbulk.net/stubs/handler_api.php?api_key=YOUR_KEY&action=getBalance"

# Response (plain text)
ACCESS_BALANCE:42.50

Referencia de acciones

Las 7 acciones están soportadas. Nombres, parámetros y formatos de respuesta son idénticos a SMS-Activate.

getBalance

Devuelve el saldo actual de tu cartera en USD.

Solicitud
GET /stubs/handler_api.php?api_key=KEY&action=getBalance
Respuesta
ACCESS_BALANCE:42.50

getNumber

Reserva un número virtual. Requerido: código de servicio (wa/tg/ig/etc.) y país (ID entero, ISO o slug).

Solicitud
GET /stubs/handler_api.php?api_key=KEY&action=getNumber&service=wa&country=187
Respuesta
ACCESS_NUMBER:12345678:79991234567

getStatus

Consulta el estado de la activación. Devuelve STATUS_WAIT_CODE, STATUS_OK:<code> o STATUS_CANCEL.

Solicitud
GET /stubs/handler_api.php?api_key=KEY&action=getStatus&id=12345678
Respuesta
STATUS_OK:123456

setStatus

Actualiza el estado de la activación. status=1 (SMS enviado), 3 (pedir otro), 6 (completar), 8 (cancelar).

Solicitud
GET /stubs/handler_api.php?api_key=KEY&action=setStatus&id=12345678&status=6
Respuesta
ACCESS_ACTIVATION

getNumbersStatus

Devuelve el stock por combinación servicio-país. Dict JSON con claves tipo 'wa_187'.

Solicitud
GET /stubs/handler_api.php?api_key=KEY&action=getNumbersStatus&country=187
Respuesta
{"wa_187":1234,"tg_187":567}

getPrices

Devuelve precios y stock de combinaciones service+country. JSON anidado por ID de país.

Solicitud
GET /stubs/handler_api.php?api_key=KEY&action=getPrices&service=wa&country=187
Respuesta
{"187":{"wa":{"cost":0.5,"count":1234}}}

getCountries

Devuelve la lista canónica de países soportados con IDs de SMS-Activate y códigos ISO.

Solicitud
GET /stubs/handler_api.php?api_key=KEY&action=getCountries
Respuesta
[{"id":187,"iso":"TR"},...]

Valores setStatus

Qué hace cada código de estado y qué respuesta obtienes.

ValorAcciónRespuesta
1Reportar SMS enviado (sin efecto)ACCESS_READY
3Pedir otro SMSACCESS_RETRY_GET
6Marcar activación completadaACCESS_ACTIVATION
8Cancelar activaciónACCESS_CANCEL

IDs de país

IDs canónicos de SMS-Activate preservados. Países principales:

Turkey
ID: 187 · ISO: TR
Russia
ID: 0 · ISO: RU
USA
ID: 12 · ISO: US
United Kingdom
ID: 16 · ISO: GB
Germany
ID: 42 · ISO: DE
France
ID: 77 · ISO: FR
India
ID: 22 · ISO: IN
Brazil
ID: 72 · ISO: BR

Soporte triple formato: El parámetro country acepta ID entero (187), código ISO (TR) o slug (turkey).

Códigos de error

Todos los errores devuelven códigos de texto plano (text/plain). Nunca traducidos — compatibilidad con bibliotecas de bots.

CódigoSignificado
BAD_KEYClave API inválida o ausente
BAD_ACTIONParámetro action ausente o malformado
BAD_SERVICECódigo de servicio no reconocido
BAD_COUNTRYParámetro country no reconocido
BAD_STATUSValor de status inválido para setStatus
WRONG_ACTIONNombre de acción no soportado
NO_BALANCESaldo insuficiente en cartera
NO_NUMBERSNo hay números disponibles para esta service+country
NO_ACTIVATIONID de activación no encontrado o no tuyo
RATE_LIMITEDCuota diaria de API excedida — ver cabecera Retry-After
ERROR_SQLError interno del servidor
Compatibilidad con bibliotecas de bots: Los códigos de error son identificadores estables, nunca traducidos. Los scripts existentes que coinciden con estas cadenas funcionan sin modificación.

¿Listo para migrar?

Obtén tu clave API y empieza con un solo curl. Sin SDK, sin cambios de código.