يتلقّى موظّفو RBM الرسائل والأحداث من خلال الردّ التلقائي على الويب: عندما يرسِل مستخدم رسالة إلى الوكيل، ترسل خدمة RBM من Google إلى الرد التلقائي على الويب الذي تم إعداده. ويمكن لوكيلك بعد ذلك فك ترميز الرسالة ومعالجتها وإصدار رد للمستخدم.
يمكن للمستخدمين إرسال أي نصوص أو مواقع جغرافية أو ملفات يسمح بها برنامج خدمات الاتصالات التفاعلية (RCS). يجب أن يتعامل وكيلك مع أي نصوص أو مواقع أو ملفات قد يرسلها المستخدم، مثل بالإضافة إلى أي خطأ يفيد أن هذه الرسائل قد يتم تشغيلها.
التعامل مع الرسائل الواردة
تعتمد كيفية تعامل الوكيل مع الرسائل الواردة من المستخدمين والرد عليها بشكل كبير على منطق عملك. ومع ذلك، فإن الخطوات اللازمة للرد على المستخدم ورسالتك متسقة.
الخطوة 1: تحديد نوع الرسالة التي أرسلها المستخدم
يمكن للمستخدمين إرسال أربعة أنواع من الرسائل:
- الرسائل النصية هي ردود حرة.
- تتضمن رسائل الاقتراح بيانات الإبلاغ عن الإحالات الناجحة ونص الإجراء المقترَح أو الرد المُقترَح الذي نقر عليه المستخدم.
تتضمّن رسائل الموقع الجغرافي قيم خطوط الطول والعرض.
تتضمّن رسائل الملف معرِّف الموارد المنتظم (URI) الخاص بأحد الملفات والبيانات المرتبطة به.
الخطوة 2: معالجة محتوى الرسالة
يجب أن يستند محتوى رسالة المستخدم إلى منطق الوكيل والردّ التالي. في المحادثة.
وتتمثل أسهل طريقة لتحديد نية المستخدم في استخدام بيانات تسجيل الإحالات الناجحة من ردّ مقترَح أو إجراء مقترَح بغض النظر عن النص المرتبط هذا الاقتراح، تكون بيانات تسجيل الإحالات الناجحة قابلة للقراءة آليًا.
إذا أرسل مستخدم رسالة نصية، قد يحلّل الوكيل الرد كلمات رئيسية مدعومة أو تستخدم NLU (مثل Dialogflow) لمعالجة رسالة المستخدم تحديد مسار إلى الأمام.
ولا تشتمل رسائل الموقع والملفّات على نصوص أو بيانات تسجيل الإحالات الناجحة، وبالتالي أن يأخذ موظّف الدعم سياق المحادثة والرسائل الأخيرة قبل الاستجابة.
إذا لم يكن الوكيل يعرف طريقة الردّ على رسالة المستخدم، عليه قم بالرد مع إظهار حالة الخطأ وحاول متابعة المحادثة عن طريق ومطالبة المستخدم بمعلومات إضافية، من خلال طلب الإدخال في بطريقة مختلفة، أو من خلال تقديم ردود مقترحة وإجراءات مقترحة يعرف الوكيل كيفية الرد عليها.
الخطوة 3: استيفاء منطق النشاط التجاري للتفاعل
وبعد تحديد الوكيل للرد الصحيح على رسالة المستخدم، تجمع المعلومات الضرورية من بنيتك الأساسية وتتفاعل مع أنظمة أخرى حسب الضرورة لتحقيق منطق الأعمال التفاعل.
الخطوة 4: الرد على المستخدم
بعد أن ينفِّذ الوكيل منطق النشاط التجاري للتفاعل، يرسِل رسالة أخرى ويواصل المحادثة مع المستخدم.
أمثلة
يوضّح الرمز التالي طريقة تلقّي وكيلك للرسائل. بالنسبة للتنسيق معلومات القيمة، راجع UserMessage:
موظّف الدعم يتلقّى رسالة نصية
{ "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" }