שינוי משאבים

ב-Google Ads API יש כמה דרכים לשנות משאבים, בהתאם לתרחיש לדוגמה:

  • שינויים בשירות המשאבים: לכל משאב שניתן לשינוי יש שירות ייעודי שמבצע פעולות בסוג המשאב הספציפי הזה. לדוגמה, המשאב Campaign משתמש בנקודת הקצה CampaignService.MutateCampaigns כדי ליצור, לעדכן או להסיר קמפיינים.
  • שינויים בכמות גדולה: נקודת הקצה GoogleAdsService.Mutate כוללת רצף של פעולות שינוי בכמה סוגי משאבים (ופעולות נתמכות כמו הזמנה או הצעת מחיר לקמפיינים) בבקשה סנכרונית אחת.
  • משימות אצווה אסינכרוניות: כשמדובר במוטציות בקנה מידה גדול או בעומסי עבודה ממושכים, BatchJobService מבצע פעולות באופן אסינכרוני בלי להסתכן בזמן קצוב לתפוגה של בקשות סינכרוניות. בניגוד ל-GoogleAdsService.Mutate, BatchJobService תמיד פועל לפי סמנטיקה של כשל חלקי, ולא תומך במצב validate_only או בפעולות (book_campaigns_operation, quote_campaigns_operation). מכיוון שכשל חלקי תמיד פעיל, BatchJobService דוחה פעולות במשאבים שהשירותים הבסיסיים שלהם לא תומכים בכשל חלקי (כמו CustomerOperation, CampaignConversionGoalOperation, ConversionGoalCampaignConfigOperation, CustomConversionGoalOperation ו-CustomerConversionGoalOperation) עם MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE.

היתרונות של שינויים בכמות גדולה

לשימוש ב-GoogleAdsService.Mutate יש את היתרונות הבאים (במאמר שיטות מומלצות לשימוש ב-Mutate מוסבר איך להטמיע את השיטה):

  • פעולות מקובצות בשירותי משאבים שונים: קריאות לשירותי משאבים נפרדים מקבלות רק פעולות לסוג משאב אחד, אבל GoogleAdsService.Mutate מאפשר לשנות כמה סוגי משאבים בקריאה אחת.
  • שמות זמניים של משאבים: אתם יכולים להקצות מזהים של מספרים שלמים שליליים (כמו customers/CUSTOMER_ID/campaigns/-1) לישויות אם חדשות שנוצרו, ולהפנות למזהים הזמניים האלה בפעולות של ישויות צאצא באותה בקשה.

בעזרת היכולות האלה, אתם יכולים להשתמש ב-GoogleAdsService.Mutate כדי ליצור היררכיית קמפיינים שלמה באופן אטומי, כך שכל הפעולות יצליחו או ייכשלו ביחד, או להגדיר את partial_failure כ-true כדי לבצע פעולות תקינות באופן עצמאי.