Escolher tipos de evento
Por padrão você recebe todos os tipos de evento de cada conta que monitora. É possível restringir isso por conta: uma conta pode enviar só seus novos seguidores verificados enquanto outra envia tudo o que publica. A escolha pertence à assinatura, então é feita para cada conta separadamente.
O que você pode escolher
Cada tipo de evento abaixo pode ser ligado ou desligado individualmente, para cada conta. Correspondências de palavras-chave (search.match) não estão na lista: elas vêm das palavras-chave, não das contas.
| Tipo | Categoria | Significado |
|---|---|---|
tweet.create | Publicações | A conta publicou algo novo |
tweet.reply | Publicações | Ela respondeu a alguém; reply_to traz a publicação respondida, com texto e mídia |
tweet.retweet | Publicações | Ela republicou alguém; retweet_of traz a publicação original completa |
tweet.quote | Publicações | Ela citou alguém; quoted traz a publicação citada completa |
tweet.edit | Publicações | Editou uma publicação; o evento traz a nova versão e edit_of a versão que ela substitui |
tweet.delete | Publicações | Uma publicação que a conta havia feito desapareceu |
profile.name | Perfil | Nome de exibição alterado |
profile.screen_name | Perfil | Nome de usuário alterado |
profile.bio | Perfil | Bio alterada |
profile.location | Perfil | Localização alterada |
profile.url | Perfil | Link do perfil alterado |
profile.avatar | Perfil | Avatar alterado; old e new são URLs de imagem |
profile.banner | Perfil | Banner alterado; old e new são URLs de imagem |
profile.pinned | Perfil | Publicação fixada alterada; tweet e old_tweet trazem as próprias publicações |
profile.verified | Perfil | Selo de verificação apareceu ou desapareceu |
follow.add | Seguidos e seguidores | A conta começou a seguir alguém; user é o perfil completo dessa conta |
follow.remove | Seguidos e seguidores | A conta parou de seguir alguém |
followers.verified.add | Seguidos e seguidores | Uma conta verificada começou a segui-la; user traz bio, contagens, localização e data de entrada |
account.status | Conta | A conta ficou protegida, suspensa ou indisponível, ou voltou a ficar ativa |
Escolhas comuns
Envie o valor da coluna da direita como event_types. Os tipos se combinam livremente; liste quantos precisar.
| Você quer | event_types |
|---|---|
| Só os novos seguidores verificados da conta | ["followers.verified.add"] |
| Só as publicações originais | ["tweet.create"] |
| Só as respostas | ["tweet.reply"] |
| Tudo o que publica: publicações, respostas, reposts, citações e edições | ["tweet.create", … 5 tipos] |
| As publicações e quando apaga uma | ["tweet.create", "tweet.delete"] |
| Só mudanças de perfil (os nove tipos de perfil) | ["profile.name", … 9 tipos] |
| Só quem ela passa a seguir e deixa de seguir | ["follow.add", "follow.remove"] |
| Tudo (padrão) | null |
Como configurar
Escolha ao começar a monitorar a conta ou altere quando quiser. As duas chamadas exigem o escopo targets:write.
curl -X POST https://api.xsignalfeed.com/v1/monitor/targets \ -H "Authorization: Bearer xsf_your_key" -H "Content-Type: application/json" \ -d '{"screen_name": "elonmusk", "event_types": ["followers.verified.add"]}'
curl -X PATCH https://api.xsignalfeed.com/v1/monitor/targets/elonmusk \ -H "Authorization: Bearer xsf_your_key" -H "Content-Type: application/json" \ -d '{"event_types": ["tweet.create", "tweet.reply"]}'
curl -X PATCH https://api.xsignalfeed.com/v1/monitor/targets/elonmusk \ -H "Authorization: Bearer xsf_your_key" -H "Content-Type: application/json" \ -d '{"event_types": null}'
A escolha atual da conta está no campo event_types; event_types_all é true quando nada é filtrado.
{
"target": {
"id": "44196397",
"screen_name": "elonmusk",
"name": "Elon Musk",
"state": "subscribed",
"…": "…",
"event_types": [
"tweet.create",
"tweet.reply"
],
"event_types_all": false
}
}Regras
- Omitir
event_typesao começar a monitorar uma conta significa todos os tipos. - Enviar
event_typessubstitui a escolha inteira; não soma a ela. Repetir a chamada de monitoramento semevent_typesmantém a escolha atual. nullou[]significa todos os tipos. Escolher todos os tipos da lista é salvo da mesma forma.- A escolha vale igualmente para o stream, os webhooks e
GET /v1/events. Uma conexão aberta adota a mudança na próxima atualização, não na hora. - Um
updateque muda o tipo de uma publicação (ele trazkind_was) chega a você se qualquer um dos dois tipos estiver na sua escolha. Se você escolhetweet.createmas nãotweet.quote, ainda recebe oupdateque mostra que a publicação era uma citação, para poder descartá-la; se escolhetweet.quotemas nãotweet.create, essa citação chega primeiro como esseupdate. - Amplie a escolha e os tipos adicionados chegam a partir dali. Eventos desses tipos de antes da mudança não têm garantia de estar disponíveis em
GET /v1/events. - Uma chave também pode ter uma lista para a chave inteira, definida por nós a seu pedido (
event_typesemGET /v1/account). Um evento só chega se as duas listas permitirem. - Um tipo desconhecido é recusado com
400 invalid_request;details.unknowno identifica edetails.allowedlista os que você pode usar.GET /v1/meta/event-typestraz a lista completa. - Palavras-chave são escolhidas por palavra-chave, não aqui: observe ou pare de observar uma palavra-chave para receber ou parar de receber seus eventos
search.match.
O que não pode ser escolhido
- Novos seguidores não verificados não são oferecidos como evento, então não podem ser escolhidos. Só os novos seguidores verificados (
followers.verified.add). - A escolha é só por tipo de evento, não por conteúdo. Condições como "seguidores verificados com mais de 10 mil seguidores", "só publicações com imagens" ou "só em inglês" são aplicadas do seu lado, usando os campos do payload (por exemplo
user.followers,media,lang).