רוב המשאבים משתנים (נוצרים, מעודכנים או הוסרו) באמצעות method Mutate
. השיטה Mutate
מופעלת כ-HTTP POST
לכתובת URL ספציפית למשאב, שתואמת לדפוס שם המשאב, ללא מזהה המשאב הסוגר.
המזהים של המשאבים לשינוי נשלחים במקום זאת בגוף הבקשה של JSON. כך אפשר לשלוח קריאה אחת ל-API שמכילה מספר פעולות במשאבים שונים.
לדוגמה, שם המשאב של קמפיין מופיע בפורמט הבא:
customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID
כדי לחלץ את כתובת ה-URL שמשמשת לעריכת שינויים בקמפיינים, משמיטים את מזהה המשאב שמופיע בסוף ומצרפים :mutate
:
https://googleads.googleapis.com/v16/customers/CUSTOMER_ID/campaigns:mutate
הודעת Mutate
מכילה אובייקט JSON ברמה העליונה עם מערך operations
שיכול להכיל אובייקטים רבים של operation
. כל פעולה יכולה להיות אחת מהאפשרויות הבאות: create
, update
או remove
. אלה פעולות השינוי היחידות האפשריות.
POST /v16/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
כדי לשנות את ההתנהגות הזו. מידע מפורט יותר על סמנטיקה של פעולות שינוי זמין במאמר Mutating Resources.
יצירה
פעולות יצירה יוצרות ישויות חדשות ועליהן לכלול ייצוג JSON מלא של המשאב שאתם מתכוונים ליצור.
POST /v16/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 /v16/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 /v16/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" } ] }