(1) 通過創建隊列接口創建1和2隊列;
(2) 通過坐席上班接口把坐席上班準備中,然后通過坐席準備就緒接口把坐席狀態置為準備就緒;
(3) 用戶呼入或者IVR外呼用戶接聽后放音提示按鍵,使用按鍵命令嵌套放音命令,放音循環播放并且設置按鍵超時時間,放音提示:歡迎致電,中文服務請按1,英文服務請按2;
(4) 用戶按鍵1進入1隊列轉接1隊列中的坐席,用戶按鍵2進入2隊列轉接2隊列中的坐席,設置進入排隊超時時間。
(5) 增加進入排隊的副命令調整,在用戶等待中沒有坐席接聽的時候調整到副命令,然后放音提示:坐席正忙,繼續等待請按1,結束請掛機。
(6) 用戶按1繼續進入排隊,按其他鍵直接掛機。
(7) 當坐席接聽并且坐席掛機后通過回調放音提示用戶:請對我們的客服人員做評價,滿意請按1,不滿意請按2;
(8) 用戶超時沒按鍵掛機,用戶按1或者2后提示用戶:感謝您的來電,再見!掛機
(1) 調用CreateQueue接口,分別創建1隊列和2隊列;
(2) 調用AgentOnWork接口,分別在1隊列和2隊列上班座席,座席號碼可以寫控制臺里配置的測試號碼,并且座席狀態設置為1準備就緒狀態
(3) 如果設置坐席狀態0準備中,可以通過AgentReady接口設置坐席準備就緒;
(4) 調用IVR外呼接口發起rest請求/呼入接入號
(5) 呼叫成功云通訊平臺會向客戶創建應用時填寫的ivr通知地址發送通知消息
(6) 第三方服務器獲取到通知消息響應按鍵放音,響應包體:
<?xml version='1.0' encoding='UTF-8'?> <Response> <Get action='firstget' numdigits='1' timeout='30'> <Play>confmenu.wav</Play> </Get> <Play>timeout.wav</Play> <Redirect tag='1'>gettimeout</Redirect> </Response>
說明:主命令為按鍵命令并且嵌套confmenu.wav的放音提示,在用戶按鍵1就回調通知到'firstget'的地址,如果用戶沒有按鍵就會20秒超時后執行副命令,跳轉通知gettimeout。
(7) 若用戶按鍵超時播放timeout.wav語音,語音播放完或按鍵打斷后業務流程重定向到Redirect指向的URL,重新執行按鍵放音的操作。
(8) 獲取到通知消息繼續3的流程提示用戶按鍵,響應包體:
<?xml version='1.0' encoding='UTF-8'?> <Response> <Get action='firstget' numdigits='1' timeout='30'> <Play>confmenu.wav</Play> </Get> <Play>timeoutbye.wav</Play> <Hangup/> </Response>
說明:主命令為按鍵命令并且嵌套confmenu.wav的放音提示,在用戶按鍵1就回調通知到'firstget'的地址,如果用戶沒有按鍵就會20秒超時后執行副命令,直接掛機。
(9) 用戶按鍵完成向第三方服務器發送按鍵上報的通知
(10) 獲取按鍵上報
a) 如果用戶按1鍵,響應包體:
<?xml version='1.0' encoding='UTF-8' ?> <Response> <EnterCCS queuetype='1' timeout='30' queuetimes='1' agenthangupurl='agenthangup'> <Play>waitmusic.wav</Play> </EnterCCS> <Redirect tag='1'>transferAgentFail</Redirect> </Response>
b) 如果用戶按2鍵,響應包體:
<?xml version='1.0' encoding='UTF-8' ?> <Response> <EnterCCS queuetype='2' timeout='30' queuetimes='1' agenthangupurl='agenthangup'> <Play>waitmusic.wav</Play> </EnterCCS> <Redirect tag='2'>transferAgentFail</Redirect> </Response>
c) 如果用戶按其他鍵,響應包體:
<?xml version='1.0' encoding='UTF-8' ?> <Response> <Hangup/> </Response>
說明:主命令為進入隊列命令,用戶按1進入1隊列,按2進入2隊列,嵌套waitmusic.wav放音,如果有座席空閑則轉到座席,座席接聽并掛機后回調agenthangup,座席超時未接聽發話則跳轉到transferAgentFail。
(11) 如果座席未接聽則定向到Redirect指向的URL:transferAgentFail,響應包體:
<?xml version='1.0' encoding='UTF-8' ?> <Response> <Get action=' getchinesequeue ' numdigits='1' timeout='20'> <Play loop='-1'>menu.wav</Play> </Get> <Play>timeoutbye.wav</Play> <Hangup/> </Response>
說明:主命令為按鍵命令并且嵌套menu.wav的放音提示,提示用戶是否繼續排隊,在用戶按鍵一個就回調通知到dtmfreport的地址,如果用戶沒有按鍵就會20秒超時后執行副命令,播放timeoutbye.wav的提示放音后掛機,通過判斷tag的值區分是1隊列還是2隊列,跳轉到不同的地址繼續排隊。
(12) 如果用戶按1鍵,則獲取繼續排隊的按鍵上報通知并響應繼續排隊,響應包體:
<?xml version='1.0' encoding='UTF-8' ?> <Response> <EnterCCS queuetype='1' timeout='30' queuetimes='1' agenthangupurl='agenthangup'> <Play>waitmusic.wav</Play> </EnterCCS> <Hangup/> </Response>
說明:通過此命令讓用戶繼續排隊
(13) 坐席成功接聽后,座席掛機向第三方服務器發通知消息
(14) 第三方服務器收到通知響應按鍵評價,響應包體:
<?xml version='1.0' encoding='UTF-8' ?> <Response> <Get action='pingjia' numdigits='1' timeout='20'> <Play loop='-1'>pingjia.wav</Play> </Get> <Play>bye.wav</Play> <Hangup/> </Response>
說明:獲取用戶按鍵,讓用戶對座席進行評價
(15) 獲取到用戶用戶按鍵上報,并響應放音掛機,響應包體:
<?xml version='1.0' encoding='UTF-8' ?> <Response> <Play>thank.wav</Play><Hangup/> </Response>
說明:得到用戶的按鍵,放音提示完成后掛機
(16) 用戶掛機結束業務
(17) 掛機后響應空命令即可
<Response> <CmdNone/> </Response>
說明:主命令為空命令,因為結束業務了不需要返回其他的IVR命令。
(18) 坐席在被鎖定到掛機的過程中都會有狀態改變
(19) 掛機后響應空命令即可,響應包體:
<Response> <CmdNone/> </Response>
說明:坐席狀態改變不需要后續命令,返回空命令即可,如果坐席接聽后狀態變化為0準備中需要通過AgentReady接口讓坐席準備就緒。如果想實現坐席自動準備就緒,可以在坐席狀態改變為0準備中的時候響應坐席準備就緒命令,坐席其他狀態不需要后續業務直接返回空命令。
響應坐席準備就緒命令示例:
<Response> <Appid>"+appid+"</Appid> <AgentReady agentid='"+agentid+"'/> </Response>
(1) 如果坐席是網絡端,成功接聽來電需要滿足兩點:
a)調用坐席上班接口將坐席狀態置為準備就緒狀態
b)客戶端成功登陸sdk
(2) 坐席狀態改變說明
0→1 坐席上班后調用準備就緒接口,只有準備就緒在隊列里才能被鎖定
1→2 進入隊列,坐席外呼或坐席內呼鎖定坐席
注:坐席強制準備就緒(即 準備就緒命令force="true") 不管之前坐席什么狀態都會把狀態改為1
3→0 坐席掛機會返回坐席0的狀態
4→0 拒接,或客戶端不在線等狀態之后直接返回4的狀態,然后掛機都會變為0狀態,坐席如需繼續服務,需將坐席狀態置為1的狀態,如果不想每次手動改變狀態,可以自動準備就緒。實現方法:收到坐席狀態0的通知,響應ivr坐席命令里的準備就緒命令即可。
注:坐席狀態4到0狀態中間間隔時長為10s
(3) 坐席通話時長是需客戶自己通過坐席狀態改變通知來實現的。
(1) rest 座席管理接口文檔
(2) IVR基礎命令接口文檔
(3) IVR基礎通知消息接口文檔
(4) IVR座席命令接口文檔
(5) IVR 座席通知消息接口文檔
文檔更新時間:2016年10月25日