הדרך הכי ישירה ליצור, לעדכן או להסיר ישויות מסוג משאב יחיד ב-Google Ads API היא באמצעות השירות הייעודי של המשאב.
נקודות קצה של שינוי
לכל משאב שניתן לשינוי יש שירות תואם וסוג פעולה. כדי לשנות משאב באמצעות השירות הייעודי שלו, מאכלסים את אחד השדות הבאים בפעולה ושולחים אותה לנקודת הקצה של השירות לשינוי:
- יצירה (
create): אובייקט משאב חדש שרוצים ליצור. - עדכון (
update): אובייקט המשאב שעבר שינוי, עםupdate_maskשמציין את השדות ששונו. - Remove (הסרה) (
remove): מחרוזתresource_nameשל משאב היעד להסרה.
לדוגמה, כדי ליצור Campaign חדש, מבצעים את השלבים הבאים:
- יוצרים אובייקט
Campaignעם המאפיינים שבחרתם. - מקצים אותו לשדה
createשלCampaignOperation. - שולחים את הפעולה ב-
MutateCampaignsRequestאלCampaignService.MutateCampaigns.
אותו דפוס חל על כל השירותים הספציפיים למשאבים ב-Google Ads API:
-
AdGroup: העברתAdGroupOperationאלAdGroupService.MutateAdGroups. -
CampaignCriterion: העברתCampaignCriterionOperationאלCampaignCriterionService.MutateCampaignCriteria.
המטען הייעודי (payload) הבא של JSON ב-REST ממחיש בקשה אל CampaignService.MutateCampaigns:
{
"customerId": "CUSTOMER_ID",
"operations": [
{
"create": {
"name": "Interplanetary Cruise #1",
"advertisingChannelType": "SEARCH",
"status": "PAUSED",
"manualCpc": {},
"campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/BUDGET_ID",
"containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
}
}
],
"partialFailure": false,
"validateOnly": false
}
פעולות מרובות ומגבלות
רוב בקשות השינוי הספציפיות למשאבים מקבלות שדה operations שחוזר על עצמו, כך שבקשה אחת יכולה להכיל כמה פעולות עבור סוג המשאב הזה (עד 10,000 פעולות לכל בקשה, או 20,000 עבור AdGroupCriterionService.MutateAdGroupCriteria; CustomerService.MutateCustomer מקבל שדה operation יחיד). כברירת מחדל, כל הפעולות בבקשה מבוצעות באופן אטומי, אלא אם השירות תומך ב-partial_failure והגדרתם אותו ל-true.
עם זאת, לשירותי משאבים נפרדים יש שתי מגבלות חשובות:
- סוג משאב יחיד: בקשה לשירות משאבים יכולה לשנות רק משאבים שמנוהלים על ידי השירות הספציפי הזה.
- אין מזהים זמניים חוצי-משאבים: מכיוון שקריאת mutate ספציפית למשאב מקבלת רק סוג משאב אחד, אי אפשר להקצות מזהה שלילי זמני למשאב אב (כמו
customers/CUSTOMER_ID/campaigns/-1) ולהפנות אליו ממקור משאב צאצא מסוג אחר (כמוAdGroup) באותה בקשה. (מזהים זמניים עם הפניה עצמית באותו סוג משאב נתמכים עבור עצים היררכיים, כמו קבוצות של רשימותAdGroupCriterionוצמתיםAssetGroupListingGroupFilter).
אם אתם צריכים לשנות כמה סוגים של משאבים בבקשה אחת או להפנות לשמות זמניים של משאבים בכמה סוגים שונים של משאבים, אתם צריכים להשתמש ב-GoogleAdsService.Mutate.
הבדלים שספציפיים לגרסה
כשמשנים משאבים, חשוב לזכור את ההבדל הבא בין הגרסאות הנתמכות של Google Ads API:
- שירותים של יעדים שקשורים למחזור החיים של הלקוחות: שינויים ביעדים של שימור לקוחות מתבצעים בכל הגרסאות הנתמכות באמצעות
GoalService.MutateGoals(retention_goal_settings) ו-CampaignGoalConfigService.MutateCampaignGoalConfigs(campaign_retention_settings) באמצעות שדהoperationsחוזר רגיל. בגרסה 25 ואילך, גם היעדים 'צירוף לקוחות חדשים' (new_customer_acquisition_goal_settings/campaign_new_customer_acquisition_settings) ו'שימור חברי מועדון' (loyalty_retention_goal_settings/campaign_loyalty_retention_settings) עוברים שינוי באמצעותGoalService.MutateGoalsו-CampaignGoalConfigService.MutateCampaignGoalConfigs. התג הזה מחליף את התגיםCustomerLifecycleGoalService.ConfigureCustomerLifecycleGoalsו-CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals, שמשמשים לצירוף לקוחות חדשים בגרסאות v23 ו-v24 ומקבלים שדה יחיד שלoperation.