Choisir les types d'événement
Par défaut, vous recevez tous les types d'événement de chaque compte surveillé. Vous pouvez restreindre cela compte par compte : un compte peut ne vous envoyer que ses nouveaux abonnés vérifiés, tandis qu'un autre vous envoie tout ce qu'il publie. Le choix appartient à l'abonnement, il se fait donc séparément pour chaque compte.
Ce que vous pouvez choisir
Chaque type d'événement ci-dessous s'active ou se désactive individuellement, pour chaque compte. Les correspondances de mots-clés (search.match) ne figurent pas dans la liste : elles viennent des mots-clés, pas des comptes.
| Type | Catégorie | Signification |
|---|---|---|
tweet.create | Publications | Le compte a publié quelque chose de nouveau |
tweet.reply | Publications | Il a répondu à quelqu'un ; reply_to porte la publication à laquelle il répond, avec son texte et ses médias |
tweet.retweet | Publications | Il a republié quelqu'un ; retweet_of porte la publication originale en entier |
tweet.quote | Publications | Il a cité quelqu'un ; quoted porte la publication citée en entier |
tweet.edit | Publications | Il a modifié une publication ; l'événement porte la nouvelle version, et edit_of la version qu'elle remplace |
tweet.delete | Publications | Une publication que le compte avait publiée a disparu |
profile.name | Profil | Le nom affiché a changé |
profile.screen_name | Profil | Le nom d'utilisateur a changé |
profile.bio | Profil | La bio a changé |
profile.location | Profil | La localisation a changé |
profile.url | Profil | Le lien du profil a changé |
profile.avatar | Profil | L'avatar a changé ; old et new sont des URL d'images |
profile.banner | Profil | La bannière a changé ; old et new sont des URL d'images |
profile.pinned | Profil | La publication épinglée a changé ; tweet et old_tweet portent les publications elles-mêmes |
profile.verified | Profil | Le badge de certification est apparu ou a disparu |
follow.add | Graphe d'abonnements | Le compte a commencé à suivre quelqu'un ; user est le profil complet de ce compte |
follow.remove | Graphe d'abonnements | Le compte a cessé de suivre quelqu'un |
followers.verified.add | Graphe d'abonnements | Un compte certifié a commencé à le suivre ; user porte bio, compteurs, localisation, date d'inscription |
account.status | Compte | Le compte est devenu protégé, suspendu ou indisponible, ou de nouveau actif |
Choix courants
Envoyez la valeur de la colonne de droite dans event_types. Les types se combinent librement ; indiquez-en autant que nécessaire.
| Vous voulez | event_types |
|---|---|
| Seulement les nouveaux abonnés vérifiés du compte | ["followers.verified.add"] |
| Seulement ses publications originales | ["tweet.create"] |
| Seulement ses réponses | ["tweet.reply"] |
| Tout ce qu'il publie : publications, réponses, reposts, citations et modifications | ["tweet.create", … 5 types] |
| Ses publications, et quand il en supprime une | ["tweet.create", "tweet.delete"] |
| Seulement les changements de profil (les neuf types de profil) | ["profile.name", … 9 types] |
| Seulement qui il suit et cesse de suivre | ["follow.add", "follow.remove"] |
| Tout (par défaut) | null |
Comment le régler
Choisissez au moment de commencer à surveiller le compte, ou modifiez à tout moment ensuite. Les deux appels demandent le scope 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}'
Le choix actuel du compte figure dans son champ event_types ; event_types_all vaut true quand rien n'est filtré.
{
"target": {
"id": "44196397",
"screen_name": "elonmusk",
"name": "Elon Musk",
"state": "subscribed",
"…": "…",
"event_types": [
"tweet.create",
"tweet.reply"
],
"event_types_all": false
}
}Règles
- Omettre
event_typesau début de la surveillance d'un compte signifie tous les types. - Envoyer
event_typesremplace tout le choix ; rien n'est ajouté. Renvoyer l'appel de surveillance sansevent_typesconserve le choix actuel. nullou[]signifie tous les types. Choisir tous les types de la liste est enregistré de la même façon.- Le choix s'applique de la même façon au stream, aux webhooks et à
GET /v1/events. Une connexion ouverte prend un changement en compte à sa prochaine actualisation, pas immédiatement. - Un
updatequi change le type d'une publication (il portekind_was) vous parvient si l'un des deux types figure dans votre choix. Si vous preneztweet.createmais pastweet.quote, vous recevez quand même l'updatequi montre qu'une publication était une citation, afin de pouvoir l'écarter ; si vous preneztweet.quotemais pastweet.create, une telle citation vous parvient d'abord sous la forme de cetupdate. - Élargissez le choix et les types ajoutés vous parviennent à partir de ce moment. Les événements de ces types antérieurs au changement ne sont pas garantis via
GET /v1/events. - Une clé peut aussi porter une liste valable pour toute la clé, définie par nous à votre demande (
event_typesdansGET /v1/account). Un événement ne vous parvient que si les deux listes l'autorisent. - Un type inconnu est refusé avec
400 invalid_request;details.unknownle nomme etdetails.allowedliste ceux que vous pouvez utiliser.GET /v1/meta/event-typesdonne la liste complète. - Les mots-clés se choisissent par mot-clé, pas ici : surveillez un mot-clé ou arrêtez de le surveiller pour recevoir ou ne plus recevoir ses événements
search.match.
Ce qui ne peut pas être choisi
- Les nouveaux abonnés non vérifiés ne sont pas proposés comme événement, ils ne peuvent donc pas être choisis. Seuls les nouveaux abonnés vérifiés le sont (
followers.verified.add). - Le choix se fait uniquement par type d'événement, pas par contenu. Des conditions comme « abonnés vérifiés ayant plus de 10 000 abonnés », « seulement les publications avec images » ou « seulement en anglais » s'appliquent de votre côté, à l'aide des champs du payload (par exemple
user.followers,media,lang).