PPMessage 流程
流程是驱动 PPMessage 工作的核心。
PPMessage 流程类型:
网页消息流程: 控制网站上的聊天组件与访客的互动,您可以通过根据访客的来源、访问的页面、使用的关键词、以及访客在网站上的行为数据来配置流程,实现访客分配、主动邀请、访客分类、企业业务数据处理等一系列定制化功能。
事件流程: 根据访客在网站和应用内触发的事件与客户交互并进行客户转化,您可以利用本流程实现营销自动化功能。要使用本流程向客户发送短信邮件,您需要申请第三方服务并与PPMessage集成。目前PPMessage支持Twilio和阿里的短信服务和Mailgun的邮件服务。您也可以使用本流程进行微信营销,根据微信访客的属性和行为向他们发送定制化微信模板或回复访客的微信消息,但是要符合腾讯公司的特殊要求。
短息消息流程: 短信消息流程是一种特殊的事件流程,系统收到短信后触发执行。您需要申请第三方短信服务并与 PPMessage 集成。目前 PPMessage 支持 Twilio 和阿里的短信服务。
邮件消息流程: 邮件消息流程是一种特殊的事件流程,系统收到邮件后触发执行。要使用本功能,您需要申请第三方邮件服务并与 PPMessage 集成,目前 PPMessage 支持 Mailgun 的邮件服务。
微信消息流程(公众号): 信消息流程是一种特殊的事件流程,系统收到微信公众号消息后触发执行,您可以通过本流程为微信客户提供实时的微信客服支持。
自动消息流程: 您可以设置自动消息流程在合适的时间向目标客户发送各类定制化消息。自动消息由时间触发执行。
流程配置界面
访问 “设置-流程管理” 项下的任何一个流程按钮,您将进入流程配置界面。PPMessage 所有的流程配置界面都是相同的。左边栏是流程列表,流程列表中的每一项都代表一个流程。每个流程项目有四个元素,流程状态,流程名称,流程类型,流程操作菜单。您还可以通过左边栏创建新的流程或导入已保存的流程。
流程状态指明这个流程是否是处于激活状态。绿色表示激活,红色表示未激活,您可以通过流程操作菜单更改流程状态。同一类型的流程最多只能有一个处于激活状态。
流程名字提示管理人员记忆流程的含义。系统内部并没有以名字区分流程,同样的名字也可以是不同的流程。建议您给每一个流程起一个易于区分的名字。
流程类型标识流程的类别,不同类别的流程具有不同的触发方式。对于网站的访客行为,PPMessgae 支持三种流程类型:
LOAD CHAT WIDGET (客户加载聊天组件): 当客户加载聊天组件,即当客户访问您的网页并能看到聊天组件的时候,执行该流程。
OPEN CHAT WIDGET (客户打开聊天组件): 客户打开聊天窗口的时候执行该流程。
SEND MESSAGE (客户在聊天组件上发送了一条消息): 当客户在聊天组件上发送了一条消息时,执行该流程。
进入流程操作菜单,您可以打开、启动、停止、删除和导出流程,您还可以查看流程实时日志和手动执行流程。 创建新的流程或点击您希望编辑的流程,您就进入流程编辑窗口。流程编辑窗口上方是工具栏,工具栏内是对应于流程类型的节点按钮,这些节点只适用于当前的流程类型,不同的流程类型需要不同的节点支持。
创建流程
一个完整的流程由开始节点
开始,结束节点
结束,中间包含若干流程节点,每个流程节点对应一个独立的操作,流程节点间通过节点的操作结果和事件响应、变量参数传递建立联系,从而构成一个完整的流程。
通过创建一个“客户打开聊天组件”类型的网页消息流程,来描述具体如何创建流程。我们对这个流程要求是,流程激活后,如果访客打开聊天组件,流程将判断,目前是否有座席在线。如果有座席在线,流程直接结束;如果没有座席在线,系统自动发送一条消息,内容为“很抱歉目前没有座席在线,您可以在下方对话框留下联系方式,我们将尽快联系您”。
首先,访问 “设置-流程管理-网页消息流程”,进入网页消息流程配置界面。
PPMessage 系统缺省配置运行了一个 “客户加载聊天组件” 流程。在您对流程概念不了解之前,请不要随意更改这个缺省配置,否则可能会导致聊天组件与后台无法建立正常连接。 点击“添加流程”,为您创建的流程选择流程启动时机(流程类型)和设置流程名称。我们选择启动时机为“客户打开聊天组件”,设置流程名称为“发送座席离线消息”。
点击“√”,流程创建成功,流程列表中将出现一个名为“发送座席离线消息”的流程项。
点击这个流程项,进入“发送座席离线消息”流程的编辑界面。
您可以看到工具栏上有很多流程节点,鼠标悬浮流程节点上会显示节点名称。 一个流程必须有“开始”节点和“结束”节点。
根据我们的需求,我们还需要一个“座席离线”节点来判断是否所有座席都处于离线状态;一个“以座席用户回复消息”节点,来给新用户发送座席离线消息。 将相应的节点拖拽到编辑区域。
所有的节点都是可以拖拽的(按住鼠标左键移动鼠标),双击节点(鼠标左键双击),就可以进入节点编辑界面。以下四种操作是绝大多数节点的通用操作,不同的节点还有一些其他的配置选项。系统会给每一个节点一个缺省名称,强烈建议您给每个节点设置一个容易理解的名称。您可以随时更改节点名称。如果您想删除某个节点,点击这个节点,节点会出现一个黑色边框,通过键盘的删除键(DELETE/BACKSPACE)您可以将它删除。
本流程中,“开始”节点成功执行后的下一个节点需要判断座席是否离线,所以我们为“开始”节点添加连接。
点击“√”,连接添加成功,“开始”节点和“座席离线”节点之间已经生成一个流程连接线,在节点编辑界面的“连接”区域,生成了一个连接项,指明节点运行结果是“SUCCESS”时下一个节点是“座席离线”。
退出“开始”节点编辑界面,进入“座席离线”节点的编辑界面。首先,给这个节点设置一个易于识别的名称,我们给他命名为“判断座席是否离线”。名称修改后,所有引用该节点名称的其他节点里对应的名称都会变为“判断座席是否离线”。我们为这个节点添加两个连接,节点执行结果为“TURE”时,即当前没有座席在线时,下一个要执行的节点为“以座席用户回复消息-7”;节点执行结果为“FALSE”时,下一个要执行的节点为“结束”。为了更好的看到连线状况,可以拖拽节点调整位置。
退出“判断座席是否离线” 节点,进入“以座席用户回复消息”编辑界面。修改节点名称为“给用户发送离线消息”。勾选“以机器人回复”,渠道选择“网页”,消息源选择“文本”,内容更改为“很抱歉目前没有座席在线,您可以在下方对话框留下联系方式,我们将尽快联系您。”。我们为这个节点添加一个连接,节点执行结果为“TURE”时,下一个要执行的节点为“结束”。
这样流程就配置结束了。启动流程,流程就进入工作状态了。当然要注意这个流程类型中应该只有一个活动的流程。
流程启动后,若当访客打开聊天组件且没有座席在线时,他将收到一条离线消息。
您可以通过拖拽的方式更快的建立节点之间的连接。点击节点右侧的三角号,会生成一条虚线,将虚线拖拽至希望连接的节点左侧,节点会出现一个三角,再点击这个三角就会生成一个实的连接线。如果希望删除这个连接,点击连接线,等连接线变成黑色后,利用键盘的删除键可以将连线删除。
流程中的变量
PPMessage 流程中可以应用变量,这些变量可以用于逻辑计算节点,正则表达式节点,消息发送节点。正确理解变量,可以让你的消息流程异常强大。 在 PPMessage 中变量分成以下三类:
系统变量: 这些变量往往是跟访客相关的一些属性值。对应系统的标准字段。 定制字段变量: 这些变量是针对用户属性的定制字段,在“设置-客户管理-访客字段”中设置。 事件字段变量: 这些变量针对用户自定义事件,在“设置-客户管理-访客字段”中设置。 在逻辑计算、正则表达式计算、发送消息等节点上我们可以直接引用这些变量。
系统内置变量
系统内置变量对应系统的标准字段,其名称及含义如下表:
变量名称 | 变量含义 |
---|---|
user_fullname |
访客全名 |
user_email |
访客邮件地址 |
user_mobile |
访客手机号码 |
user_language |
访客语言 |
user_country |
访客国家 |
user_city |
访客城市 |
ent_user_createtime |
注册时间,这是通过访客端的接口传进来的值,表示这个访客是个注册用户,其注册的时间 |
customer_user_type |
访客类型,类型的值是通过客户类型自定义的 |
browser_name |
浏览器名称 |
app_name |
移动应用名称 |
is_anonymous_user |
访客是匿名的 |
user_channel |
用户来源的渠道,可以是 CHANNEL_WEB CHANNEL_APP CHANNEL_EMAIL |
user_web_sessions |
网页会话次数 |
page_title |
访问网页标题 |
page_url |
访问网页 URL |
browser_language |
浏览器语言 |
is_assigned_user |
已经分配了客服的访客 |
message_subtype |
消息类型 |
message_body |
消息内容 |
email_body |
邮件内容 |
email_subject |
邮件主题 |
email_recipient |
邮件接受者 |
sms_from |
短消息来源 |
sms_to |
短消息发给谁 |
sms_body |
短消息内容 |
定制字段变量
打开 “设置 – 客户管理 - 访客字段”,可以添加定制字段。
事件字段变量
打开 “设置 – 客户管理 - 访客字段”,可以自定义事件字段,自定义事件字段可以含有一个事件发生的次数,首次发生事件的时间,最后一次发生事件的时间,以及最后一次事件发生时候携带的数据。 在后台流程中可以引用或者读取这些变量,其命名规则为 event_count_SEQ
,event_first_time_SEQ
, event_last_time_SEQ
, event_last_data_SEQ
。其中 SEQ 是序列号。
为了跟踪事件,您需要在网页聊天插件代码中添加如下内容:
$(document).on("click", function(event) {
if (!window._ppmatc) {
window._ppmatc = [ ];
}
window._ppmatc.push({
track_event: {
event_name: "webclick",
event_uuid: "0fc050ec-cb6f-11e8-b697-00163e0c79f6 ",
event_data: {
x: event.pageX,
y: event.pageY,
page_url: window.location.href
},
event_timestamp: Math.round(new Date().getTime()/1000)
}
});
});
因为这个事件字段在系统中的序号是1,在后台流程中可以通过 event_count_1
,event_first_time_1
, event_last_time_1
, event_last_data_1
来引用这些变量。 event_count_1
是 webclick
事件发生的次数,event_first_time_1
是 webclick
事件首次发生的时间,event_last_time_1
是 webclick
事件最后一次发生的时间,event_last_data_1
是 webclick
事件最后一次发生时携带的数据。
在文本中引用变量
在给客户发送的消息中引用变量,可以为客户发送个性化的消息。例如,在“以座席用户回复消息”流程节点中,选择消息源为文本,而文本中可以引用变量,如按照客户来源创建一个欢迎词:
"您好,欢迎来自 {{ user_country
}} {{ user_city
}} 的朋友"
每个变量名都要用两个大括号来引用,例如一个来自中国北京的访客收到以上消息,那么他收到的消息是个性化的“您好,欢迎来自中国北京的朋友”
在表达式中引用变量
在表达式中可以直接通过变量名引用变量,语法与 Python 的语法一致。以 customer_user_type
和 is_assigned_user
变量举例: customer_user_type==‘VIP’ 表示要判断客户类型等于VIP,如果等于就返回 TRUE,否则返回 FALSE。
is_assigned_user==True
判断访客是否已经分配座席,如果已经分配就返回 TRUE,否则返回 FALSE。
流程中的节点
一个完整的流程由开始节点开始,结束节点结束,中间包含若干节点,每个节点对应一个独立的操作,节点间通过节点的操作结果和事件响应、变量参数传递建立联系,从而构成一个完整的流程。PPMessage 的流程共用很多节点,也有一些节点是某些流程特有的。下面将介绍主要节点的使用方法。
“开始”节点
所有的流程都通过开始节点开始。一般来说,开始节点不需要特殊配置,只需添加连接将节点执行结果“SUCCESS”指向下一个节点即可。
“结束”节点
所有流程都通过结束节点结束,一般来说,开始节点不需要特殊配置,只需把需要结束的结束的节点指向它即可。
“逻辑运算”节点
逻辑运算节点的功能是通过逻辑运算表达式的运算结果引导流程走向不同的分支。节点的执行结果有三种 TRUE, FALSE和FAIL。TRUE和FALSE对应逻辑运算表达式的运算结果。FAIL是指本节点没有正确执行,一般只在调试时使用。 逻辑运算表达式的语法与Python 的语法一致。例如,如果您想判断当前访客是否是已经分配了客服的访客,您可以使用系统内置变量is_assigned_user来进行判断,逻辑表达式为:is_assigned_user==TRUE。如果您想判断访客的浏览器类型是否为Chrome,您可以使用系统内置变量browser_name,逻辑表达式为:browser_name==“Chrome”。
“分配给全体座席人员”节点
本节点的将当前消息对话分配给全体座席成员。节点执行成功后每个成员都能看到这个对话,并能回复和处理。 本节点有2个执行结果,执行成功的返回结果为SUCCESS, 执行失败的返回结果为FALSE。
“分配给一个座席人员”节点
本节点的执行结果将当前消息对话随机分配给全体座席成员的一位。您可以通过节点配置界面的复选框选择要求被分配的座席人员必须在线,但如果所有的座席都不在线将导致本节点执行失败,访客端聊天组件无法与后台正常建立连接。 本节点有2个执行结果,执行成功的返回结果为SUCCESS, 执行失败的返回结果为FALSE。
“分配给指定座席人员”节点
本节点的执行结果将当前消息对话分配给节点指定的一个座席人员。进入节点配置界面,即可选择座席人员。 本节点有2个执行结果,执行成功的返回结果为SUCCESS, 执行失败的返回结果为FALSE。
“分配给座席组”节点
本节点的执行结果将当前消息对话分配给节点指定的座席组。您可以在节点配置界面内选择消息对话在指定座席组内的分配方法。PPMessage 提供两种分配方法,一种是”分配给组内所有座席”,一种是“随机分配给一个座席”。 选择“分配给组内所有座席”,消息对话将分给组内的所有座席,无论座席是否在线。 选择“随机分配给一个座席”,系统将把该消息对话随机分配给指定座席组内的一个座席。“随机分配给一个座席”时,您可以选择在线座席优先。如果您选择了在线坐席优先,则该消息对话对话将优先分配给在线的座席。如果所有的座席都不在线,系统会随机选择一个离线座席。 本节点有2个执行结果,执行成功的返回结果为SUCCESS, 执行失败的返回结果为FALSE。
“座席离线”节点
本节点用来判断是否全部座席都处于离线状态。 本节点有3个执行结果,。如果所有座席离线,执行结果为TRUE;如果有座席在线,执行结果为FALSE;如果本节点没有正确执行,执行结果为FALSE,一般只在调试时使用。
“已经分配座席”节点
本节点用来判断是否全部当前访客是否已经被分配座席为其提供服务。 本节点有3个执行结果,。如果已经分配座席,执行结果为TRUE;如果未被分配座席,执行结果为FALSE;如果本节点没有正确执行,执行结果为FALSE,一般只在调试时使用。
“以座席用户回复消息”节点
本节点是PPMessage系统非常重要的一个节点,用来向访客发送自动消息。本节点的配置内容较多,详细说明如下。 以机器人回复:系统既可以以机器人的身份也可以以座席的身份向访客发送自动消息。如果您选择了以机器人的身份回复消息,则系统后台会提示是机器人回复了消息。如果不以机器人回复消息,您需要在座席人员选项了选择希望回复消息的座席人员。 不要推送给座席:如果选择把回复消息的事件推送给座席,则本次对话内所有的座席人员都会收到给访客发送的自动消息;如果选择不要推送给座席,则座席不会受到提示。 渠道:渠道是您选择向访客发送自动消息的通道。您可以选择通过网页消息、移动应用内消息、邮件和短信四个渠道之一向访客发送消息。 消息源:消息源是您要送的消息的来源。PPMessage提供两种选择,一种是预定义消息,您可以在“设置-团队设置-团队预定义消息”界面里预先定义您要发送给访客的消息;一种是文本,您可以在节点中添加文本内容。您可以在文本中应用变量。例如,如果您希望通过注册用户的名字向他们打招呼,您可以通过应用系统内置变量user_fullname
来实现。假设您设置的文本内容为“{{user_fullname
}},欢迎注册使用我们的产品”,有一个叫琳琳的用户触发了这条自动消息,则她将收到的消息是“琳琳,欢迎注册使用我们的产品”。 座席人员:您可以选择以某个座席人员的身份回复消息。 本节点有2个执行结果,执行成功的返回结果为SUCCESS, 执行失败的返回结果为FALSE。
“选项消息”节点
本节点用于向访客发送选项提示消息。例如在医院分诊场景下,该节点可以提示访客选择他们需要问诊的科室。 该节点的主要基本配置项目如下: 名称:名称用来配置向访客提问的问题。例如,在医院分诊场景下您可以将它配置为“请问您想咨询哪个科室?” 选项:选项是你提供给访客的选择列表。例如,在医院分诊场景下您向访客提问“请问您想咨询哪个科室?”,您可以为他们设置答案为“内科”、“外科”、“五官科。注意在选项界面配置答案选项时,输入完每一个答案选项后都要键盘回车,答案项会自动生成,您可以点击答案后的“X”将不需要的答案删除。 座席:选择以哪个座席人员的身份向访客提出问题。 我们按照上面的需求,在网页消息流程中生成一个访客打开聊天组件的流程,流程名称为“发送选择消息”。
“分支”节点
本节点能够引导系统流程根据本节点前流程的运行结果进入不同的分支。分支节点的输入参数很多,几乎包含了所有 PPMessage 的变量:
- 在网页消息流程中能够用到的输入参数包括:事件序号,事件次数,事件名称,客户姓名,网页标题,页面链接,浏览器语言,消息类型,消息内容,选项名称,选项结果。
- 在电话呼入流程中用到的输入参数包括:客户按键,主叫号码,被叫号码。
- 在邮件消息流程中用到的输入参数包括:邮件标题,邮件内容,邮件接收者。
“超时”节点
超时节点可以让流程在此处暂停超时指定的时间,在这个时间内,流程如果没有收到任何感兴趣的事件,那么就会产生超时事件结果,执行超时事件结果对应的下一个节点。 超时节点的配置主要有两部分。
设置等待超时的时间。可以选择从1秒到604800秒(7天)的固定时间。 设置节点执行的执行结果。主要使用的节点执行结果是TIMEOUT超时事件和USER_ANSWER座席回答事件,其他的执行结果与云呼叫中心的配置有关,将在云呼叫中心的配置文档中详细说明。 超时节点可以帮助您做很多与时间、事件相关的事情。下面举一个例子说明。 其使用情景是这样,当客户发送一个消息给座席,这时候座席虽然登录了,但是他可能正在忙于处理别的事情,所以暂时没有回复客户,当然希望客户再稍等一下,座席可能就会回复了。这时候需要系统根据客户的等待时间超过比如15秒钟,就自动回复一条消息,告诉客户座席在线,只不过手里有事,比较忙,很快就会回复。 我们在网页消息流程中的配置一个客户发送消息流程:
这个流程会在每次客户发送一条消息的时候执行,判断当前会话中所有座席是否都不在线,如果都不在线,那么就把客户发送的消息以微信模板消息的形式推送给座席。 如果座席在线,那么就进入一个超时节点,在这个节点上流程将等待事件发生,这个流程中超时节点只关心一个事件, TIMEOUT 事件,只要这个事件产生,那么超时节点将执行返回事件结果对应的下一个节点。本流程中,这个节点是以某个座席回复一条消息给客户。这就是一个通过检查超时进行客户忙碌状态的提示,这样尽可能的让客户留下,不要轻易离开。
“座席工作时间”节点
通过“座席工作时间”节点您可以设置座席工作的时间,这样,当座席不在工作时间时,您可以给访客发送消息提示,或通过销售机器人获取客户信息。 本节点有3个执行结果,如果流程执行到本节点时处于设置的工作时间,执行结果为TRUE;如果流程执行到本节点时处于设置的非工作时间,执行结果为FALSE;如果本节点没有正确执行,执行结果为FALSE,一般只在调试时使用。
“属于客户细分”节点
本节点通过获取“设置-客户管理-客户细分”里的客户分组信息,对特定细分里的用户执行操作,如发送自动消息,分配座席等。系统缺省有“活跃访客”、“新访客”和“在线访客”三个细分,您可以根据实际需要创建新的细分,并在本节点引用。 本节点有3个执行结果,。如果触发流程的访客属于本节点引用的客户细分,执行结果为TRUE;如果触发流程的访客不属于本节点引用的客户细分,执行结果为FALSE;如果本节点没有正确执行,执行结果为FALSE,一般只在调试时使用。
“客户转化”节点
本节点可以根据流程的设置,改变访客的客户类型。您应该在“设置-客户管理-客户类型”中设置您的客户类型。这项功能可以使您根据客户的行为和属性设置客户转化,从而完成销售漏斗的功能。 本节点有2个执行结果,执行成功的返回结果为SUCCESS, 执行失败的返回结果为FALSE。
网页消息流程
如果您在网站上安装了PPMessage聊天组件,那么PPMessage就可以帮助您跟踪网站访客的行为,并与网站访客互动。 对于网站渠道的访客行为,PPMessage支持三种消息类型:
- LOAD CHAT WIDGET (客户加载聊天组件):当客户加载聊天组件,即当客户访问您的网页并能看到聊天组件的时候,执行改流程。
- OPEN CHAT WIDGET (客户打开聊天组件):客户打开聊天窗口时候执行该流程。
- SEND MESSAGE (客户在聊天组件上发送了一条消息):当客户在聊天组件发送了一条消息时,执行该流程。
在访客加载聊天组件时,您可以通过执行客户加载聊天组件流程来判断访客是否为新访客,并将他分配给座席,还可以向他发送主动消息或为他显示定制化的聊天流程。
当访客打开聊天组件时,往往说明他们希望咨询问题,如果当前为非工作时间,您可以在他打开聊天组件的时候,向他发送提示消息,并通过发送邮件地址表单向他索取联系方式,这样在访客离开后,您还可以联系到他。
当访客在聊天组件里发送消息时,您可以通过“预测答案”节点,通过机器人回答客户问题。关于机器人的配置方法,请参考客服机器人指南。您也可以在访客发送消息流程中设置客服无应答时的消息和顾客无响应时的消息。
PPMessage 内置了几个常见的网页消息流程,您可以根据实际业务需求调整他们。
微信消息流程
PPMessage 可以对接微信公众号,通过 PPMessage 可以收到客户通过微信公众号发送过来的消息,您可以使用PPMessage 系统进行客户支持。 PPMessage内置了一个微信公众号消息流程,您可以根据您的实际业务需求调整它。
事件流程
所有前端的事件都可以触发后台的事件流程,当然事件流程需要提前配置并且激活。在事件流程的上下文中将包含当前访客的信息和当前事件的信息。
在 PPMessage 中,事件流程能够处理所有事件,换句话说任何事件的发生都会触发事件流程。事件的流程的信息上下文是围绕当前访客和当前激发流程的事件。