接收訊息

RBM 服務專員透過 Webhook。 使用者傳送訊息給服務專員時,Google 的 RBM 服務會將 訊息傳給已設定的 Webhook服務專員接著就能將訊息解碼 處理工作,並向使用者發出回應。

使用者傳送訊息給服務專員

使用者可以傳送 RCS 用戶端允許的任何文字、位置或檔案, 您的服務專員必須處理使用者可能傳送的任何文字、位置或檔案,例如 以及這些訊息可能觸發的任何錯誤狀態

處理傳入訊息

服務專員如何處理及回應使用者的訊息 掌握商業邏輯的表現一般而言,回應使用者的步驟 訊息是否一致

步驟 1:辨別使用者傳送的訊息類型

使用者可以傳送四種類型的訊息:

  • 文字訊息屬於任意形式的回應。
  • 建議訊息包含回傳資料和以下文字的 使用者輕觸的建議動作或建議回覆。
  • 位置訊息包含經緯度值。

  • 「File」訊息包含檔案的 URI 和相關資料。

步驟 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"
}