บริการทรัพยากรเปลี่ยนแปลง

การใช้บริการเฉพาะของทรัพยากรเป็นวิธีที่ตรงที่สุดในการสร้าง อัปเดต หรือนำเอนทิตีของทรัพยากรประเภทเดียวใน Google Ads API ออก

ปลายทางการเปลี่ยนแปลง

ทรัพยากรที่เปลี่ยนแปลงได้แต่ละรายการจะมีบริการและประเภทการดำเนินการที่เกี่ยวข้อง หากต้องการเปลี่ยนแปลง ทรัพยากรโดยใช้บริการเฉพาะของทรัพยากรนั้น ให้ป้อนข้อมูลในช่องใดช่องหนึ่งต่อไปนี้ใน การดำเนินการ แล้วส่งไปยังปลายทางการเปลี่ยนแปลงของบริการ

  • สร้าง (create): ออบเจ็กต์ทรัพยากรใหม่ที่จะสร้าง
  • อัปเดต (update): ออบเจ็กต์ทรัพยากรที่แก้ไข พร้อมด้วย update_mask ที่ระบุฟิลด์ที่เปลี่ยนแปลง
  • นำออก (remove): สตริง resource_name ของทรัพยากรเป้าหมายที่จะ นำออก

เช่น หากต้องการสร้าง Campaign ใหม่ ให้ทำตามขั้นตอนต่อไปนี้

  1. สร้างออบเจ็กต์ Campaign ด้วยแอตทริบิวต์ที่คุณเลือก
  2. กำหนดให้กับฟิลด์ create ของ CampaignOperation
  3. ส่งการดำเนินการใน MutateCampaignsRequest ไปยัง CampaignService.MutateCampaigns

รูปแบบเดียวกันนี้ใช้กับบริการเฉพาะทรัพยากรทั้งหมดใน Google Ads API ดังนี้

เพย์โหลด 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 รายการต่อคำขอ) สำหรับประเภททรัพยากรนั้น โดยค่าเริ่มต้น การดำเนินการทั้งหมดในคำขอจะดำเนินการแบบอะตอม เว้นแต่คุณจะตั้งค่า partial_failure เป็น true

อย่างไรก็ตาม บริการทรัพยากรแต่ละรายการมีข้อจำกัดที่สำคัญ 2 ประการดังนี้

  • ประเภททรัพยากรเดียว: คำขอไปยังบริการทรัพยากรจะเปลี่ยนแปลงได้เฉพาะ ทรัพยากรที่จัดการโดยบริการนั้นๆ
  • ไม่มีรหัสทรัพยากรชั่วคราวหรือการอ้างอิงโยง: การดำเนินการในการเรียกใช้ mutate ที่เฉพาะเจาะจงทรัพยากรจะได้รับการประมวลผลโดยอิสระ คุณไม่สามารถกําหนดรหัสลบชั่วคราว (เช่น customers/CUSTOMER_ID/campaigns/-1) หรือ อ้างอิงเอนทิตีที่สร้างขึ้นใหม่จากการดําเนินการอื่นๆ ในคําขอเดียวกันได้

หากต้องการเปลี่ยนแปลงทรัพยากรหลายประเภทในคำขอเดียวหรืออ้างอิงชื่อทรัพยากรชั่วคราวในการดำเนินการที่ขึ้นต่อกัน ให้ใช้ GoogleAdsService.Mutate แทน

ความแตกต่างเฉพาะเวอร์ชัน

โปรดคำนึงถึงความแตกต่างต่อไปนี้ใน Google Ads API เวอร์ชันที่รองรับเมื่อ เปลี่ยนแปลงทรัพยากร

  • บริการเป้าหมายวงจรลูกค้า: ใน v25 ขึ้นไป เป้าหมายวงจรลูกค้าทั้งหมด ซึ่งรวมถึง การได้ลูกค้าใหม่ (new_customer_acquisition_goal_settings) การรักษาลูกค้า (retention_goal_settings) และการรักษาความภักดี (loyalty_retention_goal_settings) จะได้รับการเปลี่ยนแปลงผ่าน GoalService.MutateGoals และ CampaignGoalConfigService.MutateCampaignGoalConfigs โดยใช้ฟิลด์ operations ที่ทำซ้ำมาตรฐาน ซึ่งจะแทนที่ CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals และ CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals (ซึ่งใช้สำหรับการได้ลูกค้าใหม่ใน v24 และเวอร์ชันก่อนหน้า และยอมรับฟิลด์ operation เดียว)
  • ฟิลด์วันที่และเวลาของแคมเปญ: เมื่อสร้างหรืออัปเดต Campaign v23 ขึ้นไปจะใช้ start_date_time และ end_date_time (yyyy-MM-dd HH:mm:ss) แทนฟิลด์วันที่เท่านั้น start_date และ end_date ที่ใช้ใน v22
  • ความสามารถในการเปลี่ยนแปลงการรับรองเนื้อหาสังเคราะห์: แม้ว่า Asset.synthetic_content_info และ Ad.synthetic_content_info จะปรากฏใน สคีมาสำหรับ v22 ขึ้นไป แต่ฟิลด์ synthetic_content_info.advertiser_attestation.status และ synthetic_content_info.advertiser_attestation.source จะ เปลี่ยนแปลงได้ใน v23 ขึ้นไปเท่านั้น (system_attestation จะเป็น OUTPUT_ONLY เสมอ) การพยายามเปลี่ยนแปลงฟิลด์ย่อย advertiser_attestation ใน v22 จะทำให้เกิดข้อผิดพลาดเกี่ยวกับฟิลด์ที่เปลี่ยนแปลงไม่ได้ ("The field attempted to be mutated is immutable" หรือ "Field cannot be set")