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