Webhooks

Solución de problemas de webhooks

Entregas de webhook faltantes

Si no está recibiendo las entregas de webhook que espera, debe identificar el punto en el que falta la entrega.

Provoque un evento que espera que resulte en una entrega de webhook. Por ejemplo, si su webhook es un webhook de Acción configurado en un tablero, puede crear una Acción en ese tablero.

  1. Espere unos minutos y vuelva a verificar. Las entregas de webhook pueden tardar unos minutos en aparecer.

  2. Asegúrese de haber provocado un evento en el lugar donde está configurado su webhook. Por ejemplo, si su webhook es un webhook de Acción, asegúrese de haber provocado el evento en el tablero donde está configurado el webhook.

  3. Asegúrese de que su webhook esté suscrito al evento que provocó. Por ejemplo, si espera una entrega de webhook al crear una Acción, asegúrese de que su webhook esté suscrito al evento OnCreate Action.

  4. Asegúrese de que la Integration de su webhook esté activa. Visite la configuración de webhook y confirme que el interruptor Activo esté habilitado y configurado en ON.


Revise los registros de su servidor. La información en los registros depende del código que su servidor ejecuta para manejar las entregas de webhook. Para ayudarlo a diagnosticar problemas en su servidor, quizás desee agregar instrucciones de registro adicionales a su código.


El host de URL localhost no es compatible

No puede usar http://localhost ni http://127.0.0.1 como URL de webhook.

Para entregar webhooks a su servidor local con fines de prueba, puede usar un servicio de reenvío http. Para obtener más información, visite  https://ngrok.com/ o https://smee.io/. Todos los ejemplos de nuestra documentación usan ngrok para el reenvío http.


No se pudo conectar con el host

El error no se pudo conectar con el host se produce cuando Fluid intenta una entrega de webhook pero no puede resolver la URL del webhook a una dirección IP.

Para comprobar si un nombre de host se resuelve a una dirección IP, puede usar nslookup. Por ejemplo, si la URL de su payload es https://organisation.fluid.work/webhooks, puede ejecutar nslookup organisation.fluid.work. Si el nombre de host no pudo resolverse a una dirección IP, el comando nslookup indicará que el servidor no puede encontrar el nombre de host.


No se pudo conectar con la red

El error no se pudo conectar con la red indica que su servidor rechazó la conexión cuando Fluid intentó entregar un webhook.

Debe asegurarse de que su servidor permita conexiones desde las direcciones IP de Fluid. Puede obtener su lista de direcciones IP de Fluid poniéndose en contacto con el soporte de Fluid o con su gerente de éxito del cliente.


Tiempo de espera agotado

El error de tiempo de espera agotado indica que Fluid no recibió una respuesta de su servidor dentro de los 10 segundos posteriores a la entrega de un webhook.

Su servidor debe responder con un código de respuesta Http 2xx dentro de los 10 segundos posteriores a recibir una entrega de webhook. Si su servidor tarda más de eso en responder, Fluid termina la conexión y considera la entrega como un error.

Para responder de manera oportuna, quizás desee configurar una cola para procesar los payloads de webhook de forma asíncrona. Su servidor puede responder cuando recibe el webhook, y luego procesar el payload en segundo plano sin bloquear futuras entregas de webhook. Por ejemplo, puede usar servicios como Hookdeck o bibliotecas como Resque (Ruby), RQ (Python) o RabbitMQ.



No se pudo autenticar el certificado del par con los certificados de CA proporcionados

Este error indica que hay un problema relacionado con los certificados de su servidor. Los problemas más comunes son:

  • Su servidor está usando un certificado autofirmado.

  • Su servidor no está enviando la cadena de certificados completa cuando se establece la conexión.

  • Para ayudar a diagnosticar el problema, puede usar la prueba de servidor SSL de SSL Labs. Este servicio solo puede funcionar con el puerto predeterminado para HTTPS (puerto 443) y solo puede funcionar con servidores accesibles desde Internet.

También puede usar openssl para ayudar a diagnosticar el problema. Para hacerlo, ejecute openssl s_client -connect HOST:PORT en una terminal. Reemplace HOST con el nombre de host de su servidor y PORT con el puerto. Por ejemplo, openssl s_client -connect example.com:443. Para identificar problemas, busque verify error en la salida.



Respuesta HTTP no válida

El error de respuesta HTTP no válida ocurre cuando su servidor devuelve un estado 4xx o 5xx en respuesta a una entrega de webhook de Fluid.

Debe configurar su servidor para que devuelva un estado 2xx. Si su servidor devuelve un estado 4xx o 5xx, Fluid registrará la entrega como un error.


Las entregas de webhook están fuera de orden

Es posible que Fluid entregue los webhooks en un orden distinto al orden en que ocurrieron los eventos. Si necesita saber cuándo ocurrió un evento en relación con otro, debe usar las marcas de tiempo incluidas en el payload de la entrega.



Las entregas de webhook no son inmediatas

Las entregas de webhook pueden tardar unos minutos en entregarse y en aparecer en el registro de entregas recientes. Antes de concluir que su entrega de webhook falló, espere unos minutos y vuelva a verificar.



Error en la verificación de firma

Debe usar un secreto de webhook y el encabezado X-Hub-Signature-256 para verificar que una entrega de webhook proviene de Fluid. Para obtener más información, consulte Validating Webhooks.

Si está seguro de que el payload proviene de Fluid pero la verificación de firma falla:

  • Asegúrese de haber configurado un secreto para su webhook. El encabezado X-Hub-Signature-256 no estará presente si no ha configurado un secreto para su webhook. Para obtener más información sobre cómo configurar un secreto para su webhook, consulte How to configure Webooks to Fluid Boards integration.

  • Asegúrese de estar usando el encabezado correcto. Fluid usa el encabezado X-Hub-Signature-256, que utiliza el algoritmo HMAC-SHA256. 

  • Asegúrese de estar usando el secreto de webhook correcto. Si no conoce el valor del secreto de su webhook, puede actualizar el secreto de su webhook. Para obtener más información, consulte How to configure Webooks to Fluid Boards integration.

  • Asegúrese de que el payload y los encabezados no se modifiquen antes de la verificación. Por ejemplo, si usa un proxy o balanceador de carga, asegúrese de que el proxy o balanceador de carga no modifique el payload ni los encabezados.

  • Si su lenguaje e implementación de servidor especifican una codificación de caracteres, asegúrese de manejar el payload como UTF-8. Los payloads de webhook pueden contener caracteres unicode.

Was this article helpful?