กลายพันธุ์

ทรัพยากรส่วนใหญ่จะได้รับการแก้ไข (สร้าง อัปเดต หรือนำออก) โดยใช้Mutate เมธอด ระบบจะเรียกใช้เมธอด Mutate เป็น HTTP POST ไปยัง URL เฉพาะทรัพยากร ที่ตรงกับรูปแบบชื่อทรัพยากร โดยไม่มีรหัสทรัพยากรต่อท้าย ระบบจะส่งรหัสของทรัพยากรที่จะเปลี่ยนแปลงในเนื้อหาคำขอ JSON แทน ซึ่งช่วยให้คุณส่งการเรียก API เดียวที่มีการดำเนินการหลายอย่างใน ทรัพยากรต่างๆ ได้

เช่น ชื่อทรัพยากรของแคมเปญใช้รูปแบบต่อไปนี้

customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID

หากต้องการรับ URL ที่ใช้ในการเปลี่ยนแปลงแคมเปญ ให้ละเว้นรหัสทรัพยากรต่อท้ายและ ต่อท้ายด้วย :mutate

https://googleads.googleapis.com/v22/customers/CUSTOMER_ID/campaigns:mutate

ข้อความ Mutate มีออบเจ็กต์ JSON ระดับบนสุดที่มีอาร์เรย์ operations ซึ่งมีออบเจ็กต์ operation จำนวนมากได้ การดำเนินการแต่ละอย่างอาจเป็นอย่างใดอย่างหนึ่งต่อไปนี้ create, update หรือ remove ซึ่งเป็นการดำเนินการ mutate ที่เป็นไปได้เพียงอย่างเดียว

POST /v22/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "operations": [
    ...
  ]
}

บริการส่วนใหญ่รองรับการดำเนินการหลายพันรายการในการเรียก API ครั้งเดียว คู่มือขีดจำกัดของระบบจะบันทึกข้อจำกัดเกี่ยวกับขนาดคำขอ

การดำเนินการภายในคำขอ API เดียวจะดำเนินการเป็นชุดการดำเนินการเดียวโดยค่าเริ่มต้น ซึ่งหมายความว่าการดำเนินการทั้งหมดจะสำเร็จพร้อมกัน หรือทั้งชุดจะล้มเหลวหากการดำเนินการใดการดำเนินการหนึ่งล้มเหลว บางบริการรองรับแอตทริบิวต์ partialFailure เพื่อเปลี่ยนลักษณะการทำงานนี้ ดูข้อมูลเพิ่มเติมเกี่ยวกับความหมายของการดำเนินการเปลี่ยนแปลงได้ที่การเปลี่ยนแปลงทรัพยากร

สร้าง

การดำเนินการสร้างจะสร้างเอนทิตีใหม่และต้องมีรูปแบบ JSON แบบเต็มของทรัพยากรที่คุณต้องการสร้าง

POST /v22/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "operations": [
    {
    "create": {
        "name": "An example campaign",
        "status": "PAUSED",
        "campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/CAMPAIGN_BUDGET_ID",
        "advertisingChannelType": "SEARCH",
        "networkSettings": {
          "targetGoogleSearch": true,
          "targetSearchNetwork": true,
          "targetContentNetwork": true,
          "targetPartnerSearchNetwork": false
        },
        "target_spend": {}
      }
    }
  ]
}

อัปเดต

การดำเนินการอัปเดตจะอัปเดตแบบกระจัดกระจายกับทรัพยากรที่มีอยู่ คุณเพียงแค่ต้องระบุช่องที่ต้องการแก้ไข

หากต้องการระบุช่องที่ต้องการอัปเดต ให้ตั้งค่าแอตทริบิวต์ updateMask เป็น รายการชื่อช่องที่คั่นด้วยคอมมา ซึ่งจะมีประโยชน์อย่างยิ่งหากคุณมีรูปแบบ JSON ของออบเจ็กต์ที่สมบูรณ์อยู่แล้ว (เช่น ที่ได้จากการเรียก API ก่อนหน้า) แต่ต้องการเปลี่ยนเฉพาะบางฟิลด์ คุณเพียงแค่แสดงชื่อฟิลด์ที่จะ แก้ไขใน updateMask และส่งออบเจ็กต์ JSON ทั้งหมดแทนที่จะตัดออบเจ็กต์ JSON

ตัวอย่างต่อไปนี้จะเปลี่ยน name และ status ของแคมเปญที่มีอยู่ ซึ่งมี resourceName ที่ระบุ

POST /v22/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "operations": [
    {
      "updateMask": "name,status",
      "update": {
        "resourceName": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID",
        "name": "My renamed campaign",
        "status": "PAUSED",
      }
    }
  ]
}

นำออก

การดำเนินการนำออกจะลบออบเจ็กต์อย่างมีประสิทธิภาพ โดยตั้งค่าสถานะ Google Ads เป็น REMOVED โดยคุณต้องระบุเฉพาะ resourceName ที่ต้องการนำออกเท่านั้น

POST /v22/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "operations": [
    {
      "remove": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID"
    }
  ]
}