RBM 服務專員透過 Webhook。 使用者傳送訊息給服務專員時,Google 的 RBM 服務會將 訊息傳給已設定的 Webhook服務專員接著就能將訊息解碼 處理工作,並向使用者發出回應。
使用者可以傳送 RCS 用戶端允許的任何文字、位置或檔案, 您的服務專員必須處理使用者可能傳送的任何文字、位置或檔案,例如 以及這些訊息可能觸發的任何錯誤狀態
處理傳入訊息
服務專員如何處理及回應使用者的訊息 掌握商業邏輯的表現一般而言,回應使用者的步驟 訊息是否一致
步驟 1:辨別使用者傳送的訊息類型
使用者可以傳送四種類型的訊息:
步驟 2:處理郵件內容
使用者訊息內容應引導代理程式的邏輯和後續回應 加入對話
要找出使用者意圖,最簡單的方法是運用來自好友的回傳資料, 建議回覆或建議動作。無論 建議,回傳資料可由機器讀取
如果使用者傳送簡訊,您的代理程式可能會剖析 支援的關鍵字或非自然語言 (例如 Dialogflow) 來處理使用者的訊息, 找出路徑方向
位置和檔案訊息不包含文字或回傳資料,因此您的 服務專員應考量對話情境和近期訊息 然後再做出回應。
如果服務專員不知道如何回覆使用者的訊息, 傳回錯誤狀態,並嘗試按照 提示使用者輸入其他資訊 或是顯示建議的回覆和建議操作 服務專員知道如何回應
步驟 3:執行互動的商業邏輯
服務專員找出使用者訊息的正確回應後, 從基礎架構收集必要資訊 必要時其他系統,以滿足開發人員的商業邏輯 互動。
步驟 4:回覆使用者
服務專員完成互動的商業邏輯後,就會傳送 其他訊息,然後繼續與使用者的對話。
範例
以下程式碼顯示服務專員如何接收訊息。如要設定格式和 值資訊,請參閱 UserMessage。
服務專員接收文字
{ "agentId": "AGENT_ID", "senderPhoneNumber": "PHONE_NUMBER", "messageId": "MESSAGE_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "text": "Hello, world!" }
服務專員收到建議訊息
{ "agentId": "AGENT_ID", "senderPhoneNumber": "PHONE_NUMBER", "messageId": "MESSAGE_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "suggestionResponse": { "postbackData": "suggestion_1", "text": "Suggestion #1" } }
服務專員收到位置
{ "agentId": "AGENT_ID", "senderPhoneNumber": "PHONE_NUMBER", "messageId": "MESSAGE_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "location": { "latitude": 37.422000, "longitude": -122.084056 } }
服務專員收到檔案
{ "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" } } }
處理傳入事件
服務專員向使用者傳送訊息時,就會收到通知 成功傳遞出的安全漏洞
以下程式碼顯示服務專員如何接收訊息。如要設定格式和 值資訊,請參閱 UserEvent。
訊息已傳送給使用者
{ "agentId": "AGENT_ID", "senderPhoneNumber": "PHONE_NUMBER", "messageId": "MESSAGE_ID", "eventId": "EVENT_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "eventType": "DELIVERED" }
使用者已看過訊息
{ "agentId": "AGENT_ID", "senderPhoneNumber": "PHONE_NUMBER", "messageId": "MESSAGE_ID", "eventId": "EVENT_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "eventType": "READ" }
使用者正在輸入
{ "senderPhoneNumber": "PHONE_NUMBER", "eventType": "IS_TYPING", "eventId": "EVENT_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "agentId": "AGENT_ID" }