Visão geral
Entrega em tempo real
Receba eventos instantaneamente conforme ocorrem
Baseado em push
Dados enviados diretamente ao seu servidor — sem polling
Seguro
Validação CRC e verificação de assinatura
Confiável
Suporte a retry e recovery
Produtos que suportam webhooks
Estes são os produtos que atualmente suportam a entrega de eventos via webhook:Como os webhooks funcionam
- Ocorre um evento — Um usuário publica, envia uma DM, é seguido, etc.
- X envia uma requisição POST — Payload JSON do evento enviado para sua URL de webhook registrada
- Você processa o evento — Seu servidor lida com os dados do evento
- Responde com 200 OK — Retorne um status 200 para confirmar o recebimento
Requisitos de webhook
Endpoints
Todos os endpoints requerem autenticação com OAuth2 App Only Bearer Token.
Segurança
As APIs baseadas em webhook do X fornecem dois métodos para confirmar a segurança do seu servidor de webhook:- Challenge-Response Check (CRC) — O X envia requisições GET periódicas para sua URL de webhook. Você responde com um hash HMAC-SHA256 para provar que controla o endpoint. Os CRC checks ocorrem no registro inicial, a cada hora e em revalidações manuais.
-
Verificação de assinatura — Cada requisição POST do X inclui um header
x-twitter-webhooks-signature. Você pode verificar essa assinatura para confirmar que o X é a origem dos eventos recebidos.
Ver detalhes completos de implementação
Configuração passo a passo do CRC, exemplos de código e verificação de assinatura
Validação de webhook
Um CRC check é enviado ao seu webhook nos seguintes casos:- Imediatamente após a criação
- Em uma requisição PUT explícita (
PUT /2/webhooks/{id}) - Periodicamente a cada 30 minutos, mas somente se o webhook não tiver sido validado com sucesso nas últimas 24 horas
- Ele retorna uma resposta inválida para um CRC check
- Retorna um código de status 2XX, mas o
response_tokenestá incorreto - Retorna um código de status 3XX
- Resulta em uma exceção SSL
- Retorna um código de status 2XX, mas o
- Ele apresenta erros transitórios persistentes tais que não tenha sido validado com sucesso por mais de 28 horas (inclui um período de tolerância de 4 horas para problemas transitórios)
- As seguintes respostas são tratadas como erros transitórios:
- Código de status 4XX
- Código de status 5XX
- Timeout da requisição
- Canal fechado
- As seguintes respostas são tratadas como erros transitórios:
GET /2/webhooks ou por meio do toolbox no Developer Console.
Primeiros passos
Pré-requisitos
- Uma conta de desenvolvedor aprovada
- Um Projeto e App no Developer Console
- Um endpoint HTTPS publicamente acessível
- O consumer secret (API secret key) do seu app para validação CRC
Início rápido
Configure seu webhook de ponta a ponta
Filtered Stream Webhooks
Receba Posts filtrados via webhook
Account Activity API
Receba eventos de conta via webhook
Apps de exemplo
Exemplos de código funcionais