Saltar al contenido
OmniChannels.ai

API y SMPP

¿Cómo conectarse a un proveedor de SMS por SMPP?

Actualizado

Respuesta breve

Para conectarse a un proveedor de SMS por SMPP, solicite un bind y registre sus direcciones IP de origen; después abra una conexión TLS al host y puerto indicados. Envíe bind_transceiver con su system_id y contraseña, envíe mensajes con submit_sm, responda a cada informe de entrega (DLR) que llegue por deliver_sm y envíe enquire_link periódicamente para mantener viva la sesión.

Qué le facilita el proveedor

El acceso SMPP suele configurarlo el proveedor, no está en autoservicio. Indíquele los países de destino, sus ID de remitente (sender ID), el volumen máximo previsto y las IP públicas desde las que se conectará.

ElementoQué es
Host y puerto TLSDónde se conecta su cliente
system_id y contraseñaCredenciales del bind; guárdelas como secretos
system_typeNormalmente vacío, salvo que el proveedor fije un valor
Binds y capacidadCuántas sesiones puede abrir y la tasa acordada por bind
Lista de IP permitidasSolo las IP de origen registradas pueden hacer bind

Abrir y mantener la sesión

Un bind transceiver envía y recibe en una sola sesión. Use binds transmitter y receiver separados solo si su cliente lo exige.

  1. Abra una conexión TLS al host y puerto que le hayan asignado.
  2. Envíe bind_transceiver con system_id y contraseña, y espere bind_transceiver_resp con command_status 0.
  3. Envíe cada mensaje con submit_sm y guarde el message_id de submit_sm_resp.
  4. Reciba los informes de entrega como deliver_sm y responda a cada uno con deliver_sm_resp.
  5. Envíe enquire_link en los periodos de inactividad y reconecte con espera progresiva si dejan de llegar respuestas.
  6. Cierre con unbind y espere unbind_resp.

¿Qué campos de submit_sm causan más rechazos?

  • source_addr_ton y source_addr_npi: 5 y 0 para un ID de remitente alfanumérico, 1 y 1 para un número internacional.
  • destination_addr: prefijo del país más el número, sin signo más ni ceros iniciales.
  • data_coding: 0 para el alfabeto GSM-7 por defecto, 8 para UCS-2 (árabe, emojis y otras escrituras).
  • registered_delivery: 1 para solicitar el informe de entrega.
  • short_message admite hasta 254 octetos; para contenido más largo use el TLV message_payload con sm_length 0, nunca ambos.

Errores habituales de bind y envío

OmniChannels.ai configura binds SMPP 3.4 sobre TLS por cuenta, con las IP de origen en lista permitida, y los revendedores y partners mayoristas pueden tener binds dedicados.

command_statusCausa probableSolución
ESME_RBINDFAILsystem_id incorrecto o IP no incluida en la lista permitidaRevise las credenciales y la IP de origen
ESME_RINVPASWDContraseña incorrectaRevise las credenciales
ESME_RINVSRCADRID de remitente o su TON/NPI no válidosCorrija el remitente y el TON/NPI
ESME_RTHROTTLEDEnvío por encima de la tasa acordadaReduzca el ritmo y reintente con espera progresiva

Fuentes oficiales