שינוי של שירות המשאב

הדרך הכי ישירה ליצור, לעדכן או להסיר ישויות מסוג משאב יחיד ב-Google Ads API היא באמצעות השירות הייעודי של המשאב.

נקודות קצה של שינוי

לכל משאב שניתן לשינוי יש שירות תואם וסוג פעולה. כדי לשנות משאב באמצעות השירות הייעודי שלו, מאכלסים את אחד השדות הבאים בפעולה ושולחים אותה לנקודת הקצה של השירות לשינוי:

  • יצירה (create): אובייקט משאב חדש שרוצים ליצור.
  • עדכון (update): אובייקט המשאב שעבר שינוי, עם update_mask שמציין את השדות ששונו.
  • ‫Remove (הסרה) (remove): מחרוזת resource_name של משאב היעד להסרה.

לדוגמה, כדי ליצור Campaign חדש, מבצעים את השלבים הבאים:

  1. יוצרים אובייקט Campaign עם המאפיינים שבחרתם.
  2. מקצים אותו לשדה create של CampaignOperation.
  3. שולחים את הפעולה ב-MutateCampaignsRequest אל CampaignService.MutateCampaigns.

אותו דפוס חל על כל השירותים הספציפיים למשאבים ב-Google Ads API:

המטען הייעודי (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.