消息流程是 PPMESSAGE 消息系統(tǒng)的核心組件,消息流程通過響應(yīng)消息渠道的事件,執(zhí)行預(yù)定義的流程,每個(gè)流程由開始和結(jié)束節(jié)點(diǎn)以及中間的若干節(jié)點(diǎn)組成,節(jié)點(diǎn)執(zhí)行數(shù)據(jù)處理或者指定的動(dòng)作,返回執(zhí)行的結(jié)果,通過對(duì)節(jié)點(diǎn)結(jié)果的處理就將引導(dǎo)流程走向下一個(gè)節(jié)點(diǎn),使節(jié)點(diǎn)間形成連接關(guān)系,構(gòu)成流程。
簡(jiǎn)介
消息流程是 PPMESSAGE 最復(fù)雜和難于理解的部分,也是驅(qū)動(dòng) PPMESSAGE 工作的系統(tǒng)核心。
一個(gè)完整的流程由開始節(jié)點(diǎn)開始,結(jié)束節(jié)點(diǎn)結(jié)束,中間包含若干節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)獨(dú)立的操作,節(jié)點(diǎn)間通過操作結(jié)果和事件響應(yīng)、變量參數(shù)傳遞建立聯(lián)系,從而構(gòu)成一個(gè)完成的流程。下圖是一個(gè)例子。
流程界面
左邊欄是流程列表,流程列表中的每一項(xiàng)都代表一個(gè)流程。每個(gè)流程有四個(gè)元素,狀態(tài)指示,流程名稱,流程類型,流程菜單。
狀態(tài)指示指明這個(gè)流程是否是處于激活狀態(tài),流程名字用于標(biāo)示流程,可以取同樣的名字,因?yàn)橄到y(tǒng)內(nèi)部并沒有以名字區(qū)分,即使是同樣的名字也可以是不同的流程,流程類型是指這個(gè)流程的類別,目前對(duì)于網(wǎng)站渠道的訪客行為,PPMESSAGE 支持的流程類型有三種,
- LOAD CHAT WIDGET (客戶加載聊天組件)
- OPEN CHAT WIDGET (客戶打開聊天組件)
- SEND MESSAGE (客戶在聊天組件上發(fā)送了一條消息)
這幾個(gè)類型的含義分別是,客戶加載聊天窗口,客戶打開聊天窗口,客戶發(fā)送了一個(gè)消息。一中類型只能運(yùn)行一個(gè)流程是激活的。
右側(cè)的流程編輯窗口,上邊一條是工具欄,工具欄中加載對(duì)應(yīng)于流程類型的節(jié)點(diǎn)按鈕,這些節(jié)點(diǎn)只適用于與當(dāng)前的流程類型,不同的流程類型需要不同的節(jié)點(diǎn)支持。
以 LOAD CHAT WIDGET 流程類型為例,這個(gè)流程是在客戶加載聊天窗口的時(shí)候有效,指網(wǎng)頁剛剛加載,聊天的氣泡開始閃現(xiàn)的時(shí)刻。
LOAD CHAT WIDGET 支持的節(jié)點(diǎn)有:
- 邏輯操作
- 正則表達(dá)式匹配
- 客戶信息獲取
- 分配給所有座席服務(wù)人員
- 分配給指定的組
- 分配給某個(gè)座席人員
- 分配給指定的座席人員
- 與外部 WEB 服務(wù)交互
- 定時(shí)
- 設(shè)置 TITLE
- 設(shè)置 歡迎詞
- 設(shè)置界面特效
- 結(jié)束流程
除了一些必須遵循的原則,這些節(jié)點(diǎn)可以任意組合構(gòu)成一個(gè)流程。
一個(gè)流程必須有一個(gè)入口節(jié)點(diǎn),必須以結(jié)束節(jié)點(diǎn)結(jié)束,每個(gè)節(jié)點(diǎn)可以產(chǎn)生的結(jié)果必須配置下一個(gè)響應(yīng)的節(jié)點(diǎn)以構(gòu)成完整路徑。
每個(gè)節(jié)點(diǎn)可能都有一個(gè) FAILED 的結(jié)果,這個(gè)結(jié)果的產(chǎn)生的原因來與對(duì)節(jié)點(diǎn)屬性配置的不正確,如果沒有響應(yīng) FAILED 結(jié)果 (即沒有為這個(gè)結(jié)果連接下一個(gè)節(jié)點(diǎn)),那么系統(tǒng)會(huì)自動(dòng)執(zhí)行 退出 節(jié)點(diǎn),結(jié)束整個(gè)流程。往往我們?cè)谡{(diào)試流程的時(shí)候需要響應(yīng) FAILED 節(jié)點(diǎn),當(dāng)流程投入使用的時(shí)候可以不用配置 FAILED 的響應(yīng)節(jié)點(diǎn)。
節(jié)點(diǎn)屬性
通過 DRAG AND DROP (在 PC 系統(tǒng)上,MOBILE 還不支持)將工具欄上的節(jié)點(diǎn)放置于空白處,建立節(jié)點(diǎn),單擊節(jié)點(diǎn),節(jié)點(diǎn)會(huì)處于選中的狀態(tài)。一個(gè)選中狀態(tài)的節(jié)點(diǎn),四周會(huì)被 HIGHLIGHT,并且會(huì)出現(xiàn)一個(gè)3個(gè)點(diǎn)的圖標(biāo)按鈕,點(diǎn)擊這個(gè)按鈕或者雙擊當(dāng)前節(jié)點(diǎn)會(huì)換出節(jié)點(diǎn)屬性頁面。
這是一個(gè)節(jié)點(diǎn)的屬性,這個(gè)窗口可以通過雙擊節(jié)點(diǎn)彈出,也可以通過單擊節(jié)點(diǎn)的右上角的 ‘更多’ 按鍵實(shí)現(xiàn)。
每個(gè)節(jié)點(diǎn)都有其特別的屬性,但類別分為:
- 基本信息:節(jié)點(diǎn)名稱,是否有超時(shí)設(shè)置
- 輸入?yún)?shù):可以是選擇框有內(nèi)置的選項(xiàng)供選擇,可以文本框用來直接輸入
- 輸出結(jié)果:輸出結(jié)果是指這個(gè)節(jié)點(diǎn)操作結(jié)束后,會(huì)產(chǎn)生一個(gè)結(jié)果數(shù)據(jù),這個(gè)結(jié)果數(shù)據(jù)會(huì)保存在以輸出結(jié)果命名的變量中
- 路徑:路徑是這個(gè)節(jié)點(diǎn)執(zhí)行結(jié)果對(duì)應(yīng)的下一個(gè)節(jié)點(diǎn)
對(duì)于 GET CUSTOMER DATA (獲取客戶變量) 這個(gè)節(jié)點(diǎn)類型來說,它需要 INPUT PARAMETER (輸入?yún)?shù)),這個(gè)參數(shù)是客戶數(shù)據(jù)的屬性名稱,如用戶的電子郵件,用戶正在瀏覽的網(wǎng)頁 URL 等等。
獲取這個(gè)結(jié)果后會(huì)保存的輸出變量命名的變量中,這個(gè)變量命名必須以 var_開頭,避免與系統(tǒng)變量沖突。這個(gè)變量可以用在邏輯運(yùn)算或者正則表達(dá)式匹配的節(jié)點(diǎn)中使用,這個(gè)變量的值會(huì)對(duì)應(yīng)于每個(gè)訪客,雖然同一流程,不同訪客,不同的值。系統(tǒng)內(nèi)置了很多關(guān)于訪客內(nèi)容的變量,可以在‘以座席回復(fù)消息’這樣的節(jié)點(diǎn)中直接引用。如在 ppmessage.cn 的網(wǎng)站上,打開聊天窗口,就會(huì)自動(dòng)發(fā)送一個(gè)歡迎的消息,這個(gè)消息引用了用戶屬性變量:
"歡迎來自" + user_country + " " + user_city + "的您"
其中 user_country 和 user_city 就是內(nèi)置的訪客信息變量。
這些變量還包括:
["user_fullname", "user_email", "user_mobile", "user_language",
"user_country", "user_city", "browser_name", "app_name",
"is_anonymous_user", "is_app_user", "is_browser_user",
"is_sms_user", "is_email_user", "is_telephone_user",
"is_wechat_public_user", "is_wechat_private_user",
"user_web_sessions", "page_title", "page_url", "browser_language", "is_assigned_user",
"message_subtype", "message_body", "email_body", "email_subject",
"email_recipient", "email_attachments", "called_number", "caller_number",
"sms_from", "sms_to", "sms_body", "service_type", "service_key", "user_input_dtmf"]
很多,可以顧名思義。
上圖是一個(gè)界面特效節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)能夠?qū)⒘奶鞖馀莞郊右愿鞣N動(dòng)畫特效,用來提示瀏覽者 ---- 這里有個(gè)東西在活動(dòng)。
這個(gè)界面特效節(jié)點(diǎn)有兩個(gè)結(jié)果,一個(gè)是 SUCCESS 一個(gè)是 FAILED,這也是大多數(shù)操作性節(jié)點(diǎn)的結(jié)果,SUCCESS 是執(zhí)行成功,F(xiàn)AILED 是失敗,失敗的原因一般來說是配置的不對(duì),如沒有指定某個(gè)具體的界面特性。上圖里面指定了一個(gè)界面特性 “HINGE” 這是個(gè)類似鉸鏈的頂點(diǎn)轉(zhuǎn)動(dòng)動(dòng)畫。
另外FLOW 界面是支持移動(dòng)端瀏覽和操作的。 (目前從工具欄上 DRAG AND DROP 節(jié)點(diǎn)還不能支持在 移動(dòng)端操作。)