增加门票
增加门票
您的组织与客户的对话显示为门票亚博Zendesk支持。支持SDK允许客户使用您的应用程序创建票证,更新现有的票证,或者查看他们的票证何时被客户服务团队更新。
所有四个支持SDK的活动,包括帮助中心活动,让用户创建票据。下面的活动也让用户查看和更新一个或多个他们的门票,并给你更多的控制门票在你的应用程序:
- RequestActivity
- RequestListActivity
请注意在Zendesk中,票也被亚博称为支持请求,或者简称为请求。
的RequestActivity让你:
- 显示并配置用户可用于向客户服务团队提交票据的票据屏幕
- 创建一个稍后显示票务屏幕的意图
- 配置其他SDK活动的票据屏幕
- 出示用户的一张票
注意这一点很重要RequestActivity不轮询票证的更新,因为票证是异步通信模式,而不是同步通信模式(如聊天)。
Zendesk支持管理页面中的“确认消息”设置应该是定制的,并用于设置用户对何时收到亚博回复的期望。
一个真正的聊天体验可以使用推送通知触发屏幕上对话的刷新。
的RequestListActivity让您显示用户的门票列表。用户可以查看和更新他们的门票。
如果您需要构建自己的票证ui, SDK也有一个API提供程序,可以让您在Zendesk Support中访问票证。亚博看到RequestProvider在支持SDK Javadocs中。
本节涉及的主题:
先决条件
允许用户创建票据没有任何先决条件。
为了让用户查看和更新他们的门票,有一个先决条件。
Ze亚博ndesk管理员必须启用对话为您的应用程序设置在Zendesk支持。亚博看到在Zendesk Support中配置SDK亚博在支持帮助中心
用户界面概述
的默认提交票据屏幕RequestActivity如下所示:
的默认票据列表RequestListActivity如下所示:
当代理更新了票证时,票证旁边会出现一个项目符号来提醒用户。
在列表中点击一个票证将显示票证对话。用户可以在对话中添加评论。
您可以更改活动ui的外观和感觉。看到自定义外观。
显示提交票证屏幕
使用显示()
方法RequestActivity构建器。例子:
RequestActivity。构建器()
。显示(MyActivity。这);
如果您愿意,您可以使用售票处的售票屏幕RequestListActivity,HelpCenterActivity,或ViewArticleActivity活动。每个活动的UI都有一个浮动的操作按钮,让用户打开票务屏幕。
配置票据屏幕
的下列方法之一RequestActivity建造者:
例子:
RequestActivity。构建器()
。withRequestSubject(“Android票”)
。withTags(“android”,“移动”)
。显示(MyActivity。这);
参见上面列出的方法RequestActivity建设者。
创建一个意图来显示票据屏幕
使用意图()
方法RequestActivity构建器。例子:
意图requestActivityIntent=RequestActivity。构建器()
。withRequestSubject(“Android票”)
。意图(MyActivity。这);
配置其他SDK活动的票据屏幕
使用配置()
方法RequestActivity构建器。例子:
配置requestActivityConfig=RequestActivity。构建器()
。withRequestSubject(“Android票”)
。withTags(“android”,“移动”)
。配置();
RequestListActivity。构建器()
。显示(MyActivity。这,requestActivityConfig);
显示用户的票
使用显示()
方法RequestListActivity构建器。例子:
RequestListActivity。构建器()
。显示(MyActivity。这);
如果使用匿名身份RequestListActivity
仅显示在该特定设备上创建的票据,即使用户在其他设备上使用相同的电子邮件地址创建其他票据。这个限制不适用于JWT标识。RequestListActivity
显示由JWT用户在任何通道上创建的票据(例如在web或其他移动设备上)。
任何有新的或未读评论的票证都会在列表中以高亮显示的状态显示,以吸引用户的注意。
未读状态在设备上确定和跟踪,这意味着JWT用户不会跨多个设备共享已读/未读状态。在其他通道(例如其他设备)中创建的JWT票据在第一次从网络中检索并显示时显示为未读RequestListActivity
。
已解决的票在列表中显示的方式与打开的票相同。已解决的票证可以像未处理的票证一样被查看和更新。最终用户对已解决的票据的新评论将导致该票据在Zendesk中重新打开。亚博
已关闭的门票显示为灰色状态,并显示一条消息,称门票已关闭。用户仍然可以查看票据,但不能更新。您可以在Zendesk Support管理页面中禁用已关闭的票据的显示。亚博
如果在Zendesk Support管理页面中禁用了对话,亚博RequestListActivity
记录消息并在消息启动后立即关闭。查看票证列表是禁用的,因为它是对话功能的一部分。
出示现有机票
使用withRequestId ()
方法RequestActivity构建器。例子:
RequestActivity。构建器()
。withRequestId(“123”)
。显示(MyActivity。这);
如果在Zendesk Support管理页面中禁用了对话,亚博RequestActivity
记录消息并在消息启动后立即关闭。打开现有票据是不允许的,因为它是对话功能的一部分。
看到withRequestId在RequestActivity建设者。
检查机票更新
的RequestListActivity在票证旁边显示一个项目符号,提醒用户票证已更新。但是,如果你不使用RequestListActivity或者,如果用户不经常检查他们的票务列表,用户将不会意识到更新。
如果使用JWT身份验证,则从其他通道提交的用户票据将显示在其票据列表中。当用户第一次查看票据列表时,它们显示为未读,因为已读/未读状态存储在设备上。查看每个票据将其重置为已读状态,之后的任何新更新都会导致票据再次显示为未读状态。
请注意:当他们的票证更新时,已识别的用户会收到来自Zendesk Support的电子邮件通知。亚博
您可以使用API提供程序来检查是否有任何用户的票据已更新,然后根据响应向用户发出警报。的RequestProvider有一个getUpdatesForDevice ()
方法,该方法检查票证更新。如果发现了,你可以在应用的其他地方提醒用户,也许可以使用RequestActivity来出示每张票。
例子:
最后RequestProviderrequestProvider=支持。实例。提供者()。requestProvider();
requestProvider。getUpdatesForDevice(新亚博ZendeskCallback<RequestUpdates>(){
@覆盖
公共无效调用onSuccess(RequestUpdates RequestUpdates){
如果(requestUpdates。hasUpdatedRequests()){
集<字符串>updatedRequestIds=requestUpdates。getRequestUpdates()。键盘();
为(字符串id:updatedRequestIds){
日志。d(LOG_TAG,字符串。格式("请求%s有%d个更新",
id,requestUpdates。getRequestUpdates()。得到(id)));
}
}
}
@覆盖
公共无效onError(ErrorResponse ErrorResponse){
//处理错误
}
});
方法缓存requestUpdates
最多一个小时。在该时间范围内的任何后续API调用都会返回缓存的对象,而不是进行API调用。
查看票据将其从缓存中删除RequestUpdates
对象。当票据的注释加载时发生该事件RequestActivity。
如果你实现了一个自定义UI,你可以通过调用以下方法来标记一个票据,其中包含票据的ID和已读取的评论数量(通常是评论总数):
支持。实例。提供者()。requestProvider()。markRequestAsRead(“123”,4);
如果你已经集成了请求更新的推送通知,但已经实现了自定义请求UI,并且没有使用Support.INSTANCE.refreshRequest ()
,当收到推送更新时,您可以将票据标记为未读:
支持。实例。提供者()。requestProvider()。markRequestAsUnread(“123”);