sms.tcsms.tc

Documentación de la API

Automatiza la compra de números y la verificación por SMS en sms.tc. Dos interfaces: una API REST moderna y un endpoint compatible con SMS-Activate listo para usar; apunta tu software de SMS-Activate actual a sms.tc sin cambiar ni una línea de código.

Descripción general

sms.tc es un agregador de múltiples proveedores: una sola API te da acceso a números de varios proveedores, con nuestros precios aplicados. Puedes usar la interfaz que mejor se adapte a tu stack.

REST API

JSON sobre HTTP. Recomendado para nuevas integraciones.

https://sms.tc/api/v1
SMS-Activate

Protocolo de texto plano compatible con los clientes de SMS-Activate.

https://sms.tc/stubs/handler_api.php

Obtener una clave API

  1. 1Inicia sesión y abre la página Perfil → API.
  2. 2Genera una clave. Solo se muestra una vez: cópiala y guárdala en un lugar seguro.
  3. 3Al regenerarla, la clave anterior se revoca y la nueva se te envía por correo. Opcionalmente, puedes restringir una clave a direcciones IP concretas y establecer una fecha de caducidad.
Obtén tu clave API

Autenticación

Cada solicitud debe incluir tu clave API. La API REST la lee de un encabezado; el endpoint de SMS-Activate la lee del parámetro de consulta api_key.

REST

Authorization: Bearer smstc_live_xxxX-Api-Key: smstc_live_xxx

SMS-Activate

?api_key=smstc_live_xxx

Conceptos básicos

Códigos canónicos

Los países usan los ID numéricos de SMS-Activate (0=Rusia, 1=Ucrania…) y los servicios usan códigos cortos (tg, wa, ig…). Puedes consultarlos mediante los endpoints catalog / getCountries / getServicesList.

Moneda

Todos los precios y saldos están en USD (ISO 840).

Saldo

Las compras se cargan a tu saldo de sms.tc. Las activaciones fallidas o con tiempo agotado se reembolsan automáticamente.

Tasa de éxito de SMS (rate)

Las respuestas de ofertas pueden incluir rate: la proporción de nuestras propias activaciones liquidadas que recibieron un SMS (%, o null). Se calcula por proveedor + servicio + país, solo se muestra con al menos 10 activaciones liquidadas y se actualiza una vez al día. Usa /activations/offers/providers para obtener un desglose por proveedor.

API REST

URL base https://sms.tc/api/v1. Autentícate con un encabezado Bearer / X-Api-Key. Las respuestas son JSON.

GET/activations/offersList available numbers (service → country → price/count/rate).
GET/activations/offers/providersPer-provider offers (provider, operator, price, stock, SMS success rate). Requires service + country.
POST/activationsBuy a number. Body: { service, country, operator? }.
GET/activations/{id}Get activation status + received SMS code.
GET/emailsList email activations.
POST/emailsBuy an email activation. Body: { site, domain }.
POST/emails/batchBuy email activations in bulk (count 1–10).
GET/emails/{id}Check an email activation.
DELETE/emails/{id}Cancel an email activation.
POST/emails/{id}/reorderReorder an email activation.
GET/emails/domainsList available email domains.
GET/catalog/countriesCanonical country list (SMS-Activate ids).
GET/catalog/servicesCanonical service list (short codes).
GET/catalog/pricesPrices by country/service, incl. SMS success rate (rate).
GET/rent/offersRentable services for a country + duration.
POST/rentRent a number. Body: { service, country, duration }.
GET/rent/{id}Get a rent order + its SMS.
POST/rent/{id}/prolongExtend a rent. Body: { duration }.
Ejemplo · cURL
# 1) Listar números disponibles
curl https://sms.tc/api/v1/activations/offers \
  -H "Authorization: Bearer smstc_live_xxx"

# 2) Comprar un número (Telegram, país 6)
curl -X POST https://sms.tc/api/v1/activations \
  -H "Authorization: Bearer smstc_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"service":"tg","country":6}'

# 3) Consultar el código
curl https://sms.tc/api/v1/activations/123456 \
  -H "X-Api-Key: smstc_live_xxx"

API compatible con SMS-Activate

Un único endpoint en /stubs/handler_api.php, que se despacha según el parámetro de consulta action; replica el protocolo de SMS-Activate para que el software de socios existente funcione sin cambios. Las respuestas son de texto plano (o JSON para las acciones V2 / de listado).

actionDevuelve
getBalanceACCESS_BALANCE:12.50
getNumberACCESS_NUMBER:<id>:<phone>
getNumberV2JSON (activationId, phoneNumber, …)
getStatusSTATUS_WAIT_CODE · STATUS_OK:<code>
getStatusV2JSON (sms, call, …)
setStatusACCESS_READY · ACCESS_RETRY_GET · ACCESS_ACTIVATION · ACCESS_CANCEL
getActiveActivationsJSON (active list)
getHistoryJSON (history)
getPricesJSON (prices by country/service)
getCountriesJSON (countries)
getServicesListJSON (services)
getOperatorsJSON (operators)
getAllSmsJSON (all SMS for an activation)
finishActivation204
cancelActivation204
reactivate / reactivateOptionsJSON · provider-dependent
getRentNumber / getRentServicesAndCountries / serviceCountRentJSON · provider-dependent
prolong / prolongOptions / prolongHistoryJSON · rent only

setStatus

1 notificar que está listo3 solicitar otro SMS6 completar la activación8 cancelar y reembolsar
Ejemplo
# Obtener un número
GET https://sms.tc/stubs/handler_api.php?api_key=smstc_live_xxx&action=getNumber&service=tg&country=6
→ ACCESS_NUMBER:123456:628712345678

# Consultar estado / código
GET https://sms.tc/stubs/handler_api.php?api_key=smstc_live_xxx&action=getStatus&id=123456
→ STATUS_OK:12345

# Completar (6) o cancelar (8)
GET https://sms.tc/stubs/handler_api.php?api_key=smstc_live_xxx&action=setStatus&id=123456&status=8
→ ACCESS_CANCEL

Códigos de error

El endpoint de SMS-Activate devuelve tokens de texto plano (HTTP 200). La API REST devuelve JSON con un estado HTTP y un código de error.

NO_KEYFalta la clave API.
BAD_KEYLa clave API no es válida, ha caducado o no está permitida para tu IP.
BAD_ACTIONParámetro action desconocido.
BAD_SERVICECódigo de servicio desconocido.
NO_NUMBERSNo hay números disponibles para este servicio/país.
NO_BALANCESaldo insuficiente.
WRONG_ACTIVATION_IDFalta el id de activación o tiene un formato incorrecto.
NO_ACTIVATIONNo se encontró la activación en tu cuenta.
BAD_STATUSValor de setStatus no válido.
EARLY_CANCEL_DENIEDAún no se puede cancelar (no ha transcurrido el tiempo mínimo de espera).
ACTION_NOT_AVAILABLEEsta acción no está disponible para el proveedor seleccionado.

Especificación

A continuación están disponibles la especificación completa legible por máquina y una guía de inicio.