পরিবর্তন করা

বেশিরভাগ রিসোর্স 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"
    }
  ]
}