انتقال از ربات به عامل زنده

هنگامی که کاربران با نمایندگان ارتباط برقرار می کنند، انتظارات آنها بر اساس نحوه ارائه خود و اینکه چه کسی پیام هایی را که دریافت می کنند تنظیم می کند، تعیین می شود. هر بار که یک نماینده پیامی را ارسال می کند، می تواند تشخیص دهد که آیا نماینده خودکار ( BOT ) یا نماینده زنده ( HUMAN ) پیام را ساخته است. کاربران این اطلاعات را در مکالمه می بینند، و به کاربران کمک می کند تا بفهمند چه نوع تعاملاتی را در هر مقطع زمانی ممکن است انتظار داشته باشند.

اگر یک نماینده از هر دو نماینده BOT و HUMAN پشتیبانی می کند، مهم است که هنگام جابجایی بین این دو زمینه فراهم شود. هنگام تغییر از یک BOT به یک نماینده HUMAN ، قبل از ارسال پیام از نماینده HUMAN ، یک رویداد REPRESENTATIVE_JOINED ارسال کنید و همه پیام‌های زیر را از نمایندگان زنده به‌عنوان نمایندگان HUMAN به درستی برچسب‌گذاری کنید. وقتی نماینده زنده مکالمه را ترک کرد، یک رویداد REPRESENTATIVE_LEFT ارسال کنید. این رویدادهای کادربندی به کاربران اطلاع می‌دهند که می‌توانند سؤالات پیچیده‌تری بپرسند و می‌توانند انتظار پاسخ‌های آزاد بیشتری داشته باشند.

در این جریان مکالمه، اولین تعاملات کاربر با یک پاسخ دهنده خودکار است که به عنوان نماینده BOT پیام ها را ارسال می کند، اما یک نماینده زنده به مکالمه می پیوندد و پیام ها را به عنوان نماینده HUMAN ارسال می کند. پیام‌های نماینده زنده توسط رویدادهای REPRESENTATIVE_JOINED و REPRESENTATIVE_LEFT می‌شوند.

  1. کاربر مکالمه را با نماینده شروع می کند.
  2. هنگامی که کاربر شروع به تایپ پاسخ می کند، یک رویداد تایپ را برای نماینده ارسال می کند.

    {
      "agent": "brands/1111/agents/2222",
      "conversationId": "3333",
      "customAgentId": "live-agent-handoff",
      "requestId": "1234567890",
      "userStatus": {
        "isTyping": "true",
        "createTime": "2020-10-02T15:01:23.045123456Z",
      },
      "sendTime": "2020-10-02T15:01:24.045123456Z",
    }
    
  3. کاربر "سلام، مشکلی دارم" را به عنوان پیام ارسال می کند.

    {
      "agent": "brands/1111/agents/2222",
      "conversationId": "3333",
      "customAgentId": "live-agent-handoff",
      "requestId": "123123123",
      "message": {
        "messageId": "4444",
        "name": "conversations/12345/messages/67890",
        "text": "Hi, I have a problem",
        "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. نماینده ارسال می کند "از اینکه با ما تماس گرفتید متشکریم. زمانی که یک نماینده زنده برای چت با شما در دسترس باشد، این را ارسال خواهم کرد." به عنوان یک پیام از یک نماینده BOT .

    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': 'Thanks for contacting us. I'll pass this along when a live agent is available to chat with you.',
      'representative': {
        'avatarImage': 'https://live.agent/bot-avatar.jpg',
        'displayName': 'Hello World Agent',
        'representativeType': 'BOT'
      }
    }"
    
  5. یک نماینده زنده در دسترس می شود.

  6. نماینده یک رویداد REPRESENTATIVE_JOINED را قبل از ارسال اولین پیام از نماینده زنده ارسال می کند.

    curl -X POST "https://businessmessages.googleapis.com/v1/conversations/12345/events?eventId=6666" \
    -H "Content-Type: application/json" \
    -H "`oauth2l header --json /path/to/service/account/key.json businessmessages`" \
    -d "{
      'eventType': 'REPRESENTATIVE_JOINED',
      'representative': {
        'avatarImage': 'https://live.agent/human-avatar.jpg',
        'displayName': 'Jane Doe',
        'representativeType': 'HUMAN',
      },
    }"
    
  7. نماینده می فرستد "می بینم مشکل داری. چگونه می توانم کمک کنم؟" به عنوان پیامی از سوی نماینده HUMAN .

    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': 'I see you have a problem. How can I help?',
      'representative': {
        'avatarImage': 'https://live.agent/human-avatar.jpg',
        'displayName': 'Jane Doe',
        'representativeType': 'HUMAN'
      }
    }"
    
  8. تا زمانی که درخواست کاربر برآورده شود، عامل زنده و کاربر به تبادل پیام می پردازند. تمام پیام‌های ایجاد شده توسط نماینده زنده از نماینده HUMAN ارسال می‌شود.

  9. هنگامی که نماینده زنده گفتگو را ترک می کند، نماینده یک رویداد REPRESENTATIVE_LEFT ارسال می کند.

    curl -X POST "https://businessmessages.googleapis.com/v1/conversations/12345/events?eventId=6666" \
    -H "Content-Type: application/json" \
    -H "`oauth2l header --json /path/to/service/account/key.json businessmessages`" \
    -d "{
      'eventType': 'REPRESENTATIVE_LEFT',
      'representative': {
        'avatarImage': 'https://live.agent/human-avatar.jpg',
        'displayName': 'Jane Doe',
        'representativeType': 'HUMAN',
      },
    }"
    
  10. نماینده همه پیام‌های بعدی را با نمایندگان BOT ارسال می‌کند مگر اینکه نماینده زنده دیگری به مکالمه ملحق شود.