简介
本文档介绍ECE 11.6聊天API的使用案例。
先决条件
要求
Cisco 建议您了解以下主题:
使用的组件
本文档中的信息基于欧洲经委会11.6。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
eGain引入了一个面向客户的API,可用于显示或隐藏客户网站上的聊天按钮。
聊天API可用于以下目的:
1.根据以下内容显示聊天:
- 座席可用性
- 聊天座席容量
- 队列深度和等待时间
- 队列深度和座席可用性
- 队列深度、等待时间和入口点状态
2.提交自定义聊天调查。
使用API可以实现以下几个使用案例:
- 可以根据API响应启用或禁用“聊天”按钮。
- 获取座席可用之前客户必须等待的时间。
- 查找客户在队列中的位置,以估计客户在坐席可供聊天之前必须等待的时间。
- 为聊天会话编写新的自定义调查以捕获其他数据。
代理可用性API
代理可用性API检查是否有可以从特定入口点进行聊天的代理。媒体路由域(MRD)限制适用于座席可用性。建议通过MRD配置的最佳实践部分来反映正确的结果。
请求
方法 |
URL |
GET |
/chat/entrypoint/agentAvailability/id |
注:要解决此API,您必须使用以下格式:http://hostname/system/egain/chat/entrypoint/agentAvilability/1000
URL参数
名称 |
描述 |
类型 |
必需 |
可选参数的默认值 |
ID |
要检查其代理可用性的入口点的ID |
长 |
Yes |
|
成功代码
200:座席可用性状态返回。True响应表示座席可用。错误响应表示没有可用座席。
错误代码
500:无法检索代理可用性信息。
响应正文
HTTP/1.1 200 OK
<?xml version="1.0" encoding="UTF-8" standalone="yes"/>
<agentAvailability available="true" xmlns:ns2="http://bindIngs.egain.com/chat"
xmlns:ns4="urn:ietf:params:xml:ns:xmpp-stanzas" xmlna:ns3="jabber:client"
xmlns:ns5="http://jabber.org/protocol/httpbind"/>
代理容量API
此API获取所有座席处理映射到给定入口点的队列中的新聊天活动的能力。它返回所有代理可采用的最大负载(CTL)与入口点队列中所有代理的当前负载之间的差值。
请求
方法 |
URL |
GET |
/chat/entrypoint/capacity/id |
注:要解决此API,您必须使用以下格式:http://hostname/system/egain/chat/entrypoint/capacity/1000
URL参数
名称 |
描述 |
类型 |
必需 |
可选参数的默认值 |
ID |
要检查其代理容量的入口点的ID |
长 |
Yes |
|
成功代码
200:返回进入点的座席的剩余容量。正数表示剩余容量。零表示系统中没有可用座席,或者所有座席都工作到其最大负载。
错误代码
500:无法检索代理容量信息。
响应正文
HTTP/1.1 200 OK
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<availableSlots xmlns:ns2="http://bindings.egain.com/chat"
xmlns:ns4="urn:letf:params:xmlms:xmpp-smanzas"
xmlns:ns5="http://jabber.org/protocol/httbind">
<ns2:count>4</ns2:count>
</availableSlots>
队列深度和等待时间API
此API用于获取队列中等待分配的聊天数以及队列中预计等待时间的详细信息。
请求
方法 |
URL |
GET |
/chat/entrypoint/liveSessionStatus/id |
注:要解决此API,您必须使用以下格式:http://hostname/system/egain/chat/entrypoint/liveSessionStatus/1000
URL参数
名称 |
描述 |
类型 |
必需 |
可选参数的默认值 |
ID |
要检查其队列深度和等待时间的入口点的ID |
长 |
Yes |
|
成功代码
200:返回队列深度和等待时间
错误代码
500:无法检索队列深度和等待时间。
响应正文
HTTP/1.1 200 OK
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sessionStatus xmlns:ns2="http://bindings.egain.com/chat"
xmlns:ns4="urn:letf:params:xmlms:xmpp-smanzas"
xmlns:ns5="http://jabber.org/protocol/httbind">
<ns2:waitTime>3.0</ns2:waitTime>
<ns2:queueDepth>1</ns2: queueDepth >
</sessionStatus>
队列深度和可用性API
此API根据以下条件检查聊天入口点的资格以处理新的聊天活动:
- 如果有座席可用于处理新的聊天活动。
- 如果与该入口点相关联的队列已经达到其配置的最大深度,即队列正在处理的聊天总数等于该队列可以在任何给定时间点处理的最大聊天数。
请求
方法 |
URL |
GET |
/chat/entrypoint/checkEligibility/id |
注:要解决此API,您必须使用以下格式:http://hostname/system/egain/chat/entrypoint/checkEligibility/1000
URL参数
名称 |
描述 |
类型 |
必需 |
可选参数的默认值 |
ID |
要检查其资格的入口点的ID |
长 |
Yes |
|
成功代码
200:返回入口点资格。responseType属性可以具有下列值之一:
- 0:与此入口点关联的队列可以处理新聊天。
- 1:没有座席可用于处理新聊天。
- 2:与给定入口点关联的队列已达到最大队列深度,并且未处理任何新聊天。
错误代码
500:无法检索队列深度和等待时间。
响应正文
HTTP/1.1 200 OK
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<checkEligibility xmlns:ns2="http://bindings.egain.com/chat"
xmlns:ns4="urn:letf:params:xmlms:xmpp-smanzas" xmlns:ns3="jabber:client"
xmlns:ns5="http://jabber.org/protocol/httbind" responseType=0 />
队列深度、可用性和入口点状态API
此API根据以下条件检查给定聊天入口点是否可以处理新聊天:
- 聊天入口点处于活动状态。
- 如果有座席可用于处理新的聊天活动。
- 如果与该入口点相关联的队列已经达到其配置的最大深度,即队列正在处理的聊天总数等于该队列可以在任何给定时间点处理的最大聊天数。
请求
方法 |
URL |
GET |
/chat/entrypoint/chatAllowed/id |
注:要解决此API,您必须使用以下格式:http://hostname/system/egain/chat/entrypoint/chatAllowed/1000
URL参数
名称 |
描述 |
类型 |
必需 |
可选参数的默认值 |
ID |
要检查是否允许聊天的入口点的ID |
长 |
Yes |
|
成功代码
200:如果入口点可以处理新聊天,则返回此代码。这通过允许属性的值来标识。此属性的值可以是true或false。如果值为false,则属性reason可以具有以下值之一来确定不可用的原因:
- queue_depth_reached:与给定入口点关联的队列已达到最大队列深度,并且不会处理新聊天。
- agent_not_available:没有座席可用于处理新聊天。
- service_not_running:代理分配服务未运行。
- invalid_entry_point:请求中传递的入口点无效。
- entry_point_inactive:请求中传递的入口点处于非活动状态。
- 其他:由于其他原因,此入口点无法处理新聊天。
错误代码
500:无法检索此入口点是否可以处理新聊天。
响应正文
HTTP/1.1 200 OK
<?xml version="1.0. encoding="UTF-8" standalone="yes"?>
<chatAllowed xmlns:ns2="http://bindings.egain.com/chat"
xmlns:ns4="urn:ietf:params:xml:ns:xmpp-stanzas" xmlns”ns3="jabber:client"
xmlns:ns5=:http://jabber.org/protocol/httpbind" allowed="true"/>
或者
HTTP/1.1 200 OK
<?xml version="1.0. encoding="UTF-8" standalone="yes"?>
<chatAllowed xmlns:ns2="http://bindings.egain.com/chat"
xmlns:ns4="urn:ietf:params:xml:ns:xmpp-stanzas" xmlns”ns3="jabber:client"
xmlns:ns5=:http://jabber.org/protocol/httpbind" allowed="false"
reason="entry_point_inactive"/>
自定义聊天调查API
此API可用于提交聊天会话结束时显示的自定义调查表。
请求
方法 |
URL |
POST |
/chat/entrypoint/survey |
请求正文
名称 |
描述 |
类型 |
必需 |
问题 |
向客户显示的调查问题 |
字符串 |
Yes |
答案 |
对相应问题的回答 |
字符串 |
Yes |
请求正文示例
<egainSurvey sid="1000">
<survey><question>Question 1</question> <answer>Answer 1</answer></survey>
<survey><question>Question 2</question> <answer>Answer 2</answer></survey>
<survey><question>Question 3</question> <answer>Answer 3</answer></survey>
<survey><question>Question 4</question> <answer>Answer 4</answer></survey>
</egainSurvey>
成功代码
204:调查已成功提交。