বেশিরভাগ রিসোর্স Mutate
পদ্ধতি ব্যবহার করে পরিবর্তন (তৈরি, আপডেট বা সরিয়ে দেওয়া) করা হয়। Mutate পদ্ধতিটি HTTP POST হিসেবে রিসোর্স-নির্দিষ্ট URL-এ কল করা হয় যা রিসোর্স-নাম প্যাটার্নের সাথে মেলে, তবে শেষে রিসোর্স আইডি থাকে না।
পরিবর্তন করা হবে এমন রিসোর্সের আইডি JSON অনুরোধের বডিতে পাঠানো হয়। এর ফলে আপনি একটি API কল পাঠাতে পারবেন যাতে বিভিন্ন রিসোর্সের উপর একাধিক অপারেশন
থাকে।
যেমন, কোনও ক্যাম্পেনের রিসোর্স নাম নিম্নলিখিত ফর্ম্যাট ব্যবহার করে:
customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID
ক্যাম্পেন পরিবর্তন করার জন্য ব্যবহৃত URL পেতে, ট্রেলিং রিসোর্স আইডি বাদ দিন এবং
:mutate যোগ করুন:
https://googleads.googleapis.com/v26/customers/CUSTOMER_ID/campaigns:mutate
Mutate মেসেজে operations অ্যারে সহ টপ-লেভেল JSON অবজেক্ট থাকে
যেটিতে অনেক operation অবজেক্ট থাকতে পারে। প্রতিটি অপারেশন, পরিবর্তে, এগুলির মধ্যে একটি
হতে পারে: create, update, বা remove। শুধুমাত্র এইসব মিউটেট অপারেশন
করা সম্ভব।
POST /v26/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN { "operations": [ ... ] }
বেশিরভাগ পরিষেবা একটি API কলের মধ্যে হাজার হাজার অপারেশন সমর্থন করে। সিস্টেম সীমা নির্দেশিকায় অনুরোধের সাইজের সীমাবদ্ধতা সম্পর্কে বলা আছে।
একটি API অনুরোধের মধ্যে থাকা অপারেশনগুলি ডিফল্টভাবে এক সেট অ্যাকশন হিসেবে কার্যকর করা হয়, যার অর্থ হল সেগুলি হয় সব একসাথে সফল হয় অথবা কোনও একটি অপারেশন ব্যর্থ হলে
পুরো ব্যাচটি ব্যর্থ হয়। কিছু পরিষেবা এই আচরণ পরিবর্তন করতে
partialFailure অ্যাট্রিবিউট
ব্যবহার করে। মিউটেশন অপারেশন সিম্যান্টিক্স সম্পর্কে আরও বিস্তারিত তথ্য পেতে, পরিবর্তনযোগ্য রিসোর্স
দেখুন।
তৈরি করুন
অপারেশন তৈরি করলে নতুন এন্টিটি তৈরি হয় এবং আপনি যে রিসোর্স তৈরি করতে চান তার সম্পূর্ণ JSON রিপ্রেজেন্টেশন অন্তর্ভুক্ত করতে হবে।
POST /v26/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_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 /v26/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN { "operations": [ { "updateMask": "name,status", "update": { "resourceName": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID", "name": "My renamed campaign", "status": "PAUSED", } } ] }
সরান
মুছে দেওয়ার অপারেশন কার্যকরভাবে কোনও অবজেক্ট মুছে দেয়, এর Google Ads স্ট্যাটাসকে
REMOVED হিসেবে সেট করে। শুধু যে resourceName সরাতে হবে সেটিই প্রয়োজন।
POST /v26/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN { "operations": [ { "remove": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID" } ] }