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
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.50Referencia 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.
GET /stubs/handler_api.php?api_key=KEY&action=getBalanceACCESS_BALANCE:42.50getNumber
Reserva un número virtual. Requerido: código de servicio (wa/tg/ig/etc.) y país (ID entero, ISO o slug).
GET /stubs/handler_api.php?api_key=KEY&action=getNumber&service=wa&country=187ACCESS_NUMBER:12345678:79991234567getStatus
Consulta el estado de la activación. Devuelve STATUS_WAIT_CODE, STATUS_OK:<code> o STATUS_CANCEL.
GET /stubs/handler_api.php?api_key=KEY&action=getStatus&id=12345678STATUS_OK:123456setStatus
Actualiza el estado de la activación. status=1 (SMS enviado), 3 (pedir otro), 6 (completar), 8 (cancelar).
GET /stubs/handler_api.php?api_key=KEY&action=setStatus&id=12345678&status=6ACCESS_ACTIVATIONgetNumbersStatus
Devuelve el stock por combinación servicio-país. Dict JSON con claves tipo 'wa_187'.
GET /stubs/handler_api.php?api_key=KEY&action=getNumbersStatus&country=187{"wa_187":1234,"tg_187":567}getPrices
Devuelve precios y stock de combinaciones service+country. JSON anidado por ID de país.
GET /stubs/handler_api.php?api_key=KEY&action=getPrices&service=wa&country=187{"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.
GET /stubs/handler_api.php?api_key=KEY&action=getCountries[{"id":187,"iso":"TR"},...]Valores setStatus
Qué hace cada código de estado y qué respuesta obtienes.
| Valor | Acción | Respuesta |
|---|---|---|
| 1 | Reportar SMS enviado (sin efecto) | ACCESS_READY |
| 3 | Pedir otro SMS | ACCESS_RETRY_GET |
| 6 | Marcar activación completada | ACCESS_ACTIVATION |
| 8 | Cancelar activación | ACCESS_CANCEL |
IDs de país
IDs canónicos de SMS-Activate preservados. Países principales:
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ódigo | Significado |
|---|---|
| BAD_KEY | Clave API inválida o ausente |
| BAD_ACTION | Parámetro action ausente o malformado |
| BAD_SERVICE | Código de servicio no reconocido |
| BAD_COUNTRY | Parámetro country no reconocido |
| BAD_STATUS | Valor de status inválido para setStatus |
| WRONG_ACTION | Nombre de acción no soportado |
| NO_BALANCE | Saldo insuficiente en cartera |
| NO_NUMBERS | No hay números disponibles para esta service+country |
| NO_ACTIVATION | ID de activación no encontrado o no tuyo |
| RATE_LIMITED | Cuota diaria de API excedida — ver cabecera Retry-After |
| ERROR_SQL | Error interno del servidor |
¿Listo para migrar?
Obtén tu clave API y empieza con un solo curl. Sin SDK, sin cambios de código.
