# Integración de webhooks de entrada

<Aside type="caution" icon="setting" title="Se necesita ayuda del desarrollador">
 Necesitará la ayuda de su equipo de desarrollo para configurar la integración. Por favor, comparta esta guía con ellos.
</Aside> 

Los webhooks de entrada permiten que los servicios externos envíen eventos directamente a Pushwoosh. Cuando un sistema de terceros activa un webhook, Pushwoosh autentica la solicitud, identifica al suscriptor y dispara el evento asignado. El evento puede entonces iniciar o avanzar un journey.

Utilice webhooks de entrada para conectar herramientas como CRMs, plataformas de comercio electrónico o servicios de análisis sin construir ni mantener su propio servidor.
Cada webhook de entrada activa un evento de Pushwoosh cuando se recibe y procesa con éxito una solicitud coincidente.

## Antes de empezar

Prepare lo siguiente antes de abrir la configuración del webhook.

1. **Decida qué evento de Pushwoosh debe activar el webhook.** Elija un evento existente de su proyecto que desee activar desde el servicio de terceros. Por ejemplo, `CheckoutSuccess`. Si aún no tiene un evento adecuado, [cree uno](/es/product/audience-data-and-segmentation/events/custom-events/) con los atributos que desea rellenar a partir de los datos entrantes.

2. **Asegúrese de que su servicio de terceros pueda enviar webhooks.** El servicio debe poder enviar una solicitud HTTP POST a una URL externa cuando ocurra el evento que le interesa, por ejemplo, un nuevo pedido o el envío de un formulario.

3. **Obtenga un payload JSON de muestra de su servicio de terceros.** Este es un pequeño ejemplo de los datos que el servicio envía en cada evento. Lo necesitará para asignar los campos del payload a los atributos del evento de Pushwoosh.

## Crear un webhook

1. En su cuenta de Pushwoosh, vaya a **Ajustes** → **Integraciones** → **Webhooks de entrada** y haga clic en **Ajustes**.

<img src="/integrations-inbound-webhook-1.webp" alt="Página de integraciones con la tarjeta de Webhooks de entrada y el botón de Ajustes para abrir la configuración del webhook"/>

2. Haga clic en **Crear webhook** para abrir el flujo de configuración.

<img src="/integrations-inbound-webhook-2.webp" alt="Pantalla de creación de webhook con nombre, evento, payload de muestra y asignación de identificador de usuario"/>

3. Introduzca un nombre de webhook para que pueda identificarlo en la lista más tarde.

4. Seleccione el evento de Pushwoosh que debe activarse cuando el webhook reciba una solicitud válida. Puede elegir entre los eventos que ya existen en su proyecto. Si necesita crear un evento primero, consulte [Eventos](/es/product/audience-data-and-segmentation/events/custom-events/).

<Aside type="note">
Un webhook activa un solo evento.
</Aside>

<img src="/integrations-inbound-webhook-3.webp" alt="Pantalla de configuración de webhook con el menú desplegable de eventos de Pushwoosh para seleccionar el evento a activar en la solicitud entrante"/>

5. En **Coincidir datos entrantes**, pegue un payload JSON de muestra de su servicio de terceros. Pushwoosh carga los campos del payload en los menús desplegables automáticamente.

<Aside type="note">
Si actualiza el payload más tarde, haga clic en **Recargar opciones de selección** para actualizar los menús desplegables. Esto restablecerá su asignación de campos actual. Tendrá que reasignar sus atributos.
</Aside>

Payload de muestra:

```json
{
  "user_id": "12345",
  "email_address": "jane@example.com",
  "mobile": "+15551234567",
  "purchase_date": "2024-03-15",
  "order_number": "ORD-001",
  "price": 99.99,
  "payment_state": "success"
}
```

6. En **Identificar usuarios por**, seleccione cómo Pushwoosh debe hacer coincidir la solicitud entrante con un usuario:

- **ID de usuario:** coincide por el ID de usuario interno en Pushwoosh.
- **Email:** coincide por la dirección de email.
- **Teléfono:** coincide por el número de teléfono.
- **HWID:** coincide por el identificador del dispositivo, navegador o email.

En **Campo del payload**, seleccione el campo que contiene el valor coincidente.

<img src="/integrations-inbound-webhook-5.webp" alt="Menús desplegables de Identificar usuarios por y Campo del payload con información sobre herramientas de ID de usuario y HWID en la pantalla de Coincidir datos entrantes"/>

7. Asigne cada atributo de evento a un campo del payload. En cada fila de asignación:

- **Atributo del evento:** el nombre del atributo en Pushwoosh. Seleccione entre los atributos definidos para este evento.
- **Campo del payload:** el campo del payload entrante que contiene el valor.

Por ejemplo, asigne `email` a `email_address`, `total` a `price` y `order_id` a `order_number`.

<img src="/integrations-inbound-webhook-4.webp" alt="Filas de asignación de Atributo del evento y Campo del payload con payload de muestra y botón de Recargar opciones de selección"/>

Haga clic en **+ Añadir atributo** para añadir una fila. Haga clic en **×** para eliminar una.

8. Cuando la configuración esté completa, haga clic en **Habilitar**. Se abrirá la ventana **URL del webhook**. 
<Aside type="caution" icon="setting" title="Se necesita ayuda del desarrollador">
Los siguientes pasos requieren acceso a la configuración de webhooks de su servicio de terceros. Comparta la URL y el Secreto con su equipo de desarrollo.
</Aside>

Copie los valores y péguelos en la configuración de webhooks de su sistema externo:

- Copie la **URL** y establézcala como el destino del webhook en su servicio de terceros.
- Copie el **Secreto** y péguelo en su servicio externo como el valor del encabezado `Authorization`. El valor incluye el prefijo `Bearer`, así que úselo tal cual. Pushwoosh rechaza cualquier solicitud en la que este encabezado falte o no coincida.

<img src="/integrations-inbound-webhook-7.webp" alt="Ventana de URL del webhook que muestra los campos URL y Secreto con botones de copia para la configuración del sistema externo"/>

9. La ventana también muestra una **Solicitud de ejemplo** con una solicitud `POST` de muestra. Haga clic en **Copiar** en el bloque de ejemplo para copiar la solicitud completa. Úsela para enviar una solicitud de prueba y confirmar que Pushwoosh acepta el webhook, o compártala con su equipo como plantilla para la integración.

<img src="/integrations-inbound-webhook-6.webp" alt="Ventana de URL del webhook con URL, Secreto y comando curl de Solicitud de ejemplo para la configuración del sistema externo"/>

Después de habilitar el webhook, aparece en la lista de Webhooks con un estado habilitado y comienza a aceptar solicitudes.

## Lista de webhooks

La lista de webhooks de entrada muestra todos los webhooks de su proyecto.


Cada fila muestra:

- **Nombre:** nombre del webhook.
- **Evento:** el evento de Pushwoosh que se activa cuando el webhook recibe una solicitud válida.
- **Estado:** **Habilitado** o **Deshabilitado**.
- **Recibidas:** número de solicitudes recibidas por el webhook.
- **Última actualización:** cuándo se modificó el webhook por última vez.

<img src="/integrations-inbound-webhook-9.webp" alt="Lista de webhooks de entrada con búsqueda, filtros de estado, columnas de tabla y menú de acciones de fila abierto"/>
## Gestionar webhooks
Abra el menú de la fila para:

- **Editar ajustes:** abre la configuración del webhook para que pueda cambiar el nombre, el evento, la asignación de campos y la identificación del usuario.
- **Copiar URL:** abre la ventana **URL del webhook** con la **URL** y el **Secreto** para que pueda copiarlos de nuevo.
- **Registro de actividad:** abre el registro de solicitudes para este webhook.
- **Eliminar:** elimina el webhook de la lista.

Para un webhook habilitado, haga clic en **Deshabilitar** para desactivarlo sin eliminar la configuración. Para un webhook deshabilitado, haga clic en **Habilitar** para comenzar a aceptar solicitudes nuevamente.


### Ver el registro de actividad

El registro de actividad muestra todas las solicitudes entrantes para el webhook seleccionado.

**Panel de resumen**

En la parte superior, revise el resumen de las últimas 24 horas:

- **Peticiones:** número total de solicitudes entrantes recibidas.
- **Éxito:** solicitudes en las que la autenticación fue exitosa, se encontró al usuario y se activó el evento.
- **Fallidas:** solicitudes que no se procesaron. Una solicitud fallida no detiene el webhook. Pushwoosh continúa aceptando y procesando solicitudes posteriores.

| Motivo del fallo | Qué significa |
| :---- | :---- |
| **Autenticación rechazada** | El secreto compartido no coincide con la configuración del webhook. Si cinco solicitudes consecutivas fallan con este error, Pushwoosh le enviará una notificación. Actualice el secreto para reanudar. No se necesita reactivación. |
| **Falta el campo identificador de usuario** | El campo del payload asignado para la identificación del usuario no está presente en la solicitud. |


<img src="/integrations-inbound-webhook-10.webp" alt="Registro de actividad con resumen de Peticiones, Éxito, Fallidas y entradas de solicitud que muestran la insignia de estado y el payload JSON"/>

**Entradas de solicitud**

Cada entrada muestra el identificador de usuario (por ejemplo, **ID de usuario** o **Email**), una insignia de **Éxito** o **Fallida**, la marca de tiempo de la solicitud y una vista previa del payload JSON recibido. Haga clic en **Mostrar** para expandir los detalles completos de la solicitud.

<img src="/integrations-inbound-webhook-11.webp" alt="Entrada de solicitud del registro de actividad con identificador de usuario, insignia de Éxito o Fallida, marca de tiempo, payload JSON y botón Mostrar"/>
## Ver eventos activados por webhook en User Explorer

Cuando una solicitud de webhook se procesa con éxito, Pushwoosh registra el evento en [User Explorer](/es/product/audience-data-and-segmentation/user-explorer/). Dónde aparece depende de cómo identificó al usuario:

- **ID de usuario, Email o Teléfono:** el evento se registra en el perfil del usuario. Abra el usuario y vaya a **Historial de eventos**.
- **HWID:** el evento se registra en el dispositivo coincidente. Abra el usuario, busque el dispositivo en **Dispositivos de usuario activos** y vaya a su pestaña **Historial de eventos**.

Busque el evento por nombre y expándalo para ver los atributos asignados (por ejemplo, `price` o `products`) y el atributo `__webhook` con el ID del webhook.

<img src="/integrations-inbound-webhook-12.webp" alt="Pestaña Historial de eventos de User Explorer que muestra un evento de webhook de entrada con atributos expandidos, incluido el ID __webhook y los campos del payload asignados"/>
## Usar webhooks de entrada con journeys

Después de que un webhook esté habilitado y active eventos con éxito, utilice el evento seleccionado como una [entrada de journey basada en un activador](/es/product/customer-journey/journey-elements/entry-elements/trigger-based-entry/). Cuando el webhook recibe una solicitud válida, Pushwoosh activa el evento asignado. Cualquier journey que utilice este evento como activador de entrada se iniciará automáticamente para el usuario coincidente.