השימוש בשירות הייעודי של משאב הוא הדרך הישירה ביותר ליצור, לעדכן או להסיר ישויות של סוג משאב יחיד ב-Google Ads API.
נקודות קצה (endpoints) לשינוי נתונים
לכל משאב שניתן לשינוי יש שירות וסוג פעולה תואמים. כדי לשנות משאב באמצעות השירות הייעודי שלו, מאכלסים את אחד מהשדות הבאים בפעולה ושולחים אותה לנקודת הקצה (endpoint) של השירות:
- Create (
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) הבא של REST JSON ממחיש בקשה אל 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יחיד.