Qué es una API de SMS
Una API (Application Programming Interface) de SMS es una interfaz, habitualmente REST, que expone un proveedor de mensajería para que cualquier aplicación pueda enviar y recibir SMS sin intervención manual. El desarrollador realiza peticiones HTTP con los datos del mensaje y la API se encarga de enrutarlo a través de las redes de telefonía hasta el destinatario final.
A diferencia de una plataforma web de envíos, la integración vía API es invisible para el usuario final: el SMS surge de forma automática como respuesta a un evento en el sistema (un pedido, un registro, una alerta). Esto la hace indispensable en entornos donde el volumen o la inmediatez no permiten intervención humana.
Conceptos clave
- Autenticación: casi todas las APIs de SMS utilizan una clave de API (API key) o un token Bearer que se incluye en la cabecera de cada petición. Nunca debe exponerse en código del lado del cliente.
- Endpoint de envío: la URL a la que se hace la petición POST con los datos del mensaje. La respuesta incluye un identificador de mensaje (message ID) para su seguimiento posterior.
- Endpoint de estado: permite consultar el estado de entrega de un mensaje ya enviado usando su identificador.
- Callbacks y webhooks (DLR): en lugar de consultar el estado de forma activa (polling), el proveedor puede notificar a una URL de tu sistema cuando cambia el estado del mensaje: enviado, entregado, fallido… Este reporte de entrega se denomina DLR (Delivery Receipt) y es la forma recomendada de confirmar la entrega en tiempo real.
Parámetros típicos de una petición de envío
- Destinatario: número de teléfono en formato internacional E.164 (por ejemplo, +34612345678).
- Remitente: número corto, número largo virtual o nombre alfanumérico de hasta 11 caracteres que el receptor verá como origen del SMS.
- Cuerpo del mensaje: texto del SMS. Con codificación GSM-7 se pueden enviar hasta 160 caracteres por segmento; con Unicode (para caracteres especiales o emojis), el límite baja a 70 por segmento.
- Codificación: algunos proveedores permiten forzar la codificación (GSM-7 o Unicode) o detectarla automáticamente según el contenido.
- Programación: parámetro opcional para indicar la fecha y hora exacta en que debe enviarse el mensaje.
- URL de callback: dirección a la que el proveedor enviará el DLR cuando cambie el estado de entrega.
Casos de uso habituales
- Confirmaciones automáticas: confirmación de reserva, pedido o cita enviada en el momento en que se registra en el sistema.
- OTP y verificación de identidad: envío de contraseñas de un solo uso para autenticación en dos pasos (2FA) o confirmación de operaciones. Más información en verificación OTP por SMS.
- Alertas de sistema: notificaciones a equipos técnicos o de negocio cuando se superan umbrales o se producen incidencias.
- Notificaciones de pedido: actualizaciones de estado de envío, número de seguimiento o cambios en la entrega en e-commerce y logística.
Integraciones y plugins como alternativa sin código
Para equipos sin recursos de desarrollo, muchos proveedores ofrecen integraciones nativas con herramientas como Zapier, Make (Integromat), HubSpot, Salesforce o WooCommerce. Estas soluciones permiten conectar el envío de SMS a flujos de trabajo existentes sin escribir código, aunque con menos flexibilidad que una integración directa por API.
Consideraciones técnicas
- Límites de tasa (rate limit): la mayoría de las APIs limitan el número de peticiones por segundo o por minuto. Superar ese límite devuelve un error 429 y puede bloquear temporalmente el acceso. Diseña tu integración para respetar esos límites y, si necesitas envíos masivos, usa el endpoint de envío por lotes si el proveedor lo ofrece.
- Reintentos: implementa lógica de reintento con retroceso exponencial para los errores transitorios (red, timeout). Los errores permanentes (número inválido, cuenta bloqueada) no deben reintentarse automáticamente.
- Gestión de errores: interpreta los códigos de error de la API (número de destino inválido, crédito insuficiente, remitente no permitido…) y manéjalos de forma explícita en tu código en lugar de ignorar los fallos.
- Entregabilidad: la entrega de un SMS depende del proveedor, del operador del destinatario y del país. Los proveedores de calidad disponen de acuerdos directos con operadores y rutas redundantes para maximizar la entregabilidad. Revisa las métricas de DLR de forma periódica para detectar problemas.
Preguntas frecuentes sobre la API de SMS
¿Necesito conocimientos de programación para usar una API de SMS?
Sí, aunque el nivel requerido es bajo: basta con saber hacer peticiones HTTP (por ejemplo, con fetch, axios, curl o cualquier cliente HTTP) en el lenguaje que ya uses. La mayoría de proveedores publican librerías oficiales para los lenguajes más comunes (Python, PHP, Node.js, Java, etc.) que simplifican aún más la integración. Si no dispones de recursos de desarrollo, valora las integraciones sin código vía Zapier o Make.
¿Qué es un DLR y por qué es importante?
Un DLR (Delivery Receipt) es la notificación que envía el proveedor a una URL de tu sistema para informar de que el SMS ha sido entregado (o ha fallado). Es la forma más eficiente de saber si el mensaje llegó al destinatario sin tener que consultar el estado de forma activa. Es especialmente crítico en envíos OTP o de alertas, donde necesitas saber con certeza si el mensaje llegó.
¿Cómo funciona la autenticación en una API de SMS?
Lo más habitual es incluir una clave de API en la cabecera HTTP de cada petición (por ejemplo, Authorization: Bearer TU_API_KEY). Algunos proveedores usan autenticación básica con usuario y contraseña, u OAuth 2.0 para entornos más exigentes. La clave nunca debe incluirse en el código del lado del cliente ni subirse a repositorios públicos; lo correcto es leerla desde variables de entorno.
¿Qué diferencia hay entre enviar SMS por API y desde un panel web?
El panel web está pensado para envíos manuales y campañas gestionadas por personas. La API está diseñada para envíos automáticos desencadenados por eventos en tu sistema (un registro, un pedido, una alerta). Con la API puedes enviar mensajes en tiempo real, sin intervención humana, e integrar el SMS directamente en tus flujos de negocio.
Los parámetros, límites y funcionalidades descritos son representativos del sector y pueden variar según el proveedor de API elegido.
