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
- Obtenga credenciales de prueba y registre los números de prueba a los que enviará.
- 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.
- Guarde los números en formato E.164 y conviértalos al formato que espera la API.
- Elija la codificación: texto GSM-7, o Unicode para árabe, emojis y otras escrituras.
- Envíe el mensaje y guarde el ID devuelto junto a su propio registro.
- Configure un webhook para recibir los estados de entrega.
- 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.
| Campo | Ejemplo | Nota |
|---|---|---|
| senderId | OmniDemo | Su ID de remitente aprobado |
| destinationNumber | 447700900123 | Prefijo del país más número, solo dígitos |
| message | Your code is 482913 | El texto |
| messageType | TEXT | TEXT para GSM-7, UNICODE para árabe y emojis |
