Webhooks

Solução de problemas em webhooks

Entregas de webhook ausentes

Se você não está recebendo as entregas de webhook que espera, deve identificar o ponto em que a entrega está ausente.

Acione um evento que você espera que resulte em uma entrega de webhook. Por exemplo, se o seu webhook é um webhook de Ação configurado em um quadro, você pode criar uma Ação nesse quadro.

  1. Aguarde alguns minutos e verifique novamente. As entregas de webhook podem levar alguns minutos para aparecer.

  2. Certifique-se de que você acionou um evento no local onde seu webhook está configurado. Por exemplo, se o seu webhook é um webhook de Ação, certifique-se de que você acionou o evento no quadro onde o webhook está configurado.

  3. Certifique-se de que seu webhook está inscrito no evento que você acionou. Por exemplo, se você espera uma entrega de webhook ao criar uma Ação, certifique-se de que seu webhook está inscrito no evento OnCreate de Ação.

  4. Certifique-se de que sua Integração de webhook está ativa. Acesse a configuração do Webhook e confirme se o botão Ativo está habilitado e definido como ATIVADO.


Verifique os logs do seu servidor. As informações nos logs dependem do código que seu servidor executa para lidar com as entregas de webhook. Para ajudá-lo a diagnosticar problemas no seu servidor, você pode adicionar instruções de log adicionais ao seu código.


O host de URL localhost não é suportado

Você não pode usar http://localhost ou http://127.0.0.1 como URL de webhook.

Para entregar webhooks ao seu servidor local para testes, você pode usar um serviço de encaminhamento http. Para mais informações, acesse  https://ngrok.com/ ou https://smee.io/. Todos os exemplos em nossa documentação usam ngrok para encaminhamento http.


Falha ao conectar ao host

O erro de falha ao conectar ao host ocorre quando o Fluid tenta uma entrega de webhook, mas não consegue resolver a URL do webhook para um endereço IP.

Para verificar se um nome de host é resolvido para um endereço IP, você pode usar o nslookup. Por exemplo, se a URL do seu payload for https://organisation.fluid.work/webhooks, você pode executar nslookup organisation.fluid.work. Se o nome do host não puder ser resolvido para um endereço IP, o comando nslookup indicará que o servidor não consegue encontrar o nome do host.


Falha ao conectar à rede

O erro de falha ao conectar à rede indica que seu servidor recusou a conexão quando o Fluid tentou entregar um webhook.

Você deve garantir que seu servidor permita conexões dos endereços IP do Fluid. Você pode obter sua lista de endereços IP do Fluid entrando em contato com o suporte do Fluid ou com seu gerente de sucesso do cliente.


Tempo esgotado

O erro de tempo esgotado indica que o Fluid não recebeu uma resposta do seu servidor dentro de 10 segundos após a entrega de um webhook.

Seu servidor deve responder com um código de resposta Http 2xx dentro de 10 segundos após receber uma entrega de webhook. Se o seu servidor demorar mais do que isso para responder, o Fluid encerrará a conexão e considerará a entrega como uma falha.

Para responder em tempo hábil, você pode configurar uma fila para processar payloads de webhook de forma assíncrona. Seu servidor pode responder quando receber o webhook e, em seguida, processar o payload em segundo plano sem bloquear futuras entregas de webhook. Por exemplo, você pode usar serviços como Hookdeck ou bibliotecas como Resque (Ruby), RQ (Python) ou RabbitMQ.



O certificado do par não pode ser autenticado com os certificados CA fornecidos

Este erro indica que há um problema relacionado aos certificados do seu servidor. Os problemas mais comuns são:

  • Seu servidor está usando um certificado autoassinado.

  • Seu servidor não está enviando a cadeia de certificados completa quando a conexão é estabelecida.

  • Para ajudar a diagnosticar o problema, você pode usar o teste de servidor SSL do SSL Labs. Este serviço só pode funcionar com a porta padrão para HTTPS (porta 443) e só pode funcionar com servidores acessíveis pela Internet.

Você também pode usar o openssl para ajudar a diagnosticar o problema. Para isso, execute openssl s_client -connect HOST:PORT em um terminal. Substitua HOST pelo nome do host do seu servidor e PORT pela porta. Por exemplo, openssl s_client -connect example.com:443. Para identificar problemas, procure por verify error na saída.



Resposta HTTP inválida

O erro de resposta HTTP inválida ocorre quando seu servidor retorna um status 4xx ou 5xx em resposta a uma entrega de webhook do Fluid.

Você deve configurar seu servidor para retornar um status 2xx. Se o seu servidor retornar um status 4xx ou 5xx, o Fluid registrará a entrega como uma falha.


As entregas de webhooks estão fora de ordem

O Fluid pode entregar webhooks em uma ordem diferente da ordem em que os eventos ocorreram. Se você precisar saber quando o evento ocorreu em relação a outro evento, deve usar os timestamps incluídos no payload de entrega.



As entregas de webhook não são imediatas

As entregas de webhook podem levar alguns minutos para serem entregues e aparecerem no log de entregas recentes. Antes de concluir que sua entrega de webhook falhou, aguarde alguns minutos e verifique novamente.



Falha na verificação de assinatura

Você deve usar um segredo de webhook e o cabeçalho X-Hub-Signature-256 para verificar se uma entrega de webhook é do Fluid. Para mais informações, consulte Validando Webhooks.

Se você tem certeza de que o payload é do Fluid, mas a verificação de assinatura falha:

  • Certifique-se de que você configurou um segredo para o seu webhook. O cabeçalho X-Hub-Signature-256 não estará presente se você não tiver configurado um segredo para o seu webhook. Para mais informações sobre como configurar um segredo para o seu webhook, consulte Como configurar Webhooks para a integração com o Fluid Boards.

  • Certifique-se de que está usando o cabeçalho correto. O Fluid usa o cabeçalho X-Hub-Signature-256, que utiliza o algoritmo HMAC-SHA256. 

  • Certifique-se de que está usando o segredo de webhook correto. Se você não souber o valor do seu segredo de webhook, pode atualizar o segredo do seu webhook. Para mais informações, consulte Como configurar Webhooks para a integração com o Fluid Boards.

  • Certifique-se de que o payload e os cabeçalhos não são modificados antes da verificação. Por exemplo, se você usar um proxy ou balanceador de carga, certifique-se de que o proxy ou balanceador de carga não modifica o payload ou os cabeçalhos.

  • Se sua linguagem e implementação de servidor especificarem uma codificação de caracteres, certifique-se de tratar o payload como UTF-8. Os payloads de webhook podem conter caracteres unicode.

Was this article helpful?