Kundenservicemitarbeiter haben in der Regel wenig Einblick in die Nutzer, mit denen sie kommunizieren. anhand von Informationen, die Nutzende während eines Gesprächs geben. Kundenservicemitarbeiter können jedoch Nutzer mit OAuth authentifizieren um die Nutzeridentität zu bestätigen, Unterhaltungen zu personalisieren und im Namen Aktionen durchzuführen der Nutzenden.
In diesem Gesprächsablauf entscheidet sich der Nutzer, seinem Konto Guthaben hinzuzufügen, und fordert der Agent den Nutzer auf, sich anzumelden, um seine Identität zu validieren, bekannten Informationen über den Nutzer und geben Sie eine Bestellung für die Gutschriften auf.
- Der Nutzer beginnt die Unterhaltung mit dem Agent.
Sobald der Nutzer mit der Eingabe einer Antwort beginnt, sendet er ein Eingabeereignis an die .
{ "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", }
Der Nutzer sendet „Hallo, ich möchte meinem Konto 5 Guthabenpunkte hinzufügen“ als Nachricht.
{ "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", }
Der Kundenservicemitarbeiter sendet die Nachricht „Ich kann dir dabei helfen. Melde dich in deinem Konto an, um weiter.“ zusammen mit einem Vorschlag für eine Authentifizierungsanfrage an.
clientId
undscopes
werden vom OAuth-Anbieter definiert. Der Agent generiert dencodeChallenge
-Wert gemäß der Anforderungen.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' } }"
Der Nutzer erhält die Nachricht, tippt auf den Vorschlag für die Authentifizierungsanfrage und sich in seinem Konto anmeldet.
Der Agent erhält eine Nachricht mit dem OAuth-Autorisierungscode im
authenticationResponse.code
.{ "agent": "brands/1111/agents/2222", "conversationId": "3333", "customAgentId": "oauth", "requestId": "1234567895", "authenticationResponse": { "code": "fkhoe541658sfk684d135j186mngkjdrt5425415a2s1dfa68s4edf", }, } "sendTime": "2020-10-02T15:01:24.045123456Z", }
Der Agent kommuniziert mit dem OAuth-Anbieter und tauscht die Autorisierung aus. für ein Zugriffstoken und das Abrufen der Kontoinformationen des Nutzers.
Der Kundenservicemitarbeiter sendet die Meldung „Vielen Dank für die Anmeldung. Sie haben derzeit 2 Guthabenpunkte. Bis Bestätigen Sie bitte, dass ich 5 Gutschriften zu Ihrem Konto hinzufügen und Standardzahlungsmethode?“ als Nachricht mit „Ja“ und „Nein“ als Antwortvorschläge.
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' } }"
Der Nutzer tippt auf „Ja“. vorgeschlagene Antwort.
{ "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", }
Der Agent verarbeitet die Transaktion mit dem OAuth-Zugriffstoken und sendet die Nachricht „Toll. Ich habe Ihrem Konto gerade 5 Guthabenpunkte hinzugefügt. Gibt es kann ich Ihnen noch bei etwas anderem weiterhelfen?“
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' } }"
Der Nutzer sendet „Nein danke“.
{ "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", }
Der Kundenservicemitarbeiter sendet die Meldung „Vielen Dank, dass Sie uns kontaktiert haben. Ich wünsche Ihnen noch einen schönen Tag.“
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' } }"