Saltearse al contenido

Odoo Webhook

El componente Odoo Webhook actúa como un sensor inteligente dentro de tus automatizaciones en Nappai. Su función principal es mantenerse en escucha constante de tu plataforma Odoo para detectar cuando ocurren cambios importantes.

Cuando en Odoo se crea una nueva orden, se actualiza un cliente o cualquier otro registro relevante, este componente captura la información del cambio y la transforma en datos estructurados. Esto permite que el resto de tu flujo de trabajo reaccione automáticamente ante estos eventos, sin necesidad de intervención manual. Es ideal para sincronizar datos, enviar alertas o activar procesos de aprobación basados en actividad en Odoo.

¿Cómo funciona?

Este componente trabaja como un puente de escucha continua entre Odoo y Nappai. A diferencia de las conexiones que piden datos bajo demanda, este nodo se queda “despierto” escuchando cambios en tu base de datos de Odoo.

El proceso es el siguiente:

  1. Monitoreo: El componente consulta periódicamente a Odoo buscando registros que hayan sido modificados o creados recientemente.
  2. Detección: Identifica qué tipo de evento ocurrió (por ejemplo, si se creó un registro o si se actualizó) y en qué modelo se realizó el cambio.
  3. Estructuración: Organiza toda la información del evento en un formato claro, separando los detalles técnicos de un resumen legible, listo para ser usado por el siguiente nodo en tu automatización.

Conexión y Credenciales

Este componente requiere configurar previamente una credencial en el panel de Nappai para poder interactuar con el servicio externo:

  1. Dirígete a la sección de Credenciales en tu panel de Nappai.
  2. Crea una nueva credencial del tipo Odoo API y guarda los campos requeridos (URL del servidor, nombre de la base de datos, usuario y clave de API).
  3. En tu flujo de trabajo, selecciona la credencial guardada en el campo de entrada Credential de este nodo.

Entradas

Campos de Entrada

  • Odoo Model: El modelo específico de Odoo que deseas monitorear para detectar cambios. Por defecto está configurado para “sale.order”, pero puedes cambiarlo según lo que necesites rastrear.
  • Events: Los tipos de cambios de Odoo que deben ser capturados. El sistema detecta tanto la creación como la actualización de registros analizando la fecha de modificación.
  • Record Created: Indica que se ha creado un nuevo registro en Odoo.
  • Record Updated: Indica que un registro existente ha sido modificado.
  • Additional Domain Filter: Un filtro opcional en formato JSON para restringir los registros que recibes. Si lo dejas vacío, se procesarán todos los registros del modelo seleccionado.

Salidas

Data

Genera uno o varios objetos de datos que contienen la información estructurada del evento detectado. Cada salida incluye un texto legible para humanos y un diccionario estructurado con detalles como el evento, modelo, ID, nombre, fecha de actualización y los datos completos del registro. Esta salida es perfecta para conectar con nodos que necesiten tomar decisiones basadas en el cambio ocurrido o registrar auditorías.

Ejemplo de Respuesta JSONjson

{ “event”: “create”, “model”: “sale.order”, “id”: 12345, “name”: “Order #12345”, “write_date”: “2024-05-20T14:30:00”, “record”: { “partner_id”: 10, “state”: “sale”, “amount_total”: 500.00 } }

Conectividad

Este componente se conecta lógicamente a nodos que requieren actuar en respuesta a cambios en Odoo. Es común conectar la salida Data a:

  • Nodos de Procesamiento de Datos: Para transformar o enriquecer la información del evento.
  • Nodos de IA: Para analizar el contexto del cambio y decidir el siguiente paso.
  • Nodos de Acción: Como enviar correos electrónicos, crear registros en otras apps o notificar a usuarios cuando se detecta un evento crítico.

Ejemplo de Uso

Imagina que deseas automatizar la confirmación de ventas. Puedes usar el componente Odoo Webhook para detectar cuando se crea una nueva orden de venta en Odoo.

  1. Configura el modelo en sale.order y selecciona el evento Record Created.
  2. Conecta la salida Data a un nodo de Correo Electrónico.
  3. Utiliza los datos del evento para personalizar el mensaje con el número de la orden y el cliente.
  4. El sistema enviará automáticamente un correo de confirmación cada vez que se cree una orden, eliminando tareas manuales repetitivas.

Consejos y Mejores Prácticas

  • Utiliza el campo Additional Domain Filter si tu modelo tiene muchos registros irrelevantes; esto reducirá la carga de procesamiento y mejorará el rendimiento.
  • Monitorea solo los modelos y eventos esenciales para tu flujo de trabajo para evitar saturar el sistema con información innecesaria.
  • Asegúrate de tener una conexión estable con tu servidor Odoo para garantizar que los webhooks se procesen en tiempo real.
  • Revisa los eventos de Record Updated para detectar cambios en estados o importancias críticos.

Consideraciones de Seguridad

  • Mantén protegida tu credencial de API y asegúrate de que solo los usuarios autorizados puedan acceder a ella.
  • Configura los permisos de tu usuario de Odoo con el mínimo necesario para leer los registros que necesitas monitorear.
  • No compartas las credenciales por canales no seguros; utiliza la sección de Credenciales de Nappai para almacenarlas de forma segura.