Skip to main content
POST
Receive an inbound lead by webhook
Nexor tiene dos contratos de webhook para recibir leads. Crean leads mediante configuraciones y autenticaciones distintas; no mezcles sus URLs ni sus formatos de mapeo.

Elige el endpoint correcto

Usa un webhook por puerta cuando una fuente externa siempre envíe leads al mismo agente y necesites actividad por puerta, pausa, deduplicación y validación sin crear registros. Usa la ruta genérica para un sistema sin headers que ya tenga una clave API de Nexor, o cuando cada solicitud deba elegir su agente.
Ambas URLs contienen o aceptan credenciales. Nunca pongas una URL o clave real en documentación, capturas, analítica o mensajes de soporte. Rota la credencial si queda expuesta.

Webhook por puerta

Crea y administra esta puerta desde Conexión personalizada. Su mapa usa rutas de entrada como claves y campos de Nexor como valores:
Las rutas con puntos pueden recorrer objetos anidados y posiciones numéricas de arreglos. Si mapeas first_name pero no last_name, Nexor divide un nombre compuesto después de la primera palabra. Después del mapeo, el payload debe contener al menos uno de estos campos: first_name, last_name, email o phone.

Valida sin crear un lead

Una prueba válida devuelve 200, dry_run: true y el lead traducido. No crea un lead. Quita dry_run=true solo después de revisar la identidad traducida y el agente de destino. El endpoint permite 120 solicitudes por dirección IP por minuto. Una puerta deshabilitada devuelve 403; un token inválido devuelve 404; un payload sin campo de identidad devuelve 400. Un lead nuevo devuelve 201. Si la deduplicación está habilitada, Nexor revisa el email cuando existe y, en caso contrario, el teléfono. Un lead existente devuelve 200 con duplicate: true.

Webhook genérico de la API pública

La ruta genérica usa el mismo procesamiento de un lead que POST /leads. Un workflow_id dentro del body JSON tiene prioridad sobre el parámetro del query.
Si el sistema permite headers, puedes omitir ?token= y enviar X-API-Key. Sin un mapa de entrada en la clave, el body debe usar los nombres de campo de Nexor. Con un mapa por clave, Nexor resuelve los alias configurados y puede guardar en metadata los campos que no fueron consumidos. POST /api/public/leads/odoo se conserva como un alias de compatibilidad idéntico. No es la integración nativa de Odoo por clave API y no debe usarse como nombre para una conexión personalizada nueva.
Estos endpoints no tienen una pantalla propia para capturar en staging. La guía de Conexión personalizada muestra la superficie real del dashboard donde se administran las puertas.

Autorizaciones

token
string
query
requerido

API key passed in the query string for webhook senders that cannot set headers. Prefer X-API-Key when the sender supports custom headers.

Parámetros de consulta

token
string

API key for senders that cannot set X-API-Key. Do not place it in logs or screenshots.

workflow_id
string<uuid>

Optional agent assignment. A workflow_id in the JSON body overrides this value.

Cuerpo

application/json

Inbound lead payload. If the API key has an intake field map, provider-specific keys are translated first and unrecognized fields may be preserved in metadata. Without a map, use the canonical fields below.

first_name
string

Lead's first name

last_name
string

Lead's last name

email
string<email>

Lead's email address

phone
string

Lead's phone number

company
string
title
string
city
string
date_of_birth
string<date>
external_id
string

Lead identifier in the source system

source
string

Source label. Defaults to api.

workflow_id
string<uuid>

Agent assignment. This body value overrides the query parameter.

campaign_id
string<uuid>
metadata
object
do_not_contact
boolean

Create or update the lead without starting outreach

Respuesta

An existing lead was matched, or a configured source router intentionally skipped intake

success
boolean
requerido
Ejemplo:

true

lead
object
requerido
workflow_run
object
warning
string

Warning message if lead was created but workflow assignment failed

Última modificación el 7 de septiembre de 2026