تبديل

يتم تعديل معظم الموارد (إنشاؤها أو تعديلها أو إزالتها) باستخدام Mutate. . يتم استدعاء الإجراء Mutate باعتباره HTTP POST إلى مصدر خاص عنوان URL الذي يطابق نمط اسم المورد، بدون رقم تعريف المورد اللاحق. بدلاً من ذلك، يتم إرسال أرقام تعريف الموارد المطلوب تغييرها في طلب JSON. جسم. يتيح لك هذا إرسال طلب بيانات واحد من واجهة برمجة التطبيقات يحتوي على عمليات متعددة على موارد مختلفة.

على سبيل المثال، يستخدم اسم مورد الحملة التنسيق التالي:

customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID

لاستخراج عنوان URL المستخدم في الحملات المتغيرة، احذف معرّف المورد اللاحق إلحاق :mutate:

https://googleads.googleapis.com/v17/customers/CUSTOMER_ID/campaigns:mutate

تحتوي رسالة Mutate على كائن JSON من المستوى الأعلى يتضمّن مصفوفة operations. التي يمكن أن تحتوي على العديد من كائنات operation. ويمكن أن تكون كل عملية بدورها واحدة من: create، أو update، أو remove. هذا هو التغيير الوحيد المحتمل العمليات التجارية.

POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "operations": [
    ...
  ]
}

تتوافق معظم الخدمات مع آلاف العمليات من خلال طلب بيانات واحد من واجهة برمجة التطبيقات. يتيح لك نظام يوثّق دليل "الحدود" القيود المفروضة على أحجام الطلبات.

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

إنشاء

إنشاء عمليات ينتج عنها كيانات جديدة ويجب أن تتضمن JSON كاملاً للمصدر الذي تنوي إنشاءه.

POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_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 /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_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 /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "operations": [
    {
      "remove": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID"
    }
  ]
}