機器人會話狀態 Snippet
此 snippet 用於具有 botSessionState 屬性的動作,如Textbot Exchange和Voicebot Exchange(從此處開始,這兩個動作均簡稱為 Exchange)。 必須正確配置botSessionState屬性,以使您的虛擬客服 代替真人客服專員處理客戶互動的軟體應用程式。能按預期工作。
提供者在對話開始時建立識別碼,並將其與第一個回應一起傳遞給指令碼。 指令碼將儲存 的
您的指令碼絕不應寫入此屬性或其變數。 必須正確
指令碼設定
在您使用 Exchange動作時,指令碼中至少需要有兩個該動作的實例。 每個Exchange動作中的botSessionState 屬性必須以不同方式配置:
- Exchange 動作的第一個執行個體直接位於指令碼開頭的 Begin 動作後面。 配置如下:
- botSessionState:此處必須為空。
- botSessionStateVarName (out):屬性必須以您希望指令碼儲存識別碼的變數名稱來配置。
- 第二個Exchange 動作位於指令碼的後面。 配置如下:
- botSessionState:使用在Exchange動作的第一個執行個體中botSessionStateVarName (out)中使用的變數進行配置。 該變數必須存儲 JSON 格式機器人會話狀態識別碼。
- botSessionStateVarName (out):屬性必須以您希望指令碼儲存識別碼的變數名稱來配置。
- Exchange動作的第三個及任何後續執行個體是可選的。 如果您的指令碼包含這些執行個體,請依下列方式配置:
- botSessionState:使用在Exchange動作的上一個執行個體中botSessionStateVarName (out)中使用的變數進行配置。 該變數必須存儲 JSON 格式機器人會話狀態識別碼。 機器人會話狀態識別碼通常不會在輪次之間改變。 但是,萬一發生變更,應該配置動作以擷取變更。
- botSessionStateVarName (out):屬性必須以您希望指令碼儲存識別碼的變數名稱來配置。
所有虛擬客服專員都需要這種配置。
將機器人會話狀態識別字碼轉換為 JSON 格式
在 botSessionStateVarName (out) 屬性中使用的變數內容必須被轉換成 JSON 格式,並傳遞到您的指令碼中第二個 Exchange 動作的 botSessionState屬性。 要做到此點,可以在 Snippet 動作中包含代碼,或者可以直接配置該屬性。 這兩種方法都可以接受。 然而,在 Snippet 中建立一個變數來保存轉換後的物件的好處是,這樣會更容易看到轉換在哪裡發生。
使用 Snippet 動作
- 使用變數的名稱配置 Exchange 動作的 botSessionStateVarName (out) 屬性來保留工作階段狀態識別碼。 例如,botSessionState。
-
將以下行新增到指令碼中位於 Exchange 動作之前的 Snippet:
ASSIGN botSessionStateOut = botSessionStateOut.asJSON()
使用在指令碼中使用的變數的名稱。
- 在 Exchange 動作中使用在 ASSIGN 陳述式中使用的變數名稱配置 botSessionState 屬性。 例如,botSessionStateOut。
在屬性中轉換
如果您在botSessionState屬性中轉換變數,可使用 botSessionStateVarName (out) 變數與 asJSON() 功能。 範例:
- botSessionStateVarName (out): botSessionState
- botSessionState: botSessionState.asJSON()