ทรัพยากรส่วนใหญ่มีการแก้ไข (สร้าง อัปเดต หรือลบ) โดยใช้ 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" } ] }