تقييدات معدلات الاستدعاء

يمثل تقييد معدلات الاستدعاء عدد استدعاءات API التي يمكن للتطبيق أو المستخدم إجراؤها خلال فترة زمنية محددة. وفي حالة تجاوز هذا التقييد أو تجاوز تقييدات وقت وحدة المعالجة المركزية أو إجمالي تقييدات الوقت، قد يتم تقييد التطبيق أو المستخدم. كما ستفشل طلبات API التي تم إجراؤها بواسطة المستخدم أو التطبيق الذي تم تقييده.

تخضع جميع طلبات API إلى تقييد معدلات الاستدعاء. وتخضع طلبات Graph API وAPI العرض الأساسي في Instagram إلى تقييدات معدلات الاستدعاء المنصة، بينما تخضع طلبات API التسويق ومنصة Instagram إلى تقييدات معدلات الاستدعاء لحالة استخدام النشاط التجاري (BUC).

تخضع طلبات API الصفحات إلى تقييد معدلات الاستدعاء للمنصة أو لحالة استخدام النشاط التجاري (BUC) بناءً على الرمز المُستخدم في الطلب؛ وتخضع الطلبات التي يتم إجراؤها من خلال تطبيق أو رموز وصول المستخدم إلى تقييدات معدلات الاستدعاء للمنصة، بينما تخضع الطلبات التي يتم إجراؤها من خلال مستخدم النظام أو رموز وصول الصفحة إلى تقييدات معدلات الاستدعاء لحالة استخدام النشاط التجاري.

يتم وصف إحصاءات استخدام تقييد معدلات الاستدعاء الفورية داخل عناوين يتم تضمينها في معظم استجابات API بمجرد إجراء استدعاءات كافية إلى أي نقطة نهاية. ويتم أيضًا عرض إحصاءات استخدام تقييد معدلات الاستدعاء للمنصة في لوحة معلومات التطبيق. بمجرد الوصول الحد الأقصى لتقييد معدلات الاستدعاء، ستفشل أي طلبات لاحقة يتم إجراؤها بواسطة تطبيقك وستقوم API بإرجاع رمز خطأ حتى انقضاء مدة زمنية كافية بحيث ينخفض عدد مرات الاستدعاء عن التقييد المسموح به.

إذا كان من الممكن تطبيق تقييدات معدلات الاستدعاء للمنصة وحالة استخدام النشاط التجاري على طلب ما، فسيتم تطبيق تقييدات معدلات الاستدعاء لحالة استخدام النشاط التجاري (BUC).

تقييدات معدلات الاستدعاء للمنصة

يتم تتبع تقييدات معدلات الاستدعاء للمنصة على مستوى التطبيق أو المستخدم الفردي وفقًا لنوع الرمز المُستخدم في الطلب.

التطبيقات

يتم احتساب طلبات واجهة Graph API التي يتم إجراؤها باستخدام رمز وصول التطبيق مقابل تقييد معدلات الاستدعاء لهذا التطبيق. يمثل عدد مرات استدعاء التطبيق عدد الاستدعاءات التي يمكن إجراؤها في إطار زمني محدد يعادل ساعة واحدة ويتم حسابه بالطريقة التالية:

Calls within one hour = 200 * Number of Users

يستند احتساب عدد المستخدمين إلى عدد المستخدمين الفريدين النشطين يوميًا في التطبيق. وفي الحالات التي تتباطأ فيها فترات الاستخدام اليومي على سبيل المثال إذا كان تطبيقك يسجل معدلات نشاط مرتفعة في عطلات نهاية الأسبوع، في حين يسجل نشاطًا منخفضًا على مدار أيام الأسبوع الأخرى، فسيتم استخدام المستخدمين النشطين شهريًا وأسبوعيًا لحساب عدد مستخدمي تطبيقك. وستحظى التطبيقات التي بها تفاعل يومي مرتفع بتقييدات معدلات أعلى من التطبيقات ذات التفاعل اليومي المنخفض، بغض النظر عن العدد الفعلي لعمليات تثبيت التطبيق.

لاحظ أنه لا يتم احتساب التقييد لكل مستخدم، ولكن وفقًا لتقييد الاستدعاءات التي أجراها تطبيقك. ويمكن لأي مستخدم فردي إجراء أكثر من 200 استدعاء في الساعة باستخدام تطبيقك، طالما أن إجمالي الاستدعاءات التي يتم إجراؤها من جانب تطبيقك لم يتجاوز الحد الأقصى للتطبيق. على سبيل المثال، إذا كان هناك 100 مستخدم لتطبيقك، فيمكن لتطبيقك إجراء 20,000 استدعاء في الساعة. ومع ذلك يمكن لأبرز عشرة مستخدمين متفاعلين إجراء 19,000 استدعاء من هذه الاستدعاءات.

المستخدمون

يتم احتساب طلبات واجهة Graph API التي يتم إجراؤها باستخدام رمز وصول المستخدم مقابل عدد مرات الاستدعاء من جانب المستخدم. ويمثل عدد مرات استدعاء المستخدم عدد الاستدعاءات التي يمكن للمستخدم إجراؤها في إطار زمني يستغرق ساعة واحدة. لأسباب تتعلق بالخصوصية، لا نكشف عن القيم الفعلية لعدد مرات الاستدعاء للمستخدمين.

لاحظ أن عدد مرات الاستدعاء للمستخدم يمكن توزيعها عبر تطبيقات متعددة. فعلى سبيل المثال، يمكن للمستخدم إجراء X من الاستدعاءات من خلال التطبيق 1 وY من الاستدعاءات من خلال التطبيق 2. وإذا تجاوز مجموع X+Y عدد مرات الاستدعاء المخصصة للمستخدم، فسيتم تقييد معدلات الاستدعاء لدى هذا المستخدم. لا يشير ذلك بالضرورة إلى وجود خطأ ما في التطبيق؛ ولكن من المحتمل أن المستخدم يستخدم عدة تطبيقات أو يسيء استخدام API.

العناوين

ستتضمن نقاط النهاية التي تتلقى طلبات كافية من تطبيقك عنوان HTTP X-App-Usage أو X-Ad-Account-Usage (بالنسبة للإصدار 3.3 والإصدارات الأقدم لاستدعاءات API الإعلانات) في استجاباتها. وسيحتوي العنوان على سلسلة بتنسيق JSON توضح الاستخدام الحالي لتقييد معدلات الاستدعاء في التطبيق.

محتويات العناوين


المفتاحوصف القيمة

call_count

عدد صحيح يمثل النسبة المئوية للاستدعاءات التي أجراها تطبيقك خلال إطار زمني يستغرق ساعة واحدة.

total_cputime

عدد صحيح يمثل النسبة المئوية لوقت وحدة المعالجة المركزية المخصص لمعالجة الاستعلام.

total_time

عدد صحيح يمثل النسبة المئوية لإجمالي الوقت المخصص لمعالجة الاستعلام.

محتوى عنوان X-Ad-Account-Usage

المفتاحوصف القيمة

acc_id_util_pct

النسبة المئوية للاستدعاءات التي تم إجراؤها لهذا الحساب الإعلاني قبل الوصول إلى تقييد معدلات الاستدعاء.

reset_time_duration

المدة الزمنية (بالثواني) المستغرقة لإعادة تعيين تقييد معدلات الاستدعاء الحالي على 0.

ads_api_access_tier

المستويات التي تسمح لتطبيقك بالوصول إلى API التسويق. بشكل افتراضي، تتواجد التطبيقات في مستوى development_access ويعمل Standard_access على تمكين تقييد معدلات الاستدعاء الأقل. للحصول على تقييد معدلات الاستدعاء الأعلى والحصول على المستوى القياسي، يمكنك تقديم طلب "للوصول المتقدم" إلى ميزة الوصول القياسي لإدارة الإعلانات.

إجمالي وقت وحدة المعالجة المركزية

مقدار الوقت الذي تستغرقه وحدة المعالجة المركزية (CPU) لمعالجة الطلب. وعندما يصل إجمالي total_cputime إلى 100، قد يتم تقييد الاستدعاءات.

إجمالي الوقت

يمثل المدة الزمنية التي تستغرقها عملية معالجة الطلب. وعندما يصل إجمالي total_time إلى 100، قد يتم تقييد الاستدعاءات.

عينة من قيمة عنوان X-App-Usage

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

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.
}

لوحة المعلومات

تعرض لوحة معلومات التطبيق عدد مستخدمي التطبيق الذين تم تقييد معدلات الاستدعاء لديهم والنسبة المئوية لاستخدام تقييدات معدلات الاستدعاء الحالية في التطبيق، وتعرض متوسط النشاط خلال آخر 7 أيام. وفي البطاقة تقييد معدلات الاستدعاء للتطبيق، انقر على عرض التفاصيل ومرّر مؤشر الماوس فوق أية نقطة على الرسم البياني لعرض المزيد من التفاصيل حول الاستخدام الخاص بهذه اللحظة المعينة. ونظرًا لأن الاستخدام يعتمد على حجم الاستدعاء، قد لا يعرض هذا الرسم البياني 7 أيام كاملة. علمًا بأن التطبيقات التي تتمتع بحجم استدعاءات أعلى ستعرض مزيدًا من الأيام.

رموز الأخطاء

عندما يصل التطبيق أو المستخدم إلى الحد الأقصى لتقييد معدلات الاستدعاء، فستتم تعبئة الطلبات المُقدمة بواسطة هذا التطبيق أو المستخدم وستستجيب API برمز خطأ.

رموز أخطاء التقييد


رمز الخطأالوصف

4

يشير إلى أن التطبيق الذي يتم استخدام الرمز الخاص به في الطلب قد وصل إلى الحد الأقصى لتقييد معدلات الاستدعاء.

17

يشير إلى أن المستخدم الذي يتم استخدام الرمز الخاص به في الطلب قد وصل إلى الحد الأقصى لتقييد معدلات الاستدعاء.

17 with subcode 2446079

يشير إلى أن الرمز الذي يتم استخدامه في طلب API الإعلانات بالإصدار 3.3 أو الإصدارات الأقدم قد وصل إلى الحد الأقصى لتقييد معدلات الاستدعاء.

32

يشير إلى أن المستخدم أو التطبيق الذي يتم استخدام الرمز الخاص به في طلب واجهة API الصفحات قد وصل إلى الحد الأقصى لتقييد معدلات الاستدعاء.

613

يشير إلى أنه تم الوصول إلى الحد الأقصى للتقييد معدلات الاستدعاء المخصص. وللمساعدة في حل هذه المشكلة، تفضل بزيارة مستندات الدعم المرتبطة بواجهة API المحددة التي تستدعيها لمعرفة تقييدات معدلات الاستدعاء المخصصة التي يمكن تطبيقها.

613 with subcode 1996

يشير إلى أننا لاحظنا سلوكًا غير متسق في حجم طلبات API لدى تطبيقك. وإذا أجريت أي تغييرات مؤخرًا تؤثر على عدد طلبات API، فربما تواجه هذا الخطأ.

عينة من الاستجابة

{
  "error": {
    "message": "(#32) Page request limit reached",
    "type": "OAuthException",
    "code": 32,
    "fbtrace_id": "Fz54k3GZrio"
  }
}

رموز تقييد الاستقرار في فيسبوك


رمز الخطأالوصف

throttled

يشير إلى ما إذا كان قد تم تقييد الاستعلام أم لا. القيم: True وFalse

backend_qps

يمثل عامل التقييد الأول backend_qps. علمًا بأن القيم المدعومة هي:

  • actual_score—تمثل قيمة backend_qps الفعلية لهذا التطبيق. القيمة: 8
  • limit—يمثل تقييد backend_qps لهذا التطبيق. القيمة: 5
  • more_info—تتطلب الاستعلامات عددًا كبيرًا من طلبات الواجهة الخلفية لمعالجتها. ولذلك، نقترح إرسال استعلامات أقل أو تبسيط الاستعلامات من خلال نطاقات زمنية أقصر، ومعرفات كائنات أقل، وما إلى ذلك.

complexity_score

يمثل عامل التقييد الثاني complexity_score. علمًا بأن القيم المدعومة هي:

  • actual_score—يمثل قيمة complexity_score الفعلية لهذا التطبيق. القيمة: 0.1
  • limit—يمثل تقييد complexity_score لهذا التطبيق. القيمة: 0.01
  • more_info—تعني complexity_score العالية أن استعلاماتك معقدة للغاية وتتطلب كميات كبيرة من البيانات. ولذلك، نقترح تبسيط الاستعلامات من خلال نطاقات زمنية أقصر، ومعرفات كائنات أو أدوات قياس أو تقسيمات أقل، وما إلى ذلك. يمكنك تقسيم الاستعلامات الكبيرة والمعقدة إلى عدة استعلامات أصغر، والفصل بينها.

أفضل الممارسات

  • عند الوصول إلى الحد الأقصى للتقييد، توقف عن إجراء استدعاءات API. علمًا بأن متابعة إجراء الاستدعاءات ستستمر في زيادة عدد مرات الاستدعاء مما سيؤدي إلى زيادة الوقت اللازم قبل إجراء الاستدعاءات بنجاح مرة أخرى.
  • قم بتوزيع الاستعلامات بالتساوي لتجنب الارتفاع المفاجئ في نسبة استخدام الشبكة.
  • استخدم الفلاتر لتقييد حجم استجابة البيانات، وتجنب استخدام الاستدعاءات التي تتطلب بيانات متداخلة.
  • تحقق من عنوان HTTP X-App-Usage للتعرف على مدى اقتراب تطبيقك من التقييد المحدد له ومتى يمكنك استئناف إجراء الاستدعاءات عند الوصول إلى الحد الأقصى للتقييد.
  • إذا تم تقييد المستخدمين، فكن متأكدًا من أن تطبيقك ليس السبب. وحاول تقليل استدعاءات المستخدم أو توزيعها بشكل متساوٍ مع مرور الوقت.

تقييدات معدلات الاستدعاء لحالة استخدام النشاط التجاري

تخضع جميع طلبات API التسويق وطلبات واجهة API الصفحات التي تم إجراؤها من خلال نظام أو رمز وصول الصفحة إلى تقييدات معدلات الاستدعاء لحالة استخدام النشاط التجاري (BUC)، وتعتمد على نقاط النهاية التي تستعلم عنها.

بالنسبة إلى API التسويق، يتم تطبيق تقييد معدل الاستدعاء على الحساب الإعلاني عبر حالة استخدام النشاط التجاري نفسها. على سبيل المثال، ستشارك جميع نقاط النهاية التي تحتوي حالة الاستخدام التجاري لإدارة الإعلانات الحصة الإجمالية داخل الحساب الإعلاني نفسه. إذا قامت نقطة نهاية معينة بإجراء الكثير من طلبات API وتسببت في تقييد، فستتلقى نقاط النهاية الأخرى التي تم تكوينها بحالة استخدام الأعمال نفسها أيضًا أخطاء تقييد معدلات الاستدعاء. تعتمد الحصة على مستوى الوصول إلى API التسويق من جانب التطبيق. سيحتوي مستوى API التسويق القياسي على حصص أكثر من مستوى الوصول إلى API التسويق في مرحلة التطوير. افتراضيًا، يجب أن يكون التطبيق الجديد في مستوى التطوير. إذا كنت بحاجة إلى الترقية لزيادة حصة تقييد معدلات الاستدعاء، فقم بالترقية إلى الوصول المتقدم للوصول القياسي لإدارة الإعلانات في مراجعة التطبيقات.

رؤى الإعلانات

يتم احتساب الطلبات التي يرسلها تطبيقك إلى API رؤى الإعلانات ضمن أدوات قياس تقييد معدلات الاستدعاء في التطبيق مثل عدد الاستدعاءات وإجمالي وقت وحدة المعالجة المركزية والوقت الإجمالي. يمثل عدد مرات استدعاء التطبيق عدد الاستدعاءات التي يمكن إجراؤها في إطار زمني محدد يعادل ساعة واحدة ويتم حسابه بالطريقة التالية:

بالنسبة للتطبيقات التي لديها إمكانية الوصول القياسي إلى ميزة الوصول القياسي لإدارة الإعلانات:

Calls within one hour = 600 + 400 * Number of Active ads - 0.001 * User Errors

بالنسبة للتطبيقات التي لديها إمكانية الوصول المتقدم إلى ميزة الوصول القياسي لإدارة الإعلانات:

Calls within one hour = 190000 + 400 * Number of Active ads - 0.001 * User Errors

يمثل عدد الإعلانات النشطة عدد الإعلانات المعروضة حاليًا لكل حساب إعلاني. وتمثل أخطاء المستخدم عدد الأخطاء التي تم تلقيها عند استدعاء API. للحصول على تقييد معدلات استدعاء أعلى، يمكنك تقديم طلب لاستخدام ميزة الوصول القياسي لإدارة الإعلانات.

قد تقييد معدلات الاستدعاء أيضًا لإجمالي وقت وحدة المعالجة المركزية وإجمالي الوقت الفعلي خلال فترة ساعة واحدة متواصلة. لمزيد من التفاصيل، تحقق من عنوان HTTP X-Business-Use-Casetotal_cputime وtotal_time.

إذا كنت تتلقى أخطاء تقييد معدلات الاستدعاء، فيمكنك أيضًا الرجوع إلى estimated_time_to_regain_access في عنوان X-Business-Use-Case لمعرفة وقت الحظر التقديري.

إدارة الإعلانات

يتم احتساب الطلبات التي يرسلها تطبيقك إلى واجهة API إدارة الإعلانات ضمن أدوات قياس تقييد معدلات الاستدعاء في التطبيق مثل عدد الاستدعاءات وإجمالي وقت وحدة المعالجة المركزية والوقت الإجمالي. يمثل عدد مرات استدعاء التطبيق عدد الاستدعاءات التي يمكن إجراؤها في إطار زمني محدد يعادل ساعة واحدة ويتم حسابه بالطريقة التالية:

بالنسبة للتطبيقات التي لديها إمكانية الوصول القياسيإلى ميزة الوصول القياسي لإدارة الإعلانات:

Calls within one hour = 300 + 40 * Number of Active ads

بالنسبة للتطبيقات التي لديها إمكانية الوصول المتقدم إلى ميزة الوصول القياسي لإدارة الإعلانات:

Calls within one hour = 100000 + 40 * Number of Active ads

يمثل عدد الإعلانات النشطة عدد الإعلانات المرتبطة بكل حساب إعلاني.

قد تقييد معدلات الاستدعاء أيضًا لإجمالي وقت وحدة المعالجة المركزية وإجمالي الوقت الفعلي خلال فترة ساعة واحدة متواصلة. لمزيد من التفاصيل، تحقق من عنوان HTTP X-Business-Use-Casetotal_cputime وtotal_time.

إذا كنت تتلقى أخطاء تقييد معدلات الاستدعاء، فيمكنك أيضًا الرجوع إلى estimated_time_to_regain_access في عنوان X-Business-Use-Case لمعرفة وقت الحظر التقديري.

كتالوج المنتجات

تجميع الكتالوج

يتم احتساب الطلبات التي يرسلها تطبيقك ضمن أدوات قياس تقييد معدلات الاستدعاء مثل عدد الاستدعاءات، وإجمالي وقت وحدة المعالجة المركزية، وإجمالي الوقت الذي يمكن أن يستغرقه تطبيقك خلال فترة ساعة واحدة متواصلة لكل معرف كتالوج ويتم احتسابها على النحو التالي:

Calls within one hour = 200 + 200 * log2(unique users)

المستخدمون الفريدون هو عدد المستخدمين الفريدين للنشاط التجاري (في كل الكتالوجات) الذين أظهروا نية الشراء في أخر 28 يومًا. كلما زاد عدد المستخدمين الذين يعرضون المنتجات من الكتالوجات، زادت حصة الاستدعاءات المخصصة.

نوع الاستدعاء نقطة النهاية

POST

/{catalog_id}/items_batch

POST

/{catalog_id}/localized_items_batch

POST

/{catalog_id}/batch

إدارة الكتالوج

يتم احتساب الطلبات التي تم إجراؤها بواسطة تطبيقك في مقابل عدد الاستدعاءات التي يمكن لتطبيقك تنفيذها خلال فترة مدتها ساعة واحدة لكل معرف كتالوج ويتم احتسابها على النحو التالي:

Calls within one hour = 20,000 + 20,000 * log2(unique users)

المستخدمون الفريدون هو عدد المستخدمين الفريدين للنشاط التجاري (في كل الكتالوجات) الذين أظهروا نية الشراء في أخر 28 يومًا. كلما زاد عدد المستخدمين الذين يعرضون المنتجات من الكتالوجات، زادت حصة الاستدعاءات المخصصة.

يتم تطبيق هذه الصيغة على نقاط نهاية الكتالوجات المختلفة.

لمزيد من المعلومات حول كيفية الحصول على معدل الاستخدام الحالي، راجع العناوين.

قد تقييد معدلات الاستدعاء أيضًا لإجمالي وقت وحدة المعالجة المركزية وإجمالي الوقت الفعلي خلال فترة ساعة واحدة متواصلة. لمزيد من التفاصيل، تحقق من عنوان HTTP X-Business-Use-Casetotal_cputime وtotal_time.

إذا كنت تتلقى أخطاء تقييد معدلات الاستدعاء، فيمكنك أيضًا الرجوع إلى estimated_time_to_regain_access في عنوان X-Business-Use-Case لمعرفة وقت الحظر التقديري.

الجمهور المخصص

يتم احتساب الطلبات التي يرسلها تطبيقك إلى API الجمهور المخصص ضمن أدوات قياس تقييد معدلات الاستدعاء في التطبيق مثل عدد الاستدعاءات وإجمالي وقت وحدة المعالجة المركزية والوقت الإجمالي. يمثل عدد استدعاءات التطبيق عدد الاستدعاءات التي يمكن إجراؤها في إطار زمني محدد يعادل ساعة واحدة ويتم حسابه بالطريقة التالية، ولكن لن يتجاوز العدد 700000 مطلقًا:

بالنسبة للتطبيقات التي لديها إمكانية الوصول القياسي إلى ميزة الوصول القياسي لإدارة الإعلانات:

Calls within one hour = 5000 + 40 * Number of Active Custom Audiences

بالنسبة للتطبيقات التي لديها إمكانية الوصول المتقدم إلى ميزة الوصول القياسي لإدارة الإعلانات:

Calls within one hour = 190000 + 40 * Number of Active Custom Audiences

يمثل عدد الجماهير المخصصة النشطة عدد الجماهير المخصصة النشطة المرتبطة بكل حساب إعلاني.

قد تقييد معدلات الاستدعاء أيضًا لإجمالي وقت وحدة المعالجة المركزية وإجمالي الوقت الفعلي خلال فترة ساعة واحدة متواصلة. لمزيد من التفاصيل، تحقق من عنوان HTTP X-Business-Use-Casetotal_cputime وtotal_time.

إذا كنت تتلقى أخطاء تقييد معدلات الاستدعاء، فيمكنك أيضًا الرجوع إلى estimated_time_to_regain_access في عنوان X-Business-Use-Case لمعرفة وقت الحظر التقديري.

منصة Instagram

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.

Notes

  • The Instagram Basic Display API uses Platform Rate Limits.
  • Business Discovery and Hashtag Search API are subject to Platform Rate Limits.
  • Messaging Rate Limits

    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.

    Conversations API

    • Your app can make 2 calls per second per Instagram professional account.

    Private Replies API

    • Your app can make 100 calls per second per Instagram professional account for private replies to Instagram Live comments
    • Your app can make 750 calls per hour per Instagram professional account for private replies to comments on Instagram posts and reels

    Send API

    • Your app can make 100 calls per second per Instagram professional account for messages that contain text, links, reactions, and stickers
    • Your app can make 10 calls per second per Instagram professional account for messages that contain audio or video content

    LeadGen

    يتم احتساب الطلبات المرسلة بواسطة تطبيقك إلى LeadGen API مقابل عدد الاستدعاءات المخصصة للتطبيق. ويمثل عدد الاستدعاءات المخصصة للتطبيق عدد الاستدعاءات الذي يمكن إجراؤه خلال إطار زمني يبلغ 24 ساعة ويتم احتسابه بالطريقة التالية:

    Calls within 24 hours = 4800 * Leads Generated

    يمثل عدد تجميع بيانات العملاء المحتملين عدد بيانات العملاء المحتملين الذي تم تجميعه لكل صفحة في هذا الحساب الإعلاني خلال آخر 90 يومًا.

    منصة Messenger

    يعتمد تحديد تقييدات معدلات الاستدعاء في منصة Messenger على API المستخدمة، وفي بعض الحالات، على محتوى الرسالة.

    Messenger API

    يتم احتساب الطلبات التي تم إجراؤها بواسطة تطبيقك في مقابل عدد الاستدعاءات التي يمكن لتطبيقك تنفيذها خلال فترة مدتها 24 ساعة ويتم احتسابها على النحو التالي:

    Calls within 24 hours = 200 * Number of Engaged Users

    يمثل عدد المستخدمين المتفاعلين عدد الأشخاص الذين يمكن للنشاط التجاري مراسلتهم عبر Messenger.

    Messenger API في Instagram

    يتم احتساب الطلبات التي تم إجراؤها بواسطة تطبيقك في مقابل عدد الاستدعاءات التي يمكن لتطبيقك تنفيذها بالنسبة لكل حساب احترافي على Instagram وحسب API المستخدمة.

    API المحادثات

    • يمكن لتطبيقك إجراء عمليتي استدعاء في الثانية لكل حساب احترافي على Instagram

    API الإرسال

    • يمكن لتطبيقك إجراء 100 استدعاء في الثانية لكل حساب احترافي على Instagram بالنسبة للرسائل التي تحتوي على نصوص وروابط وتفاعلات وملصقات
    • يمكن لتطبيقك إجراء 10 استدعاءات في الثانية لكل حساب احترافي على Instagram بالنسبة للرسائل التي تحتوي على محتوى صوتي أو فيديو

    API الردود الخاصة

    • يمكن لتطبيقك إجراء 100 استدعاء في الثانية لكل حساب احترافي على Instagram بالنسبة للردود الخاصة على تعليقات Instagram Live
    • يمكن لتطبيقك إجراء 750 استدعاءً في الساعة لكل حساب احترافي على Instagram بالنسبة للردود الخاصة على التعليقات الموجودة على المنشورات ومقاطع ريلز في Instagram

    الصفحات

    قد تستخدم تقييدات معدلات الاستدعاء للصفحة منطق تقييد معدلات الاستدعاء للمنصة أو لحالة استخدام النشاط التجاري (BUC) وفقًا لنوع الرمز المُستخدم. وتستخدم أي استدعاءات لواجهة API الصفحات التي تم إجراؤها باستخدام رمز وصول الصفحة أو رمز وصول مستخدم النظام طريقة احتساب تقييد معدلات الاستدعاء الموضحة أدناه. كما تخضع أي استدعاءات تم إجراؤها باستخدام رمز وصول التطبيق أو رمز وصول المستخدم إلى تقييدات معدلات الاستدعاء المخصصة للتطبيق أو المستخدم.

    يتم احتساب الطلبات المُقدمة من تطبيقك إلى واجهة API الصفحات باستخدام رمز وصول الصفحة أو رمز وصول مستخدم النظام مقابل عدد الاستدعاءات المخصصة للتطبيق. ويمثل عدد الاستدعاءات المخصصة للتطبيق عدد الاستدعاءات الذي يمكن إجراؤه خلال إطار زمني يبلغ 24 ساعة ويتم احتسابه بالطريقة التالية:

    Calls within 24 hours = 4800 * Number of Engaged Users

    يمثل عدد المستخدمين المتفاعلين عدد المستخدمين الذين تفاعلوا مع الصفحة لكل 24 ساعة.

    تتبع الطلبات المُقدمة من تطبيقك إلى واجهة API الصفحات باستخدام رمز وصول المستخدم أو رمز وصول التطبيق منطق تقييد معدلات الاستدعاء للمنصة.

    لتجنب مشاكل تقييد معدلات الاستدعاء أثناء استخدام ميزة الوصول إلى المحتوى العام للصفحة، يوصى باستخدام رمز وصول مستخدم النظام.

    إدارة تأثير المعاملات التجارية في Spark AR

    يتم احتساب الطلبات المرسلة بواسطة تطبيقك إلى أي نقاط نهاية معاملات تجارية مقابل عدد الاستدعاءات المخصصة للتطبيق. يمثل عدد مرات استدعاء التطبيق عدد الاستدعاءات التي يمكن إجراؤها في إطار زمني محدد يعادل ساعة واحدة ويتم حسابه بالطريقة التالية:

    Calls within one hour = 200 + 40 * Number of Catalogs

    عدد الكتالوجات هو العدد الإجمالي للكتالوجات على مستوى كل الحسابات التجارية التي يديرها تطبيقك.

    Threads

    Calls to the Threads API 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 Threads account has entered a person's screen within the last 24 hours. Rate limiting may also be subject to total CPU time per day:
    720000 * number_of_impressions for total_cputime
    2880000 * Number of Impressions for total_time
    Note: The minimum value for impressions is 10 (so if the impressions is less than 10 we default to 10).

    API إدارة حساب واتساب للأعمال

    يتم احتساب الطلبات المُقدمة من جانب تطبيقك إلى API إدارة واتساب للأعمال مقابل عدد مرات الاستدعاء لتطبيقك. يمثل عدد مرات استدعاء التطبيق عدد الاستدعاءات التي يمكن إجراؤها في إطار زمني محدد يعادل ساعة واحدة. بالنسبة لواجهة API إدارة واتساب للأعمال التالية، يمكن لتطبيقك إجراء 200 استدعاء في الساعة، لكل تطبيق، ولكل حساب واتساب للأعمال (WABA) افتراضيًا. بالنسبة إلى حسابات واتساب للأعمال النشطة برقم هاتف واحد مسجل على الأقل، يمكن لتطبيقك إجراء 5000 استدعاء في الساعة، لكل تطبيق، ولكل حساب واتساب للأعمال نشط.
    نوع الاستدعاء نقطة النهاية

    GET

    /{whatsapp-business-account-id}

    GET وPOST وDELETE

    /{whatsapp-business-account-id}/assigned_users

    GET

    /{whatsapp-business-account-id}/phone_numbers

    GET وPOST وDELETE

    /{whatsapp-business-account-id}/message_templates

    GET وPOST وDELETE

    /{whatsapp-business-account-id}/subscribed_apps

    GET

    /{whatsapp-business-account-to-number-current-status-id}

    بالنسبة إلى واجهات API حد الائتمان التالية، يمكن لتطبيقك إجراء 5000 استدعاء في الساعة، لكل تطبيق.
    نوع الاستدعاء نقطة النهاية

    GET

    /{business-id}/extendedcredits

    POST

    /{extended-credit-id}/whatsapp_credit_sharing_and_attach

    GET وDELETE

    /{allocation-config-id}

    GET

    /{extended-credit-id}/owning_credit_allocation_configs

    لتجنب الوصول إلى تقييدات معدلات الاستدعاء، نوصي باستخدام webhooks لتتبع تحديثات الحالة لقوالب الرسائل وأرقام الهاتف وحسابات واتساب للأعمال.

    لمزيد من المعلومات حول كيفية الحصول على تقييم الاستخدام الحالي، انظر العناوين.

    العناوين

    تتضمن جميع استجابات API التي تم إجراؤها بواسطة تطبيقك الذي يخضع لتقييد معدلات الاستدعاء من خلال حالة استخدام النشاط التجاري (BUC) عنوان HTTP X-Business-Use-Case-Usage (للإصدار 3.3 والإصدارات الأقدم لاستدعاءات API الإعلانات) وسلسلة بتنسيق JSON توضح الاستخدام الحالي لتقييد معدلات الاستدعاء في التطبيق. ويمكن لهذا العنوان إرجاع 32 كائنًا كحد أقصى ضمن استدعاء واحد.

    محتوى عنوان X-Business-Use-Case-Usage

    رمز الخطأوصف القيمة

    business-id

    يمثل معرف النشاط التجاري المرتبط بالرمز المُستخدم في إجراء استدعاءات API.

    call_count

    عدد صحيح يمثل النسبة المئوية للاستدعاءات المسموح بها التي أجراها تطبيقك خلال إطار زمني يبلغ ساعة واحدة.

    estimated_time_to_regain_access

    يشير إلى الوقت المتبقي، بالدقائق، حتى يتم إنهاء تقييد الاستدعاءات.

    total_cputime

    عدد صحيح يمثل النسبة المئوية لوقت وحدة المعالجة المركزية المخصص لمعالجة الاستعلام.

    total_time

    عدد صحيح يمثل النسبة المئوية لإجمالي الوقت المخصص لمعالجة الاستعلام.

    type

    يمثل نوع تقييد معدلات الاستدعاء المُستخدم. يمكن أن تكون القيمة واحدة مما يلي: ads_insights أو ads_management أو custom_audience أو instagram أو leadgen أو messenger أو pages.

    ads_api_access_tier

    للنوعين ads_insights وads_management فقط. المستويات التي تسمح لتطبيقك بالوصول إلى API التسويق. بشكل افتراضي، تتواجد التطبيقات في مستوى development_access ويعمل Standard_access على تمكين تقييد معدلات الاستدعاء الأقل. للحصول على تقييد معدلات الاستدعاء الأعلى والحصول على المستوى القياسي، يمكنك تقديم طلب "للوصول المتقدم" إلى ميزة الوصول القياسي لإدارة الإعلانات.

    إجمالي وقت وحدة المعالجة المركزية

    مقدار الوقت الذي تستغرقه وحدة المعالجة المركزية (CPU) لمعالجة الطلب. وعندما يصل إجمالي total_cputime إلى 100، قد يتم تقييد الاستدعاءات.

    إجمالي الوقت

    المدة الزمنية التي تستغرقها عملية معالجة الطلب. وعندما يصل إجمالي total_time إلى 100، قد يتم تقييد الاستدعاءات.

    مستوى الوصول إلى API الإعلانات

    للنوعين ads_insights وads_management فقط. المستويات التي تسمح لتطبيقك بالوصول إلى API التسويق. بشكل افتراضي، تتواجد التطبيقات في مستوى development_access ويعمل Standard_access على تمكين تقييد معدلات الاستدعاء الأقل. للحصول على تقييد معدلات الاستدعاء الأعلى والحصول على المستوى القياسي، يمكنك تقديم طلب "للوصول المتقدم" إلى ميزة الوصول القياسي لإدارة الإعلانات.

    عينة من قيمة عنوان X-Business-Use-Case-Usage

    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
            }
        ],
    ...
    }

    رموز الأخطاء

    عندما يصل تطبيقك إلى الحد الأقصى لتقييد معدلات الاستدعاء لحالة استخدام النشاط التجاري، ستفشل الطلبات اللاحقة التي أجراها تطبيقك وستستجيب API برمز خطأ.

    رمز الخطأنوع تقييد معدلات الاستدعاء لحالة استخدام النشاط التجاري (BUC)

    error code 80000, error subcode 2446079

    رؤى الإعلانات

    error code 80004, error subcode 2446079

    إدارة الإعلانات

    error code 80003, error subcode 2446079

    الجمهور المخصص

    error code 80002

    Instagram

    error code 80005

    LeadGen

    error code 80006

    Messenger

    error code 32

    استدعاءات الصفحة التي تم إجراؤها باستخدام رمز وصول المستخدم

    error code 80001

    استدعاءات الصفحة التي تم إجراؤها باستخدام رمز وصول الصفحة أو رمز وصول مستخدم النظام

    error code 17, error subcode 2446079

    الإصدار 3.3 والإصدارات الأقدم لواجهات API الإعلانات باستثناء رؤى الإعلانات

    error code 80008

    API إدارة حساب واتساب للأعمال

    error code 80014

    تجميع الكتالوج

    error code 80009

    إدارة الكتالوج

    عينة من رسالة رمز الخطأ

    {   
    "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"   
        }
    }

    أفضل الممارسات

    • عند الوصول إلى الحد الأقصى للتقييد، توقف عن إجراء استدعاءات API. علمًا بأن متابعة إجراء الاستدعاءات ستستمر في زيادة عدد مرات الاستدعاء مما سيؤدي إلى زيادة الوقت اللازم قبل إجراء الاستدعاءات بنجاح مرة أخرى.
    • التحقق من عنوان HTTP X-Business-Use-Case-Usage للتعرف على مدى اقتراب حسابك الإعلاني من التقييد المحدد له ومتى يمكنك استئناف إجراء الاستدعاءات.
    • التحقق من صحة رمز الخطأ ونقطة نهاية API لتأكيد نوع التقييد.
    • التبديل إلى الحسابات الإعلانية الأخرى والعودة إلى هذا الحساب لاحقًا.
    • يفضل إنشاء إعلان جديد بدلاً من تغيير الإعلانات الموجودة.
    • توزيع الاستعلامات بالتساوي بين فترتين زمنيتين لتجنب إرسال حركة البيانات في فترات زمنية متصاعدة.
    • استخدام الفلاتر لتقييد حجم استجابة البيانات، وتجنب استخدام الاستدعاءات التي تتطلب بيانات متداخلة.

    الأسئلة المتكررة

    ما الذي نعتبره استدعاءً لواجهة API؟

    يتم احتساب جميع الاستدعاءات ضمن تقييدات معدلات الاستدعاء، وليس وفقًا لطلبات API الفردية فقط. فعلى سبيل المثال، يمكنك إجراء طلب API فردي مع تحديد عدة معرفات، ولكن يتم احتساب كل معرف على أنه استدعاء API واحد.

    ويوضح الجدول التالي هذا المفهوم.

    مثال على الطلب (الطلبات) عدد استدعاءات API

    GET https://graph.facebook.com/photos?ids=4

    GET https://graph.facebook.com/photos?ids=5

    GET https://graph.facebook.com/photos?ids=6

    3

    GET https://graph.facebook.com/photos?ids=4,5,6

    3

    نوصي بشدة بتحديد عدة معرفات ضمن طلب API واحد إن أمكن حيث يحسّن ذلك من أداء استجابات API لديك.

    أقوم الآن بإنشاء أداة استخلاص بيانات، فهل يوجد أمر آخر يتعين عليّ مراعاته؟

    إذا كنت تعمل على إنشاء خدمة تستخلص البيانات، فيرجى قراءة شروط استخلاص البيانات التي نوفرها.