Skip to main content

O que é um webhook?

Um webhook permite que você seja notificado quando determinadas ações do sistema ocorrem, por meio de uma chamada a uma URL fornecida por você. Webhooks também são conhecidos como “URL Callbacks” ou “HTTP push calls”. Sua URL deve usar SSL e começar com HTTPS.

Ações de webhook

Veja as ações disponíveis para webhooks.

Entendendo os webhooks do Ayrshare

Os webhooks são categorizados pela ação específica e são registrados no nível do Primary Profile ou do User Profile. Quaisquer atualizações do Primary Profile ou dos User Profiles são enviadas primeiro para o webhook registrado do User Profile. Se o User Profile não tiver um webhook registrado, a atualização será enviada para o webhook registrado do Primary Profile. Por exemplo:
  • Se um User Profile tiver um webhook Social Action registrado e desvincular o TikTok, a URL do webhook Social Action registrado para o User Profile será chamada. O webhook do Primary Profile não será chamado.
  • Se um User Profile desvincular o TikTok e não tiver um webhook Social Action registrado, mas o Primary Profile tiver um webhook registrado, a URL do webhook Social Action registrado para o Primary Profile será chamada.

Registrar um webhook

Registre um webhook fornecendo uma URL de endpoint e o tipo de ação para o endpoint POST /hook/webhook. Quando a ação ocorrer, uma mensagem HTTP POST será enviada para a URL fornecida. Por exemplo, registre uma URL para ser notificado sobre o status de uma publicação agendada. A URL do endpoint do webhook não deve utilizar redirecionamentos e precisa ser a URL de destino final. Se você registrar apenas o webhook do Primary Profile, os User Profiles herdarão automaticamente o webhook do Primary Profile. Para ter um webhook exclusivo para cada User Profile, você precisa registrar um webhook para cada User Profile.
Depois que seu webhook receber o HTTP POST, seu servidor deve responder com um status HTTP 200 para marcar a chamada como bem-sucedida. Se o seu servidor não responder em 10 segundos, uma resposta 503 será registrada.
Você também pode registrar webhooks no Painel do Desenvolvedor.

Novas tentativas de webhook

Se a resposta HTTP do seu servidor não estiver na faixa de sucesso 200-299, o sistema tentará automaticamente a chamada do webhook mais duas vezes. A primeira nova tentativa ocorrerá após 5 segundos e a segunda ocorrerá 30 segundos depois. As novas tentativas terão o mesmo hookId e serão marcadas como tentativas de retry.

Segurança do webhook

Você pode optar por adicionar segurança adicional definindo autenticação HMAC como uma requisição HTTP. Isso é feito frequentemente para evitar ataques de replay. O Ayrshare usa HMAC-SHA256 para gerar o hash do corpo da mensagem e o inclui, junto com o timestamp UNIX, no cabeçalho do POST.
Com base em uma chave secreta definida ao registrar seu webhook, você pode validar o POST comparando o cabeçalho X-Authorization-Content-SHA256 com o HMAC-SHA256 do corpo do POST. A chave secreta de assinatura é por profile — uma chave secreta por User Profile, usada em todas as ações de webhook daquele profile, de forma que defini-la para uma ação a altera para todas as ações daquele profile. Contas com múltiplos profiles gerenciam uma chave secreta separada por profile (mire em um profile com o cabeçalho Profile-Key). O cabeçalho X-Authorization-Content-SHA256-V2 carrega a mesma assinatura como um valor prefixado por v1= (v1= denota o esquema HMAC-SHA256). Quando você rotaciona sua chave secreta de assinatura, esse cabeçalho lista ambas as assinaturas, a atual e a anterior (v1=<current-sig>,v1=<previous-sig>), por uma janela de tolerância de 24 horas, para que você possa rotacionar sua chave secreta sem nenhuma entrega descartada ou rejeitada. Um receptor deve aceitar uma entrega se seu HMAC calculado corresponder a qualquer assinatura v1= listada. Consulte Rotacionar chave secreta de assinatura para o procedimento completo e um exemplo de verificação.

Logs de webhooks

No Painel do Ayrshare, você pode visualizar os webhooks ativos, ver os detalhes do webhook enviado, o status de resposta do seu servidor e reenviar o webhook para a URL registrada. Alterne para um User Profile específico para visualizar os logs de webhook desse profile.

Códigos de resposta HTTP

A primeira coluna indica uma resposta HTTP bem-sucedida ✔️ (200, 300) do webhook ou uma resposta com falha ✖️ (400, 500). Alterne para um user profile específico para visualizar os logs de webhook desse profile.

Taxa de erro

A “Error Rate” das 1.000 publicações mais recentes pode ser visualizada tanto nas páginas Actions quanto Webhook Logs dentro do painel. Qualquer resposta de webhook do seu servidor de 400-500 é considerada um erro.