1. Crie um X App
Crie um X app com uma conta de desenvolvedor aprovada no developer portal. Se estiver criando o app em nome da sua empresa, use uma conta corporativa do X.- Habilite “Read, Write, and Access direct messages” na aba de permissões da página do seu app.
- Na aba “Keys and Access Tokens”, anote a Consumer Key (API Key), o Consumer Token (API Secret) e o Bearer Token do seu app.
- Gere o Access Token e o Access Token Secret do seu app. Eles são necessários para assinar contas de usuário.
- Consulte Obtaining Access Tokens caso não esteja familiarizado com o X Sign-in e com contextos de usuário.
- Anote o ID numérico do seu app na página “Apps” do developer portal. Ele é obrigatório ao solicitar acesso à Account Activity API.
2. Obtenha acesso à Account Activity API
A Account Activity API está disponível nos níveis Enterprise e Pay Per Use. Envie uma solicitação de acesso pelo developer portal.3. Registre um webhook
Para receber eventos da Account Activity, você precisa registrar um webhook com uma URL HTTPS acessível publicamente. Consulte a documentação da V2 Webhooks API para detalhes sobre como desenvolver um app consumidor de webhook, registrar um webhook, protegê-lo e lidar com os Challenge-Response Checks (CRC).- Garanta que seu webhook esteja configurado para lidar com requisições POST com payloads de evento codificados em JSON.
- Obtenha o
webhook_idna resposta do registro do webhook, pois ele é necessário para gerenciar as assinaturas.
4. Valide a configuração
Para validar que seu app e webhook estão configurados corretamente:- Assine uma conta de usuário no seu webhook (veja Adicionando uma assinatura abaixo).
- Curta um Post publicado por uma das contas do X assinadas pelo seu app.
- Você deverá receber um payload
favorite_eventsvia requisição POST na URL do seu webhook.
Pode levar até 10 segundos para que os eventos comecem a ser entregues após adicionar uma assinatura.
Gerenciando assinaturas
Depois de ter um webhook registrado com umwebhook_id válido, você pode gerenciar as assinaturas dos usuários para receber suas atividades de conta. Use os endpoints a seguir para adicionar, visualizar ou remover assinaturas.
Adicionando uma assinatura
Endpoint:POST /2/account_activity/webhooks/:webhook_id/subscriptions/all — Referência da API
Assina o usuário autenticado para receber eventos via o webhook especificado.
Autenticação: OAuth 1.0a (é necessário o fluxo OAuth 3-legged, representando o usuário a ser assinado).
Verificando uma assinatura
Endpoint:GET /2/account_activity/webhooks/:webhook_id/subscriptions/all — Referência da API
Verifica se o usuário autenticado está assinado no webhook especificado.
Autenticação: OAuth 1.0a (é necessário o fluxo OAuth 3-legged).
Removendo uma assinatura
Endpoint:DELETE /2/account_activity/webhooks/:webhook_id/subscriptions/:user_id/all — Referência da API
Desativa a assinatura de um ID de usuário específico, interrompendo a entrega de eventos ao webhook.
Autenticação: OAuth2 App Only Bearer Token.
Visualizando todas as assinaturas
Endpoint:GET /2/account_activity/webhooks/:webhook_id/subscriptions/all/list — Referência da API
Retorna uma lista com todos os IDs de usuários atualmente assinados no webhook especificado.
Autenticação: OAuth2 App Only Bearer Token.
Contagem de assinaturas
Endpoint:GET /2/account_activity/subscriptions/count — Referência da API
Retorna a contagem total de assinaturas ativas e o limite provisionado para a aplicação autenticada.
Autenticação: OAuth2 App Only Bearer Token.
Assinaturas somente de DM não são mais suportadas. O campo
subscriptions_count_direct_messages sempre será "0".Replay
O AAAv2 oferece a funcionalidade de replay, que permite recuperar eventos passados em um intervalo de tempo especificado e reenviá-los ao seu webhook. Isso é útil para recuperar eventos perdidos devido a indisponibilidade. Endpoint:POST /2/account_activity/replay/webhooks/:webhook_id/subscriptions/all — Referência da API
Autenticação: OAuth2 App Only Bearer Token.
Sucesso (200 OK):
Mensagens de job concluído
Quando o seu job de replay for concluído com sucesso, o X entregará o seguinte evento de conclusão. Ao receber esse evento, o job terá terminado de rodar e outro poderá ser enviado.Observações importantes
Apps de exemplo
Próximos passos
Introdução
Tipos de atividade, objetos de dados e exemplos de payload
Webhooks API
Registre e gerencie seus webhooks
Guia de migração
Migre do Enterprise legado para o v2
Início rápido de webhook
Configuração de CRC, segurança e registro de webhooks