Objets
Les formes référencées ci-dessus, champ par champ. Les types sont informels : string[] est un tableau de chaînes, A | null peut être absent.
Enveloppe
Présente sur chaque événement, sur le flux, dans GET /v1/events et dans les livraisons par webhook.
| Champ | Type | Signification |
|---|---|---|
v | int | Version de l'enveloppe. 1 aujourd'hui |
t | string | Type d'événement, d'après le tableau ci-dessous |
op | create | update | delete | create, update (enrichissement du même id) ou delete |
id | string | Identité stable. Dédupliquez sur ce champ |
ts | int (ms) | Quand cela s'est produit sur X, en ms depuis l'epoch. X ne donne pas le moment d'un changement de profil, d'un abonnement ou désabonnement, d'un nouvel abonné vérifié ni d'une suppression de publication : pour ces événements, c'est le moment où nous l'avons détecté |
sid | string | Position dans le flux pour le rejeu ; présent sur le flux et dans l'historique |
target.id | string | Identifiant X numérique du compte surveillé (pour search.match, celui de l'auteur de la publication) |
target.screen_name | string | Nom d'utilisateur du compte surveillé |
target.name | string | Le nom affiché du compte |
d | object | Charge utile propre au type |
Charge utile Tweet
Le d de tweet.create, tweet.reply, tweet.retweet et tweet.quote, et la base de search.match.
| Champ | Type | Signification |
|---|---|---|
tweet_id | string | L'identifiant de la publication, sous forme de chaîne |
kind | tweet | reply | retweet | quote | De quel genre de publication il s'agit |
text | string | Texte intégral (publications longues comprises) |
lang | string | null | Langue détectée par X |
author | User | Le compte qui l'a publié, en User complet — le même objet que l'auteur d'un search.match : nom d'utilisateur, nom, bio, avatar, bannière, compteurs, vérification, localisation, lien et date d'inscription. Sur une première trame allégée, c'est le compte tel que lu en dernier ; l'update le porte tel que lu avec la publication |
reply_to | Brief+ | null | Pour les réponses : la publication à laquelle on répond — un Brief plus screen_name, tweet_id et user_id de son auteur |
retweet_of | Brief | null | Pour les republications : la publication originale |
quoted | Brief | null | Pour les citations : la publication citée |
media | string[] | URL d'images simples, une par élément média |
media_items | Media[] | Chaque élément média avec son type, ses variantes vidéo et ses dimensions |
urls | string[] | Liens développés dans la publication |
article | Article | null | Pour les publications qui renvoient vers un article X : l'article |
counts | {reply, rt, like, quote, bookmark} | Nombre de réponses, republications, j'aime, citations et signets au moment de notre lecture |
views | int | null | Nombre de vues, quand X l'expose |
url | string | Lien canonique vers la publication |
full | bool | false sur une première trame create allégée ; true une fois que l'événement porte la publication entière |
kind_final | bool | true quand kind est définitif. false seulement sur une première trame allégée dont le kind est tweet : la publication peut encore se révéler être une citation, et l'update sur le même id tranche |
kind_was | tweet | null (update only) | Seulement sur l'update qui fixe le type d'une publication, et seulement si la première trame disait autre chose : le type qu'avait cette trame (tweet pour une publication qui s'est révélée être une citation) |
edit_of | Brief | null | Sur tweet.edit : la version que celle-ci remplace (son identifiant, et son texte et son auteur quand nous les avions) |
Brief
Une publication compacte intégrée dans un autre événement : l'original d'une republication, la publication citée, la publication à laquelle on répond, ou une publication épinglée.
| Champ | Type | Signification |
|---|---|---|
id | string | Identifiant de la publication |
user | string | Nom d'utilisateur de l'auteur |
name | string | Nom affiché de l'auteur |
user_id | string | Identifiant numérique de l'auteur |
text | string | Texte intégral |
media | string[] | URL d'images simples |
media_items | Media[] | Éléments média avec type et variantes vidéo |
created_ms | int | Quand elle a été publiée, en ms depuis l'epoch |
url | string | Lien vers la publication |
Média
Une image, une vidéo ou un GIF. Les vidéos portent le MP4 au débit le plus élevé que nous ayons trouvé ; url est l'image d'aperçu.
| Champ | Type | Signification |
|---|---|---|
type | photo | video | animated_gif | Genre de média |
url | string | URL de l'image, ou image d'aperçu d'une vidéo |
expanded_url | string | La page média de la publication sur X |
video_url | string (video) | URL du MP4, débit le plus élevé disponible |
bitrate | int (video) | Débit de ce MP4 |
duration_ms | int (video) | Durée de la vidéo |
width | int | Largeur d'origine en pixels |
height | int | Hauteur d'origine en pixels |
Article
Un article X (publication longue) vers lequel renvoie une publication. La première trame contient title et preview ; text vaut null jusqu'à ce que l'update portant le même id apporte l'article complet.
| Champ | Type | Signification |
|---|---|---|
id | string | Identifiant de l'article |
title | string | Titre |
preview | string | Les premières lignes de l'article |
text | string | null | Texte intégral, paragraphes séparés par des lignes vides ; null dans la première trame |
cover | string | null | URL de l'image de couverture |
images | string[] | Images contenues dans l'article |
url | string | Lien vers l'article sur X |
Charge utile de suppression
Le d de tweet.delete. Envoyé uniquement pour une publication que nous avions vue et qui a maintenant disparu. Son ts est le moment où la suppression a été détectée ; l'heure de la publication elle-même figure dans sa trame create antérieure.
| Champ | Type | Signification |
|---|---|---|
tweet_id | string | L'identifiant de la publication supprimée |
url | string | Où elle se trouvait |
Charge utile de changement de profil
Le d de chaque événement profile.*. op vaut update pour ceux-ci.
| Champ | Type | Signification |
|---|---|---|
field | string | Quel champ du profil a changé ; le même mot que celui qui suit profile. dans le type |
old | any | La valeur précédente |
new | any | La nouvelle valeur |
tweet | Brief (pinned only) | Pour profile.pinned : la publication nouvellement épinglée |
old_tweet | Brief (pinned only) | Pour profile.pinned : la publication épinglée précédente, si nous l'avions |
Charge utile d'abonnement
Le d de follow.add, follow.remove et followers.verified.add.
| Champ | Type | Signification |
|---|---|---|
user | User | L'autre compte, sous forme d'Utilisateur complet |
Charge de statut du compte
Le d de account.status. Un statut vaut active, protected (publications visibles des seuls abonnés approuvés), suspended (par X) ou unavailable (désactivé, supprimé ou invisible pour une autre raison). ts est le moment où nous avons détecté le changement.
| Champ | Type | Signification |
|---|---|---|
old | active | protected | suspended | unavailable | Le statut d'avant |
new | active | protected | suspended | unavailable | Le statut actuel |
reason | string | null | Le libellé de X, s'il en donne un (par exemple Suspended) |
Utilisateur
Un profil de compte complet, tel qu'intégré dans les événements d'abonnement et dans search.match.
| Champ | Type | Signification |
|---|---|---|
id | string | Identifiant numérique |
screen_name | string | Nom d'utilisateur |
name | string | Nom affiché |
bio | string | Texte de la bio |
avatar | string | URL de l'image d'avatar |
banner | string | null | URL de l'image de bannière |
followers | int | Nombre d'abonnés |
following | int | Nombre d'abonnements |
tweets | int | Nombre de publications |
location | string | Localisation en texte libre |
url | string | null | Lien de profil développé |
verified | bool | Possède un badge de certification |
verified_type | string | null | blue, business, government ou null |
protected | bool | Les publications ne sont visibles que par les abonnés approuvés |
created_at | string (ISO-8601) | Quand le compte a été créé |
category | string | null | Catégorie professionnelle, si le compte en a défini une |
Charge utile de correspondance de recherche
Le d de search.match : une charge utile Tweet plus trois champs sur la correspondance. Le target de l'enveloppe est l'auteur de la publication, qui n'est pas nécessairement l'une de vos cibles.
| Champ | Type | Signification |
|---|---|---|
keyword.id | int | Identifiant du mot-clé qui a correspondu |
keyword.query | string | Sa requête |
keyword.label | string | null | Son libellé, si vous en avez défini un |
author | User | Le profil complet de l'auteur |
author_is_target | bool | true si l'auteur est aussi un compte surveillé sur ce système |
… | TweetPayload | Tous les champs de la charge utile Tweet |
Cible
Un compte que vous surveillez, tel que cette clé le voit.
| Champ | Type | Signification |
|---|---|---|
id | string | Identifiant X numérique. Il ne change jamais : indexez vos données dessus |
screen_name | string | Le nom d'utilisateur actuel. Il peut changer ; profile.screen_name vous le signale |
name | string | Nom affiché |
previous_screen_names | string[] | Les noms d'utilisateur que le compte a eus avant, le plus récent d'abord. Chacun le désigne encore dans /v1/monitor/targets/{target} |
push_ready | bool | Tous les types d'événements auxquels vous êtes abonné pour ce compte sont collectés en temps réel. false ne retient rien : le compte est surveillé dès son abonnement et ses événements sont livrés au fur et à mesure de leur collecte ; n'attendez donc pas ce drapeau pour les traiter |
last_push_at | datetime | null | Dernière fois qu'un événement en temps réel est arrivé pour lui |
last_poll_at | datetime | null | Dernière fois que son fil a été lu |
state | "subscribed" | Toujours subscribed ici ; les résolutions en attente ont leur propre forme |
event_types | string[] | Les types d'événement livrés pour ce compte ; vide signifie tous ceux que votre clé autorise |
event_types_all | bool | true quand event_types est vide |
Cible en attente
Ce que renvoie GET /v1/monitor/targets/{target} pendant qu'un compte demandé est encore en cours de résolution.
| Champ | Type | Signification |
|---|---|---|
screen_name | string | null | Le nom d'utilisateur demandé, si vous l'avez demandé par nom |
user_id | string | null | L'identifiant demandé, si vous l'avez demandé par identifiant |
state | "queued" | Toujours queued |
queued_at | int (unix s) | Quand vous l'avez demandé |
event_types | string[] | Les types d'événement choisis, appliqués dès sa résolution |
event_types_all | bool | true quand event_types est vide |
Mot-clé
Une requête que vous surveillez sur la recherche X.
| Champ | Type | Signification |
|---|---|---|
id | int | Identifiant numérique ; utilisez-le pour supprimer |
query | string | La requête, en syntaxe de recherche X |
label | string | null | Votre libellé, renvoyé dans chaque correspondance |
active | bool | false si l'opérateur l'a mis en pause |
hits | int | Correspondances livrées jusqu'ici |
last_hit_at | datetime | null | Dernière correspondance |
last_run_at | datetime | null | Dernière recherche |
Compte
Ce que GET /v1/account renvoie à propos de la clé que vous avez utilisée.
| Champ | Type | Signification |
|---|---|---|
name | string | Le nom de la clé, tel qu'émis |
plan | string | Préréglage d'offre |
key_id | string | Identifiant court de la clé, sans risque à citer dans une demande d'assistance |
scopes | string[] | Portées que détient la clé |
event_types | string[] | Liste des types d'événements autorisés pour toute la clé, gérée par nous ; vide signifie tous |
event_types_all | bool | true quand le filtre est vide |
limits.max_targets | int | Plafond de comptes surveillés |
limits.max_conns | int | Plafond de WebSockets simultanés |
limits.max_keywords | int | Plafond de mots-clés |
limits.requests_per_minute | int | Budget de requêtes par minute |
usage.targets | int | Comptes actuellement surveillés |
usage.keywords | int | Mots-clés actuellement surveillés |
Webhook
Ce que renvoie GET /v1/account/webhook.
| Champ | Type | Signification |
|---|---|---|
url | string | null | Le point de terminaison enregistré |
stats | {ok, http_…} | Compteurs de livraison : ok, et un http_<code> par statut d'échec rencontré |
Meta
Informations de pagination à côté de chaque liste.
| Champ | Type | Signification |
|---|---|---|
count | int | Éléments sur cette page |
has_more | bool | S'il existe une autre page |
next_cursor | string | null | À renvoyer en ?cursor= ; null à la fin |
Résultat de lot
Une entrée par élément envoyé à POST /v1/monitor/targets:batch, dans le même ordre.
| Champ | Type | Signification |
|---|---|---|
index | int | Position de l'élément dans votre requête |
status | int | Le statut HTTP que le point de terminaison unitaire aurait renvoyé |
data | object (on success) | Le corps de réponse unitaire, en cas de succès |
error | {code, message, details?} (on failure) | L'objet d'erreur habituel, en cas d'échec |
Profil (lecture)
Ce que renvoient GET /v1/users/{screen_name}, /v1/users/by-id/{user_id} et /v1/users/batch pour chaque compte.
| Champ | Type | Signification |
|---|---|---|
id | string | Identifiant numérique |
name | string | Nom affiché |
screen_name | string | Nom d'utilisateur |
bio | string | Texte de la bio |
location | string | Localisation en texte libre |
url | string | null | Lien du profil |
avatar | string | URL de l'image d'avatar |
banner | string | null | URL de l'image de bannière |
pinned | string | null | Identifiant de la publication épinglée |
verified | bool | Possède un badge de certification |
protected | bool | Publications visibles uniquement par les abonnés approuvés |
followers | int | Nombre d'abonnés |
following | int | Nombre d'abonnements |
tweets | int | Nombre de publications |
Tweet (lecture)
Une publication telle que renvoyée par les points de terminaison de lecture. Les mêmes informations que la charge utile Tweet, dans la forme plus plate que produit notre analyseur.
| Champ | Type | Signification |
|---|---|---|
id | int | Identifiant de la publication, numérique |
created_ms | int | Quand elle a été publiée, en ms depuis l'epoch |
user_id | int | Identifiant numérique de l'auteur |
user | string | Nom d'utilisateur de l'auteur |
name | string | Nom affiché de l'auteur |
text | string | Texte intégral |
lang | string | null | Langue détectée par X |
reply_to | string | null | Nom d'utilisateur auquel on répond |
reply_to_status_id | string | null | Identifiant de la publication à laquelle on répond |
reply_to_user_id | string | null | Identifiant du compte auquel on répond |
conversation_id | string | Identifiant de la publication racine du fil de discussion |
is_rt | bool | C'est une republication |
rt_of | Brief | null | L'original, pour les republications |
is_quote | bool | Elle cite une autre publication |
quoted | Brief | null | La publication citée |
media | string[] | URL d'images simples |
media_items | Media[] | Éléments média avec type et variantes vidéo |
urls | string[] | Liens développés |
views | int | null | Nombre de vues |
counts | {reply, rt, like, quote, bookmark} | Nombre de réponses, republications, j'aime, citations et signets |
article | Article | null | L'article X vers lequel pointe la publication, le cas échéant (titre, aperçu, couverture, images ; le texte intégral est sur GET /v1/tweets/{tweet_id}/article) |
edit_of | int | null | Pour une version modifiée : l'identifiant de la première version, sinon null |
edit_ids | int[] | Les identifiants de toutes les versions, la plus ancienne d'abord ; une publication jamais modifiée ne liste qu'elle-même |
source | string | null | Le client utilisé pour publier, tel que X le fournit (un lien HTML, par exemple Twitter for iPhone) |
Référence utilisateur
La forme compacte utilisée dans les lectures de listes d'abonnements.
| Champ | Type | Signification |
|---|---|---|
id | string | Identifiant numérique |
screen_name | string | Nom d'utilisateur |
name | string | Nom affiché |