বেশিরভাগ রিসোর্স একটি Mutate মেথড ব্যবহার করে পরিবর্তন (তৈরি, আপডেট বা অপসারণ) করা হয়। Mutate মেথডটি একটি HTTP POST রিকোয়েস্ট হিসেবে এমন একটি রিসোর্স-নির্দিষ্ট URL-এ পাঠানো হয়, যা রিসোর্স-নেম প্যাটার্নের সাথে মেলে এবং যার শেষে রিসোর্স আইডি থাকে না। যে রিসোর্সগুলো পরিবর্তন করা হবে, সেগুলোর আইডি JSON রিকোয়েস্ট বডিতে পাঠানো হয়। এর ফলে আপনি একটিমাত্র API কলের মাধ্যমে বিভিন্ন রিসোর্সের উপর একাধিক অপারেশন পাঠাতে পারেন।
উদাহরণস্বরূপ, একটি ক্যাম্পেইনের রিসোর্স নামটি নিম্নলিখিত বিন্যাস ব্যবহার করে:
customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID
ক্যাম্পেইন পরিবর্তন করার জন্য ব্যবহৃত URL তৈরি করতে, শেষের রিসোর্স আইডিটি বাদ দিন এবং শেষে :mutate : যোগ করুন।
https://googleads.googleapis.com/v25/customers/CUSTOMER_ID/campaigns:mutate
একটি Mutate মেসেজে একটি টপ-লেভেল JSON অবজেক্ট থাকে, যার মধ্যে একটি operations অ্যারে থাকে এবং এই অ্যারেতে একাধিক operation ' অবজেক্ট থাকতে পারে। প্রতিটি অপারেশন আবার create ', update বা remove এর মধ্যে যেকোনো একটি হতে পারে। এগুলিই একমাত্র সম্ভাব্য মিউটেট অপারেশন।
POST /v25/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": [ ... ] }
বেশিরভাগ পরিষেবা একটিমাত্র এপিআই কলে হাজার হাজার অপারেশন সমর্থন করে। সিস্টেম লিমিটস গাইডটিতে অনুরোধের আকারের সীমাবদ্ধতাগুলো নথিভুক্ত করা আছে।
ডিফল্টরূপে, একটি একক এপিআই অনুরোধের অন্তর্ভুক্ত অপারেশনগুলো এক সেট অ্যাকশন হিসেবে সম্পাদিত হয়, যার অর্থ হলো, হয় সবগুলো একসাথে সফল হয়, অথবা কোনো একটি অপারেশন ব্যর্থ হলে পুরো ব্যাচটিই ব্যর্থ হয়ে যায়। কিছু পরিষেবা এই আচরণ পরিবর্তন করার জন্য একটি partialFailure অ্যাট্রিবিউট সমর্থন করে। মিউটেট অপারেশনের অর্থ সম্পর্কে আরও বিস্তারিত তথ্যের জন্য ‘মিউটেটিং রিসোর্সেস’ দেখুন।
তৈরি করুন
ক্রিয়েট অপারেশন নতুন এনটিটি তৈরি করে এবং এতে আপনি যে রিসোর্সটি তৈরি করতে চান তার একটি সম্পূর্ণ JSON উপস্থাপনা অবশ্যই অন্তর্ভুক্ত থাকতে হবে।
POST /v25/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 অবজেক্টটি পাঠিয়ে দিতে পারেন।
নিম্নলিখিত উদাহরণটি প্রদত্ত resourceName যুক্ত একটি বিদ্যমান ক্যাম্পেইনের name এবং status পরিবর্তন করে।
POST /v25/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", } } ] }
অপসারণ করুন
রিমুভ অপারেশন কার্যকরভাবে একটি অবজেক্ট মুছে ফেলে এবং এর গুগল অ্যাডস স্ট্যাটাসকে 'রিমুভড' ( REMOVED ) এ সেট করে। শুধুমাত্র যে রিসোর্সটি রিমুভ করতে হবে তার ' resourceName প্রয়োজন।
POST /v25/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" } ] }