Lo que puede conectar a NexiAgent.
No hay una API de gestión pública: los asistentes se configuran en el panel, o los instalamos nosotros. Lo que existe para código es esto — y está descrito en un único archivo OpenAPI.
La superficie pública
Widget de chat
Una línea de código en su web. La clave empieza por pk_live_ y no es secreta: lo que decide quién puede usar el chat es la lista de dominios autorizados en el panel.
API del chat
El endpoint que usa el widget. Puede llamarlo desde su propia web sin nuestro widget: envía el mensaje, recibe la respuesta en streaming (SSE).
Webhooks firmados
Desde el plan Pro, cada cita, recado, contacto y paso a una persona se envía a una dirección suya, firmado con HMAC-SHA256.
Estado de la plataforma
Un JSON público con el estado de cada componente, para monitorización externa.
Empezar en tres pasos
- 1Suscriba el chat de soporte en nexiagent.com/pricing. La clave del widget aparece en el panel en cuanto se confirma el pago.
- 2En el panel, autorice el dominio de su web. Sin eso el widget no aparece — a propósito.
- 3Pegue el código de abajo antes de </body>. Para una integración propia, llame a la API del chat con la misma clave.
<script src="https://nexiagent.com/widget.js" data-site="pk_live_…" defer></script>| Method | Path | Notes |
|---|---|---|
| GET | https://nexiagent.com/api/chat/hello?k=pk_live_… | Origin check + appearance · JSON |
| POST | https://nexiagent.com/api/chat | { siteKey, visitorId, message, locale? } → SSE: start · delta · done · error |
| GET | https://status.nexiagent.com/api/status.json | Platform status · JSON |
| POST | https://your-endpoint.example | Webhook · x-nexiagent-event · x-nexiagent-timestamp · x-nexiagent-signature |
Autenticación
Los endpoints del chat no llevan secreto: identifican la suscripción por la clave pública y aceptan solo peticiones cuyo cabecera Origin esté en la lista de dominios autorizados. Los webhooks van firmados con una clave que solo muestra el panel. No existen claves de API de gestión.
Límites de peticiones
Las respuestas llevan las cabeceras RateLimit-Limit, RateLimit-Remaining y RateLimit-Reset. Al superar el límite, la respuesta es 429 con Retry-After en segundos. Por defecto: 30 mensajes por minuto por IP, 60 por hora por conversación, 60 arranques de /api/chat/hello por minuto por IP.
RateLimit-Limit: 30
RateLimit-Remaining: 27
RateLimit-Reset: 42
Retry-After: 42 (429 only)Webhooks
Cada envío es un POST en JSON con tres cabeceras: x-nexiagent-event, x-nexiagent-timestamp y x-nexiagent-signature (HMAC-SHA256 de «timestamp.cuerpo», en hexadecimal). Responda 2xx en menos de 10 segundos; si no, reintentamos seis veces a lo largo de medio día. Solo https y solo direcciones públicas.
{
"event": "booking.created",
"at": "2026-08-07T10:32:11.204Z",
"data": {
"id": "bk_7Kd2",
"kind": "booking",
"channel": "voice",
"contactName": "Ana Silva",
"contactPhone": "+351910000000",
"contactEmail": null,
"scheduledFor": "2026-08-12T15:00:00.000Z",
"notes": "Primeira consulta."
}
}Errores
Todos los errores son JSON con un código estable en «error», una frase legible en «message» y, cuando ayuda, «docs» con la dirección de la documentación. Una ruta desconocida en /api devuelve 404 en JSON, nunca una página HTML.
{
"error": "origin_not_allowed",
"message": "This page's origin is not on the site's allowed-domains list. Add it in the panel.",
"docs": "https://nexiagent.com/developers",
"origin": "www.example.pt"
}Para máquinas
OpenAPI 3.1
Descripción completa de los endpoints públicos y de los webhooks, con operationId y esquemas.
openapi.jsonllms.txt
Qué hace NexiAgent, cuándo tiene sentido usarla y dónde está cada cosa — para agentes y modelos de lenguaje.
llms.txtMarkdown
Cualquier página de la web responde en Markdown a una petición con Accept: text/markdown.
sitemap.xml
¿Necesita una conexión con su CRM, agenda o facturación?
La conexión la hacemos nosotros, desde cero, a medida de su sistema — sin servicios de automatización de terceros. Se evalúa aparte, antes de empezar.
Hablar con nuestro equipo