> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.cooby.co/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Guía de integración de Webhook personalizado

|| Solo los usuarios del Plan Personalizado pueden integrar con Webhook. Si estás interesado en la integración con Webhook, por favor contacta al equipo de ventas de Cooby.

En esta guía, conectarás WhatsApp con tu destino utilizando Webhooks personalizados de Cooby.

Puedes usar el mismo Webhook para los dos diferentes disparadores de eventos, o configurar Webhooks separados para cada disparador de evento.

### Guía de configuración

|| Esta guía utiliza webhook.site como ejemplo

1. Ve al [centro de integraciones](https://app.cooby.co/auth/login?redirectURI=/integrations) de tu espacio de trabajo
2. Busca **Webhook** personalizado y haz clic en **Guía de integración**.

![](https://storage.crisp.chat/users/helpdesk/website/-/a/7/7/6/a776868fb0318800/2_1ubhsho.png =370x650)
3. Crea un endpoint de Webhook en tu destino deseado.
* Recuerda marcar la opción **CORS Headers** como seleccionada.

![](https://storage.crisp.chat/users/helpdesk/website/-/a/7/7/6/a776868fb0318800/3_4stcpg.png =850x315)

4. Pega la URL del Webhook en el campo **Trigger actions when receiving WhatsApp messages** en la guía de integración de Cooby, luego haz clic en **Save**.
* Si deseas activar una acción al enviar un mensaje de WhatsApp, pega la URL del Webhook en **Trigger actions when sending WhatsApp messages**.

![](https://storage.crisp.chat/users/helpdesk/website/-/a/7/7/6/a776868fb0318800/4_1a3bmpl.png =850x255)
5. Asegúrate de ver la URL del Webhook guardada, lo que indica que se ha guardado correctamente.

![](https://storage.crisp.chat/users/helpdesk/website/-/a/7/7/6/a776868fb0318800/5_vy1c9n.png =850x472)
Haz clic en la página anterior y luego en **Administrar Permisos** para el campo **Webhook Personalizado**.

![](https://storage.crisp.chat/users/helpdesk/website/-/a/7/7/6/a776868fb0318800/6_1grbxh0.png =383x650)

7. Activa el permiso de Webhook personalizado para aquellos que activarán eventos de Webhook al recibir mensajes de WhatsApp.

![](https://storage.crisp.chat/users/helpdesk/website/-/a/7/7/6/a776868fb0318800/7_cyh7fk.png =850x186)
8. Para asegurarte de que la integración de Webhook esté configurada correctamente, recuerda actualizar tanto tu WhatsApp Web como el de los miembros de tu equipo después de realizar cualquier cambio en la configuración.
* Todos los usuarios del equipo que tengan permiso de integración verán la ventana emergente Conceder **acceso a Cooby** la próxima vez que abran o actualicen WhatsApp Web.
![](https://storage.crisp.chat/users/helpdesk/website/-/a/7/7/6/a776868fb0318800/8_tibdhc.png =850x495)

9. Una vez que hayas recibido el payload, puedes usarlo para configurar varias acciones.

### Formato de carga útil (Payload Format)

```
{
  chat_id: string;
  chat_type: "group" | "individual";
  chat_title: string;
  user_phone: string;
  user_email: string;
  direction: "sent" | "received";
  message: {
    id: string;
    type: "call_log" | "chat" | "location" | "payment" | "vcard" | "ciphertext" | "multi_vcard" | "revoked" | "oversized" |   "groups_v4_invite" | "template_button_reply" | "debug" | "image" | "video" | "audio" | "sticker" | "status_v3" | "document" | "product" | "order" | "list" | "interactive" | "interactive_response" | "list_response" | "buttons_response" | "reaction" | "reaction_enc" | "poll_creation" | "request_phone_number" | "poll_update" | "native_flow" | "biz-cover-photo" | "keep_in_chat" | "pin_message" | "unknown";
    text: string;
    file_name: string | null;
    file_url: string| null;
    caption: string | null;
    is_error: boolean;
    error_code: string | null;
    error_message: string | null;
  };
  timestamp: string;
  participants: {
    phone: string;
    wa_name: string;
  }[];
  sender: {
    phone: string;
    wa_name: string;
  };
}
```

### Ejemplo de payload

```
{
  chat_id: "447441369136_447441368384@c.us";
  chat_type: "individual";
  chat_title: "Sarah Brown";
  user_phone: "447441368384";
  user_email: "support@cooby.co";
  direction: "sent";
  message: {
    id: "3EB093D273669B3BE3D2";
    type: "chat";
    text: "Hi, welcome to Cooby!";
    file_name: "Cooby Image 2023-07-12 at 11.13.32 AM";
    file_url: "https://api.cooby.co/v2/files/xxxxx";
    caption: "Hi, welcome to Cooby!";
    is_error: false;
    error_code: null;
    error_message: null;
  };
  timestamp: "1628843453";
  participants: [
   {
    phone: "447441369136";
    wa_name: "Sarah Brown";
   },
   { 
    phone: "447441368384", 
    wa_name: "Cooby" 
   } 
  ],
  sender: {
    phone: "447441368384";
    wa_name: "Cooby";
  };
}
```


[Más información sobre la definición de cada columna](https://help.cooby.co/es/article/definiciones-de-las-columnas-de-webhook-9lq69o/)

[Más información sobre la frecuencia de sincronización de la integración de Webhook](https://help.cooby.co/es/article/frecuencia-de-sincronizacion-de-la-integracion-de-webhook-thtapq/)

[Más información sobre el mecanismo de sincronización de la integración de Webhook](https://help.cooby.co/es/article/mecanismo-de-sincronizacion-de-la-integracion-de-webhook-19b3hi3/)

[Más información sobre la sincronización de mensajes históricos en la integración de Webhook](https://help.cooby.co/es/article/sincronizacion-de-mensajes-historicos-en-la-integracion-de-webhook-rna49k/)

Esperamos que este documento te ayude a comprender mejor cómo funciona Cooby. Si tienes alguna duda o pregunta sobre tu integración de Webhook personalizado, por favor envíanos un correo a support@cooby.co 💜


