O que é um webhook?

Um webhook é uma requisição HTTP enviada por um sistema para notificar outro de que um evento ocorreu. Implementações confiáveis verificam assinaturas, toleram novas tentativas e processam entregas duplicadas de forma idempotente.

Como os webhooks funcionam

Um produtor de webhooks serializa um evento e o envia a um endpoint HTTP controlado pelo consumidor, desacoplando as mudanças assíncronas de estado das consultas periódicas. A entrega normalmente ocorre pelo menos uma vez, em vez de exatamente uma vez, pois uma resposta perdida impede o remetente de saber se o processamento foi bem-sucedido. Por isso, o receptor autentica a requisição original, registra a identidade do evento, confirma o recebimento prontamente e transfere o processamento custoso de mídia ou de regras de negócio para uma fila durável.

Informações essenciais

  1. Os provedores definem exatamente o que é assinado: alguns assinam os bytes brutos da requisição mais um carimbo de data e hora, enquanto a Transloadit envia uma notificação application/x-www-form-urlencoded cujo campo signature contém um HMAC-SHA1 em hexadecimal minúsculo da string exata do campo transloadit. Escolha os segredos de verificação na configuração confiável do lado do servidor para a Assembly e o Workspace esperados, pois um reenvio pode ser assinado com uma chave aplicável diferente; o contrato de verificação de webhooks contém as regras completas. Verifique o payload definido pelo provedor, nunca uma versão serializada novamente.
  2. Retornar uma resposta de sucesso somente após um processamento subsequente demorado aumenta as ocorrências de tempo limite excedido e as novas tentativas; persistir o evento antes de confirmar o recebimento permite que o processamento continue de forma assíncrona.
  3. Novas tentativas podem duplicar ou reordenar eventos, portanto, o identificador do evento e a versão atual do recurso são proteções mais seguras contra efeitos colaterais do que presumir que cada chamada ao endpoint é única.

Quando os webhooks são relevantes

Os webhooks podem dar continuidade à lógica da aplicação quando o processamento assíncrono de mídia termina ou falha. Os consumidores devem autenticar as requisições e evitar repetir efeitos colaterais quando o remetente tenta enviar um evento novamente.

Transforme conhecimento sobre mídia em um pipeline funcional

Conecte uploads, processamento, IA, armazenamento e entrega por meio de uma única API declarativa, com o stack de codificação, o ajuste de escala e as constantes mudanças de formatos gerenciados para você.

Experimente a Transloadit gratuitamente