الإصدار الحالي من API التسويق هو v21.0
.
تتضمن منصة فيسبوك نموذجًا أساسيًا وموسّعًا لتعيين الإصدارات. عند تعيين الإصدارات في API التسويق، سيتم طرح كل التغييرات العاجلة في إصدار جديد. يمكن أن تتواجد عدة إصدارات من واجهات API التسويق أو مجموعات SDK في وقت واحد مع توفر وظائف مختلفة في كل إصدار.
يجب أن يدرك المطوّرون مسبقًا متى ستتغير API التسويق أو مجموعة SDK. على الرغم من توفر إطار زمني مقداره 90 يومًا لإدخال التغييرات، فإن اختيار طريقة الانتقال إلى الإصدار الجديد وموعده يرجع لك.
عند طرح إصدار جديد من API التسويق، سنستمر في دعم الإصدار السابق من API التسويق لمدة 90 يومًا على الأقل. تتوفر لديك مدة 90 يومًا على الأقل للانتقال إلى الإصدار الجديد. خلال فترة السماح البالغة 90 يومًا، يمكنك استدعاء كل من الإصدار الحالي والإصدار الذي تم إيقاف استخدامه، ولديك فترة سماح مدتها 90 يومًا للانتقال إلى الإصدار الجديد. بعد انتهاء فترة الـ 90 يومًا المحددة، يتوقف الإصدار الذي تم إيقاف استخدامه عن العمل. بمجرد أن يصبح الإصدار غير متوفر، قد تفشل أي استدعاءات يتم إجراؤها لرقم الإصدار هذا أو تتم ترقيتها إلى الإصدار التالي المتوفر.
على سبيل المثال، تم طرح الإصدار 17.0 من API التسويق في 23 مايو 2023، وانتهت صلاحية الإصدار 16.0 من API التسويق في 6 فبراير 2024، ما يوفر 90 يومًا على الأقل للانتقال إلى الإصدار الجديد.
فيما يلي عينة من اليوميات. لاحظ أنه ليس بالضرورة دائمًا أن نطرح إصدارًا جديدًا في نهاية فترة السماح البالغة 90 يومًا من إيقاف استخدام الإصدار السابق. في المثال التالي، تم إيقاف استخدام الإصدار 16.0 قبل فترة من طرح الإصدار 18.0:
بالنسبة لمجموعات SDK، يظل الإصدار دائمًا متوفرًا وذلك لأنها حزمة قابلة للتنزيل، إلا أنه بعد تاريخ انتهاء فترة صلاحيتها، قد تعتمد على واجهات API التسويق أو أساليب لم تعد تعمل بالفعل، ولذلك من المفترض أن تتوقع عدم عمل مجموعة SDK بعد انتهاء فترة صلاحيتها.
تتوفر كل نقاط النهاية في API التسويق من خلال مسار محدد الإصدار. ضع معرف الإصدار في بداية مسار الطلب. على سبيل المثال:
curl -G \
-d "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/v21.0
/me/adaccounts"
يناسب ذلك كل الإصدارات حسب النموذج العام التالي:
https://graph.facebook.com/v{n}/{request-path}
حيث تشير n
إلى الإصدار المطلوب. يمكنك الاطلاع على قائمة كاملة بالإصدارات المتوفرة في سجل التغييرات. توفر جميع مراجع API التسويق لدينا معلومات حسب الإصدار.
لا تختص عمليات الترحيل إلا بسيناريوهات خاصة حيث يلزم فيها إجراء تغييرات لا يمكن أن تدخل في عملية تعيين الإصدارات. غالبًا يكون ذلك في حالة تغيير نموذج البيانات الأساسية. تنطبق عمليات الترحيل على كل الإصدارات.
يتم إدراج عمليات الترحيل التي لا تزال قيد التقدم في صفحة عمليات الترحيل. توفر عمليات الترحيل إطارًا زمنيًا مدته 90 يومًا على الأقل بحيث يجب عليك ترحيل تطبيقك خلاله. بمجرد بدء الإطار الزمني، يصبح سلوك ما بعد الترحيل هو الإعداد الافتراضي للتطبيقات الجديدة. بعد ذلك وعند اكتمال الإطار الزمني المسموح به للترحيل، لن يتوفر سلوك ما قبل الترحيل بعد ذلك مطلقًا.
يمكن إدارة عمليات الترحيل عبر حقل عمليات الترحيل في العقدة /app
:
يمكنك إجراء استدعاء تحديث على عنصر الربط لتنشيط عمليات الترحيل وإلغاء تنشيطها.
يمكنك تنشيط عمليات الترحيل المتوفرة وإلغاء تنشيطها من لوحة معلومات التطبيق ضمن الإعدادات > عمليات الترحيل. يرجى ملاحظة أنه قد لا تتطابق قائمة عمليات الترحيل كما هو موضح في الصورة التالية حيث تختلف عمليات الترحيل المتوفرة باختلاف التطبيقات والأوقات. إذا رأيت Use Graph API v2.0 by default
لترحيل ما، فيختص ذلك بـ Graph API فقط وليس API التسويق.
بدلاً من تنشيط الترحيل من خلال لوحة معلومات التطبيق أو عبر API التسويق، يمكن بدلاً من ذلك إضافة علامة خاصة إلى استدعاءات API التسويق التي تقوم بتعيين الترحيل. تُعرف العلامة باسم migrations_override
وتتطلب منك تحديد فقاعة بلغة JSON تشرح عمليات الترحيل التي تريد تشغيلها أو إيقاف تشغيلها. على سبيل المثال، إذا كنت تقوم بإجراء استدعاء صف، فيمكنك إدخال:
http://graph.facebook.com/path? migrations_override={"migration1":true, "migration2":false}
عند استخدام ذلك، يمكنك استدعاء API التسويق الجديدة من خلال تحديثات العميل بدلاً من الحاجة إلى فرض التحديث على كل القائمين بالاستدعاء بشأن استدعاء API التسويق الجديدة في الوقت نفسه. يمكن الاستفادة من ذلك بشكل كبير أيضًا في تصحيح الأخطاء.
يمكن العثور على أسماء عمليات الترحيل هذه في العقدة /app
المذكورة أعلاه.
نظرًا إلى التناوب السريع لإصدارات API التسويق كل أربعة أشهر تقريبًا، فإننا نحرص على تبسيط عملية الترقية. بدءًا من مايو 2024، سنعمل على تمكين ميزة الترقية التلقائية للإصدار لنقاط نهاية API التسويق التي لم تتأثر بين الإصدارات. هذا يعني أنه بين الإصدار المقرر إيقاف استخدامه والإصدار التالي المتوفر، إذا لم تتأثر نقطة النهاية، فستعمل المنصة على ترقية الاستدعاء إلى الإصدار التالي المتوفر، بدلاً من التسبب في فشل الطلب مباشرةً. تم تصميم هذا التغيير لضمان تجربة API أكثر سلاسة وأكثر كفاءة.
على سبيل المثال، في 14 مايو 2024، سيتم إيقاف استخدام الإصدار 17.0. وفقًا لسجل تغييرات الإصدار 18.0، ستتأثر نقاط النهاية التالية:
POST /act_{ad-account-id}/reachfrequencypredictions
GET /act_{ad-account-id}/reachestimate
GET /act_{ad-account-id}/delivery_estimate
POST /act_{ad-account-id}/adsets
POST /{adset-id}
POST /act_{ad-account-id}/saved_audiences
POST /{saved-audience-id}
POST /act_{ad-account-id}/credit_cards
إذا قام التطبيق باستدعاء POST /{adset-id}
من خلال الإصدار 17.0 بعد إيقاف استخدامه في 14 مايو 2024، فسيفشل طلب API هذا حيث إنه لم يتم تطبيق الترقية التلقائية على نقاط النهاية المتأثرة في الإصدار التالي المتوفر (18.0).
إذا قام التطبيق باستدعاء GET /{ad-account-id}/insights
من خلال الإصدار 17.0 بعد إيقاف استخدامه، فستعمل المنصة على ترقية الاستدعاء إلى الإصدار التالي المتوفر (18.0).
ملاحظة: إذا كان التطبيق يعمل بالفعل على إجراء استدعاءات من خلال إصدارات أحدث من الإصدار 17.0، فمن المفترض ألا يتغير شيء في تاريخ إيقاف استخدام الإصدار.
للتحقق من نقاط النهاية المتأثرة في كل إصدار، يُرجى الرجوع إلى سجل تغييرات API التسويق.
We refer to this as an unversioned call. Unversioned calls are invalid and will fail when made against Marketing API endpoints.
You can call the version of the Marketing API that was the latest available when the app was created, as long as it has not been deprecated. It can also make calls to any newer, undeprecated versions launched after the app is created.
Starting May 14, 2024, if a deprecated version is provided, the platform may upgrade selected endpoints to the next available version instead of failing the request. To learn more about the behavior, refer to Marketing API Auto-version upgrade.
For example:
If an app was not used - to make any Marketing API calls or requests - after being created, it will not have the ability to use those versions if any newer version is launched. Here's another example to explain this:
There are a few differences between how Marketing API and the rest of Graph API. For the details on Platform API versioning, see Graph API, Versioning.
With migrations, you set migration on or off in App Dashboard, as described in the Migrations section. With versioning, we are making Marketing API functionality more transparent by moving the setting into the endpoint:
https://graph.facebook.com/v{n}/{request-path}
You can know what behavior to expect out without having to manually visit your app's migration panel.
The upgrade will apply on any deprecated version to the next available version. This means hypothetically if your app is making calls to v15.0 after v16.0 is deprecated, the call will also be upgraded to v17.0 if the endpoint is not listed as affected endpoint on both v16.0 and v17.0.
No. We highly encourage developers to perform version upgrades before a version gets deprecated for the following reasons
You can look up affected endpoints from Marketing API Changelog.
You can disable the version auto-upgrade via the Marketing API Version setting under Marketing API App Product Page > Settings.
If an API call targets a version that has been deprecated and has been automatically upgraded, an API response header is included for any call that has been auto-upgraded.
Example notification header
X-Ad-Api-Version-Warning: 'X-Ad-Api-Version-Warning: 'The call has been auto-upgraded to vXXX as vXXX has been deprecated''