ঘটনা

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

সার্ভার-উত্পন্ন ইভেন্ট

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

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

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

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

{
  "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]
}

বার্তা বিতরণ নিশ্চিত করা হয় না.

যদি বার্তাটি সময়-সংবেদনশীল হয়, যেমন একটি 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"
  }
}

এজেন্ট-উত্পন্ন ঘটনা

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

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

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

ব্যবহারকারীদের কাছে, এই ইভেন্টটি একটি নির্দিষ্ট বার্তার পড়ার রসিদ হিসাবে উপস্থিত হয়৷ এটি ব্যবহারকারীকে জানতে দেয় যে RBM প্ল্যাটফর্ম তাদের বার্তা প্রদান করেছে এবং এজেন্ট এটি প্রক্রিয়া করছে।

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

cURL

curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentEvents?eventId=EVENT_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'
}"

Node.js

// Reference to RBM API helper
const rbmApiHelper = require('../libs/rbm_api_helper');

// Send the device an event to indicate that messageId has been read
rbmApiHelper.sendReadMessage('+12223334444', messageId);
এই কোডটি একটি RBM নমুনা এজেন্টের একটি অংশ।

জাভা

import com.google.rbm.samples.lib.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 ইভেন্ট পাঠায়

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

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

cURL

curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentEvents?eventId=EVENT_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',
}"

Node.js

// Reference to RBM API helper
const rbmApiHelper = require('../libs/rbm_api_helper');

// 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.samples.lib.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 নমুনা এজেন্টের একটি অংশ।