Nahui Connect / Documentación

Seguridad

Protege credenciales, verifica firmas, controla SSRF, trata todo contenido como no confiable y opera el webhook de forma idempotente.

Reglas obligatorias

  1. Guarda API key y secreto únicamente del lado del servidor.
  2. Verifica la firma sobre el cuerpo crudo.
  3. Compara firmas en tiempo constante.
  4. Deduplica por deliveryId.
  5. Usa una Idempotency-Key por salida lógica.
  6. Responde rápido al webhook.
  7. Usa exclusivamente conversationId.
  8. Nunca intentes obtener, reconstruir o enviar un teléfono arbitrario.
  9. No uses Connect para campañas masivas.
  10. No registres secretos ni cuerpos completos en logs de producción.

Credenciales

API key nhc_...

Autoriza respuestas y plantillas para una sola conexión. Nahui almacena únicamente su hash, solo se muestra completa al generarse y regenerarla revoca inmediatamente la anterior.

Secreto nhs_...

Firma los eventos enviados al webhook. Nahui lo conserva cifrado, debe tratarse como una contraseña y se rota junto con las credenciales de la conexión.

La interfaz actual reemplaza el juego anterior al regenerar. No existe una ventana pública con dos secretos simultáneos.

Timeouts y disponibilidad

Nahui espera como máximo 15 segundos. Usa un presupuesto interno de 10–12 segundos y, si no hay resultado, confirma con 200 {}, procesa en cola y responde después mediante /reply.

Un webhook 3xx, 4xx, 5xx o con timeout se considera fallido y Nahui v1 no lo reintenta automáticamente.

SSRF y URL del webhook

La URL debe ser HTTPS, pública, sin credenciales embebidas, sin puertos no estándar y fuera de redes privadas, localhost y dominios internos. La longitud máxima documentada es 2,000 caracteres.

Contenido no confiable

Logs

Sí registrar

  • deliveryId
  • event.id
  • connectionId
  • conversationId con acceso controlado
  • estado HTTP, duración y código de error

No registrar

  • nhc_... o nhs_...
  • Encabezado Authorization
  • Cuerpo completo del webhook en producción
  • Texto completo del usuario si no es necesario
  • Datos sensibles entregados al agente

CORS

Los endpoints de relay deben llamarse desde el backend. Exponer la API key en el cliente sería una vulnerabilidad crítica.

Privacidad

Nahui no conserva contenido, pero tu CRM puede hacerlo. Tu producto debe indicar qué mensajes almacena, para qué, durante cuánto tiempo, cómo se eliminan o exportan y qué proveedor de IA recibe contenido.

Lista antes de producción