ব্যবহারকারীকে প্রমাণীকরণ করুন

এজেন্টদের সাধারণত কথোপকথনের সময় ব্যবহারকারীদের দেওয়া তথ্য বাদ দিয়ে তারা যে ব্যবহারকারীদের সাথে যোগাযোগ করে তাদের সম্পর্কে সামান্য অন্তর্দৃষ্টি থাকে। যাইহোক, এজেন্টরা ব্যবহারকারীর পরিচয় নিশ্চিত করতে, কথোপকথন ব্যক্তিগতকৃত করতে এবং ব্যবহারকারীদের পক্ষ থেকে পদক্ষেপ নিতে OAuth দিয়ে ব্যবহারকারীদের প্রমাণীকরণ করতে পারে।

এই কথোপকথনের প্রবাহে, ব্যবহারকারী তাদের অ্যাকাউন্টে ক্রেডিট যোগ করতে বেছে নেয়, এবং এজেন্ট ব্যবহারকারীর পরিচয় যাচাই করতে, ব্যবহারকারীর সম্পর্কে পরিচিত তথ্য আনতে এবং ক্রেডিটগুলির জন্য একটি অর্ডার দেওয়ার জন্য ব্যবহারকারীকে সাইন ইন করতে অনুরোধ করে।

  1. ব্যবহারকারী এজেন্টের সাথে কথোপকথন শুরু করে।
  2. একবার ব্যবহারকারী একটি প্রতিক্রিয়া টাইপ করা শুরু করলে, তারা এজেন্টকে একটি টাইপিং ইভেন্ট পাঠায়।

    {
      "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",
    }
    
  3. ব্যবহারকারী একটি বার্তা হিসাবে "হাই, আমি আমার অ্যাকাউন্টে 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",
    }
    
  4. এজেন্ট পাঠায় "আমি আপনাকে এতে সাহায্য করতে পারি। চালিয়ে যেতে আপনার অ্যাকাউন্টে সাইন ইন করুন।" একটি প্রমাণীকরণ অনুরোধের পরামর্শ সহ।

    clientId এবং scopes OAuth প্রদানকারী দ্বারা সংজ্ঞায়িত করা হয়। এজেন্ট OAuth প্রদানকারীর প্রয়োজনীয়তা অনুযায়ী codeChallenge মান তৈরি করে।

    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'
      }
    }"
    
  5. ব্যবহারকারী বার্তাটি গ্রহণ করে, প্রমাণীকরণ অনুরোধের পরামর্শে ট্যাপ করে এবং তাদের অ্যাকাউন্টে সাইন ইন করে।

  6. এজেন্ট authenticationResponse.code ফিল্ডে OAuth অনুমোদন কোড সহ একটি বার্তা পায়।

    {
      "agent": "brands/1111/agents/2222",
      "conversationId": "3333",
      "customAgentId": "oauth",
      "requestId": "1234567895",
      "authenticationResponse": {
        "code": "fkhoe541658sfk684d135j186mngkjdrt5425415a2s1dfa68s4edf",
        },
      }
      "sendTime": "2020-10-02T15:01:24.045123456Z",
    }
    
  7. এজেন্ট OAuth প্রদানকারীর সাথে যোগাযোগ করে, একটি অ্যাক্সেস টোকেনের জন্য অনুমোদন কোড বিনিময় করে এবং ব্যবহারকারীর অ্যাকাউন্টের তথ্য নিয়ে আসে।

  8. এজেন্ট পাঠায় "সাইন ইন করার জন্য ধন্যবাদ। আপনার কাছে বর্তমানে 2টি ক্রেডিট আছে। নিশ্চিত করার জন্য, আপনি চান যে আমি আপনার অ্যাকাউন্টে 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'
      }
    }"
    
  9. ব্যবহারকারী "হ্যাঁ" প্রস্তাবিত উত্তরে ট্যাপ করে।

    {
      "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",
    }
    
  10. এজেন্ট 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'
      }
    }"
    
  11. ব্যবহারকারী "না, ধন্যবাদ" পাঠায়।

    {
      "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",
    }
    
  12. এজেন্ট পাঠায় "আমাদের সাথে যোগাযোগ করার জন্য ধন্যবাদ। আপনার দিনটি ভালো কাটুক!"

    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'
      }
    }"