กลายพันธุ์

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

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

customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID

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

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

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

POST /v17/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 เดียวจะดำเนินการเป็นชุดการทำงาน 1 ชุดโดย เริ่มต้น หมายความว่าประสบความสำเร็จพร้อมกัน หรือล้มเหลวทั้งกลุ่ม การดำเนินการอย่างใดอย่างหนึ่งล้มเหลว บริการบางอย่างรองรับ แอตทริบิวต์ของ partialFailure เพื่อเปลี่ยนแปลงลักษณะการทำงานนี้ ดูการเปลี่ยนแปลงทรัพยากร เพื่อดูข้อมูลโดยละเอียดเกี่ยวกับความหมายของการดำเนินการเปลี่ยนแปลง

สร้าง

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

POST /v17/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 ก่อนหน้า) แต่ต้องการเปลี่ยนแปลงเฉพาะบางช่องเท่านั้น แทนที่จะตัดออบเจ็กต์ JSON ให้แสดง ชื่อฟิลด์ที่จะ แก้ไขใน updateMask และส่งออบเจ็กต์ JSON ทั้งหมด

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

POST /v17/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 /v17/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"
    }
  ]
}