Crea y prueba solicitudes a la API con tu propia clave
Todos los métodos públicos están documentados y listos para ejecutarse — elige uno, completa parámetros reales y llámalo en vivo contra tu propia cuenta.
Inicia sesión para ejecutar solicitudes en vivo con tu propia clave de API — todos los métodos siguientes siguen estando totalmente documentados como invitado.
Cada parámetro, la respuesta en vivo y cada éxito/error documentado están en una sola pantalla.
getNumber
V1
GET / POST
Compra un número de teléfono para un servicio/país.
Acepta valores separados por comas — una exclusiva de Tiger SMS.
Se aceptan pero actualmente se ignoran (sin regla de validación, se descartan de forma silenciosa, sin error): operator, phoneException, minPrice.
La detección automática de país (p. ej. `country=any`) no es compatible: `country` debe ser un código numérico de país — un país no numérico o desconocido devuelve BAD_COUNTRY.
En este método, las listas separadas por comas solo se admiten para providerIds/exceptProviderIds. Los parámetros de nivel superior `service`/`country` no aceptan listas con comas aquí — esa capacidad llegará próximamente solo a los métodos de consulta de precios (getPrices/getFreePrices/getPricesV2/getPricesV3).
getNumberTest se comporta exactamente igual que getNumber, pero es la forma documentada de pasar explícitamente activationType/testParams.
Esta es una solicitud real — una llamada exitosa puede cobrar tu saldo o modificar una activación real.
Mapa plano de precio/cantidad por país y servicio.
Acepta valores separados por comas — una exclusiva de Tiger SMS.
Un código de service/country desconocido o eliminado devuelve BAD_SERVICE/BAD_COUNTRY. Un código válido que simplemente no tiene variación ofrecida para el par produce un resultado vacío (la clave se omite).
Listas separadas por comas (cuando está habilitado): cada token se valida igual que un valor único; si no existe ninguno de los códigos listados, se devuelve BAD_SERVICE/BAD_COUNTRY.
BAD_KEY (HTTP 401) se devuelve antes de que este método siquiera se ejecute, siempre que la clave de API falte o sea inválida — esto aplica a todos los métodos, no solo a este.
Price/count map with a per-provider price breakdown.
Acepta valores separados por comas — una exclusiva de Tiger SMS.
A diferencia de todos los demás métodos JSON de esta familia, un error interno inesperado aquí devuelve la respuesta BAD_ACTION en texto plano en lugar de un cuerpo JSON — esto es intencional, para que un cliente que parsea JSON nunca reciba un cuerpo JSON mal formado.
Listas separadas por comas (próximamente): se activarán cuando service o country contenga una coma; cada token se valida de la misma forma que un valor único, y cada lista está limitada a 50 elementos con un total de 100 combinaciones country×service.
Combined price+stock showcase: default/retail/min price, counts and the full price-bucket map, by service and country.
Requires the same price-bucket data as getFreePrices/getPricesV3 — when that data isn't available for this account, this method returns an empty `data: {}` rather than falling back to catalog prices.
There is no `counts.physical` field: our provider module does not currently expose a physical stock figure separate from `counts.total`, and this method does not invent one. It may be added later if that data becomes available.
Never exposes providers, cost, or purchase price — none of those exist in this response by design.
List of currently active activations for the key owner.
Nunca devuelve error ante un fallo inesperado (misma filosofía que getServicesList/getCountries) — se degrada a una lista `data: []` vacía manteniendo el status en "success".
Valores de activationStatus: 1=WAIT_CODE, 2=WAIT_ACCEPTING, 3=WAIT_NEXT_SMS, 6=OK, 7=REFUND, 8=CANCEL — esta numeración es específica nuestra y puede diferir de otras APIs de SMS que hayas usado.
Recibe los SMS entrantes enviados (push) a tu propio endpoint HTTPS en cuanto llegan, en lugar de hacer polling a getStatus/getStatusV2.
Ejemplo de payload
POSTapplication/json
Un POST por cada segmento de SMS recibido, enviado a la URL que registraste. Solo una respuesta HTTP 200 cuenta como aceptada; no se siguen redirecciones.
activationId Id de activación, el mismo valor que el parámetro `id` usado por getStatus/getStatusV2.
service Código de servicio al estilo sms_activate para el que se compró el número.
code El segmento de código extraído del SMS, el mismo valor que getStatus devuelve después de los dos puntos.
text Texto completo del SMS cuando el proveedor lo proporciona, de lo contrario idéntico a `code`.
country Código de país numérico (sms_activate_code), o null si el país de la activación no tiene uno configurado.
receivedAt Marca de tiempo ISO 8601 (UTC) de cuándo se recibió el SMS.
Verificación de firma
X-SignatureHMAC-SHA256
HMAC-SHA256 en hexadecimal del cuerpo JSON crudo de la solicitud, generado con tu secreto de webhook. Vuelve a calcularlo de la misma forma en tu lado y compáralo antes de confiar en el payload.
Política de reintentos
Hasta 3 intentos en total: 5s, luego 30s, luego 120s entre intentos. Cada intento expira a los 10s. Si todos los intentos fallan, el evento se descarta silenciosamente — no existe cola de mensajes fallidos (dead-letter) ni alertas.
Tu endpoint debe ser una URL HTTPS pública; las direcciones privadas, de loopback, link-local y otras direcciones internas se rechazan tanto al guardar la URL como en cada intento de entrega (el DNS se vuelve a resolver y se fija por solicitud para evitar rebinding).
El secreto de firma se genera una sola vez de forma automática y se almacena por cuenta; es el mismo secreto para cada entrega hasta que soporte lo cambie.