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/optinsoPOST /v1/optins/import. - Auto desde bot: cuando el cliente escribe primero por WhatsApp, se considera opt-in implícito (registro pasivo).
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.faileden sends de plantillas. - Pool + routing si vas a enviar a miles de destinatarios y necesitas warmup.