عادةً ما يكون لدى موظّفي الدعم نظرة بسيطة على المستخدمين الذين يتواصلون معهم من المعلومات التي يقدمها المستخدمون أثناء المحادثة. ومع ذلك، يمكن لموظّفي الدعم مصادقة المستخدمين باستخدام بروتوكول OAuth لتأكيد هوية المستخدم وتخصيص المحادثات واتّخاذ الإجراءات نيابةً عن المستخدم من المستخدمين.
في تدفق المحادثة هذا، يختار المستخدم إضافة أرصدة إلى حسابه، يطلب الوكيل من المستخدم تسجيل الدخول للتحقق من هوية المستخدم وجلب معلومات معروفة عن المستخدم، وتقديم طلب للحصول على الأرصدة.
- يبدأ المستخدم المحادثة مع الوكيل.
بعد أن يبدأ المستخدم في كتابة رد، يرسل حدث كتابة إلى وكيل المستخدم.
{ "agent": "brands/1111/agents/2222", "conversationId": "3333", "customAgentId": "oauth", "requestId": "1234567890", "userStatus": { "isTyping": "true", "createTime": "2020-10-02T15:01:23.045123456Z", }, "sendTime": "2020-10-02T15:01:24.045123456Z", }
يرسل المستخدم "مرحبًا، أريد إضافة 5 أرصدة إلى حسابي" كرسالة.
{ "agent": "brands/1111/agents/2222", "conversationId": "3333", "customAgentId": "oauth", "requestId": "123123123", "message": { "messageId": "4444", "name": "conversations/12345/messages/67890", "text": "Hi, I'd like to add 5 credits to my account", "createTime": "2020-10-02T15:05:23.045123456Z", }, "context": { "entryPoint": "PLACESHEET", "userInfo": { "displayName": "Michael", "userDeviceLocale": "en", }, "resolvedLocale": "en", } "sendTime": "2020-10-02T15:05:24.045123456Z", }
يرسل إليك الوكيل "يمكنني مساعدتك في هذا الشأن. سجِّل الدخول إلى حسابك من أجل نواصل". إلى جانب اقتراح طلب المصادقة.
يتم تحديد
clientId
وscopes
من خلال موفّر بروتوكول OAuth. الوكيل يُنشئ قيمةcodeChallenge
وفقًا لخيار موفِّر بروتوكول OAuth. متطلبات المشروع.curl -X POST "https://businessmessages.googleapis.com/v1/conversations/3333/messages" \ -H "Content-Type: application/json" \ -H "`oauth2l header --json path/to/service/account/key.json businessmessages`" \ -d "{ 'messageId': '5555', 'text': 'I can help you with that. Sign into your account to continue.', 'suggestions': [ { 'AuthenticationRequest': { 'clientId': 'oauth_client_id_1234567890', 'codeChallenge': 'code_challenge', 'scopes': [ 'account', 'billing', ], }, }, ], 'representative': { 'avatarImage': 'https://oauth.agent/bot-avatar.jpg', 'displayName': 'OAuth Agent', 'representativeType': 'BOT' } }"
يتلقى المستخدم الرسالة، وينقر على اقتراح طلب المصادقة، ويسجّل الدخول إلى حسابه
يتلقى الوكيل رسالة تحتوي على رمز تفويض OAuth في الحقل "
authenticationResponse.code
".{ "agent": "brands/1111/agents/2222", "conversationId": "3333", "customAgentId": "oauth", "requestId": "1234567895", "authenticationResponse": { "code": "fkhoe541658sfk684d135j186mngkjdrt5425415a2s1dfa68s4edf", }, } "sendTime": "2020-10-02T15:01:24.045123456Z", }
يتواصل الوكيل مع موفّر بروتوكول OAuth، ويتبادل التفويض. لرمز الدخول واسترجاع معلومات حساب المستخدم.
يرسل موظّف الدعم رسالة "شكرًا على تسجيل الدخول. لديك حاليًا رصيدان. إلى تأكيد أنّ المطلوب هو إضافة 5 أرصدة إلى حسابك وتحرير فاتورة طريقة الدفع التلقائية؟" كرسالة "نعم" و"لا" كردود مقترَحة.
curl -X POST "https://businessmessages.googleapis.com/v1/conversations/3333/messages" \ -H "Content-Type: application/json" \ -H "`oauth2l header --json path/to/service/account/key.json businessmessages`" \ -d "{ 'messageId': '7777', 'text': 'Thanks for signing in. You currently have 2 credits. To confirm, you'd like to me to add 5 credits to your account and bill your default payment method?', 'suggestions': [ { 'reply': { 'text': 'Yes', 'postbackData': 'process-transaction', }, }, { 'reply': { 'text': 'No', 'postbackData': 'cancel-transaction', }, }, ], 'representative': { 'avatarImage': 'https://oauth.agent/bot-avatar.jpg', 'displayName': 'OAuth Agent', 'representativeType': 'BOT' } }"
ينقر المستخدم على "نعم" ردّ مقترَح
{ "agent": "brands/1111/agents/2222", "conversationId": "3333", "customAgentId": "oauth", "requestId": "1234567898", "suggestionResponse": { "message": "conversations/333/messages/8888", "postbackData": "process-transaction", "createTime": "2020-10-02T15:01:26.045123456Z", "text": "Yes", "suggestionType": "REPLY", } "sendTime": "2020-10-02T15:01:27.045123456Z", }
يعالج الوكيل المعاملة باستخدام رمز الدخول OAuth، ثم يرسل الرسالة "رائع. لقد أضفت 5 أرصدة للتو إلى حسابك. هل هناك هل أنت بحاجة إلى مزيد من المساعدة؟".
curl -X POST "https://businessmessages.googleapis.com/v1/conversations/3333/messages" \ -H "Content-Type: application/json" \ -H "`oauth2l header --json path/to/service/account/key.json businessmessages`" \ -d "{ 'messageId': '9999', 'text': 'Great. I just added 5 credits to your account. Is there anything else I can help you with?', 'representative': { 'avatarImage': 'https://oauth.agent/bot-avatar.jpg', 'displayName': 'OAuth Agent', 'representativeType': 'BOT' } }"
يرسل المستخدم "لا، شكرًا".
{ "agent": "brands/1111/agents/2222", "conversationId": "3333", "customAgentId": "oauth", "requestId": "123123133", "message": { "messageId": "4444", "name": "conversations/12345/messages/101010", "text": "No, thanks", "createTime": "2020-10-02T15:05:23.045123456Z", }, "context": { "entryPoint": "PLACESHEET", "userInfo": { "displayName": "Michael", "userDeviceLocale": "en", }, "resolvedLocale": "en", } "sendTime": "2020-10-02T15:05:28.045123456Z", }
يرسل موظّف الدعم رسالة "نشكرك على التواصل معنا. أتمنى لك يومًا سعيدًا!"
curl -X POST "https://businessmessages.googleapis.com/v1/conversations/3333/messages" \ -H "Content-Type: application/json" \ -H "`oauth2l header --json path/to/service/account/key.json businessmessages`" \ -d "{ 'messageId': '11111111', 'text': 'Thanks for contacting us. Have a great day!', 'representative': { 'avatarImage': 'https://oauth.agent/bot-avatar.jpg', 'displayName': 'OAuth Agent', 'representativeType': 'BOT' } }"