Nhân viên hỗ trợ RBM nhận tin nhắn và sự kiện thông qua một webhook. Khi người dùng gửi tin nhắn đến nhân viên hỗ trợ của bạn, dịch vụ RBM của Google sẽ gửi tin nhắn đến webhook đã định cấu hình của bạn. Sau đó, nhân viên hỗ trợ của bạn có thể giải mã tin nhắn, xử lý yêu cầu đó và phản hồi cho người dùng.
Người dùng có thể gửi bất kỳ văn bản, vị trí hoặc tệp nào mà ứng dụng RCS của họ cho phép. Nhân viên hỗ trợ của bạn cần xử lý mọi văn bản, vị trí hoặc tệp mà người dùng có thể gửi, như cũng như bất kỳ trạng thái lỗi nào mà những thông báo đó có thể kích hoạt.
Xử lý tin nhắn đến
Cách nhân viên hỗ trợ xử lý và trả lời tin nhắn của người dùng phụ thuộc nhiều dựa trên logic kinh doanh. Tuy nhiên, nhìn chung, các bước để trả lời người dùng thông điệp nhất quán.
Bước 1: Xác định loại thông báo mà người dùng đã gửi
Người dùng có thể gửi bốn loại thông báo:
- Tin nhắn văn bản là tin nhắn trả lời dạng tự do.
- Thông báo Đề xuất bao gồm dữ liệu đăng lại và văn bản của hành động đề xuất hoặc câu trả lời đề xuất mà người dùng đã nhấn vào.
Thông báo về vị trí có chứa giá trị vĩ độ và kinh độ.
Thông báo về Tệp bao gồm URI của một tệp và dữ liệu liên quan.
Bước 2: Xử lý nội dung tin nhắn
Nội dung thông báo cho người dùng phải định hướng logic của nhân viên hỗ trợ và phản hồi tiếp theo trong cuộc trò chuyện.
Cách dễ nhất để xác định ý định của người dùng là sử dụng dữ liệu đăng lại từ câu trả lời đề xuất hoặc hành động đề xuất. Bất kể văn bản được liên kết với đề xuất, dữ liệu đăng lại có thể đọc được bằng máy.
Nếu người dùng gửi tin nhắn văn bản, nhân viên hỗ trợ của bạn có thể phân tích cú pháp phản hồi để từ khoá được hỗ trợ hoặc sử dụng NLU (chẳng hạn như Dialogflow) để xử lý thông báo của người dùng và xác định một con đường phía trước.
Vị trí và thông báo tệp không bao gồm dữ liệu văn bản hoặc đăng lại, do đó nhân viên hỗ trợ nên xem xét bối cảnh của cuộc trò chuyện và các tin nhắn gần đây trước khi phản hồi.
Nếu nhân viên hỗ trợ của bạn không biết cách trả lời tin nhắn của người dùng, trả lời kèm theo trạng thái lỗi và cố gắng tiếp tục cuộc trò chuyện bằng cách nhắc người dùng cung cấp thêm thông tin bằng cách yêu cầu nhập thông tin trong theo cách khác nhau hoặc bằng cách đưa ra câu trả lời đề xuất và hành động đề xuất nhân viên hỗ trợ biết cách phản hồi.
Bước 3: Thực hiện logic kinh doanh cho lượt tương tác
Sau khi nhân viên hỗ trợ xác định đúng câu trả lời cho tin nhắn của người dùng, thu thập thông tin cần thiết từ cơ sở hạ tầng của bạn và tham gia với các hệ thống khác khi cần thiết để thực hiện logic nghiệp vụ cho tương tác.
Bước 4: Trả lời người dùng
Sau khi hoàn thành logic nghiệp vụ cho tương tác, tác nhân sẽ gửi một tin nhắn khác và tiếp tục cuộc trò chuyện với người dùng.
Ví dụ
Mã sau đây cho biết cách nhân viên hỗ trợ nhận tin nhắn. Để định dạng và thông tin giá trị, xem UserMessage.
Nhân viên hỗ trợ nhận tin nhắn văn bản
{ "agentId": "AGENT_ID", "senderPhoneNumber": "PHONE_NUMBER", "messageId": "MESSAGE_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "text": "Hello, world!" }
Nhân viên hỗ trợ nhận được tin nhắn từ nội dung đề xuất
{ "agentId": "AGENT_ID", "senderPhoneNumber": "PHONE_NUMBER", "messageId": "MESSAGE_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "suggestionResponse": { "postbackData": "suggestion_1", "text": "Suggestion #1" } }
Nhân viên hỗ trợ nhận được thông tin vị trí
{ "agentId": "AGENT_ID", "senderPhoneNumber": "PHONE_NUMBER", "messageId": "MESSAGE_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "location": { "latitude": 37.422000, "longitude": -122.084056 } }
Nhân viên hỗ trợ nhận tệp
{ "agentId": "AGENT_ID", "senderPhoneNumber": "PHONE_NUMBER", "messageId": "MESSAGE_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "userFile": { "thumbnail": { "mimeType": "image/jpeg", "fileSizeBytes": 1280, "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c8", "fileName": "4_animated.jpeg" }, "payload": { "mimeType": "image/gif", "fileSizeBytes": 127806, "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c9", "fileName": "4_animated.gif" } } }
Xử lý các sự kiện đến
Nhân viên hỗ trợ của bạn sẽ nhận được thông báo khi tin nhắn mà nhân viên hỗ trợ gửi cho người dùng được gửi và đọc.
Mã sau đây cho biết cách nhân viên hỗ trợ nhận tin nhắn. Để định dạng và thông tin giá trị, xem UserEvent.
Đã gửi thông báo cho người dùng
{ "agentId": "AGENT_ID", "senderPhoneNumber": "PHONE_NUMBER", "messageId": "MESSAGE_ID", "eventId": "EVENT_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "eventType": "DELIVERED" }
Người dùng đã đọc thông báo
{ "agentId": "AGENT_ID", "senderPhoneNumber": "PHONE_NUMBER", "messageId": "MESSAGE_ID", "eventId": "EVENT_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "eventType": "READ" }
Người dùng đang nhập
{ "senderPhoneNumber": "PHONE_NUMBER", "eventType": "IS_TYPING", "eventId": "EVENT_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "agentId": "AGENT_ID" }