O grupo de endpoints X Activity API (XAA) permite que desenvolvedores acessem eventos de atividade que acontecem na Plataforma X.
Um desenvolvedor pode assinar eventos do seu interesse, como profile.update.bio, post.create, post.delete etc., e filtrar pelo User ID cujos eventos deseja receber. Os eventos correspondentes a esse User ID serão entregues ao seu app com latência inferior a um segundo.
Mecanismos de entrega
Atualmente, a X Activity API oferece suporte aos seguintes mecanismos de entrega para enviar eventos ao seu app:
Tipos de evento suportados
Atualmente, a X Activity API oferece suporte aos seguintes tipos de evento, organizados por categoria:
Eventos de Post
Os eventos de Post são acionados quando um usuário cria ou exclui um Post.
| Nome do evento | Descrição | Filtros |
|---|
post.create | Disparado quando um usuário cria um Post | user_id |
post.delete | Disparado quando um usuário exclui um Post | user_id |
Eventos de Post via XAA vs Filtered Stream: A X Activity API oferece suporte aos eventos post.create e post.delete. Assine por user_id para receber notificações em tempo real quando os usuários criarem ou excluírem Posts.Se você precisa de filtragem direcionada por palavras-chave, lógica booleana, segmentação geográfica, filtros de idioma ou qualquer um dos outros operadores que o Filtered Stream suporta, use o endpoint Filtered Stream em vez disso.
Eventos de seguir
Os eventos de seguir são acionados quando o usuário filtrado segue outro usuário ou é seguido por outro usuário.
| Nome do evento | Descrição | Filtros |
|---|
follow.follow | Disparado quando um usuário segue outro usuário | user_id |
follow.unfollow | Disparado quando um usuário deixa de seguir outro usuário | user_id |
Eventos de perfil
Os eventos de perfil são acionados quando um usuário faz alterações nas informações do seu perfil.
| Nome do evento | Descrição | Filtros |
|---|
profile.update.bio | Disparado quando um usuário atualiza a bio do seu perfil | user_id |
profile.update.profile_picture | Disparado quando um usuário atualiza a foto do seu perfil | user_id |
profile.update.banner_picture | Disparado quando um usuário atualiza o banner do seu perfil | user_id |
profile.update.screenname | Disparado quando um usuário atualiza o nome de exibição | user_id |
profile.update.handle | Disparado quando um usuário atualiza o seu handle | user_id |
profile.update.geo | Disparado quando um usuário atualiza a localização do seu perfil | user_id |
profile.update.url | Disparado quando um usuário atualiza a URL do site do seu perfil | user_id |
profile.update.verified_badge | Disparado quando um usuário atualiza o seu selo verificado | user_id |
profile.update.affiliate_badge | Disparado quando um usuário atualiza o seu selo de afiliado | user_id |
Eventos de chat
Os eventos de chat referem-se à nova camada de mensagens criptografadas, ou XChat.
| Nome do evento | Descrição | Filtros |
|---|
chat.received | Disparado quando um usuário recebe uma mensagem direta criptografada | user_id |
chat.sent | Disparado quando um usuário envia uma mensagem direta criptografada | user_id |
chat.conversation_join | Disparado quando um usuário entra em uma conversa de chat criptografada | user_id |
Eventos de DM legados
Os eventos de DM legados referem-se ao sistema de DM legado, sem criptografia.
| Nome do evento | Descrição | Filtros |
|---|
dm.received | Disparado quando um usuário recebe uma mensagem direta não criptografada | user_id |
dm.sent | Disparado quando um usuário envia uma mensagem direta não criptografada | user_id |
dm.read | Disparado quando um usuário lê a mensagem de DM não criptografada do usuário filtrado, ou “confirmação de leitura” | user_id |
dm.indicate_typing | Disparado quando um usuário está digitando uma mensagem para o usuário filtrado | user_id |
Eventos de notícias
Os eventos de notícias fornecem atualizações sobre tópicos em alta e manchetes selecionados pelo Grok.
| Nome do evento | Descrição | Filtros |
|---|
news.new | Novas tendências e manchetes selecionadas pelo Grok | keyword |
Apenas Enterprise: O evento news.new está disponível somente para contas nos níveis Enterprise e Partner no momento.
Eventos de Spaces
Os eventos de Spaces são acionados quando um usuário inicia ou encerra um Space.
| Nome do evento | Descrição | Filtros |
|---|
spaces.start | Disparado quando um usuário inicia um Space | user_id |
spaces.end | Disparado quando um usuário encerra um Space | user_id |
Em versões futuras, a XAA será expandida para oferecer suporte a tipos de evento adicionais, incluindo interações sociais, engajamento com conteúdo, recursos de monetização e muito mais. Continuaremos atualizando nossa documentação à medida que novos tipos de evento se tornarem disponíveis.
Privacidade e autenticação de eventos
A X Activity API distingue entre eventos públicos e eventos privados, em paridade com o app do X, conforme explicado abaixo.
Eventos públicos
Os eventos públicos são atividades que uma conta de usuário pública realiza publicamente e que são visíveis a todos os usuários do X. Esses eventos são visíveis a todos os usuários na plataforma X e não exigem autenticação OAuth do usuário para serem visualizados.
Eventos públicos atuais:
- Atualizações de perfil (bio, foto, banner, localização, URL, alterações de nome de usuário)
- Criação de Post (
post.create) e exclusão (post.delete)
Para esses eventos públicos, você pode criar assinaturas especificando o user ID no seu filtro e recebê-los via XAA.
Eventos privados
Os eventos privados são atividades que exigem consentimento explícito do usuário por meio de autenticação OAuth. Um usuário precisa autenticar-se via X e conceder permissão explícita a um app de desenvolvedor para acessar esses eventos.
Requisitos de autenticação para eventos privados:
- O usuário precisa autenticar a sua aplicação via OAuth 2.0
- A sua aplicação precisa obter os escopos OAuth apropriados
- O usuário precisa conceder explicitamente permissão para que o seu app acesse esses eventos
- Assinaturas para eventos privados só podem ser criadas para usuários que autorizaram a sua aplicação
Limites de assinatura
A X Activity API tem diferentes limites de assinatura com base no nível da sua conta:
| Nível do pacote | Máximo de assinaturas |
|---|
| Self-serve | 1000 |
| Enterprise | 50.000 |
| Partner | 100.000 |
Endpoints
| Método | Endpoint | Descrição |
|---|
| GET | /2/activity/stream | Conectar ao stream de atividades |
| POST | /2/activity/subscriptions | Criar uma assinatura |
| GET | /2/activity/subscriptions | Listar assinaturas |
| PUT | /2/activity/subscriptions/:id | Atualizar uma assinatura |
| DELETE | /2/activity/subscriptions/:id | Excluir uma assinatura |
Configuração da contaPara acessar esses endpoints, você precisará de:Saiba mais sobre como obter acesso aos endpoints da X API v2 em nosso guia de introdução.