שינוי

רוב המשאבים משתנים (נוצרים, מעודכנים או הוסרו) באמצעות method Mutate. ה-method Mutate מופעלת כ-HTTP POST לכתובת URL ספציפית למשאב שתואמת לתבנית של שם המשאב, ללא מזהה המשאב בסוף. המזהים של המשאבים שצריך לבצע בהם שינוי נשלחים בגוף הבקשה ב-JSON. כך אפשר לשלוח קריאה אחת ל-API שכוללת כמה פעולות על משאבים שונים.

לדוגמה, שם המשאב של הקמפיין בפורמט הבא:

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": [
    ...
  ]
}

רוב השירותים תומכים באלפי פעולות בקריאה אחת ל-API. במדריך מגבלות מערכת מפורטות המגבלות על גודל הבקשות.

פעולות בבקשת API אחת מבוצעות כברירת מחדל כקבוצת פעולות אחת, כלומר כל הפעולות מצליחות יחד או שכל הפעולה באצווה נכשלת אם פעולה אחת תיכשל. בשירותים מסוימים יש תמיכה במאפיין 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 בפורמט מלא (למשל, כאשר האובייקט מוחזר על ידי קריאה קודמת ל-API), אבל אתם רוצים לשנות רק שדות מסוימים. במקום לקצץ את אובייקט ה-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 Ads ל-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"
    }
  ]
}