Un plafond correspond au nombre d’appels d’API qu’une application ou un·e utilisateur·ice peut effectuer sur une période donnée. Si ce plafond ou les limites en termes de CPU ou de temps total sont dépassés, l’application ou l’utilisateur·ice pourrait être régulé·e. Dans ce cas, les demandes d’API envoyées par cette application ou cet·te utilisateur·ice échoueront.
Toutes les demandes d’API font l’objet de plafonds. Les demandes de l’API Graph et de l’API Basic Display pour Instagram sont soumises aux Plafonds de plateforme, tandis que les demandes de l’API Marketing et de la plateforme Instagram sont soumises aux Plafonds Business Use Case (BUC).
Les demandes de l’API Pages sont soumises aux plafonds de plateforme ou BUC, selon le token utilisé dans la demande. Les demandes effectuées avec le token d’application ou le token d’accès utilisateur·ice sont soumises aux plafonds de plateforme, tandis que les demandes effectuées avec le token utilisateur·ice système ou les tokens d’accès de Page sont soumises aux plafonds Business Use Case.
Les statistiques d’utilisation des plafonds en temps réel sont décrites dans des en-têtes qui sont inclus avec la plupart des réponses d’API une fois que les appels effectués vers un point de terminaison sont en nombre suffisant. Les statistiques d’utilisation du plafond de plateforme sont également affichées dans l’Espace App. Une fois qu’un plafond est atteint, toute demande ultérieure faite par votre application échoue et l’API renvoie un code d’erreur jusqu’à ce qu’un délai suffisant se soit écoulé pour que le volume d’appels soit inférieur au plafond.
S’il est possible d’appliquer aussi bien les plafonds de plateforme que BUC à une demande, les plafonds BUC s’appliquent.
Le suivi des plafonds de plateforme s’effectue au niveau de l’application ou de l’utilisateur·ice, selon le type de token utilisé dans la demande.
Les demandes de l’API Graph effectuées avec un token d’accès d’application sont comptabilisées dans le plafond de cette application. Le volume d’appels d’une application correspond au nombre d’appels qu’elle peut effectuer durant une période donnée (une heure), calculé comme suit :
Calls within one hour = 200 * Number of Users
Le nombre d’utilisateur·ices est basé sur le nombre de personnes uniques qui utilisent quotidiennement une application. En cas de périodes d’utilisation quotidienne particulièrement ténues, par exemple lorsque votre application a une activité forte le week-end mais faible dans la semaine, c’est le nombre d’utilisateur·ices actif·ives hebdomadaires, voire mensuels, qui servira à calculer le nombre d’utilisateur·ices pour votre application. Les applications à fort taux d’interactions quotidiennes disposeront de plafonds plus élevés que les applications à faible taux d’interactions quotidiennes, indépendamment du nombre réel d’installations d’application.
Notez qu’il ne s’agit pas d’un plafond par utilisateur·ice mais d’un plafond pour les appels effectués par votre application. N’importe quel·le utilisateur·ice peut passer plus de 200 appels par heure à l’aide de votre application, tant que le total d’appels à partir de celle-ci ne dépasse pas le maximum défini pour l’application. Par exemple, si votre application a 100 utilisateur·ices, cela signifie qu’elle peut passer 20 000 appels par heure. Cependant, vos dix utilisateur·ices qui interagissent le plus pourraient passer 19 000 de ces appels.
Les demandes de l’API Graph effectuées avec un token d’accès utilisateur·ice sont comptabilisées dans le volume des appels de cet·te utilisateur·ice. Le volume d’appels d’un·e utilisateur·ice correspond au nombre d’appels qu’il ou elle peut effectuer durant une période d’une heure. Par souci de confidentialité, nous ne révélons pas les valeurs réelles de comptage des appels pour les utilisateur·ices.
Notez que le volume d’appels d’un·e utilisateur·ice peut être réparti sur plusieurs applications. Par exemple, un·e utilisateur·ice peut effectuer X appels à partir d’une App1 et Y appels à partir d’une App2. Si X+Y dépasse le volume d’appels de l’utilisateur·ice, ce dernier ou cette dernière est soumis·e au plafond. Cela ne signifie pas nécessairement qu’une application effectue une mauvaise action. Il se peut que l’utilisateur·ice utilise plusieurs applications ou qu’il ou elle fasse un mauvais usage de l’API.
Les points de terminaison qui reçoivent suffisamment de demandes de votre application incluent un en-tête HTTP X-App-Usage
ou X-Ad-Account-Usage
(pour les appels d’API Ads version 3.3 et antérieures) dans leurs réponses. L’en-tête contient alors une chaîne au format JSON qui décrit l’utilisation actuelle du plafond de l’application.
Clé | Description de la valeur |
---|---|
| Nombre entier exprimant le pourcentage d’appels effectués par votre application sur une période continue d’une heure. |
| Nombre entier exprimant le pourcentage de temps CPU alloué pour le traitement des requêtes. |
| Nombre entier exprimant le pourcentage de temps total alloué pour le traitement des requêtes. |
Clé | Description de la valeur |
---|---|
| Pourcentage d’appels effectués pour ce compte publicitaire avant que le plafond ne soit atteint. |
| Durée (en secondes) nécessaire pour réinitialiser le plafond actuel à 0. |
| Les niveaux permettent à votre application d’accéder à l’API Marketing. Par défaut, les applications sont dans le niveau |
Durée du temps CPU pour le traitement de la demande. Lorsque total_cputime
atteint 100, les appels peuvent être régulés.
Durée de traitement de la demande. Lorsque total_time
atteint 100, les appels peuvent être régulés.
x-app-usage: { "call_count": 28, //Percentage of calls made "total_time": 25, //Percentage of total time "total_cputime": 25 //Percentage of total CPU time }
x-ad-account-usage: { "acc_id_util_pct": 9.67, //Percentage of calls made for this ad account. "reset_time_duration": 100, //Time duration (in seconds) it takes to reset the current rate limit score. "ads_api_access_tier": 'standard_access' //Tiers allows your app to access the Marketing API. standard_access enables lower rate limiting. }
L’Espace App affiche le nombre d’utilisateur·ices de l’application plafonnée, le pourcentage d’utilisation actuelle de cette dernière, ainsi que l’activité moyenne des 7 derniers jours. Dans la carte Plafond d’application, cliquez sur Voir les détails et survolez n’importe quel point du graphe pour afficher plus de détails sur l’utilisation à ce moment précis. Comme l’utilisation dépend du volume d’appels, ce graphe peut ne pas indiquer l’intégralité de la période de 7 jours. Les applications avec un volume d’appels plus important présenteront plus de jours.
Lorsqu’une application ou un·e utilisateur·ice a atteint son plafond, les demandes effectuées par cette application ou cet·te utilisateur·ice sont honorées et l’API répond avec un code d’erreur.
Code d’erreur | Description |
---|---|
| Indique que l’application dont le token est utilisé dans la demande a atteint son plafond. |
| Indique que l’utilisateur·ice dont le token est utilisé dans la demande a atteint son plafond. |
| Indique que le token utilisé dans la demande d’API Ads 3.3 ou version antérieure a atteint son plafond. |
| Indique que l’utilisateur·ice ou l’application dont le token est utilisé dans la demande d’API Pages a atteint son plafond. |
| Indique que le plafond personnalisé a été atteint. Pour vous aider à résoudre ce problème, consultez la section dédiée aux plafonds personnalisés qui peuvent être appliqués dans la documentation de l’API que vous appelez. |
| Indique que nous avons remarqué un comportement incohérent dans le volume de demandes d’API de votre application. Vous pouvez rencontrer cette erreur si vous avez effectué des modifications récentes affectant le nombre de demandes d’API. |
{ "error": { "message": "(#32) Page request limit reached", "type": "OAuthException", "code": 32, "fbtrace_id": "Fz54k3GZrio" } }
Code d’erreur | Description |
---|---|
| Indique si la requête est régulée ou non. Valeurs : |
| Premier facteur de limitation de bande passante
|
| Deuxième facteur de limitation de bande passante
|
X-App-Usage
pour savoir si votre application est proche de son plafond et, lorsque le plafond est atteint, savoir quand vous pourrez reprendre vos appels.Toutes les demandes de l’API Marketing et de l’API Pages effectuées avec un token d’accès système ou de Page sont soumises à des plafonds BUC (Business Use Case) et dépendent des points de terminaison que vous interrogez.
Pour l’API Marketing, le plafond est appliqué au compte publicitaire au sein du même BUC. Par exemple, tous les points de terminaison ayant le BUC de gestion des publicités partagent le quota total du compte publicitaire associé. Si un point de terminaison effectue un grand nombre de demandes d’API et provoque une limitation de bande passante, les autres points de terminaison qui partagent le même BUC recevront eux aussi des erreurs liées à la limitation de bande passante. Le quota dépend du niveau d’accès de l’application à l’API Marketing. Le niveau d’accès standard à l’API Marketing dispose d’un quota plus élevé que le niveau d’accès de développement. Par défaut, les nouvelles applications doivent être au niveau de développement. Si vous souhaitez disposer d’un plafond plus élevé, passez de l’accès standard à la gestion des publicités à l’accès Avancé dans le Contrôle app.
Les requêtes que votre application envoie à l’API Ads Insights sont comptabilisées dans les indicateurs de plafond de l’application, par exemple le nombre d’appels, le temps CPU total et le temps total. Le nombre d’appels d’une application est le nombre d’appels que celle-ci peut effectuer pendant une fenêtre continue d’une heure, et il est calculé comme suit :
Pour les applications disposant de l’accès standard à la fonctionnalité d’accès standard à la gestion des publicités :
Calls within one hour = 600 + 400 * Number of Active ads - 0.001 * User Errors
Pour les applications disposant de l’accès Avancé à la fonctionnalité d’accès standard à la gestion des publicités :
Calls within one hour = 190000 + 400 * Number of Active ads - 0.001 * User Errors
Le nombre de publicités actives correspond au nombre de publicités associées à chaque compte publicitaire. Les erreurs utilisateur·ice correspondent au nombre d’erreurs reçues lors de l’appel de l’API. Pour obtenir un plafond supérieur, vous pouvez demander la fonctionnalité Accès standard à la gestion des publicités.
Le plafond peut également être soumis au temps CPU total et au temps d’exécution total pendant une fenêtre continue d’une heure. Pour plus d’informations, consultez les propriétés total_cputime
et total_time
de l’en-tête HTTP X-Business-Use-Case
.
Si vous recevez des erreurs relatives au plafond, vous pouvez également consulter la propriété estimated_time_to_regain_access
de l’en-tête X-Business-Use-Case
pour connaître le temps de blocage estimé.
Les requêtes que votre application envoie à l’API Ads Management sont comptabilisées dans les indicateurs de plafond de l’application, par exemple le nombre d’appels, le temps CPU total et le temps total. Le nombre d’appels d’une application est le nombre d’appels que celle-ci peut effectuer pendant une fenêtre continue d’une heure, et il est calculé comme suit :
Pour les applications disposant d’un accès standard à la fonctionnalité d’accès standard à la gestion des publicités :
Calls within one hour = 300 + 40 * Number of Active ads
Pour les applications disposant de l’accès Avancé à la fonctionnalité d’accès standard à la gestion des publicités :
Calls within one hour = 100000 + 40 * Number of Active ads
Le nombre de publicités actives correspond au nombre de publicités associées à chaque compte publicitaire.
Le plafond peut également être soumis au temps CPU total et au temps d’exécution total pendant une fenêtre continue d’une heure. Pour plus d’informations, consultez les propriétés total_cputime
et total_time
de l’en-tête HTTP X-Business-Use-Case
.
Si vous recevez des erreurs relatives au plafond, vous pouvez également consulter la propriété estimated_time_to_regain_access
de l’en-tête X-Business-Use-Case
pour connaître le temps de blocage estimé.
Les requêtes que votre application envoie sont comptabilisées dans les indicateurs de plafond, par exemple le nombre d’appels, le temps CPU total et le temps total dont votre application dispose au cours d’une période continue d’une heure pour chaque ID de catalogue, qui est calculé comme suit :
Calls within one hour = 200 + 200 * log2(unique users)
Les utilisateur·ices uniques correspondent au nombre d’utilisateur·ices uniques de l’entreprise (sur tous les catalogues) ayant eu une intention d’achat au cours des 28 derniers jours. Plus le nombre d’utilisateur·ices consultant les produits de votre catalogue est important, plus le quota d’appels alloué est élevé.
Type d’appel | Point de terminaison |
---|---|
POST | /{catalog_id}/items_batch |
POST | /{catalog_id}/localized_items_batch |
POST | /{catalog_id}/batch |
Les demandes émanant de votre application sont décomptées du nombre d’appels qu’elle peut effectuer sur une période d’une heure par ID de catalogue. Le calcul s’effectue de la manière suivante :
Calls within one hour = 20,000 + 20,000 * log2(unique users)
Les utilisateur·ices uniques correspondent au nombre d’utilisateur·ices uniques de l’entreprise (sur tous les catalogues) ayant eu une intention d’achat au cours des 28 derniers jours. Plus le nombre d’utilisateur·ices consultant les produits de votre catalogue est important, plus le quota d’appels alloué est élevé.
Cette formule est appliquée à plusieurs points de terminaison du catalogue.
Pour connaître le niveau actuel d’utilisation de votre quota, consultez la section En-têtes.
Le plafond peut également être soumis au temps CPU total et au temps d’exécution total pendant une fenêtre continue d’une heure. Pour plus d’informations, consultez les propriétés total_cputime
et total_time
de l’en-tête HTTP X-Business-Use-Case
.
Si vous recevez des erreurs relatives au plafond, vous pouvez également consulter la propriété estimated_time_to_regain_access
de l’en-tête X-Business-Use-Case
pour connaître le temps de blocage estimé.
Les demandes que votre application envoie à l’API Custom Audience sont comptabilisées dans les indicateurs de plafond de l’application, par exemple le nombre d’appels, le temps CPU total et le temps total. Le nombre d’appels d’une application correspond au volume d’appels qu’elle peut effectuer durant une période continue d’une heure, calculé comme suit, sans jamais dépasser les 700 000 :
Pour les applications disposant de l’accès standard à la fonctionnalité d’accès standard à la gestion des publicités :
Calls within one hour = 5000 + 40 * Number of Active Custom Audiences
Pour les applications disposant de l’accès Avancé à la fonctionnalité d’accès standard à la gestion des publicités :
Calls within one hour = 190000 + 40 * Number of Active Custom Audiences
Le nombre d’audiences personnalisées actives correspond au nombre d’audiences personnalisées actives associées à chaque compte publicitaire.
Le plafond peut également être soumis au temps CPU total et au temps d’exécution total pendant une fenêtre continue d’une heure. Pour plus d’informations, consultez les propriétés total_cputime
et total_time
de l’en-tête HTTP X-Business-Use-Case
.
Si vous recevez des erreurs relatives au plafond, vous pouvez également consulter la propriété estimated_time_to_regain_access
de l’en-tête X-Business-Use-Case
pour connaître le temps de blocage estimé.
Calls to the Instagram Platform endpoints, excluding messaging, are counted against the calling app's call count. An app's call count is unique for each app and app user pair, and is the number of calls the app has made in a rolling 24 hour window. It is calculated as follows:
Calls within 24 hours = 4800 * Number of Impressions
The Number of Impressions is the number of times any content from the app user's Instagram professional account has entered a person's screen within the last 24 hours.
Calls to the Instagram messaging endpoints are counted against the number of calls your app can make per Instagram professional account and the API used.
Les demandes envoyées par votre application à l’API LeadGen sont comptabilisées dans son volume d’appels. Le volume d’appels d’une application correspond au nombre d’appels qu’elle peut effectuer durant une période donnée de 24 heures, calculé comme suit :
Calls within 24 hours = 4800 * Leads Generated
Le nombre de prospects générés est le nombre de prospects générés par Page pour ce compte publicitaire au cours des 90 derniers jours.
Les limites de débit de la plateforme Messenger dépendent de l'API utilisée et, dans certains cas, du contenu du message.
Les demandes émanant de votre application sont décomptées du nombre d’appels qu’elle peut effectuer sur une période de 24 heures consécutives. Le calcul s’effectue de la manière suivante :
Calls within 24 hours = 200 * Number of Engaged Users
Le nombre d’utilisateur·trices impliqué·es correspond au nombre de personnes auquel l’entreprise peut envoyer des messages via Messenger.
Les demandes émanant de votre application sont décomptées du nombre d’appels qu’elle peut effectuer par compte professionnel Instagram et API utilisée.
API Conversations
API Send
API Private Replies
Les plafonds de Page peuvent utiliser la logique de plafond de plateforme ou BUC en fonction du type de token utilisé. Ces appels de l’API Pages qui sont effectués à l’aide d’un token d’accès de Page ou d’un token d’accès utilisateur·ice système utilisent le calcul de plafond ci-dessous. Les appels effectués à l’aide de tokens d’accès d’application ou tokens d’accès utilisateur·ice sont soumis aux plafonds d’application ou Utilisateur·ice.
Les demandes envoyées par votre application à l’API Pages à l’aide d’un token d’accès de Page ou d’un token d’accès d’utilisateur·ice système sont comptabilisées dans le volume d’appels de l’application. Le volume d’appels d’une application correspond au nombre d’appels qu’elle peut effectuer durant une période donnée de 24 heures, calculé comme suit :
Calls within 24 hours = 4800 * Number of Engaged Users
Le nombre d’utilisateur·ices impliqué·es correspond au nombre d’utilisateur·ices ayant interagi avec la Page au cours d’une période de 24 heures.
Les demandes effectuées par votre application à l’API Pages à l’aide d’un token d’accès utilisateur·ice ou d’un token d’accès Application suivent la logique de plafond de plateforme.
Pour éviter que des problèmes de plafond ne se produisent lorsque vous utilisez la fonctionnalité Contenu d’accès public de Page, il est recommandé d’utiliser un token d’accès d’utilisateur·ice système.
Les demandes envoyées par votre application aux points de terminaison Commerce sont comptabilisées dans son volume d’appels. Le volume d’appels d’une application correspond au nombre d’appels qu’elle peut effectuer durant une période donnée (une heure), calculé comme suit :
Calls within one hour = 200 + 40 * Number of Catalogs
Le nombre de catalogues correspond au nombre total de catalogues sur l’ensemble des comptes marchands gérés par votre application.
Calls within 24 hours = 4800 * Number of Impressions
720000 * number_of_impressions for total_cputime
2880000 * Number of Impressions for total_time
Type d’appel | Point de terminaison |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Type d’appel | Point de terminaison |
---|---|
|
|
|
|
|
|
|
|
Toutes les réponses d’API produites par votre application qui sont plafonnées à l’aide de la logique BUC comprennent un en-tête HTTP X-Business-Use-Case-Usage
(pour les appels de l’API Ads version 3.3 et antérieures) avec une chaîne au format JSON qui décrit l’utilisation actuelle du plafond de l’application. Cet en-tête peut retourner jusqu’à 32 objets par appel.
Code d’erreur | Description de la valeur |
---|---|
| ID de l’entreprise associée au token effectuant les appels d’API. |
| Nombre entier exprimant le pourcentage d’appels autorisés effectués par votre application sur une période continue d’une heure. |
| Durée maximale de régulation des appels exprimée en minutes. |
| Nombre entier exprimant le pourcentage de temps CPU alloué pour le traitement des requêtes. |
| Nombre entier exprimant le pourcentage de temps total alloué pour le traitement des requêtes. |
| Type de plafond appliqué. Valeurs acceptées : |
| Uniquement pour les types |
Durée du temps CPU pour le traitement de la demande. Lorsque total_cputime atteint 100, les appels peuvent être régulés.
Durée de traitement de la requête. Lorsque total_time atteint 100, les appels peuvent être régulés.
Uniquement pour les types ads_insights
et ads_management
. Les niveaux permettent à votre application d’accéder à l’API Marketing. Par défaut, les applications sont dans le niveau development_access
. Standard_access
octroie un plafond inférieur. Pour obtenir un plafond supérieur et accéder au niveau standard, demandez un accès Avancé (« Advanced Access ») à la fonctionnalité Accès standard à la gestion des publicités.
x-business-use-case-usage: { "{business-object-id}": [ { "type": "{rate-limit-type}", //Type of BUC rate limit logic being applied. "call_count": 100, //Percentage of calls made. "total_cputime": 25, //Percentage of the total CPU time that has been used. "total_time": 25, //Percentage of the total time that has been used. "estimated_time_to_regain_access": 19, //Time in minutes to regain access. "ads_api_access_tier": "standard_access" //Tiers allows your app to access the Marketing API. standard_access enables lower rate limiting. } ], "66782684": [ { "type": "ads_management", "call_count": 95, "total_cputime": 20, "total_time": 20, "estimated_time_to_regain_access": 0, "ads_api_access_tier": "development_access" } ], "10153848260347724": [ { "type": "ads_insights", "call_count": 97, "total_cputime": 23, "total_time": 23, "estimated_time_to_regain_access": 0, "ads_api_access_tier": "development_access" } ], "10153848260347724": [ { "type": "pages", "call_count": 97, "total_cputime": 23, "total_time": 23, "estimated_time_to_regain_access": 0 } ], ... }
Lorsque votre application atteint son plafond BUC, les demandes ultérieures qu’elle effectue échouent et l’API renvoie un code d’erreur.
Code d’erreur | Type de plafond BUC |
---|---|
| Insights publicitaires |
| Gestion des publicités |
| Audience personnalisée |
| |
| LeadGen |
| Messenger |
error code 32 | Appels de Page effectués avec un token d’accès utilisateur·ice |
error code 80001 | Appels de Page effectués avec un token d’accès de Page ou utilisateur·ice système |
| Toutes les API publicitaires, sauf Ads Insights, jusqu’à la version 3.3 |
| API WhatsApp Business Management |
| Lot de catalogues |
| Gestion des catalogues |
{ "error": { "message": "(#80001) There have been too many calls to this Page account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting.", "type": "OAuthException", "code": 80001, "fbtrace_id": "AmFGcW_3hwDB7qFbl_QdebZ" } }
X-Business-Use-Case-Usage
pour savoir si votre compte publicitaire est proche de son plafond et quand vous pourrez reprendre vos appels.Tous les appels sont comptabilisés dans les plafonds, pas seulement les demandes d’API individuelles. Par exemple, vous pouvez passer un appel d’API unique en indiquant plusieurs ID mais chaque ID compte pour un appel d’API.
Le tableau suivant illustre ce concept.
Exemples de demande(s) | Nombre d’appels d’API |
---|---|
GET https://graph.facebook.com/photos?ids=5
| 3 |
| 3 |
Nous vous recommandons vivement de spécifier plusieurs ID dans une demande d’API lorsque cela est possible, car cela améliore les performances de vos réponses d’API.
Si vous créez un service qui extrait des données, veuillez lire nos conditions générales d’extraction.