Selain itu, agen biasanya hanya memiliki sedikit informasi tentang pengguna yang berkomunikasi dengan mereka dari informasi yang diberikan pengguna selama percakapan. Namun, agen dapat mengautentikasi pengguna dengan OAuth untuk mengonfirmasi identitas pengguna, mempersonalisasi percakapan, dan mengambil tindakan atas nama setiap saat.
Dalam alur percakapan ini, pengguna memilih untuk menambahkan kredit ke akun mereka, dan agen meminta pengguna login untuk memvalidasi identitas pengguna, mengambil informasi yang diketahui tentang pengguna, dan melakukan pemesanan kredit.
- Pengguna memulai percakapan dengan agen.
Setelah pengguna mulai mengetik respons, mereka akan mengirim peristiwa mengetik ke agen keamanan.
{ "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", }
Pengguna mengirim pesan "Halo, saya ingin menambahkan 5 kredit ke akun saya" sebagai pesan.
{ "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", }
Agen mengirim "Saya bisa membantu Anda. Login ke akun Anda untuk lanjutkan." beserta saran permintaan Authentication.
clientId
danscopes
ditentukan oleh penyedia OAuth. Agen akan menghasilkan nilaicodeChallenge
sesuai dengan lainnya.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' } }"
Pengguna menerima pesan, mengetuk saran permintaan otentikasi, dan login ke akun mereka.
Agen akan menerima pesan berisi kode otorisasi OAuth di Kolom
authenticationResponse.code
.{ "agent": "brands/1111/agents/2222", "conversationId": "3333", "customAgentId": "oauth", "requestId": "1234567895", "authenticationResponse": { "code": "fkhoe541658sfk684d135j186mngkjdrt5425415a2s1dfa68s4edf", }, } "sendTime": "2020-10-02T15:01:24.045123456Z", }
Agen berkomunikasi dengan penyedia OAuth, menukar otorisasi kode untuk sebuah token akses dan mengambil informasi akun pengguna.
Agen mengirimkan pesan "Terima kasih telah login. Saat ini Anda memiliki 2 kredit. Kepada konfirmasi, Anda ingin saya menambahkan 5 kredit ke akun Anda dan menagih metode pembayaran default?" sebagai pesan dengan "Yes" dan "No" sebagai balasan yang disarankan.
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' } }"
Pengguna mengetuk tombol "Ya" balasan yang disarankan.
{ "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", }
Agen memproses transaksi menggunakan token akses OAuth, lalu mengirim pesan "Bagus. Saya baru saja menambahkan 5 kredit ke akun Anda. Apakah ada ada hal lain yang bisa saya bantu?".
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' } }"
Pengguna mengirim "Lain kali".
{ "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", }
Agen mengirimkan pesan "Terima kasih telah menghubungi kami. Semoga hari Anda menyenangkan!"
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' } }"