← DocumentaciónPlataforma

NotifyAPI · plantillas + opt-in

Compliance integrado para sends programáticos.

NotifyAPI es la ruta para sends transaccionales y marketing — confirmaciones de pedido, recordatorios de cita, recuperación de carritos. Plantillas con variables, opt-in registry obligatorio, detector automático de STOP. Compliance LATAM integrado sin que tengas que pensar.

Plantillas

Una plantilla es un texto con placeholders {{variable}}. Las creas desde el dashboard → Plantillas → + Nueva:

name:    confirmacion_pedido
category: transactional
content:  Hola {{nombre}}, tu pedido {{order_id}} sale mañana
          entre {{ventana}}. Track: {{tracking_url}}
footer:   Para no recibir más mensajes, escribe STOP.

Las variables se extraen automáticamente del body — la UI te muestra el listado para que recuerdes pasarlas todas al llamar el send.

Enviar con una plantilla

POST /v1/messages/template
{
  "sessionId": "sess_abc",
  "to": "+5215512345678",
  "template": "confirmacion_pedido",
  "variables": {
    "nombre": "Ana",
    "order_id": "ORD-12345",
    "ventana": "9am-12pm",
    "tracking_url": "https://don-pepe.com/t/abc"
  }
}

SDK Node:

await replai.templates.send({
  sessionId: 'sess_abc',
  to: '+5215512345678',
  template: 'confirmacion_pedido',
  variables: { nombre: 'Ana', order_id: 'ORD-12345', ventana: '9am-12pm' },
});

Opt-in registry

Antes de enviar a un número, Replai chequea que esté en el registry con optedOutAt = null. Sin opt-in, el send da 403 FORBIDDEN.

Cómo agregar opt-ins:

  • Manual: dashboard → Opt-ins → + Agregar.
  • CSV bulk: dashboard → Opt-ins → Importar CSV (10k filas máx por call).
  • Vía API: POST /v1/optins o POST /v1/optins/import.
  • Auto desde bot: cuando el cliente escribe primero por WhatsApp, se considera opt-in implícito (registro pasivo).
Los sends marcados con transactional: true bypassan el opt-in gate. Úsalo solo para legal-mandatory (reset de contraseña, recibo de pago). El abuso te puede llevar a cuarentena del número.

Opt-out automation

Tres formas de opt-out, todas estampan optedOutAt + optedOutVia:

STOP por WhatsApp

Replai detecta automáticamente palabras en inbound: STOP, CANCELAR, UNSUBSCRIBE, BAJA, "no me envíe más", "quiero darme de baja", etc. Stampa el opt-out + envía confirmación automática.

Link en el footer

Cuando una plantilla incluye {{optout_link}} en el footer, Replai inyecta automáticamente una URL firmada (HMAC, 30 días TTL) única por destinatario:

https://app.replai.tech/api/v1/public/optout?token=eyJzZXNzaW9uSWQi...

El link abre un landing público con un botón "Confirmar opt-out". El opt-out no se aplica al GET — solo al POST tras confirmar (anti-prefetch de email/preview).

Manual

POST /v1/optins/:id/optout o desde el dashboard cuando un cliente lo pide verbalmente.

Reporte de cumplimiento

Para auditorías regulatorias, exporta el registry con GET /v1/optins?includeOptedOut=true. Cada fila trae: msisdn, source, optedInAt, optedOutAt, optedOutVia, auditLog completo.

Ver también

  • Webhooks para escuchar message.delivered / message.failed en sends de plantillas.
  • Pool + routing si vas a enviar a miles de destinatarios y necesitas warmup.
NotifyAPI — plantillas + opt-in · Replai · WhatsApp con IA en Venezuela