Saltar al contenido
OmniChannels.ai

API y SMPP

¿Cómo integrar el envío de SMS en mi aplicación con una API?

Actualizado

Respuesta breve

Para integrar el envío de SMS en una aplicación, llame a la API de SMS del proveedor desde su backend con un token de acceso, el número del destinatario en formato internacional, un ID de remitente (sender ID) aprobado y el texto. Guarde el ID de mensaje devuelto, reciba los estados de entrega en un webhook y gestione errores, reintentos y límites de frecuencia antes de pasar a producción.

Pasos para la integración

  1. Obtenga credenciales de prueba y registre los números de prueba a los que enviará.
  2. Guarde el token de la API en un gestor de secretos o en una variable de entorno del servidor, nunca en una app móvil ni en código del navegador.
  3. Guarde los números en formato E.164 y conviértalos al formato que espera la API.
  4. Elija la codificación: texto GSM-7, o Unicode para árabe, emojis y otras escrituras.
  5. Envíe el mensaje y guarde el ID devuelto junto a su propio registro.
  6. Configure un webhook para recibir los estados de entrega.
  7. Añada reintentos con espera progresiva para las respuestas 429 y 5xx, y registre ID de remitente en cada país que lo exija.

Errores que conviene evitar

  • Llamar a la API desde la app cliente, lo que expone el token a cualquiera.
  • Enviar números con signo más, espacios o el cero inicial nacional cuando la API espera solo dígitos.
  • Dejar que una comilla tipográfica o un emoji pase todo el mensaje a Unicode, lo que reduce los caracteres por segmento.
  • Reintentar a ciegas tras un timeout. Si la API no tiene clave de idempotencia, registre antes cada envío y compruebe su estado antes de reenviar.
  • Ignorar las respuestas 429 en lugar de esperar lo que indica la cabecera Retry-After.

Ejemplo: petición de un SMS

En OmniChannels.ai se envía un SMS con POST https://api.broadnet.me/sms/sendSms, una cabecera Authorization: Bearer y un cuerpo JSON. Una llamada correcta devuelve 200 con el ID del mensaje en texto plano. El acceso de prueba se concede tras una breve solicitud y funciona con sus propios números verificados; no hay alta instantánea en autoservicio.

CampoEjemploNota
senderIdOmniDemoSu ID de remitente aprobado
destinationNumber447700900123Prefijo del país más número, solo dígitos
messageYour code is 482913El texto
messageTypeTEXTTEXT para GSM-7, UNICODE para árabe y emojis

Fuentes oficiales