Vue d’ensemble
Enterprise
C’est une API Enterprise disponible uniquement dans le cadre de nos niveaux d’accès gérés. Pour utiliser cette API, vous devez d’abord créer un compte avec notre équipe commerciale Enterprise. En savoir plus
L’Engagement API fournit un accès aux métriques d’impressions et d’engagement des Publications. Alors que la plupart des métriques et des endpoints exigent que vous vous authentifiiez à l’aide du contexte utilisateur OAuth 1.0a, vous pouvez accéder aux métriques publiques Favorite, Retweet, Reply et Video Views en utilisant un Jeton Bearer OAuth 2.0 et l’endpoint /totals.
Remarque : vous pouvez constater des différences entre les données affichées sur certains tableaux de bord Web de X et les données renvoyées par l’Engagement API. Ces différences surviennent parce que les tableaux de bord Web n’affichent généralement que les engagements et/ou impressions qui ont eu lieu dans l’intervalle de temps sélectionné. Par exemple, un tableau de bord Web peut afficher l’engagement sur des Publications sur la durée d’un mois calendaire, tandis que l’Engagement API peut afficher des engagements qui dépassent la durée de ce mois, mais se situent dans l’intervalle de temps demandé. Dans ces cas, l’Engagement API doit être considérée comme la source de référence.
Points de terminaison des requêtes
Totaux actuels : [/totals]
- Les requêtes renvoient une métrique totale d’impressions et une métrique totale d’engagements pour les Publications demandées
- Limité aux métriques suivantes : Impressions, Engagements, Favoris, Réponses, Retweets, Quote Tweets et Vues vidéo
- Permet de récupérer les métriques Impressions et Engagements pour les Publications créées au cours des 90 derniers jours en utilisant le contexte utilisateur OAuth 1.0a
- Permet de récupérer les métriques Favorites, Retweets, Quote Tweets, Replies et Video Views pour toute Publication en utilisant un jeton Bearer OAuth 2.0
- Les résultats sont basés sur le total actuel d’impressions et d’engagements au moment où la requête est effectuée
- Idéal pour alimenter un tableau de bord et calculer les taux d’engagement sur une variété de @handles
- Permet de demander des métriques pour jusqu’à 250 Publications par requête
28 dernières heures : [/28hr]
- Les requêtes peuvent renvoyer une métrique totale pour les impressions, une métrique totale pour les engagements, ainsi qu’une ventilation des métriques d’engagement individuelles observées au cours des 28 dernières heures
- Les données peuvent être regroupées par ID de Publication, et sous forme de séries temporelles agrégées, par jour ou par heure
- Idéal pour suivre les performances de contenu créé récemment
- Prend en charge toutes les métriques disponibles
- Prend en charge les demandes de métriques pour jusqu’à 25 Publications par requête
Historique : [/historical]
- Les requêtes peuvent renvoyer les impressions, les interactions et une ventilation des métriques d’interaction individuelles pour l’année la plus récente, en se basant sur le moment de l’interaction (et non sur la date de création de la Publication).
- Les requêtes permettent de définir une date de début et une date de fin, offrant la flexibilité de restreindre l’analyse à une période spécifique pouvant aller jusqu’à 4 semaines.
- Les données d’interaction sur les Publications sont limitées aux 365 derniers jours.
- Les données peuvent être regroupées par Post ID et, sous forme de séries chronologiques agrégées, par jour ou par heure.
- Idéal pour évaluer les performances récentes par rapport à une référence historique ou pour développer une vision historique des performances d’un @handle.
- Prend en charge toutes les métriques disponibles.
- Permet de demander des métriques pour jusqu’à 25 Publications par requête.
Métriques disponibles
Regroupements d’engagement
- tweet.id
- engagement.type
/28hr et /historical peuvent fournir des mesures sous forme de séries chronologiques et prennent donc en charge :
- engagement.day
- engagement.hour
Guides
Guide de démarrage pour les développeurs
Introduction
Que fournit l’Engagement API ?
- L’Engagement API fournit des données d’impressions et d’engagement pour les Publications appartenant à n’importe quel compte X au cours des 90 derniers jours, à condition que ce compte ait autorisé votre App à demander des métriques en son nom à l’aide du flux 3-legged OAuth. Cette solution puissante mais simple à mettre en œuvre donne un accès immédiat aux impressions et aux engagements avancés tels que les clics sur les URL, les clics sur les hashtags (#), et bien d’autres encore.
- L’Engagement API fournit des métriques agrégées totales pour les ajouts aux favoris, les Retweets, les Tweets cités, les réponses et les vues de vidéos pour toute Publication. Cela peut être utilisé comme un moyen puissant d’obtenir des données d’engagement de base sur n’importe quelle Publication ou collection de Publications.
- L’Engagement API apporte une nouvelle valeur aux plateformes d’écoute sociale, de marketing et de publication en permettant aux clients de mesurer le ROI sur X en mesurant efficacement les performances du contenu à l’aide de plus de 15 indicateurs de performance.
- L’Engagement API est une API de requête/réponse qui permet aux développeurs d’applications d’envoyer des requêtes avec des id de Publication, les métriques souhaitées et une période donnée, pour lesquelles l’API renvoie instantanément des données.
Pourquoi intégrer ? Exemples de cas d’usage
- Comprendre la portée totale de votre contenu pour voir combien de personnes le consultent. Découvrir combien de personnes regardent des vidéos, cliquent sur des liens, cliquent sur des hashtags ou installent mes apps.
- Générer à la fois des métriques d’engagement totales et des séries temporelles de ces métriques.
- Comprendre les métriques d’engagement de base (favoris, Retweets, Tweets cités, réponses) concernant n’importe quelle Publication publique.
- Utiliser ces métriques pour déterminer quels types de Publications fonctionnent, afin que je puisse les publier plus souvent et obtenir davantage d’impressions et d’engagements pour mon contenu.
- Automatiser des actions marketing (comme retweeter du contenu depuis un autre compte que je possède) chaque fois qu’une de mes Publications atteint 100 Likes, ou un autre seuil.
- Établir des benchmarks et comparer mes campagnes entre elles en tant qu’outil d’A/B testing.
- Analyser quel type de contenu résonne le mieux pour mon service client afin de déterminer comment et quand répondre.
- Afficher des analyses pour le contenu publié depuis ma plateforme.
Intégration de l’API Engagement
Introduction à l’API
- Tableau d’identifiants de Publications.
- Tableau spécifiant les types de métriques d’intérêt. Les types incluent des éléments tels que « impressions », « retweets », « hashtag_clicks » et « user_follows ».
- Engagement groupings, qui est une structure JSON indiquant la façon dont vous souhaitez organiser les données d’engagement dans la réponse de l’API.
- Totals - Fournit les totaux globaux des engagements pour des Publications. Certaines métriques sont disponibles pour toutes les Publications, tandis que d’autres ne sont disponibles que pour les 90 derniers jours.
- 28 hour - Fournit des métriques d’engagement sous forme de séries temporelles pour les 28 dernières heures.
- Historical - Fournit des métriques d’engagement sous forme de séries temporelles pour jusqu’à quatre semaines consécutives pour des Publications publiées depuis le 1er septembre 2014.
Obtenir l’accès à l’API
Effectuer une requête
1/ Aujourd’hui, nous partageons notre vision de l’avenir de la plateforme X API— Twitter Dev (@TwitterDev) 6 avril 2017
Ne manquez pas les Publications à propos de votre Publication. Désormais sur iOS, vous pouvez voir les Retweets avec commentaire, tous au même endroit. pic.x.com/oanjZfzC6y — X (@X) 12 mai 2020La première étape consiste à construire la requête API en JSON, composée de ces deux id de Publication placés dans un tableau, d’un tableau des types d’engagement qui nous intéressent, et d’un objet JSON « groupings » personnalisé qui indique comment nous souhaitons que les métriques soient organisées dans la réponse. Voici à quoi ressemble notre requête :
- Content-Type: application/json
- Accept-Encoding: gzip
Authentification avec OAuth
Sélection d’un endpoint de l’Engagement API
- Totals - fournit les totaux globaux de certaines métriques issues de Publications « owned » ou « unowned ». Certaines métriques sont disponibles pour toutes les Publications, tandis que d’autres ne sont disponibles que pour les Publications publiées au cours des 90 derniers jours. Prend en charge 250 Publications par requête.
- 28 hour - fournit des métriques d’engagement sous forme de séries temporelles pour les Publications « owned » des 28 dernières heures. Prend en charge 25 Publications par requête.
- Historical - fournit des métriques d’engagement sous forme de séries temporelles pour une période allant jusqu’à quatre semaines consécutives pour les Publications « owned » publiées depuis le 1er septembre 2014. Prend en charge 25 Publications par requête.
Concepts clés
Impressions et métriques d’engagement
Contenu X détenu et non détenu
/totals fournit des données d’engagement pour les Publications détenues et non détenues. Pour les Publications non détenues, vous pouvez demander les métriques d’engagement qui sont disponibles publiquement dans l’affichage d’une Publication : J’aime, Retweet et Réponse. Pour ces métriques, l’atout de l’Engagement API est de permettre de les récupérer à grande échelle de manière automatisée. Pour les Publications détenues, l’endpoint /totals fournit également les métriques d’Impression et d’engagement total.
Les endpoints /28hr et /historical fournissent des métriques uniquement pour les Publications détenues, ce qui signifie que vous devez transmettre le contexte utilisateur lorsque vous faites une requête à ces endpoints.
Données d’engagement totales et en séries temporelles
Endpoints et exemples de cas d’usage
/totals
- J’ai seulement besoin d’accéder à certains types de métriques (Impressions, Engagements, Favoris, Retweets, Tweets cités, Réponses et Vues vidéo).
- J’ai besoin d’accéder à des données d’engagement de base pour n’importe quelle Publication, pas seulement celles qui m’appartiennent.
- Je veux comparer les performances avec un concurrent.
- Je veux suivre des statistiques d’engagement de base pour un hashtag ou une campagne qui inclut des Publications qui ne m’appartiennent pas.
- Je n’ai pas besoin de données ventilées par jour ou par heure, j’ai seulement besoin du total actuel au moment où j’envoie une requête.
- J’ai besoin d’une seule métrique à afficher dans un rapport ou un tableau de bord et je ne veux stocker aucune donnée.
- Je veux afficher les données au chargement de la page, et j’ai seulement besoin d’effectuer une requête et d’obtenir une réponse.
- J’ai besoin d’accéder à des données pour des centaines de milliers ou des millions de Publications par jour.
/28hr
- J’ai besoin d’accéder aux 17 types de métriques.
- Je veux afficher des données pour des Publications très récentes publiées au cours des 28 dernières heures.
- J’ai une tâche qui s’exécute une fois par jour pour récupérer les données qui m’intéressent et je n’ai besoin d’obtenir des données que pour le dernier jour.
- J’ai besoin que les métriques soient ventilées par jour ou par heure.
- Je veux afficher, dans un tableau de bord, des séries temporelles avec une ventilation de l’activité par heure.
- J’ai besoin d’un niveau d’accès élevé pour des centaines de milliers de Publications par jour.
- J’ai des capacités de stockage et je peux actualiser les données une fois par jour et conserver un cumul.
/historical
- J’ai besoin d’accéder aux 17 types de métriques.
- J’ai besoin d’obtenir des données historiques pour des Publications créées remontant jusqu’à septembre 2014.
- Je veux afficher une analyse historique détaillée comparant les campagnes.
- J’ai besoin que les métriques soient ventilées par jour ou par heure.
- Je n’ai pas besoin d’un niveau d’accès élevé à l’Engagement API et j’ai seulement besoin d’obtenir des données pour quelques centaines ou milliers de Publications par jour.
Caractéristiques clés de l’Engagement API
- API REST fournissant des données JSON et prenant en charge les requêtes POST avec des corps de requête JSON.
- Types de requêtes : Les applications clientes peuvent effectuer les types de requêtes suivants :
- Engagements totaux — requête HTTP POST vers l’endpoint /totals
- Engagements sur les 28 dernières heures — requête HTTP POST vers l’endpoint /28hr
- Engagements historiques — requête HTTP POST vers l’endpoint /historical
- Authentification OAuth :
- Contexte utilisateur OAuth 1.0a : Toutes les métriques disponibles sont accessibles pour les Publications appartenant à un utilisateur qui a autorisé votre App via OAuth à 3 volets. Vous devez utiliser les jetons d’accès de cet utilisateur lors de l’envoi de votre requête.
- Jeton Bearer OAuth 2.0 : Certaines métriques (Retweets, Tweets cités, Réponses, Favoris et Vues vidéo) sont disponibles pour toute Publication publique.
- Métadonnées et structure de requête : Les données de requête constituent un objet JSON composé d’un tableau d’identifiants de Publication, d’un tableau de types d’engagement et d’une structure de regroupement d’engagement.
- Publications par requête :
- Endpoint /totals : 250 identifiants de Publication
- Endpoint /28hr : 25 identifiants de Publication
- Endpoint /historical : 25 identifiants de Publication
- Disponibilité des métriques d’engagement :
- /totals — Totaux des métriques depuis la date de publication de la Publication. Les Impressions et Engagements sont disponibles pour les Publications publiées au cours des 90 derniers jours, tandis que les Retweets, Tweets cités, Réponses, Favoris et Vues vidéo sont disponibles pour toutes les Publications.
- /28hr — 28 dernières heures à partir du moment de la requête.
- /historical — Toute période de 28 jours à partir du 1er septembre 2014.
- Types de métriques : Chaque requête inclut un tableau de Types de métriques. Leur disponibilité dépend de l’endpoint et, dans le cas d’une requête à l’endpoint /totals, du fait que les Publications soient ou non soumises aux autorisations de l’utilisateur.
- Endpoint /totals :
- Toutes les Publications : Favoris, Retweets, Tweets cités, Réponses et Vues vidéo
- Nécessite un contexte utilisateur OAuth 1.0a : Impressions, Engagements, Favoris, Réponses et Retweets
- Endpoints /28hr et /historical (nécessitent un contexte utilisateur OAuth 1.0a avec le jeton d’accès du propriétaire de la Publication) : Impressions, Engagements, Favoris, Réponses, Retweets, Clics sur URL, Clics sur hashtag, Clic sur le détail, Clics sur lien permanent, Clics sur média, Tentatives d’installation d’App, Ouvertures d’App, E-mails de Publication, Vues vidéo et Vues média
- Endpoint /totals :
- Regroupements d’engagement : Chaque requête inclut un tableau de Regroupements d’engagement. Avec ces regroupements, vous pouvez personnaliser la façon dont les métriques renvoyées sont organisées. Jusqu’à trois regroupements peuvent être inclus dans chaque requête. Les métriques peuvent être organisées selon les valeurs suivantes :
- Tous les endpoints : identifiant de Publication, type d’engagement
- Endpoints /28hr et /historical : ces endpoints fournissent des séries temporelles si ces regroupements supplémentaires sont spécifiés : Jour d’engagement, Heure d’engagement
- Attentes en matière d’intégration : Votre équipe sera responsable de ce qui suit :
- Créer et maintenir une application cliente capable d’envoyer des requêtes HTTP à l’Engagement API et qui renvoie les métriques d’engagement pour les identifiants de Publication inclus dans la requête.
- Limitations
- Les vues vidéo ne sont disponibles que pour les Publications âgées de 1 800 jours ou moins.
Authentification avec l’Engagement API
Veuillez noter : X doit activer l’accès à l’Engagement API pour votre App développeur avant que vous puissiez commencer à utiliser l’API. Pour ce faire, veillez à communiquer l’App ID que vous avez l’intention d’utiliser à des fins d’authentification à votre responsable de compte ou à votre équipe de support technique.Deux méthodes d’authentification sont disponibles avec l’Engagement API : OAuth 1.0a et OAuth 2.0 Bearer Token. OAuth 2.0 Bearer Token (également appelé « application-only ») vous permet d’accéder aux métriques d’engagement publiques. Cette méthode d’authentification peut être utilisée pour obtenir les totaux des Favorites (aussi appelés Likes), Retweets, Quote Tweets, Replies et vues vidéo pour toute Publication disponible publiquement lors de requêtes vers le /totals endpoint. OAuth 1.0a (également appelé « user context ») vous permet d’effectuer des requêtes au nom d’un utilisateur et d’accéder aux métriques d’engagement privées qui appartiennent à l’utilisateur en question. Cette méthode d’authentification est requise pour :
- Toutes les requêtes envoyées vers le /28hr endpoint et le /historical endpoint
- L’accès à l’une quelconque des métriques privées suivantes : Impressions, Engagements, Media Views, Media Engagements, URL Clicks, Hashtag Clicks, Detail Expands, Permalink Clicks, App Install Attempts, App Opens, Email Post, User Follows et User Profile Clicks
403 Forbidden.
L’Engagement API ne vous permettra pas de récupérer des données d’engagement pour des Publications protégées, même si vous vous authentifiez au nom de l’utilisateur qui possède ces Publications. Toute tentative en ce sens renverra une erreur 400 Bad Request, avec le message "Tweet ID(s) are unavailable".
Si vous envoyez une requête au nom de votre propre compte X (en d’autres termes, le compte qui possède l’App développeur), vous pouvez générer les Access Tokens requis directement depuis la Console de développement, sous l’onglet « Keys and tokens » de l’App développeur.
Si vous effectuez une requête au nom de tout autre utilisateur, vous devrez utiliser le flux OAuth en 3 étapes pour obtenir les Access Tokens requis. La documentation suivante contient davantage d’informations sur la manière de procéder : OAuth 1.0a: how to obtain a user’s access tokens.
Pour d’autres exemples, notamment sur la façon de s’authentifier avec OAuth 1.0a, consultez le code Python d’exemple XDevelopers pour l’Engagement API.
Changements récents apportés à l’Engagement API
Interpréter les métriques
Données d’impressions et d’engagement
Mesures vidéo
- Les vues vidéo fournies par l’endpoint /totals et par l’interface utilisateur de X affichent le nombre de vues vidéo agrégé pour toutes les Publications dans lesquelles la vidéo donnée a été publiée. Cela signifie que la métrique fournie via /totals et affichée dans l’interface utilisateur de X inclut la somme des vues de toute instance où la vidéo a été Retweetée ou republiée dans des Publications distinctes.
- Les vues vidéo fournies par les endpoints /28hour et /historical de l’Engagement API incluent uniquement les vues générées par la Publication spécifique pour laquelle vous extrayez les métriques.
Regroupements de l’API Engagement
- tweet.id
- engagement.type
/28hr et /historical peuvent fournir des métriques de séries temporelles et, par conséquent, prennent en charge :
- engagement.day
- engagement.hour
group_by. Les regroupements qui contiennent quatre valeurs group_by ne seront pris en charge que dans l’un des deux formats suivants :
"Grand Totals" qui contient les totaux globaux par type de métrique :
"Tweets_MetricType_TimeSeries" qui contient les métriques ventilées par id de Publication, puis par type de métrique, ainsi que les séries chronologiques horaires correspondantes :
FAQ
Enterprise
Engagement API
Comment puis-je accéder à l’Engagement API ?
Comment puis-je accéder à l’Engagement API ?
L’accès à l’Engagement API est accordé dans le cadre d’un abonnement entreprise. Veuillez remplir ce formulaire pour entrer en contact avec notre équipe commerciale.
Comment mon utilisation est-elle suivie par « @handle » ?
Comment mon utilisation est-elle suivie par « @handle » ?
Si votre contrat inclut une limite sur le nombre de handles distincts pouvant être utilisés avec l’Engagement API, le système interne de X suivra le nombre d’utilisateurs authentifiés possédant des Publications qui sont interrogées avec l’Engagement API. Les clients doivent également suivre ce nombre distinct côté client. Actuellement, il n’existe aucune API d’usage ni aucune interface permettant de vérifier l’utilisation de @handle pour l’Engagement API. Le système ne bloquera pas les dépassements si davantage de @handles sont demandés que ce qui est prévu au contrat. À la fin du mois de facturation, le nombre de @handles distincts interrogés est comparé au montant contractuel et un dépassement sera facturé conformément aux conditions du contrat.
Puis-je vérifier mon utilisation de @handle pour l’Engagement API ?
Puis-je vérifier mon utilisation de @handle pour l’Engagement API ?
Actuellement, il n’existe aucune API d’usage ni aucune interface permettant de vérifier l’utilisation de @handle pour l’Engagement API. Le système ne bloquera pas les dépassements si davantage de @handles sont demandés que ce qui est prévu au contrat. À la fin du mois de facturation, le nombre de @handles distincts interrogés est comparé au montant contractuel et un dépassement sera facturé conformément aux conditions du contrat.Le champ de métadonnées
engagements renvoyé dans la charge utile n’est pas égal à la somme de tous les différents totaux de métriques d’engagement. Pourquoi est-ce le cas ?C’est le comportement attendu. Le champ de métadonnées engagements peut ne pas toujours correspondre à la somme de toutes les métriques d’engagement individuelles renvoyées par l’API. En effet, le champ de métadonnées engagements peut inclure des engagements supplémentaires qui n’ont pas de métriques spécifiques détaillées dans la charge utile. Autrement dit, additionner tous les différents totaux de métriques d’engagement peut ne pas être égal à la valeur que vous voyez dans le champ de métrique engagements qui vous est renvoyé dans la charge utile.Vous pouvez considérer le champ de métadonnées engagements comme tout clic ou interaction effectué sur la Publication.
Le champ url_clicks dans la réponse de la charge utile renvoie un nombre, alors que la Publication ne contient pas d’URL. Comment est-ce possible ?Cela peut être dû au fait qu’une Publication contenant, par exemple, un hashtag (qui crée un lien vers une autre page) sera comptabilisée comme un clic sur une URL si un utilisateur clique dessus.
Pourquoi ne puis-je pas recevoir de données d’engagement pour une Publication spécifique ?
Pourquoi ne puis-je pas recevoir de données d’engagement pour une Publication spécifique ?
Il existe différentes raisons pour lesquelles vous pourriez ne pas être en mesure de récupérer des données d’engagement pour une Publication spécifique, notamment :
- L’ID de Publication ou les ID de Publication que vous avez demandés ne sont pas disponibles en fonction du jeton d’authentification que vous utilisez pour récupérer des données pour le compte d’un tiers.
- L’ID de Publication ou les ID de Publication que vous avez demandés pour le endpoint
/totalsne datent pas de 90 jours ou moins et ne sont donc pas disponibles pour renvoyer les impressions ou les métriques d’engagement. - L’ID de Publication ou les ID de Publication que vous avez demandés ne sont plus disponibles, ce qui indique généralement qu’elles ont été supprimées ou ne sont plus accessibles publiquement pour une autre raison.
Comment puis-je gérer la limitation de débit avec l’Engagement API ?
Comment puis-je gérer la limitation de débit avec l’Engagement API ?
Vous pouvez utiliser les informations
x-per-minute-limit et x-per-minute-remaining renvoyées par l’en-tête de réponse lorsque vous envoyez une requête à l’Engagement API pour surveiller votre consommation.x-per-minute-limit vous indique quel est votre quota et x-per-minute-remaining vous indique combien d’appels il vous reste.Guide de dépannage des erreurs
Je rencontre des problèmes d’authentification
Je rencontre des problèmes d’authentification
Assurez-vous de consulter nos directives relatives à l’authentification avec l’Engagement API.
J’ai transmis la bonne clé consommateur et le bon secret, ainsi que le jeton d’accès et le secret du jeton d’accès, mais l’erreur suivante est renvoyée. Que puis-je faire ?
J’ai transmis la bonne clé consommateur et le bon secret, ainsi que le jeton d’accès et le secret du jeton d’accès, mais l’erreur suivante est renvoyée. Que puis-je faire ?
Vous ne trouvez toujours pas ce que vous cherchez ?
J'ai une question qui n'a pas encore de réponse
J'ai une question qui n'a pas encore de réponse
Veuillez contacter notre support technique et nous vous répondrons dans les plus brefs délais.
Référence de l’API
POST insights/engagement
Methods
Authentification
- Toute requête vers /totals pour obtenir les types de métriques Impressions et Engagements, qui sont limitées aux Tweet détenus (owned)
- Toute requête vers /28hr
- Toute requête vers /historical
- Toute requête vers /totals pour obtenir les types de métriques Favorites, Replies, Retweets ou Video Views, qui peuvent être récupérées pour n’importe quel Tweet
- Vue d’ensemble d’OAuth
- Utiliser l’OAuth à 3 volets, également appelé User Context
- Utiliser l’Application-only OAuth