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.Novas tentativas de webhook
Se a resposta HTTP do seu servidor não estiver na faixa de sucesso200-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.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.
