ইভেন্ট

ইভেন্ট হল এমন বিজ্ঞপ্তি যা আপনার এজেন্ট পাঠাতে এবং গ্রহণ করতে পারে। তিন ধরণের ইভেন্ট রয়েছে:

সার্ভার-জেনারেটেড ইভেন্ট

RBM প্ল্যাটফর্ম আপনার এজেন্টকে সার্ভার-স্তরের আপডেট, যেমন মেসেজের মেয়াদ শেষ হওয়ার বিষয়ে অবহিত করার জন্য ইভেন্ট পাঠায়।

বিন্যাস এবং মান বিকল্পগুলির জন্য, ServerEvent দেখুন।

এজেন্ট লঞ্চের অবস্থা পরিবর্তিত হয়েছে

আপনার এজেন্টের লঞ্চ স্ট্যাটাসে প্রতিটি পরিবর্তনের জন্য RBM প্ল্যাটফর্ম একটি AgentLaunchEvent পাঠায়। উদাহরণস্বরূপ, ক্যারিয়ার অনুমোদনের পরে যখন আপনার এজেন্টের অবস্থা PENDING থেকে LAUNCHED এ পরিবর্তিত হয়, তখন আপনি পরিবর্তনটি নির্দেশ করার জন্য একটি AgentLaunchEvent ইভেন্ট পাবেন। এই ইভেন্টগুলি সমস্ত RBM এজেন্টের জন্য, সমস্ত ক্যারিয়ার লঞ্চ স্ট্যাটাস পরিবর্তনের জন্য পাঠানো হয়।

ওয়েবহুক কনফিগারেশন

এই বিজ্ঞপ্তিগুলি পেতে আপনি আপনার পার্টনার-লেভেল বা এজেন্ট-লেভেল ওয়েবহুক ব্যবহার করতে পারেন।

পূর্বশর্ত

ইভেন্ট পেলোড কাঠামো

AgentLaunchEvent একটি পাব/সাব বার্তা হিসেবে সরবরাহ করা হয়। এখানে একটি উদাহরণ দেওয়া হল:

{
  "message": {
    "attributes": {
      "business_id": "rbm-chatbot-id@rbm.goog",
      "event_type": "REJECTED",
      "product": "RBM",
      "project_number": "3338881441851",
      "type": "agent_launch_event"
    },
    "data": "....BASE64-encoded-JSON-with-notification...",
    "messageId": "14150481888479752",
    "message_id": "14150481888479752",
    "publishTime": "2025-03-05T18:50:21.88Z",
    "publish_time": "2025-03-05T18:50:21.88Z"
  },
  "subscription": "projects/rbm-partner-gcp/subscriptions/rbm-sub"
}

ইভেন্ট পেলোডের AgentLaunchEvent.LaunchState ফিল্ড এজেন্টের নতুন লঞ্চ অবস্থা নির্দেশ করে। সম্ভাব্য মানগুলি এখানে দেওয়া হল:

মূল্য এজেন্ট লঞ্চের অবস্থা বিস্তারিত
UNLAUNCHED আনলঞ্চ করা হয়েছে সম্পাদনা অনুমোদিত।
PENDING মুলতুবি অনুরোধটি পর্যালোচনার জন্য একটি ক্যারিয়ারের কাছে পাঠানো হয়েছে।
LAUNCHED চালু হয়েছে নির্দিষ্ট কোনও পরিষেবা প্রদানকারীতে বার্তা পাঠানোর অনুমতি রয়েছে।
REJECTED প্রদত্ত ক্যারিয়ারে প্রত্যাখ্যাত প্রত্যাখ্যানের কারণ মন্তব্যে উল্লেখ করা আছে।
SUSPENDED একটি নির্দিষ্ট ক্যারিয়ারে স্থগিত করা হয়েছে স্থগিতাদেশের কারণ মন্তব্যে উল্লেখ করা হয়েছে।

ডেটা ফিল্ডে একটি Base64-এনকোডেড JSON অবজেক্ট রয়েছে যেখানে লঞ্চ স্টেটের বিবরণ রয়েছে। ডিকোডেড JSON এর একটি উদাহরণ এখানে দেওয়া হল:

    {
      "eventId": "rbm-chatbot-id/0a7ed168-676e-4a56-b422-b23434",
      "agentId": "rbm-chatbot-id@rbm.goog",
      "botDisplayName": "RBM Welcome Bot 7 - RBM Chatbot name",
      "brandId": "bd38fbff-392a-437b-a6f2-7f2e43745b56",
      "brandDisplayName": "Chatbots brand",
      "regionId": "/v1/regions/fi-rcs",
      "oldLaunchState": "PENDING",
      "newLaunchState": "REJECTED",
      "actingParty": "rbm-support@google.com",
      "comment": "Carrier has rejected the launch: policy violation",
      "sendTime": "2025-03-05T18:50:19.386436Z"
    }

নিম্নলিখিত টেবিলে এজেন্ট লঞ্চের অবস্থা এবং সেগুলিকে ট্রিগারকারী ক্রিয়াগুলি দেখানো হয়েছে:

পুরনো লঞ্চের অবস্থা নতুন লঞ্চের অবস্থা পরিবর্তনের জন্য ট্রিগার
PENDING LAUNCHED পেন্ডিং এজেন্ট অনুমোদিত।
PENDING REJECTED পেন্ডিং এজেন্ট প্রত্যাখ্যাত হয়েছে।
LAUNCHED SUSPENDED চালু এজেন্টকে বরখাস্ত করা হয়েছে।
SUSPENDED LAUNCHED স্থগিত এজেন্ট পুনরায় সক্রিয় করা হয়েছে।
SUSPENDED TERMINATED স্থগিত এজেন্টকে বরখাস্ত করা হয়েছে।
TERMINATED LAUNCHED সমাপ্ত এজেন্ট চালু করা হয়েছে।

বার্তার মেয়াদ শেষ হয়ে গেছে; প্রত্যাহার সফল হয়েছে।

বার্তাটির মেয়াদ শেষ হয়ে গেছে এবং সফলভাবে প্রত্যাহার করা হয়েছে। এই ইভেন্টটি আপনার ফলব্যাক মেসেজিং কৌশলের জন্য একটি ভালো ট্রিগার হবে।

{
  "phoneNumber": [phone number of recipient that the original message was intended for] ,
  "messageId": [RCS message ID of the message],
  "agentId": [bot ID],
  "eventType": "TTL_EXPIRATION_REVOKED",
  "eventId": [unique ID generated by the RBM platform],
  "sendTime": [time at which the server sent this event]
}

বার্তার মেয়াদ শেষ হয়ে গেছে; প্রত্যাহার ব্যর্থ হয়েছে

বার্তাটির মেয়াদ শেষ হয়ে গেছে, কিন্তু এটি প্রত্যাহার করা হয়নি।

{
  "phoneNumber": [phone number of recipient that the original message was intended for] ,
  "messageId": [RCS message ID of the message],
  "agentId": [bot ID],
  "eventType": "TTL_EXPIRATION_REVOKE_FAILED",
  "eventId": [unique ID generated by the RBM platform],
  "sendTime": [time at which the server sent this event]
}

বার্তা সরবরাহের নিশ্চয়তা নেই।

  • যদি বার্তাটি পৌঁছে দেওয়া হয়, তাহলে আপনার ওয়েবহুকে একটি DELIVERED ইভেন্ট পাবেন।
  • যদি বার্তাটি সরবরাহ না করা হয়, তাহলে প্রত্যাহারের অনুরোধ পাঠাতে প্রত্যাহার API ব্যবহার করুন।

যদি বার্তাটি সময়-সংবেদনশীল হয়, যেমন OTP বা জালিয়াতির সতর্কতা, তাহলে SMS-এর মতো বিকল্প চ্যানেলের মাধ্যমে বার্তাটি পাঠানোই ভালো, এমনকি এর ফলে ব্যবহারকারীর কাছে ডুপ্লিকেট বার্তা আসে।

ব্যবহারকারী-উত্পাদিত ইভেন্টগুলি

ব্যবহারকারীর বার্তা এবং ক্ষমতা পরীক্ষার মতো, আপনার এজেন্ট ব্যবহারকারীর ইভেন্টগুলি JSON হিসাবে গ্রহণ করে।

বিন্যাস এবং মান বিকল্পগুলির জন্য, UserEvent দেখুন।

ব্যবহারকারী এজেন্টের বার্তা পান

এই ঘটনাটি নির্দেশ করে যে একটি বার্তা পৌঁছে দেওয়া হয়েছে।

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "eventType": "DELIVERED",
  "eventId": "EVENT_ID",
  "messageId": "MESSAGE_ID",
  "agentId": "AGENT_ID"
}

ব্যবহারকারী এজেন্টের বার্তা পড়ছেন

এই ঘটনাটি নির্দেশ করে যে একটি বার্তা খোলা হয়েছে বা স্বীকৃত হয়েছে।

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "eventType": "READ",
  "eventId": "EVENT_ID",
  "messageId": "MESSAGE_ID",
  "agentId": "AGENT_ID"
}

ব্যবহারকারী টাইপ করা শুরু করেন

এই ইভেন্টটি নির্দেশ করে যে একজন ব্যবহারকারী টাইপ করছেন।

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "eventType": "IS_TYPING",
  "eventId": "EVENT_ID",
  "agentId": "AGENT_ID"
}

ব্যবহারকারী একটি টেক্সট মেসেজ পাঠান

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "text": "Hi",
  "eventId": "EVENT_ID",
  "agentId": "AGENT_ID"
}

ব্যবহারকারী একটি ফাইল পাঠান

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "userFile": {
    "payload": {
      "mimeType": "image/gif",
      "fileSizeBytes": 127806,
      "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c9",
      "fileName": "4_animated.gif"
    }
  },
  "eventId": "EVENT_ID",
  "agentId": "AGENT_ID"
}

ব্যবহারকারী একটি প্রস্তাবিত উত্তরে ট্যাপ করেন

যখন একজন ব্যবহারকারী একটি প্রস্তাবিত উত্তরে ট্যাপ করেন, তখন আপনার এজেন্ট উত্তরের পোস্টব্যাক ডেটা এবং টেক্সট সহ একটি ইভেন্ট পান।

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "eventId": "EVENT_ID",
  "agentId": "AGENT_ID",
  "suggestionResponse": {
    "postbackData": "postback_1234",
    "text": "Hello there!"
  }
}

ব্যবহারকারী প্রস্তাবিত কোনও অ্যাকশনে ট্যাপ করেন

যখন একজন ব্যবহারকারী একটি প্রস্তাবিত অ্যাকশনে ট্যাপ করেন, তখন আপনার এজেন্ট অ্যাকশনের পোস্টব্যাক ডেটা সহ একটি ইভেন্ট পান।

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "eventId": "EVENT_ID",
  "agentId": "AGENT_ID",
  "suggestionResponse": {
    "postbackData": "postback_1234"
  }
}

ব্যবহারকারী কথোপকথন থেকে সদস্যতা ত্যাগ করেন

যদি কোনও ব্যবহারকারী কোনও ব্যবসা থেকে অপ্রয়োজনীয় বার্তা, যেমন প্রচার, পেতে না চান, তাহলে তিনি Google Messages-এ RBM কথোপকথন থেকে সদস্যতা ত্যাগ করতে পারেন।

UNSUBSCRIBE ইভেন্টটি নির্দেশ করে যে ব্যবহারকারী আপনার এজেন্ট এবং তার প্রতিনিধিত্বকারী ব্যবসার সাথে তাদের কথোপকথন থেকে আনসাবস্ক্রাইব করেছেন। এখানে JSON পেলোডের একটি উদাহরণ দেওয়া হল:

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "eventType": "UNSUBSCRIBE",
  "eventId": "EVENT_ID",
  "agentId": "AGENT_ID"
}

কিভাবে এটা কাজ করে

  • চ্যাট মেনুতে সর্বদা একটি আনসাবস্ক্রাইব বিকল্প পাওয়া যায়। প্রচারমূলক এবং বহু-ব্যবহারকারী এজেন্টদের জন্য, এই বিকল্পটি নির্দিষ্ট সংখ্যক অপঠিত বার্তার পরে সরাসরি চ্যাটে প্রদর্শিত হয় (নির্দিষ্ট নিয়ম দেশ অনুসারে পরিবর্তিত হয়)।
  • আনসাবস্ক্রাইব নির্বাচন করলে একই সাথে দুটি অ্যাকশন শুরু হয়: গুগল মেসেজ আপনার এজেন্টের কাছে একটি দেশ-নির্দিষ্ট কীওয়ার্ড (যেমন, "স্টপ") পাঠায় এবং আরবিএম প্ল্যাটফর্ম আপনার ওয়েবহুকে একটি আনসাবস্ক্রাইব ইভেন্ট পাঠায়।

    ব্যবহারকারীর ফোন নম্বরের দুই অক্ষরের দেশের কোড দ্বারা কীওয়ার্ডটি নির্ধারিত হয়। নিম্নলিখিত টেবিলে প্রতিটি সমর্থিত দেশের কীওয়ার্ডগুলি তালিকাভুক্ত করা হয়েছে।

    দেশ (দেশের কোড) আনসাবস্ক্রাইব কীওয়ার্ড
    মার্কিন যুক্তরাষ্ট্র (মার্কিন), ভারত (IN), যুক্তরাজ্য (GB), জার্মানি (DE) থামো
    স্পেন (ES), মেক্সিকো (MX) বাজা
    ফ্রান্স (FR) থামো
    ব্রাজিল (ব্রাজিলস) পারার
  • ব্যবহারকারী আনসাবস্ক্রাইব করার পরে, কথোপকথনটি তাদের ইনবক্সে থেকে যায় যদি না স্প্যাম হিসেবে রিপোর্ট করা হয়, এই ক্ষেত্রে এটি স্প্যাম এবং ব্লক করা ফোল্ডারে চলে যায়।

  • নীতি এবং ব্যবসায়িক নিয়ম লঙ্ঘন শনাক্ত করার জন্য, ব্যবহারকারী সদস্যতা ত্যাগ করার পরে Google বার্তার ধরণ পর্যবেক্ষণ করে।

ব্যবসার নিয়ম

  • এই কথোপকথনটি পরিচালনাকারী RBM অংশীদার হিসেবে, ব্যবহারকারীর সদস্যতা ত্যাগের অনুরোধ মেনে চলা আপনার দায়িত্ব।
  • যদি আপনি মেসেজ থ্রেডের মধ্যে আনসাবস্ক্রাইব করতে না পারেন, তাহলে আপনাকে অবিলম্বে ওয়েবসাইট বা অ্যাপের সরাসরি লিঙ্ক সহ একটি স্বীকৃতি বার্তা পাঠাতে হবে যেখানে ব্যবহারকারীরা তাদের সাবস্ক্রিপশন পছন্দগুলি পরিচালনা করতে পারবেন।
  • ব্যবহারকারী সদস্যতা ত্যাগ করার পর, অপ্রয়োজনীয় বার্তা পাঠানো নিষিদ্ধ।
  • গুরুত্বপূর্ণ বার্তাগুলি এখনও অনুমোদিত। এর মধ্যে রয়েছে:
    • প্রমাণীকরণ, যেমন এককালীন পাসওয়ার্ড (OTP)
    • ব্যবহারকারীর অনুরোধ করা এবং সম্মতি দেওয়া নির্দিষ্ট পরিষেবা সম্পর্কে বিজ্ঞপ্তি
    • ব্যবহারকারীর আনসাবস্ক্রাইব অনুরোধের নিশ্চিতকরণ, তাদের যোগাযোগের পছন্দগুলি আরও পরিচালনা করার জন্য তথ্য সহ

উদাহরণ

যদি কোনও ব্যবহারকারী এমন কোনও এয়ারলাইন এজেন্টের সদস্যতা ত্যাগ করেন যার ব্যবহারের ক্ষেত্রে বহু-ব্যবহার রয়েছে, তাহলে আপনাকে অবশ্যই মার্কেটিং বার্তা পাঠানো বন্ধ করতে হবে। তবে, আপনি ফ্লাইট আপডেট পাঠাতে পারেন যদি ব্যবহারকারী সেই নির্দিষ্ট ফ্লাইটের জন্য আপডেট পাওয়ার জন্য স্পষ্ট সম্মতি প্রদান করে থাকেন।

আনসাবস্ক্রাইব করার কারণ

যখন কোনও ব্যবহারকারী আপনার এজেন্ট থেকে সদস্যতা ত্যাগ করেন, তখন তারা নিম্নলিখিত বিকল্পগুলি থেকে একটি কারণ নির্বাচন করতে পারেন:

  • সাইন আপ করা হয়নি
  • অনেক বেশি মেসেজ
  • আর আগ্রহী নই
  • স্প্যাম
  • অন্যান্য

বর্তমানে, আনসাবস্ক্রাইব করার কারণগুলি অংশীদার বা ক্যারিয়ারের সাথে শেয়ার করা হয় না।

ব্যবহারকারী কথোপকথনে পুনরায় সদস্যতা নেন

ব্যবহারকারীরা Google Messages-এ পূর্বে আনসাবস্ক্রাইব করা কথোপকথনে পুনরায় সাবস্ক্রাইব করতে পারবেন।

SUBSCRIBE ইভেন্টটি নির্দেশ করে যে একজন ব্যবহারকারী আপনার এজেন্টের কাছ থেকে বার্তা পেতে চান, যার মধ্যে প্রচারের মতো অপ্রয়োজনীয় সামগ্রীও অন্তর্ভুক্ত। এখানে JSON পেলোডের একটি উদাহরণ দেওয়া হল:

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "eventType": "SUBSCRIBE",
  "eventId": "EVENT_ID",
  "agentId": "AGENT_ID"
}

কিভাবে এটা কাজ করে

  • চ্যাট মেনু এবং ইন-চ্যাট লিঙ্ক উভয় থেকেই একটি সাবস্ক্রাইব বিকল্প পাওয়া যায়, যা ব্যবহারকারীদের এমন একটি কথোপকথনে পুনরায় সাবস্ক্রাইব করতে দেয় যা থেকে তারা আনসাবস্ক্রাইব করেছিলেন।
  • "সাবস্ক্রাইব" নির্বাচন করলে একই সাথে দুটি ক্রিয়া শুরু হয়: Google Messages আপনার এজেন্টকে একটি দেশ-নির্দিষ্ট কীওয়ার্ড (যেমন, "START") পাঠায় এবং RBM প্ল্যাটফর্ম আপনার ওয়েবহুকে একটি SUBSCRIBE ইভেন্ট পাঠায়।

    ব্যবহারকারীর ফোন নম্বরের দুই অক্ষরের দেশের কোড দ্বারা নির্দিষ্ট কীওয়ার্ডটি নির্ধারিত হয়। নিম্নলিখিত টেবিলে প্রতিটি সমর্থিত দেশের কীওয়ার্ডগুলি তালিকাভুক্ত করা হয়েছে।

    দেশ (দেশের কোড) সাবস্ক্রাইব কীওয়ার্ড
    মার্কিন যুক্তরাষ্ট্র (মার্কিন), ভারত (IN), যুক্তরাজ্য (GB), জার্মানি (DE) শুরু
    স্পেন (ES), মেক্সিকো (MX) ALTA সম্পর্কে
    ফ্রান্স (FR) ডেমারের
    ব্রাজিল (ব্রাজিলস) কমার

ব্যবসার নিয়ম

  • এই কথোপকথনটি পরিচালনাকারী RBM অংশীদার হিসেবে, ব্যবহারকারীর পুনরায় সাবস্ক্রাইব করার অনুরোধ মেনে চলা আপনার দায়িত্ব।
  • পুনঃসাবস্ক্রিপশন সকল ধরণের বার্তার ক্ষেত্রে প্রযোজ্য, যার মধ্যে প্রচারের মতো অপ্রয়োজনীয় সামগ্রীও অন্তর্ভুক্ত।
  • যদি কোনও ব্যবহারকারী আপনার ব্যবসাকে আনসাবস্ক্রাইব করার পরে মেসেজ করেন, তাহলে এটিকে পুনঃসাবস্ক্রাইব করার অনুরোধ হিসেবে বিবেচনা করা যেতে পারে।
  • যদি কোনও ব্যবহারকারী মেসেজিং চ্যানেলের বাইরে (উদাহরণস্বরূপ, আপনার ওয়েবসাইটে) পুনরায় সাবস্ক্রাইব করেন, তাহলে RBM অংশীদার হিসেবে তাদের স্ট্যাটাস আপডেট করা এবং সেই অনুযায়ী বার্তা পাঠানো পুনরায় শুরু করা আপনার দায়িত্ব।

এজেন্ট-জেনারেটেড ইভেন্ট

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

বিন্যাস এবং মান বিকল্পগুলির জন্য, phones.agentEvents দেখুন।

এজেন্ট একটি READ ইভেন্ট পাঠায়।

ব্যবহারকারীদের কাছে, এই ইভেন্টটি একটি নির্দিষ্ট বার্তার পঠিত রসিদ হিসেবে প্রদর্শিত হয়। এটি ব্যবহারকারীকে জানায় যে RBM প্ল্যাটফর্ম তাদের বার্তাটি পৌঁছে দিয়েছে এবং এজেন্ট এটি প্রক্রিয়া করছে।

নিম্নলিখিত কোডটি একটি মেসেজের জন্য একটি READ ইভেন্ট পাঠায় যার সাথে একটি মিল রয়েছে messageId

সিআরএল

curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentEvents?eventId=EVENT_ID&agentId=AGENT_ID" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/rcs-business-messaging" \
-H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`" \
-d "{
  'eventType': 'READ',
  'messageId': 'MESSAGE_ID'
}"

নোড.জেএস

// Reference to RBM API helper
const rbmApiHelper = require('@google/rcsbusinessmessaging');

// Send the device an event to indicate that messageId has been read
rbmApiHelper.sendReadMessage('+12223334444', messageId);
এই কোডটি একটি RBM নমুনা এজেন্ট থেকে নেওয়া একটি উদ্ধৃতি।

জাভা

import com.google.rbm.RbmApiHelper;


// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper();

// Send the device an event to indicate that messageId has been read
rbmApiHelper.sendReadMessage(messageId, "+12223334444");
এই কোডটি একটি RBM নমুনা এজেন্ট থেকে নেওয়া একটি উদ্ধৃতি।

পাইথন

# Reference to RBM Python client helper and messaging object structure
from rcs_business_messaging import rbm_service

# Send the device an event to indicate that message_id was read
rbm_service.send_read_event('+12223334444', message_id)
এই কোডটি একটি RBM নমুনা এজেন্ট থেকে নেওয়া একটি উদ্ধৃতি।

সি#

using RCSBusinessMessaging;


// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation,
                                                 projectId);

// Send the device an event to indicate that messageId has been read
rbmApiHelper.SendReadMessage(messageId, "+12223334444");
এই কোডটি একটি RBM নমুনা এজেন্ট থেকে নেওয়া একটি উদ্ধৃতি।

এজেন্ট একটি IS_TYPING ইভেন্ট পাঠায়

ব্যবহারকারীদের কাছে, এই ইভেন্টটি একটি টাইপিং ইন্ডিকেটর হিসেবে প্রদর্শিত হবে এবং তাদের জানাবে যে আপনার এজেন্ট একটি বার্তা রচনা করছে। টাইপিং ইন্ডিকেটরটি অল্প সময়ের (প্রায় ২০ সেকেন্ড) পরে অথবা ব্যবহারকারীর ডিভাইস আপনার এজেন্টের কাছ থেকে একটি নতুন বার্তা পেলে মেয়াদ শেষ হয়ে যায়। টাইপিং ইন্ডিকেটরের মেয়াদ শেষ হওয়ার টাইমার রিসেট করতে আপনার এজেন্ট একাধিক IS_TYPING ইভেন্ট পাঠাতে পারে।

নিম্নলিখিত কোডটি একটি IS_TYPING ইভেন্ট পাঠায়।

সিআরএল

curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentEvents?eventId=EVENT_ID&agentId=AGENT_ID" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/rcs-business-messaging" \
-H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`" \
-d "{
  'eventType': 'IS_TYPING',
}"

নোড.জেএস

// Reference to RBM API helper
const rbmApiHelper = require('@google/rcsbusinessmessaging');

// Send the device an event to indicate that the agent is typing
rbmApiHelper.sendIsTypingMessage('+12223334444', function() {
    console.log('Typing event sent!');
});
এই কোডটি একটি RBM নমুনা এজেন্ট থেকে নেওয়া একটি উদ্ধৃতি।

জাভা

import com.google.rbm.RbmApiHelper;


// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper();

// Send the device an event to indicate that the agent is typing
rbmApiHelper.sendIsTypingMessage("+12223334444");
এই কোডটি একটি RBM নমুনা এজেন্ট থেকে নেওয়া একটি উদ্ধৃতি।

পাইথন

# Reference to RBM Python client helper and messaging object structure
from rcs_business_messaging import rbm_service

# Send the device an event to indicate that the agent is typing
rbm_service.send_is_typing_event('+12223334444')
এই কোডটি একটি RBM নমুনা এজেন্ট থেকে নেওয়া একটি উদ্ধৃতি।

সি#

using RCSBusinessMessaging;


// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation,
                                                 projectId);

// Send the device an event to indicate that the agent is typing
rbmApiHelper.SendIsTypingMessage(messageId, "+12223334444");
এই কোডটি একটি RBM নমুনা এজেন্ট থেকে নেওয়া একটি উদ্ধৃতি।