ওয়েবহুক পরিচালনা করুন

RBM ম্যানেজমেন্ট API-এর মাধ্যমে তৈরি করা সমস্ত এজেন্ট ডিফল্টরূপে নোটিফিকেশনের জন্য একটিমাত্র ওয়েবহুক ব্যবহার করে। এই পার্টনার-স্তরের ওয়েবহুকটি RCS ফর বিজনেস ডেভেলপার কনসোলে কনফিগার করা থাকে এবং এটি আপনার পার্টনার অ্যাকাউন্টের অন্তর্ভুক্ত সমস্ত এজেন্টের জন্য প্রযোজ্য।

বিকল্পভাবে, আপনি এজেন্ট-স্তরের ওয়েবহুক কনফিগার করতে RBM ম্যানেজমেন্ট API ব্যবহার করতে পারেন। যদি আপনি স্বতন্ত্র আচরণসম্পন্ন একাধিক এজেন্ট পরিচালনা করেন, তবে এটি একটি ভালো বিকল্প হতে পারে।

এই পৃষ্ঠার কোড স্নিপেটগুলো জাভা স্যাম্পল এবং নোড.জেএস স্যাম্পল থেকে নেওয়া হয়েছে।

একটি ওয়েবহুক ইন্টিগ্রেশন তৈরি করুন

এজেন্ট ওয়েবহুক ইন্টিগ্রেশন যোগ করতে, প্রথমে আপনার ওয়েবহুকের জন্য URL এবং একটি ভ্যালিডেশন টোকেন নির্ধারণ করুন। তারপর ভ্যালিডেশন ধাপগুলো অনুসরণ করার জন্য ওয়েবহুকটি কনফিগার করুন। কনফিগার করা হয়ে গেলে, URL এবং টোকেন ভ্যালু সহ createWebhookIntegration মেথডটি কল করুন। যদি সেই কলটি সফল হয়, তবে আপনি আগত মেসেজগুলো যাচাই এবং পরিচালনা করার জন্য এগিয়ে যেতে পারেন।

আরও বিস্তারিত জানতে brands.agents.integrations এবং brands.agents.integrations.create দেখুন।

নোড.জেএস

const businessCommunicationsApiHelper =
  require('@google/rbm-businesscommunications');

const privateKey =
  require('../../resources/businesscommunications-service-account-credentials.json');

businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey);

const url = 'https://myrbmserviceendpoint.somewhere.com/callback';

const token = '123456';

businessCommunicationsApiHelper
  .createWebhookIntegration(agent.name, url, token)
  .then((response) => {
    console.log(JSON.stringify(response.data, null, 2));
  }).catch((err) => {
    console.log(err);
  }
);

এই কোডটি নতুন ওয়েবহুক অবজেক্টটি রিটার্ন করে:

{
  "name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_hfaoplpu_agent/integrations/4efdb82f-fd6d-4ba4-8ea3-f2f4a60d1547",
  "status": "ENABLED",
  "agentWebhookIntegration": {
    "webhookUri": "https://myrbmserviceendpoint.somewhere.com/callback"
  }
}

একজন এজেন্টের ওয়েবহুক ইন্টিগ্রেশনগুলি দেখুন

আপনি একজন এজেন্টের অন্তর্গত সমস্ত ওয়েবহুক ইন্টিগ্রেশনের একটি তালিকা পেতে পারেন। বাস্তবে, একজন RBM এজেন্টের কেবল একটিই ওয়েবহুক ইন্টিগ্রেশন থাকে। আরও বিস্তারিত জানতে brands.agents.integrations.list দেখুন।

নোড.জেএস

const businessCommunicationsApiHelper =
  require('@google/rbm-businesscommunications');

const privateKey =
  require('../../resources/businesscommunications-service-account-credentials.json');

businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey);

businessCommunicationsApiHelper
  .listAgentIntegrations(agent.name)
  .then((response) => {
    console.log(JSON.stringify(response.data, null, 2));
    datastore.saveJsonData('integrations', response.data);
  }).catch((err) => {
    console.log(err);
  });

এই কোডটি এজেন্টের ওয়েবহুক ইন্টিগ্রেশনগুলোর একটি তালিকা ফেরত দেয়:

{
  "integrations": [
    {
      "name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_hfaoplpu_agent/integrations/4efdb82f-fd6d-4ba4-8ea3-f2f4a60d1547",
      "status": "ENABLED",
      "agentWebhookIntegration": {
        "webhookUri": "https://myrbmserviceendpoint.somewhere.com/callback"
      }
    }
  ]
}

একটি ইন্টিগ্রেশনের বিবরণ দেখুন

আপনার কাছে কোনো ইন্টিগ্রেশনের রেফারেন্স থাকলে, আপনি ইন্টিগ্রেশনের বিবরণ পুনরুদ্ধার করতে পারবেন। আরও বিস্তারিত জানতে, brands.agents.integrations.get দেখুন।

নোড.জেএস

const businessCommunicationsApiHelper =
  require('@google/rbm-businesscommunications');

const privateKey =
  require('../../resources/businesscommunications-service-account-credentials.json');

businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey);

businessCommunicationsApiHelper
  .getAgentIntegration(integrations.integrations[0].name)
  .then((response) => {
    console.log(JSON.stringify(response.data, null, 2));
  }).catch((err) => {
    console.log(err);
  });

এই কোডটি ওয়েবহুক ইন্টিগ্রেশনের বিবরণ ফেরত দেয়:

{
  "name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_hfaoplpu_agent/integrations/4efdb82f-fd6d-4ba4-8ea3-f2f4a60d1547",
  "status": "ENABLED",
  "agentWebhookIntegration": {
    "webhookUri": "https://myrbmserviceendpoint.somewhere.com/callback"
  }
}

একটি ওয়েবহুক সরান

আপনি কোনো এজেন্টের রেফারেন্স ব্যবহার করে সেখান থেকে একটি ওয়েবহুক মুছে ফেলতে পারেন। আরও বিস্তারিত জানতে brands.agents.integrations.delete দেখুন।

নোড.জেএস

const businessCommunicationsApiHelper =
  require('@google/rbm-businesscommunications');

const privateKey =
  require('../../resources/businesscommunications-service-account-credentials.json');

businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey);

businessCommunicationsApiHelper
  .deleteAgentIntegration(integrations.integrations[0].name)
  .then((response) => {
    console.log(JSON.stringify(response.data, null, 2));
  }).catch((err) => {
    console.log(err);
  });

একটি খালি অবজেক্ট ফেরত দেওয়া হয়:

{}