Saltar al contenido

Documentación Nuntia

Quickstart

Del workspace activo al primer mensaje rastreable, usando el contrato que ya expone Nuntia.

Necesitas un workspace con plan o acceso habilitado, correo verificado, 2FA para crear la credencial y un número de WhatsApp conectado. Nuntia no entrega ni publica secretos de Meta al cliente.

1. Guarda tus credenciales

La consola muestra el secreto API una sola vez. Guárdalo en el gestor de secretos de tu aplicación y nunca lo expongas en frontend, logs o repositorios.

Variables del servidor
NUNTIA_BASE_URL=https://nuntia.ecsecorp.com
NUNTIA_PROJECT_KEY=<workspace-key>
NUNTIA_API_SECRET=<api-secret>

2. Comprueba la salud del workspace

Este endpoint está disponible con autenticación incluso si el entitlement de mensajería todavía no está listo. Úsalo para mostrar bloqueos reales en tu automatización.

Health
curl -sS "$NUNTIA_BASE_URL/api/v1/operations/health" \
  -H "X-Nuntia-Project: $NUNTIA_PROJECT_KEY" \
  -H "Authorization: Bearer $NUNTIA_API_SECRET"

3. Registra el webhook de tu aplicación

La URL debe ser HTTPS y cumplir la política de dominios del workspace. El secreto debe tener al menos 16 caracteres.

Registrar callback
curl -sS -X POST "$NUNTIA_BASE_URL/api/v1/webhooks/client-subscriptions" \
  -H "X-Nuntia-Project: $NUNTIA_PROJECT_KEY" \
  -H "Authorization: Bearer $NUNTIA_API_SECRET" \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://<tu-dominio-publico>/webhooks/nuntia",
    "secret": "<callback-secret-min-16-chars>",
    "events": ["message.inbound.received", "message.status.updated"]
  }'

4. Registra el consentimiento

Antes de enviar, conserva evidencia del opt-in del destinatario mediante POST /api/v1/contacts/consent. La fuente debe ser auditable desde tu aplicación.

5. Envía un mensaje

Usa una referencia propia estable para reconciliar el mensaje. Fuera de la ventana de atención de WhatsApp corresponde usar una plantilla aprobada.

Enviar texto
curl -sS -X POST "$NUNTIA_BASE_URL/api/v1/messages/text" \
  -H "X-Nuntia-Project: $NUNTIA_PROJECT_KEY" \
  -H "Authorization: Bearer $NUNTIA_API_SECRET" \
  -H 'Content-Type: application/json' \
  -d '{
    "phone_number_id": "<connected-phone-number-id>",
    "to": "<destinatario-e164>",
    "text": "<mensaje-autorizado>",
    "client_reference": "<referencia-cliente>"
  }'

6. Correlaciona el resultado

La aceptación devuelve HTTP 202 con un ID público y estado. Después recibirás message.status.updated en el webhook. También puedes consultar GET /api/v1/messages/{public_id}.