الأحداث هي إشعارات يمكن لموظّف الدعم إرسالها وتلقّيها. هناك ثلاثة أنواع من الأحداث:
- الرسائل التي ينشئها الخادم: يتم إرسالها إلى موظّف الدعم من خلال منصة RBM.
- من إنشاء المستخدم: تم إرسالها إلى موظّف الدعم من جهاز المستخدم
- من إنشاء موظّف الدعم: تم إرسالها من موظّف الدعم إلى المستخدم
الأحداث التي ينشئها الخادم
ترسل منصة 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] }
لا يمكن ضمان تسليم الرسالة.
- إذا تم تسليم الرسالة، ستتلقّى حدث
DELIVERED
في الردّ التلقائي على الويب. - إذا لم يتم تسليم الرسالة، استخدِم واجهة برمجة التطبيقات revoke API لإرسال طلب لإبطال المصادقة.
إذا كانت الرسالة حسّاسة للوقت، مثل رمز مفتاح المرور المؤقت أو تنبيه بشأن احتيال، من الأفضل إرسال الرسالة من خلال قناة بديلة مثل الرسائل القصيرة حتى إذا كان ذلك يؤدي إلى إرسال رسائل مكرّرة إلى المستخدم.
الأحداث التي ينشئها المستخدمون
كما هو الحال مع رسائل المستخدمين وعمليات التحقّق من الإمكانات، يتلقّى موظّف الدعم أحداث المستخدمين بتنسيق 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 قد تسليمت رسالته وأنّ موظّف الدعم بصدد معالجتها.
يُرسِل الرمز التالي حدث READ
لرسالة تتضمّن
messageId
مطابقًا.
cURL
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' }"
Node.js
// 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.
Java
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.
Python
# 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.
#C
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
متعددة لإعادة ضبط موقّت انتهاء صلاحية مؤشر typing
.
تُرسِل التعليمة البرمجية التالية حدث IS_TYPING
.
cURL
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', }"
Node.js
// 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.
Java
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.
Python
# 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.
#C
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.