Skip to main content
Los SMS son la alarma de bolsillo: texto corto que llega a cualquier teléfono, sin necesidad de Internet ni aplicaciones. Ideal para OTP, recordatorios y alertas urgentes.

¿Qué son los SMS en Notifique?

Es el canal para enviar textos cortos (de 9 a 160 caracteres) directamente al teléfono del destinatario. Envías desde el panel o API; la plataforma maneja la cola, los reintentos y el estado de cada mensaje. Puede:
  • Enviar códigos de verificación (OTP) y contraseñas de un solo uso
  • Recordar citas, entregas y plazos
  • Llegue a clientes sin WhatsApp o sin una aplicación instalada
  • Programar envíos para una fecha y hora futuras
  • Consulta historial y estado de cada SMS
  • Recibir respuestas de clientes (MO) y realizar un seguimiento a través de webhook
Piense en una nota en el parabrisas de un automóvil: pocas palabras, léalas inmediatamente, no se necesita ninguna aplicación.
A diferencia de WhatsApp, SMS no utiliza una instancia (número emparejado). Solo necesita una clave API con el alcance correcto y destinatarios en formato internacional (por ejemplo, 5511999999999, no +).

¿Cuándo usarlo?

Funciona muy bien para códigos de verificación, recordatorios urgentes y clientes sin WhatsApp. Para textos largos con imágenes, prefiera email. Las campañas masivas son posibles, pero los SMS utilizan más créditos; sopese primero el costo.

Cómo funciona en la práctica

  1. Cree una clave API con sms:send (y sms:read / sms:cancel si realiza una consulta o cancela)
  2. Enviar a uno o varios números con POST /v1/sms/messages (hasta 500 por llamada)
  3. La plataforma pone en cola, envía y actualiza el estado; tu backend recibe notificaciones si configuras webhooks
Cada Clave API pertenece a un espacio de trabajo. En v1 no enviar x-workspace-id. Si ese encabezado está presente, la API devuelve 400 (WORKSPACE_HEADER_NOT_ALLOWED).

Ciclo de vida del mensaje

Después del envío, un SMS pasa por estados como QUEUED (en cola), SENT (en el operador), DELIVERED (confirmado por teléfono) o FAILED (número no válido, bloqueo, etc.). Los envíos programados comienzan como SCHEDULED; las cancelaciones se convierten en CANCELLED. La cancelación de API funciona mientras el estado sea QUEUED o SCHEDULED.

Qué puedes hacer

  • Enviar de 1 a 500 números internacionales por llamada
  • Horario con schedule.sendAt
  • Historial de consultas o envío por ID
  • Cancelar envíos programados o en cola
  • Leer SMS entrantes (MO) con sms:read
  • Idempotencia con encabezado Idempotency-Key para evitar duplicados
  • Seguimiento de clics en enlaces cortos (sms.clicked webhook)
  • Elegir el tipo de envío con options.speed — ver abajo

Tipos de envío (options.speed)

SMS es el único canal en el que eliges la ruta en el operador. En el panel (SMS → Nuevo SMS → Tipo de envío), los nombres son SMS Full, SMS Standard y SMS Slow — en la API, el campo es options.speed.
Sin options.speed, el precio asume standard. Valor inválido → 400 (options.speed must be full, standard, slow).

Número propio (from)

Con from (ID o E.164 de un número activo del workspace con SMS habilitado), el mensaje sale por la línea que contrataste — el cliente ve tu número, no el remitente compartido. El precio es dinámico por país de destino — consulta smsOwnNumber.rates[] en Consulta de precios. options.speed no aplica. Guía completa: SMS con número propio.

speed no es priority

Detalles de facturación: Facturación y pago por uso. Ejemplos en la API: referencia SMSEnviar SMS (playground: Full, Slow, número propio). Detalles de campo y error: Referencia API en la pestaña SMS.

Localización y variables

  • localization (mode: off | manual | ai, sourceLocale opcional) e i18n traducen el texto por destinatario según el idioma del contacto.
  • variables en la raíz sustituyen placeholders {{name}} en el texto (type: text).
  • Con type: template, usa payload.templateId y payload.variables.
  • La respuesta 202 puede incluir data.localization y, cuando se omiten números, data.smsSkippedRecipients.
Campos comunes de localización: Localización e i18n. Enviar por plantilla: Enviar por plantilla. Variables y placeholders: Variables disponibles.

Después de tu primer envío

  • Seguimiento de entrega y falla a través de webhooks (sms.sent, sms.delivered, sms.failed)
  • Procesar respuestas con sms.received y sms.replied, guía: Mensajes entrantes
  • Prueba en Sandbox con sk_test_... antes de la producción

Próximos pasos