RBM Operations API দিয়ে এজেন্টদের পরিচালনা করুন

ক্যারিয়ারের জন্য মূল RBM ওয়ার্কফ্লোতে নতুন এজেন্টদের সম্পর্কে তথ্য পর্যালোচনা করা এবং ক্যারিয়ারের নেটওয়ার্কে লঞ্চ করার অনুমতি এবং তাদের গ্রাহকদের বার্তা পাঠানোর অনুমোদন বা অস্বীকার করা অন্তর্ভুক্ত।

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

একটি ক্যারিয়ারে জমা দেওয়া সমস্ত এজেন্টদের তালিকা করুন

ক্যারিয়ার নেটওয়ার্কে লঞ্চের জন্য ডেভেলপাররা যে সমস্ত এজেন্ট জমা দিয়েছে তার একটি তালিকা ক্যারিয়ারটি পেতে পারে।

Node.js

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

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

businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey);

// Retrieve all agents targeting the carrier
businessCommunicationsApiHelper.listAgents('brands/-').then((response) => {
  console.log('Current agents are:');
  console.log(JSON.stringify(response.data, null, 2));
}).catch((err) => {
  console.log(err);
});

cURL

curl -v "https://businesscommunications.googleapis.com/v1/brands/-/agents" \
  -H "Content-Type: application/json" \
  -H "User-Agent: curl/business-messaging" \
  -H "`oauth2l header --json serviceAccount.json businesscommunications`"

ব্র্যান্ডটি সেট করা হয়েছে - যেহেতু সমস্ত এজেন্টের তালিকা পুনরুদ্ধার করার সময় এটির প্রয়োজন নেই৷

এই কোডটি ক্যারিয়ারে লঞ্চের জন্য জমা দেওয়া সমস্ত এজেন্টের একটি তালিকা প্রদান করে:

{
  "agents": [
    {
      "name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_4fpd1psz_agent",
      "displayName": "My new agent",
      "rcsBusinessMessagingAgent": {
        "description": "This is the agent description that will be displayed in the Agent info tab in Messages",
        "logoUri": "https://agent-logos.storage.googleapis.com/_/kt90w53vzw2QSxK6PG1uCeJf",
        "heroUri": "https://agent-logos.storage.googleapis.com/_/kt90vzob74GQcfeHoEQbVRTP",
        "phoneNumbers": [
          {
            "phoneNumber": {
              "number": "+12223334444"
            },
            "label": "Call support"
          }
        ],
        "privacy": {
          "uri": "https://policies.google.com/privacy",
          "label": "Our privacy policy"
        },
        "termsConditions": {
          "uri": "https://policies.google.com/terms",
          "label": "Our Terms and Conditions"
        },
        "color": "#0B78D0",
        "billingConfig": {
          "billingCategory": "BASIC_MESSAGE"
        },
        "agentUseCase": "MULTI_USE",
        "hostingRegion": "NORTH_AMERICA"
      }
    },
    {
      "name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_7jo0trhw_agent",
      "displayName": "My second agent",
      "rcsBusinessMessagingAgent": {
        "description": "Another agent description",
        "logoUri": "https://agent-logos.storage.googleapis.com/_/kt90w53vzw2QSxK6PG1uCeJf",
        "heroUri": "https://agent-logos.storage.googleapis.com/_/kt90vzob74GQcfeHoEQbVRTP",
        "phoneNumbers": [
          {
            "phoneNumber": {
              "number": "+12228885768"
            },
            "label": "Call support"
          }
        ],
        "privacy": {
          "uri": "https://policies.google.com/privacy",
          "label": "Our privacy policy"
        },
        "termsConditions": {
          "uri": "https://policies.google.com/terms",
          "label": "Our Terms and Conditions"
        },
        "color": "#0B78D0",
        "billingConfig": {
          "billingCategory": "CONVERSATIONAL_LEGACY"
        },
        "agentUseCase": "PROMOTIONAL",
        "hostingRegion": "NORTH_AMERICA"
      }
    }
  ]
}

ফলাফল একবারে একটি পৃষ্ঠা পুনরুদ্ধার করা যেতে পারে। বিস্তারিত জানার জন্য API রেফারেন্স দেখুন।

এজেন্ট লঞ্চ অবস্থা এবং প্রশ্নাবলী পান

ক্যারিয়ার একটি এজেন্টের বর্তমান লঞ্চ অবস্থা এবং বিকাশকারী লঞ্চ প্রশ্নাবলী পেতে পারে।

Node.js

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

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

businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey);

businessCommunicationsApiHelper.getAgentLaunch(agents[0].name).then((response) => {
  console.log('Launch details are:');
  console.log(JSON.stringify(response.data, null, 2));
}).catch((err) => {
  console.log(err);
});

cURL

curl -v "https://businesscommunications.googleapis.com/v1/brands/-/agents/AGENT ID/launch" \
  -H "Content-Type: application/json" \
  -H "User-Agent: curl/business-messaging" \
  -H "`oauth2l header --json serviceAccount.json businesscommunications`"

কলার অগত্যা ব্র্যান্ড নাম সহ সম্পূর্ণ এজেন্ট নাম প্রয়োজন হয় না। শুধুমাত্র এজেন্ট আইডি ( @rbm.goog এর আগে) প্রয়োজন, যেখানে ব্র্যান্ড নাম সেট করা আছে -

এই কোডটি লঞ্চের তথ্য প্রদান করে:

{
  "name": "brands/8b5c7f80-b025-486b-bc8a-2d0797559711/agents/my-agent-demo/launch",
  "rcsBusinessMessaging": {
    "questionnaire": {
      "contacts": [
        {
          "name": "John Doe",
          "title": "Mr",
          "email": "johndoe@developer.com"
        }
      ],
      "optinDescription": "Messages are sent to known MSISDNs",
      "triggerDescription": "We respond to any interaction",
      "interactionsDescription": "Simple conversations with a chatbot",
      "optoutDescription": "User sends stop"
    },
    "launchDetails": {
      "/v1/regions/thecarrier": {
        "launchState": "LAUNCH_STATE_LAUNCHED",
        "updateTime": "2023-02-20T15:10:36.528669Z"
      }
    }
  }
}

একটি এজেন্ট সংজ্ঞা পুনরুদ্ধার করুন

আপনি একটি এজেন্টের অনন্য শনাক্তকারী ( name ) ব্যবহার করে তার তথ্য পুনরুদ্ধার করতে পারেন।

Node.js

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

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

businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey);

businessCommunicationsApiHelper.getAgent(agent[0].name).then((response) => {
  console.log('Agent details are:');
  console.log(JSON.stringify(response.data, null, 2));
}).catch((err) => {
  console.log(err);
});

cURL

curl -v "https://businesscommunications.googleapis.com/v1/brands/-/agents/AGENT ID" \
  -H "Content-Type: application/json" \
  -H "User-Agent: curl/business-messaging" \
  -H "`oauth2l header --json serviceAccount.json businesscommunications`"

কলার অগত্যা ব্র্যান্ড নাম সহ সম্পূর্ণ এজেন্ট নামের প্রয়োজন নেই৷ শুধুমাত্র এজেন্ট আইডি ( @rbm.goog এর আগে) প্রয়োজন, যেখানে ব্র্যান্ড নাম সেট করা আছে -

এই কোড এজেন্ট তথ্য প্রদান করে:

{
  "name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_4fpd1psz_agent",
  "displayName": "My new agent",
  "rcsBusinessMessagingAgent": {
    "description": "This is the agent description that will be displayed in the Agent info tab in Messages",
    "logoUri": "https://agent-logos.storage.googleapis.com/_/kt90w53vzw2QSxK6PG1uCeJf",
    "heroUri": "https://agent-logos.storage.googleapis.com/_/kt90vzob74GQcfeHoEQbVRTP",
    "phoneNumbers": [
      {
        "phoneNumber": {
          "number": "+12223334444"
        },
        "label": "Call support"
      }
    ],
    "privacy": {
      "uri": "https://policies.google.com/privacy",
      "label": "Our privacy policy"
    },
    "termsConditions": {
      "uri": "https://policies.google.com/terms",
      "label": "Our Terms and Conditions"
    },
    "color": "#0B78D0",
    "billingConfig": {
      "billingCategory": "BASIC_MESSAGE"
    },
    "agentUseCase": "MULTI_USE",
    "hostingRegion": "NORTH_AMERICA"
  }
}

এজেন্ট লঞ্চ অবস্থা পরিবর্তন করুন

একজন ক্যারিয়ার একজন এজেন্টের লঞ্চ স্থিতি আপডেট করতে পারে এবং একটি বার্তা যোগ করতে পারে যা বিকাশকারীকে ইমেল করা হবে৷

স্থিতি নিম্নরূপ পরিবর্তন করা উচিত:

  • LAUNCH_STATE_LAUNCHED বা LAUNCH_STATE_REJECTED থেকে LAUNCH_STATE_PENDING
  • LAUNCH_STATE_LAUNCHED থেকে LAUNCH_STATE_SUSPENDED
  • LAUNCH_STATE_SUSPENDED থেকে LAUNCH_STATE_LAUNCHED বা LAUNCH_STATE_REJECTED

কলার অগত্যা ব্র্যান্ড নাম সহ সম্পূর্ণ এজেন্ট নামের প্রয়োজন নেই৷ শুধুমাত্র এজেন্ট আইডি ( @rbm.goog এর আগে) প্রয়োজন, যেখানে ব্র্যান্ড নাম সেট করা আছে -

Node.js

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

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

businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey);

businessCommunicationsApiHelper
	.updateAgentLaunchState(agentId, 'LAUNCH_STATE_LAUNCHED').then((response) => {
		console.log('Updated launch details are:');
		console.log(JSON.stringify(response.data, null, 2));
	});

cURL

curl -v -X PATCH "https://businesscommunications.googleapis.com/v1/brands/-/agents/AGENT ID/launch" \
  -H "Content-Type: application/json" \
  -H "User-Agent: curl/business-messaging" \
  -H "`oauth2l header --json serviceAccount.json businesscommunications`" \
  -d "{
    'rcsBusinessMessaging': {
      'launchDetails': {
        '': {
          'launchState': 'LAUNCH_STATE_LAUNCHED',
        }
      }
    }
  }"

এই কোড লঞ্চের স্থিতি পরিবর্তন করে আপডেট করা লঞ্চ তথ্য প্রদান করে:

{
  "name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_4fpd1psz_agent/launch",
  "rcsBusinessMessaging": {
    "questionnaire": {
      "contacts": [
        {
          "name": "Ian",
          "title": "The Boss",
          "email": "someone@somewhere.com"
        }
      ],
      "optinDescription": "Users accepted our terms of service online.",
      "triggerDescription": "We are reaching preregistered users",
      "interactionsDescription": "This agent does not do much.",
      "optoutDescription": "Reply stop and we stop.",
      "agentAccessInstructions": "This is a a simple agent that reaches registered users.",
      "videoUris": [
        "https://www.google.com/a/video"
      ],
      "screenshotUris": [
        "https://www.google.com/a/screenshot"
      ]
    },
    "launchDetails": {
      "/v1/regions/thecarrier": {
        "launchState": "LAUNCH_STATE_REJECTED",
        "comment": "We don't have a billing contract in place with you.",
        "updateTime": "2023-04-28T15:22:10.221191Z"
      }
    }
  }
}

একটি এজেন্ট মুছুন

নিরাপত্তার কারণে, RBM এজেন্টদের আর মুছে ফেলা যাবে না। সহায়তার জন্য RBM সহায়তার সাথে যোগাযোগ করুন।