Registros, validación y pruebas de webhooks

Registros de webhook

Se crea un registro para cada solicitud a la URL del webhook. Se puede acceder a los registros de todos los webhooks desde la página de lista de webhooks.

Campos de registro de webhook

En esta sección se enumeran todos los campos que se muestran en la tabla de registros de webhook.

CampoDescripción
Código de EstadoRepresentación del código de estado que Aiwifi recibe en la respuesta desde la URL configurada para el webhook
Tipo de EventoEl evento de webhook que se envió, por ejemplo: guest.data
Identificador del EventoIdentificador único para cada evento del webhook
Enviado aLa fecha de envío del evento
Webhook URLLa URL configurada para recibir el evento del webhook

Detalles del registro del webhook

Puedes ver información detallada de cada registro de webhook. Esto incluye más información sobre la solicitud enviada y la respuesta recibida desde tu URL.

Reintentos de webhook

Si recibimos una respuesta HTTP 200 desde la URL de su webhook, consideramos que el webhook se ha ejecutado correctamente. Si su aplicación devuelve cualquier otra respuesta, marcamos el webhook como fallido y reenviamos la misma carga útil.

Intentaremos enviar el webhook hasta tres veces. Si recibimos un código de respuesta distinto de HTTP 200 o experimentamos un tiempo de espera de 3 segundos o más por más de tres veces, consideraremos que el webhook ha fallado y no reenviaremos ese evento en particular.

No desactivamos los webhooks si persisten los fallos. Solo los desactivamos si elimina la URL de la configuración de su webhook.

VALIDACIÓN Y PRUEBA DE UN WEBHOOK

Validar un evento de webhook

Aiwifi utiliza el token secreto para generar una firma hash para la información enviada. Esta firma hash se calcula mediante HMAC con el algoritmo SHA256; la clave es el secreto del webhook y el mensaje es el cuerpo de la solicitud. Esta firma hash se incluye en los encabezados de cada solicitud como Aiwifi-Signature.

Firma de la solicitud

Para confirmar que la información proviene de Aiwifi, puedes usar cualquier lenguaje moderno para calcular hashes HMAC: Node, PHP, Python, etc. En general, proporcionan un método para generar un valor cifrado a través de una clave utilizando el algoritmo HMAC.

Necesitará la carga útil, que es el cuerpo de la solicitud POST recibida. Esta es una representación JSON de un evento. Y la clave secreta, que es la clave proporcionada por Aiwifi para identificar la URL del webhook configurado en su marca.

Este es un ejemplo para PHP

 $hash = hash_hmac('sha256', $payload, $secret);

Este es un ejemplo para Python

 import hmac 
import hashlib 

hash = hmac.new(secret.encode('utf8'), payload.encode('utf8'), hashlib.sha256).digest()

Este es un ejemplo para Node.js

 const crypto = require("crypto"); 
  const hash = crypto.createHmac('sha256', secret) 
  .update(payload) // raw webhook request body 
  .digest('hex');

Debes comparar el hash resultante $signature con el hash recibido en el encabezado llamado Aiwifi-Signature .

Probar un webhook

En la lista de webhooks, puedes ver las configuraciones de webhooks que has creado. Cada configuración tiene un botón para probar el evento del webhook.

Haga clic en el botón "Probar" para comprobar si la URL de su webhook es válida. Aiwifi enviará un evento a la URL del webhook.

Al hacer clic en el botón Probar webhook, aparecerá un modal que le permitirá seleccionar de una lista de eventos que Aiwifi puede simular y probar.

Al seleccionar el evento que desea probar, haga clic en el botón "Probar URL". Aiwifi enviará el evento a la URL configurada.

Cuando Aiwifi activa un evento de prueba, puedes ver los detalles del evento, incluida la solicitud enviada y la respuesta recibida.

La solicitud enviada representa la información que Aiwifi envía en la solicitud de evento a su URL. Esta carga útil varía según el tipo de evento. La respuesta recibida representa la respuesta que Aiwifi recibió de su URL configurada.

Consideraciones sobre los eventos de prueba de webhook

Aiwifi es capaz de probar la URL del webhook que envía un evento, basándose en las siguientes consideraciones:

Necesitamos cinco componentes esenciales para que puedan enviarse los eventos de prueba a la URL configurada.

  • 1. Campaña: Aiwifi necesita que la marca tenga al menos un tipo de campaña de interés y uno de encuesta para enviar los eventos guest.interests y surveyAnswer.created. Además, estas campañas deben estar activas.
  • 2. Punto de acceso: La marca debe tener al menos un punto de acceso habilitado y asignado a una ubicación.
  • 3. Ubicación: La marca debe tener una ubicación activa con un punto de acceso asignado.
  • 4. Invitado: Aiwifi utilizará el último invitado conectado en el portal cautivo de su marca en caso de que en el momento de probar el evento su marca no tenga al menos un invitado conectado, Aiwifi crea un invitado falso para hacer la prueba.
  • 5. Dispositivo: De la misma manera Aiwifi necesita un dispositivo asignado al invitado.

¿Fue útil este artículo?

Eventos de webhook
Ejemplo de creación de webhooks con la App Pabbly Connect.