Google Ads API מספק כמה דרכים לשינוי משאבים, בהתאם לתרחיש השימוש:
- Resource service mutates: לכל משאב שניתן לשינוי יש שירות ייעודי שמבצע פעולות עבור סוג המשאב הספציפי הזה. לדוגמה, משאב
Campaignמשתמש בנקודת הקצהCampaignService.MutateCampaignsליצירה, לעדכון או להסרה של קמפיינים. - שינויים בכמות גדולה: נקודת הקצה
GoogleAdsService.Mutateעוטפת רצף של פעולות שינוי בכמה סוגי משאבים (ופעולות נתמכות כמו הזמנה או קמפיינים של הצעות מחיר) בבקשה סינכרונית אחת. - פעולות אסינכרוניות של משימות בכמות גדולה: לשינויים בהיקף גדול או לעומסי עבודה ממושכים,
BatchJobServiceמבצע פעולות באופן אסינכרוני בלי סיכון של פסק זמן לבקשות סינכרוניות. בניגוד ל-GoogleAdsService.Mutate, הפעולהBatchJobServiceתמיד מבוצעת לפי סמנטיקה של כשל חלקי, ולא תומכת במצבvalidate_onlyאו בפעולות מסוג action (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 כדי לבצע פעולות תקינות באופן עצמאי.