ทรัพยากรส่วนใหญ่จะได้รับการแก้ไข (สร้าง อัปเดต หรือนำออก) โดยใช้Mutate
เมธอด ระบบจะเรียกใช้เมธอด Mutate
เป็น HTTP POST
ไปยัง URL เฉพาะทรัพยากร
ที่ตรงกับรูปแบบชื่อทรัพยากร โดยไม่มีรหัสทรัพยากรต่อท้าย
ระบบจะส่งรหัสของทรัพยากรที่จะเปลี่ยนแปลงในเนื้อหาคำขอ JSON แทน
ซึ่งช่วยให้คุณส่งการเรียก API เดียวที่มีการดำเนินการหลายอย่างใน
ทรัพยากรต่างๆ ได้
เช่น ชื่อทรัพยากรของแคมเปญใช้รูปแบบต่อไปนี้
customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID
หากต้องการรับ URL ที่ใช้ในการเปลี่ยนแปลงแคมเปญ ให้ละเว้นรหัสทรัพยากรต่อท้ายและ
ต่อท้าย :mutate
:
https://googleads.googleapis.com/v21/customers/CUSTOMER_ID/campaigns:mutate
ข้อความ Mutate
มีออบเจ็กต์ JSON ระดับบนสุดที่มีอาร์เรย์ operations
ซึ่งมีออบเจ็กต์ operation
จำนวนมากได้ การดำเนินการแต่ละอย่างอาจเป็นอย่างใดอย่างหนึ่งต่อไปนี้ create
, update
หรือ remove
ซึ่งเป็นการดำเนินการ mutate
ที่เป็นไปได้เพียงอย่างเดียว
POST /v21/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 /v21/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 /v21/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 /v21/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" } ] }