تلقي الرسائل

يتلقّى موظّفو دعم 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": {
    "category": "IMAGE",
    "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"
}