# Webhooks

Los webhooks en B2Chat son una herramienta poderosa que te permite recibir notificaciones en tiempo real sobre eventos clave que ocurren en la plataforma. Gracias a esta funcionalidad, es posible integrar fácilmente B2Chat con sistemas externos como CRMs, plataformas de e-commerce o herramientas de automatización de marketing, mejorando significativamente la eficiencia operativa y la capacidad de respuesta hacia tus clientes.

### ¿Cómo funcionan?

Cuando se configura un webhook, B2Chat enviará automáticamente datos relevantes a un endpoint HTTP definido por tu sistema cada vez que ocurra uno de los eventos habilitados. Esto permite automatizar procesos y mantener tus sistemas internos sincronizados con lo que sucede en B2Chat sin intervención manual.

### Configuración

Actualmente, los webhooks deben ser configurados a través del equipo de soporte de B2Chat. Para activarlos, comunícate con nosotros al correo <support@b2chat.io>, especificando los eventos que deseas recibir, el endpoint del webhook para recibir los eventos y el correo electronico al que se deben enviar las notificaciones en caso de presentar alertas o novedades.

### 💻 Aspectos técnicos

***

Para asegurar una integración segura, confiable y eficiente con los webhooks de B2Chat, es importante tener en cuenta las siguientes consideraciones técnicas:

#### 🔒 Conexión segura (HTTPS)

Todos los eventos generados por B2Chat se envían a través de una conexión segura HTTPS (HTTP sobre TLS). Esto garantiza la confidencialidad e integridad de los datos transmitidos, evitando accesos no autorizados o manipulaciones en tránsito.

#### 🔁 Método HTTP

Los datos de cada evento se envían usando el método HTTP POST al endpoint configurado por tu sistema.

* El servidor receptor debe responder con un código de estado HTTP 200 o 201 para confirmar que la notificación fue recibida correctamente.
* Si no se recibe una respuesta válida, B2Chat considerará el intento fallido y podrá aplicar una política de reintentos (según configuración o diagnóstico).

#### 🧾 Encabezados HTTP (Headers)

Se enviarán encabezados estándar para estructurar y autenticar la solicitud:

* `Content-Type: application/json`\
  Indica que el cuerpo del mensaje está en formato JSON.
* `Authorization: Bearer <token>`\
  Se incluirá un **token de autenticación** en el encabezado para validar la procedencia del mensaje.

### 🛑 Manejo de Errores

***

Para garantizar la estabilidad y trazabilidad del envío de eventos desde B2Chat, se implementa un sistema de manejo de errores que ayuda a identificar fallos de integración y prevenir pérdidas de información:

#### 📭 Formato de solicitud no aceptado

Si el servidor receptor **no puede interpretar el formato de la solicitud**, debe responder con el código de estado **HTTP `415 Unsupported Media Type`**.\
Esto indica que el endpoint no reconoce el tipo de contenido enviado (por ejemplo, `application/json`) y ayuda a B2Chat a identificar que hay un error de compatibilidad.

#### ⚙️ Fallos en el endpoint

Cuando el **endpoint configurado no responde** correctamente o se encuentra inactivo, B2Chat:

* Enviará una **notificación por correo electrónico** al administrador registrado con los detalles del fallo.
* Esta notificación se emitirá por un **período de tiempo limitado**, permitiendo detectar el error y tomar acciones correctivas rápidamente.
* Si el problema persiste y no se logra establecer comunicación con el endpoint, **B2Chat detendrá el envío de eventos al webhook** de forma automática para evitar sobrecarga o repetidos intentos fallidos.

<figure><img src="https://1975153467-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKRK5qemy580lvHpKUgGi%2Fuploads%2FS6VBRgakemAbHaopTRQQ%2Fimage.png?alt=media&#x26;token=89fdfaa8-d399-4573-9af4-b8f1d6357bbd" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
El correo electrónico al cual se enviarán estas notificaciones puede ser configurado solicitándolo al equipo de soporte.
{% endhint %}
