বার্তা গ্রহণ

RBM এজেন্টরা একটি ওয়েবহুকের মাধ্যমে বার্তা এবং ইভেন্ট গ্রহণ করে। যখন কোনও ব্যবহারকারী আপনার এজেন্টকে একটি বার্তা পাঠায়, তখন Google এর RBM পরিষেবা আপনার কনফিগার করা ওয়েবহুকে বার্তাটি পাঠায়। আপনার এজেন্ট তখন বার্তাটি ডিকোড করতে, প্রক্রিয়া করতে এবং ব্যবহারকারীকে একটি প্রতিক্রিয়া জানাতে পারে।

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

ব্যবহারকারীরা তাদের RCS ক্লায়েন্টের অনুমতি অনুসারে যেকোনো টেক্সট, লোকেশন বা ফাইল পাঠাতে পারবেন। আপনার এজেন্টকে ব্যবহারকারীর পাঠানো যেকোনো টেক্সট, লোকেশন বা ফাইল, সেইসাথে সেই বার্তাগুলি ট্রিগার করতে পারে এমন যেকোনো ত্রুটির তথ্য পরিচালনা করতে হবে।

আগত বার্তাগুলি পরিচালনা করুন

আপনার এজেন্ট ব্যবহারকারীদের বার্তাগুলি কীভাবে পরিচালনা করে এবং প্রতিক্রিয়া জানায় তা আপনার ব্যবসায়িক যুক্তির উপর নির্ভর করে। তবে, সাধারণত, ব্যবহারকারীর বার্তার প্রতিক্রিয়া জানাতে পদক্ষেপগুলি সামঞ্জস্যপূর্ণ।

ধাপ ১: ব্যবহারকারী যে ধরণের বার্তা পাঠিয়েছেন তা চিহ্নিত করুন।

ব্যবহারকারীরা চার ধরণের বার্তা পাঠাতে পারেন:

  • টেক্সট মেসেজ হল মুক্ত-আকৃতির প্রতিক্রিয়া।
  • পরামর্শ বার্তাগুলিতে ব্যবহারকারীর ট্যাপ করা প্রস্তাবিত পদক্ষেপ বা প্রস্তাবিত উত্তরের পোস্টব্যাক ডেটা এবং টেক্সট অন্তর্ভুক্ত থাকে।
  • অবস্থান বার্তাগুলিতে অক্ষাংশ এবং দ্রাঘিমাংশের মান অন্তর্ভুক্ত থাকে।

  • ফাইল বার্তাগুলিতে একটি ফাইল এবং সংশ্লিষ্ট ডেটার জন্য URI অন্তর্ভুক্ত থাকে।

ধাপ ২: বার্তার বিষয়বস্তু প্রক্রিয়া করুন

ব্যবহারকারীর বার্তার বিষয়বস্তু আপনার এজেন্টের যুক্তি এবং কথোপকথনের পরবর্তী প্রতিক্রিয়া নির্দেশ করবে।

ব্যবহারকারীর উদ্দেশ্য শনাক্ত করার সবচেয়ে সহজ উপায় হল প্রস্তাবিত উত্তর বা প্রস্তাবিত পদক্ষেপ থেকে পোস্টব্যাক ডেটা ব্যবহার করা। পরামর্শের সাথে সম্পর্কিত টেক্সট নির্বিশেষে, পোস্টব্যাক ডেটা মেশিন-পঠনযোগ্য।

যদি কোনও ব্যবহারকারী কোনও টেক্সট মেসেজ পাঠান, তাহলে আপনার এজেন্ট সমর্থিত কীওয়ার্ডের জন্য প্রতিক্রিয়া বিশ্লেষণ করতে পারে অথবা ব্যবহারকারীর বার্তা প্রক্রিয়া করতে এবং এগিয়ে যাওয়ার পথ চিহ্নিত করতে NLU (যেমন Dialogflow ) ব্যবহার করতে পারে।

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

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

ধাপ ৩: মিথস্ক্রিয়ার জন্য ব্যবসায়িক যুক্তি পূরণ করুন

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

ধাপ ৪: ব্যবহারকারীর প্রশ্নের উত্তর দিন

এজেন্ট মিথস্ক্রিয়ার জন্য ব্যবসায়িক যুক্তি পূরণ করার পর, এটি আরেকটি বার্তা পাঠায় এবং ব্যবহারকারীর সাথে কথোপকথন চালিয়ে যায়।

উদাহরণ

নিম্নলিখিত কোডটি দেখায় যে আপনার এজেন্ট কীভাবে বার্তা গ্রহণ করে। ফর্ম্যাটিং এবং মান তথ্যের জন্য, UserMessage দেখুন।

দ্রষ্টব্য : মার্কিন ট্র্যাফিকের জন্য, ব্যবহারকারীর বার্তা এবং প্রস্তাবিত পদক্ষেপগুলিতে ট্যাপগুলি মার্কিন বিলিং মডেল শ্রেণীবিভাগের সাপেক্ষে। যখন আপনার এজেন্ট এই ইভেন্টগুলি গ্রহণ করবে, তখন তারা richMessageClassification ক্ষেত্রটি অন্তর্ভুক্ত করবে, যা বিলযোগ্য ইভেন্টের ধরণ নির্ধারণ করে। শ্রেণিবিভাগের বিশদ বিবরণের জন্য মার্কিন বিলিং মডেল নির্দেশিকা দেখুন।

এজেন্ট টেক্সট পাচ্ছে

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "text": "Hello, world!"
}

এজেন্ট একটি পরামর্শ থেকে একটি বার্তা পায়

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "suggestionResponse": {
    "postbackData": "suggestion_1",
    "text": "Suggestion #1"
  }
}

এজেন্ট একটি অবস্থান পায়

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "location": {
    "latitude": 37.422000,
    "longitude": -122.084056
  }
}

এজেন্ট একটি ফাইল পায়

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "userFile": {
    "thumbnail": {
      "mimeType": "image/jpeg",
      "fileSizeBytes": 1280,
      "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c8",
      "fileName": "4_animated.jpeg"
    },
    "payload": {
      "mimeType": "image/gif",
      "fileSizeBytes": 127806,
      "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c9",
      "fileName": "4_animated.gif"
    }
  }
}

ইনকামিং ইভেন্টগুলি পরিচালনা করুন

আপনার এজেন্ট যখন ব্যবহারকারীদের কাছে পাঠানো বার্তাগুলি পৌঁছে দেওয়া এবং পড়া হয় তখন বিজ্ঞপ্তি পান।

নিম্নলিখিত কোডটি দেখায় যে আপনার এজেন্ট কীভাবে বার্তা গ্রহণ করে। ফর্ম্যাটিং এবং মান তথ্যের জন্য, UserEvent দেখুন।

ব্যবহারকারীর কাছে বার্তা পৌঁছে দেওয়া হয়েছে

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "eventId": "EVENT_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "eventType": "DELIVERED"
}

ব্যবহারকারীর পঠিত বার্তা

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "eventId": "EVENT_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "eventType": "READ"
}

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

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "eventType": "IS_TYPING",
  "eventId": "EVENT_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "agentId": "AGENT_ID"
}