ทรัพยากรส่วนใหญ่มีการแก้ไข (สร้าง อัปเดต หรือนำออก) โดยใช้เมธอด 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
ได้หลายรายการ การดำเนินการแต่ละรายการอาจเป็นอย่างใดอย่างหนึ่งต่อไปนี้ 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 เดียวจะดำเนินการเป็นชุดการดำเนินการชุดเดียวโดยค่าเริ่มต้น ซึ่งหมายความว่าการดำเนินการทั้งหมดสำเร็จร่วมกันหรือทั้งกลุ่มจะล้มเหลวหากการดำเนินการเดียวล้มเหลว บริการบางอย่างรองรับแอตทริบิวต์ 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 ก่อนหน้านี้) แต่ต้องการเปลี่ยนบางช่องเท่านั้น
คุณระบุเพียงชื่อช่องที่จะแก้ไขใน updateMask
และส่งออบเจ็กต์ JSON ทั้งหมดแทนการตัดออบเจ็กต์ 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" } ] }