> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/user/es/guide/account/iot-logic/nodes/webhook-node.md).

# Webhook

Envíe solicitudes HTTP POST a API externas cuando IoT Logic reciba datos del dispositivo. Construya cargas útiles JSON personalizadas con valores estáticos y atributos dinámicos de telemetría.

## Visión general técnica y capacidades

{% columns %}
{% column width="58.333333333333336%" %}
**Webhook** El nodo permite activar en tiempo real acciones específicas en sistemas externos. Envía solicitudes HTTP POST a endpoints especificados al recibir datos de nodos conectados. Luego construye cargas JSON personalizadas con atributos estáticos y dinámicos, y ejecuta llamadas a la API de servicios de terceros.
{% endcolumn %}

{% column width="41.666666666666664%" %}

<figure><img src="https://1900701122-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-0b4156bcc8f11f49a91ad380aa20bf05842c617b%2Fiot-logic-webhook-tile.png?alt=media" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

El nodo amplía las capacidades de IoT Logic más allá del procesamiento y la transmisión de datos, lo que permite la integración directa con plataformas de mensajería, sistemas ERM y CRM, y aplicaciones personalizadas para iniciar acciones automatizadas según la configuración de su flujo.

{% hint style="info" %}
Los nodos Webhook se configuran por separado para cada flujo en la interfaz de usuario de la plataforma Navixy. Los nodos Webhook actúan como puntos terminales en un flujo y requieren al menos una conexión entrante para funcionar. No pueden pasar datos a nodos posteriores.
{% endhint %}

<figure><img src="https://1900701122-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-21ecc9198943832f7ef089cac12b989f3aa37aec%2Fiot-logic-webhook-in-flow.png?alt=media" alt=""><figcaption></figcaption></figure>

### Cómo funcionan los nodos Webhook

Cuando los datos llegan a un nodo Webhook a través de una conexión entrante, este ejecuta de inmediato una solicitud HTTP POST al endpoint configurado. El nodo:

1. Recopila los valores actuales de todos los atributos de los nodos ascendentes conectados
2. Reemplaza las referencias dinámicas a atributos (por ejemplo, `{{speed}}`) con los valores reales del mensaje entrante
3. Construye la carga JSON completa, preservando la estructura que usted definió
4. Envía la solicitud HTTP POST con los encabezados especificados al endpoint de destino
5. Continúa sin esperar una respuesta, lo que permite que el flujo avance de inmediato

El webhook se activa una vez por cada mensaje que llega a él. Si varias ramas paralelas envían datos al webhook, se activa por separado para cada mensaje entrante. Esta ejecución ocurre de forma independiente sin bloquear otros nodos del flujo, lo que garantiza un procesamiento continuo de los datos sin importar los tiempos de respuesta del sistema externo.

Cada **Webhook** resultado de activación del nodo aparece en [Analizador de datos](/docs/user/es/guide/account/iot-logic/data-stream-analyzer.md) como un atributo con el nombre del **ID del nodo** (que se muestra en el diálogo de configuración del nodo, por ejemplo `webhook_1a2b3c4d`). El valor es `0` cuando el nodo aún no se ha activado y `1` cuando sí lo ha hecho, lo que le permite confirmar la entrega y distinguir varios nodos Webhook en el mismo flujo.

### Integración con la arquitectura del flujo

Los nodos Webhook funcionan como puntos de terminación que convierten los datos procesados del dispositivo en llamadas a APIs externas. En lugar de transmitir de forma continua todos los datos del dispositivo como los nodos de Nodo de Salida, los webhooks ejecutan solicitudes API específicas con cargas configuradas con precisión. Esta arquitectura permite:

* **Automatizaciones impulsadas por eventos**: Active flujos de trabajo externos según las condiciones del dispositivo, métricas calculadas o patrones de datos específicos identificados antes en el flujo
* **Transmisión selectiva de datos**: Envíe solo los atributos relevantes a sistemas externos, reduciendo la transferencia innecesaria de datos y los costos de la API
* **Ejecución paralela**: Opere junto con otros nodos de salida, lo que permite activaciones simultáneas de Webhook y transmisión continua de datos a diferentes destinos
* **Integración de múltiples fuentes**: Acepte conexiones entrantes desde múltiples ramas paralelas y acceda a atributos de todos los nodos conectados

### Capacidades del nodo

El **nodo Webhook** ofrece:

* **Ejecución de HTTP POST**: Envía solicitudes HTTP POST personalizadas a cualquier endpoint accesible mediante los protocolos HTTP o HTTPS (se recomienda HTTPS)
* **Construcción dinámica de la carga**: Construye cuerpos de solicitud JSON combinando valores estáticos con atributos dinámicos de cualquier parte del flujo usando `{{attribute_name}}` sintaxis
* **Configuración personalizada de encabezados**: Admite hasta 10 encabezados HTTP definidos por el usuario para autenticación y requisitos específicos de la API
* **Compatibilidad con atributos anidados**: Hace referencia a estructuras complejas de atributos, incluidos objetos y arreglos anidados, dentro de la carga JSON
* **Ejecución independiente**: Se activa sin esperar respuestas ni bloquear el flujo, lo que permite un funcionamiento confiable sin importar la disponibilidad del sistema externo

## Opciones de configuración

{% columns %}
{% column valign="middle" %}
El nodo Webhook le permite definir cómo se comunicará su flujo con sistemas externos mediante llamadas a la API HTTP.
{% endcolumn %}

{% column %}

<figure><img src="https://1900701122-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-11bf6de89a59cf76114222886657ad0d1edcd308%2FWebhook_node_edit.png?alt=media" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

Veamos qué elementos usa este nodo y qué puede configurar al trabajar con él.

### Pasos de configuración

{% stepper %}
{% step %}

#### Especifique el nombre del nodo

Ingrese un nombre descriptivo que identifique el propósito del webhook.

* Use nombres que indiquen el servicio o la acción de destino (por ejemplo, "Alertas de velocidad de Slack" o "Creación de tickets de CRM")
* Este nombre aparece en el diagrama de flujo para facilitar su identificación
  {% endstep %}

{% step %}

#### ID del nodo (generado automáticamente)

Debajo del campo Nombre, el diálogo muestra un **ID del nodo** (por ejemplo, `webhook_1a2b3c4d`). Este campo es de solo lectura; no puede editarlo ni establecer su valor.

* El ID se genera automáticamente cuando se crea el nodo y permanece igual durante toda su vida útil
* Úselo para distinguir los resultados de este nodo de los de otros nodos Webhook en [Analizador de datos](/docs/user/es/guide/account/iot-logic/data-stream-analyzer.md), donde aparece como un atributo que muestra `0` (no activado) o `1` (activado)
  {% endstep %}

{% step %}

#### Configure la URL del endpoint

Ingrese la URL completa a la que se envían las solicitudes POST.

* Incluya el protocolo: `http://` o `https://` (se recomienda encarecidamente HTTPS)
* Asegúrese de que la URL apunte a un endpoint de API válido que acepte solicitudes POST
* Ejemplo: `https://api.example.com/v1/webhooks/device-alerts`
  {% endstep %}

{% step %}

#### Definir encabezados HTTP

Agregue cualquier encabezado requerido por su API de destino.

1. Haga clic en **Añadir encabezado** para crear pares clave-valor de encabezado\
   Todos los encabezados son configurados por el usuario, incluido Content-Type. Los encabezados comunes incluyen:
   * `Tipo de contenido: application/json` (obligatorio para cargas útiles JSON)
   * `Autorización: Bearer <token>` (para la autenticación de la API)
   * Llaves API personalizadas o encabezados de autenticación según los requisitos del servicio
2. Haga clic en el icono de eliminar para quitar encabezados individuales

{% hint style="info" %}
Se admite un máximo de 10 encabezados
{% endhint %}
{% endstep %}

{% step %}

#### Construya el cuerpo de la solicitud

Cambie a la **Cuerpo** pestaña y defina la estructura JSON que se envía al endpoint:

* Introduzca una sintaxis JSON válida en el campo Body
* Use `{{attribute_name}}` para hacer referencia a cualquier atributo de los nodos conectados
* Admite estructuras JSON anidadas y arreglos
* Las referencias a atributos funcionan con rutas anidadas (por ejemplo, `{{location.latitude}}`)
* Si un atributo referenciado es null o no existe, el valor `null` se envía en el JSON

**Ejemplo del cuerpo de Webhook con atributos dinámicos:**

```json
{
  "alert_type": "speed_violation",
  "device_id": "{{device_id}}",
  "current_speed": "{{speed_mph}}",
  "threshold_exceeded": 80,
  "location": {
    "lat": "{{latitude}}",
    "lng": "{{longitude}}"
  },
  "timestamp": "{{message_time}}", 
  "Conductor": "{{hardware_key}}"
}
```

{% endstep %}

{% step %}

#### Guarde su configuración

Haga clic en **Aplicar cambios** para almacenar la configuración del nodo webhook.
{% endstep %}
{% endstepper %}

## Comportamiento de ejecución de Webhook

El Webhook se ejecuta sin esperar respuestas del endpoint externo. El éxito o el fracaso de la solicitud del Webhook no afecta la operación continua del flujo ni bloquea a otros nodos para procesar datos.

{% hint style="danger" %}
Actualmente, la ejecución de Webhook no incluye reintentos automáticos, registro de los intentos fallidos ni gestión de respuestas. Si un endpoint devuelve un error o agota el tiempo de espera, el Webhook se activará de nuevo en el siguiente mensaje entrante. Las futuras actualizaciones pueden incluir límites de tasa definidos por el destino y la cola de solicitudes.
{% endhint %}

### Webhook frente a transmisión continua de datos

**nodo Webhook** difiere fundamentalmente de **nodo del Nodo de Salida** en cuanto al propósito y patrón de ejecución:

| nodo Webhook                                                                                                                                                                                                  | nodo del Nodo de Salida                                                                                                                                                                                                       |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Ejecuta llamadas API discretas en cada mensaje, enviando cargas útiles personalizadas que usted defina. Ideal para activar acciones externas, enviar notificaciones o transmitir datos selectivos a API REST. | Mantiene flujos continuos de datos mediante MQTT, transmitiendo los datos completos del dispositivo en formato Navixy Generic Protocol. Diseñado para la recopilación continua de telemetría y la supervisión en tiempo real. |

Elija webhooks cuando necesite activar automatizaciones externas o enviar solo atributos específicos a puntos finales de API. Use puntos finales de salida para flujos continuos de datos hacia plataformas de análisis o sistemas de supervisión. Ambos pueden coexistir en el mismo flujo.

### Integración con sistemas externos

Los nodos de Webhook son excelentes para activar acciones basadas en eventos en sistemas que proporcionan API REST. Los patrones comunes de integración incluyen:

* **Plataformas de mensajería**: Envíe notificaciones a Slack, Microsoft Teams, WhatsApp o Telegram cuando las condiciones del dispositivo cumplan criterios específicos
* **Sistemas ERP**: Sincronice los datos del dispositivo con plataformas de planificación de recursos empresariales para actualizar los niveles de inventario, activar flujos de trabajo de compras o registrar el uso del equipo para la programación de mantenimiento
* **Sistemas de gestión de tickets**: Crear automáticamente tickets de soporte o solicitudes de servicio en plataformas CRM cuando se detecten problemas en el dispositivo
* **Servicios de alerta**: Active notificaciones por SMS, correo electrónico o push a través de servicios como Twilio, SendGrid o Firebase cuando se superen los umbrales
* **Automatización empresarial**: Iniciar flujos de trabajo en herramientas como Zapier, Make (Integromat) o n8n basados en la telemetría del dispositivo
* **Sistemas telemáticos**: Active acciones o automatizaciones específicas en soluciones telemáticas de terceros basadas en datos procesados, lo que habilita flujos de trabajo impulsados por eventos como recálculos de ruta, notificaciones al conductor o actualizaciones de estado en sistemas externos de gestión de flotas
* **Aplicaciones personalizadas**: Active la lógica empresarial propietaria mediante el envío de eventos del dispositivo a API internas

## Preguntas frecuentes

#### ¿Cómo puedo activar Webhook solo bajo condiciones específicas?

Use el encabezado **IF/THEN Lógica** nodo para implementar lógica condicional antes del Webhook. El **IF/THEN Lógica** El nodo puede evaluar atributos del dispositivo y enviar los datos al Webhook solo cuando se cumplan las condiciones. Para obtener más detalles, consulte [IF/THEN Lógica](/docs/user/es/guide/account/iot-logic/nodes/logic-node.md).

#### ¿Puedo usar varios nodos Webhook en el mismo flujo?

Sí. Incluya varios **nodos Webhook** con diferentes configuraciones para activar varios sistemas externos con base en los mismos datos del dispositivo. Cada Webhook se activa de forma independiente cuando recibe datos.

#### ¿Qué sucede si falla la solicitud del Webhook?

El Webhook se activa sin esperar una respuesta y no reintenta automáticamente. Si el extremo externo no está disponible o devuelve un error, el flujo continúa procesando normalmente. El Webhook intenta activarse de nuevo cuando llega el siguiente mensaje. Actualmente, no se registran los intentos fallidos de Webhook.

#### ¿Cómo me autentico con API externas?

Configure la autenticación completamente mediante encabezados personalizados. Métodos comunes:

* **Tokens Bearer**: Agregue el encabezado `Authorization` con el valor `Bearer su_token_aquí`
* **Llaves API**: Agregue encabezados personalizados según lo especificado por su proveedor de API
* **Autenticación básica**: Agregue el encabezado `Authorization` con el valor `Basic credenciales_codificadas_en_base64`

Incluya siempre `Tipo de contenido: application/json` como encabezado al enviar cargas JSON.

#### ¿Puedo referenciar atributos de varios nodos conectados?

Sí. El nodo Webhook puede acceder a atributos de cualquier nodo conectado a él, incluidas las ramas paralelas. Si varios nodos envían datos al Webhook, se activa una vez por cada mensaje entrante y puede referenciar atributos desde la ruta de origen de ese mensaje.

#### ¿Qué datos puedo incluir en el cuerpo del Webhook?

Puede incluir cualquier combinación de:

* Valores estáticos definidos directamente en su configuración JSON
* Atributos dinámicos del flujo usando `{{attribute_name}}` sintaxis
* Atributos anidados de estructuras de datos complejas
* Atributos calculados en **nodos Iniciar atributo** o procesados mediante **IF/THEN Lógica** nodos

El cuerpo debe ser JSON válido. Si un atributo referenciado no existe o contiene un valor nulo, `null` se envía null en el JSON.

#### ¿Cómo puedo probar mi configuración de Webhook?

Abra [Analizador de datos](/docs/user/es/guide/account/iot-logic/data-stream-analyzer.md) para el flujo y seleccione el dispositivo desencadenante. Busque el atributo que coincida con el ID de Nodo de este nodo: su valor cambia a `1` cada vez que el Webhook se activa, `0` de lo contrario. Esto confirma que el Webhook se activó sin necesidad de acceder al extremo de destino.

Para verificar que el destino realmente recibió la carga útil esperada, considere usar servicios de prueba de Webhook como webhook.site o RequestBin durante el desarrollo para inspeccionar las solicitudes exactas que se envían.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://navixy.com/docs/user/es/guide/account/iot-logic/nodes/webhook-node.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
