يتم تعديل معظم الموارد (إنشاءها أو تعديلها أو إزالتها) باستخدام Mutate
طريقة. يتمّ استدعاء طريقة Mutate
كطلب HTTP POST
إلى عنوان URL خاص بالمورد
يتطابق مع نمط اسم المورد، بدون رقم تعريف المورد اللاحق.
بدلاً من ذلك، يتم إرسال أرقام تعريف الموارد التي سيتم تغييرها في ملف طلب JSON
الجسم. يتيح لك ذلك إرسال طلب واحد لواجهة برمجة التطبيقات يحتوي على عمليات متعددة على موارد مختلفة.
على سبيل المثال، يستخدم اسم مورد الحملة التنسيق التالي:
customers/CUSTOMER_ID /campaigns/CAMPAIGN_ID
لاشتقاق عنوان URL المستخدَم لتغيير الحملات، احذف رقم تعريف المورد اللاحق و
أضِف :mutate
:
https://googleads.googleapis.com/v19/customers/CUSTOMER_ID /campaigns:mutate
تحتوي رسالة Mutate
على عنصر JSON من المستوى الأعلى يتضمّن مصفوفة operations
يمكن أن تحتوي على العديد من عناصر operation
. يمكن أن تكون كل عملية بدورها أحد
العمليات التالية: create
أو update
أو remove
. هذه هي عمليات التحوُّل الوحيدة
الممكنة.
POST /v19/customers/CUSTOMER_ID /campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: BearerACCESS_TOKEN developer-token:DEVELOPER_TOKEN { "operations": [ ... ] }
تتيح معظم الخدمات آلاف العمليات في طلب واحد لواجهة برمجة التطبيقات. يوثّق دليل حدود النظامحدود حجم الطلبات.
يتم تنفيذ العمليات ضمن طلب بيانات واحد من واجهة برمجة التطبيقات كمجموعة واحدة من الإجراءات بشكلٍ default، ما يعني أنّه إما أن تنجح جميعها معًا أو تَتعذّر المجموعة بأكملها في حال تعذّر تنفيذ أي عملية واحدة. تتيح بعض الخدمات استخدام سمة
partialFailure
لتغيير هذا السلوك. اطّلِع على تغيير الموارد
لمزيد من المعلومات التفصيلية حول دلالات عملية التغيير.
إنشاء
تُنشئ عمليات الإنشاء كيانات جديدة ويجب أن تتضمّن تمثيلاً كاملاً لملف JSON الموارد التي تريد إنشاؤها.
POST /v19/customers/CUSTOMER_ID /campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: BearerACCESS_TOKEN developer-token:DEVELOPER_TOKEN { "operations": [ { "create": { "name": "An example campaign", "status": "PAUSED", "campaignBudget": "customers/CUSTOMER_ID /campaignBudgets/CAMPAIGN_BUDGET_ID ", "advertisingChannelType": "SEARCH", "networkSettings": { "targetGoogleSearch": true, "targetSearchNetwork": true, "targetContentNetwork": true, "targetPartnerSearchNetwork": false }, "target_spend": {} } } ] }
تعديل
تُجري عمليات التعديل تعديلات متقطعة على مورد حالي. ما عليك سوى تحديد الحقول التي تريد تعديلها.
لتحديد الحقول التي تريد تعديلها، اضبط سمة updateMask
على
قائمة بأسماء الحقول مفصولة بفواصل. يكون ذلك مفيدًا بشكل خاص إذا كان لديك
تمثيل JSON مكتمل لكائن (على سبيل المثال، كما هو
معروض في طلب بيانات سابق من واجهة برمجة التطبيقات)، ولكنك تريد تغيير حقول معيّنة فقط.
بدلاً من إزالة عنصر JSON، يمكنك ببساطة إدراج أسماء الحقول التي سيتم تعديلها في updateMask
وإرسال عنصر JSON بالكامل.
يغيّر المثال أدناه name
وstatus
لحملة حالية تتضمّن
resourceName
المحدّد.
POST /v19/customers/CUSTOMER_ID /campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: BearerACCESS_TOKEN developer-token:DEVELOPER_TOKEN { "operations": [ { "updateMask": "name,status", "update": { "resourceName": "customers/CUSTOMER_ID /campaigns/CAMPAIGN_ID ", "name": "My renamed campaign", "status": "PAUSED", } } ] }
إزالة
تؤدي عمليات الإزالة إلى حذف عنصر بشكلٍ فعّال، مع ضبط حالته في "إعلانات Google" على
REMOVED
. يجب إدخال resourceName
المطلوب إزالته فقط.
POST /v19/customers/CUSTOMER_ID /campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: BearerACCESS_TOKEN developer-token:DEVELOPER_TOKEN { "operations": [ { "remove": "customers/CUSTOMER_ID /campaigns/CAMPAIGN_ID " } ] }