Saltar al contenido

Documentación Nuntia

Referencia API

Catálogo público del contrato v1. Todos los endpoints se aíslan por workspace y responden JSON.

Base URL y autenticación

La base pública es https://nuntia.ecsecorp.com/api/v1. Envía la clave del workspace y el secreto API en cada request.

Headers requeridos
X-Nuntia-Project: <workspace-key>
Authorization: Bearer <api-secret>
Accept: application/json

También se acepta X-Nuntia-Secret, pero Bearer es el formato recomendado. Una credencial ausente o inválida responde 401. Los endpoints de mensajería y configuración requieren además un entitlement utilizable.

Catálogo de endpoints

Los parámetros entre llaves son identificadores del recurso dentro del workspace autenticado.

Integración y operación

GET /api/v1/integration/package Contrato, quickstart y readiness del workspace.
GET /api/v1/operations/health Salud y bloqueos operativos.
GET /api/v1/operations/billing Estado de acceso y facturación.
GET /api/v1/operations/usage Uso agregado del workspace.
POST /api/v1/operations/external-integration-smoke Preflight y aceptación controlada.
GET /api/v1/operations/audit-logs Eventos auditables del workspace.
POST /api/v1/operations/api-secret/rotate Rotación controlada de secreto API.

Mensajes y contactos

POST /api/v1/messages/text Envía texto dentro de la ventana permitida.
POST /api/v1/messages/template Envía una plantilla aprobada.
POST /api/v1/messages/media Envía documento, imagen, video o audio.
POST /api/v1/messages/link Crea un enlace manual de WhatsApp.
GET /api/v1/messages Lista y filtra mensajes del workspace.
GET /api/v1/messages/{public_id} Consulta mensaje, intentos y resultado.
POST /api/v1/contacts/consent Registra opt-in u opt-out auditable.
GET /api/v1/conversations/{conversation} Consulta una conversación del workspace.

Plantillas

GET /api/v1/templates Lista plantillas persistidas.
POST /api/v1/templates/sync Sincroniza estados desde Meta.
POST /api/v1/templates/manifest Importa y, opcionalmente, envía un manifiesto a Meta.

Webhooks y callbacks

GET /api/v1/webhooks/client-subscriptions Lista destinos del workspace.
POST /api/v1/webhooks/client-subscriptions Crea o actualiza un destino HTTPS.
POST /api/v1/webhooks/client-subscriptions/{webhook_id}/test Encola un callback de prueba.
GET /api/v1/webhooks/domain-verification Consulta el desafío de dominio.
POST /api/v1/webhooks/domain-verification/verify Verifica el dominio del callback.
GET /api/v1/callbacks Lista intentos y entregas.
POST /api/v1/callbacks/{attempt_id}/replay Reprocesa un intento elegible.

Embedded Signup

GET /api/v1/onboarding/embedded-signup/sessions Lista sesiones del workspace.
POST /api/v1/onboarding/embedded-signup/sessions Crea una sesión de onboarding.
GET /api/v1/onboarding/embedded-signup/sessions/{session_id} Consulta el estado de una sesión.
POST /api/v1/onboarding/embedded-signup/complete Completa el intercambio server-side.

Listados y filtros

GET /messages admite status, type, to, client_reference, provider_message_id, include_attempts y limit entre 1 y 100. El límite predeterminado es 25.

Respuestas de mensajes

Un mensaje aceptado devuelve 202. El objeto incluye ID público, estado, proveedor, tipo, destinatario, referencia, número de intentos y timestamps. Si el proveedor rechaza el intento de forma inmediata, Nuntia devuelve 502 conservando el error normalizado.

HTTP 202
{
  "data": {
    "id": "<id-publico-del-mensaje>",
    "status": "queued",
    "type": "text",
    "to": "<destinatario-e164>",
    "client_reference": "<referencia-cliente>",
    "attempt_count": 0,
    "error": null
  }
}