访问Zendesk应用程序中的事件亚博
您可以使用事件API在Ze亚博ndesk应用程序中检索与用户相关的事件。事件API在GET请求中接受Zendesk用户id亚博来识别用户:
GET / api / v2 /用户/ {user_id} /事件
在Zendes亚博k应用程序框架中,您可以从用户对象.User对象在all中可用应用程序的位置在支持。User对象也可以是框架中其他对象的属性。例如,ticket.requester的属性票对象是一个User对象。
本文提供了一个Zendesk应用程序的示例函数,用于获取与票据请求者关联的事件。亚博该函数使用事件过滤器将事件限制为仅在创建票据前7天内发生的事件。
免责声明: 亚博Zendesk提供本文仅用于教学目的。亚博Zendesk不支持或保证该代码。亚博Zendesk也不支持JavaScript等第三方技术。
例子
细节
支持中的应用程序位置:票务边栏
亚博Zendesk用户id:检票员
根据开始时间过滤事件:生成票据前7天
根据结束时间过滤事件:创建票据的时间
JavaScript应用程序功能
(函数(){
让user_id;
让start_time;
让end_time;
//创建ZAF客户端
常量客户端=ZAFClient.初始化();
//获取票据请求者的Z亚博endesk用户id
客户端.得到(“ticket.requester.id”)
.然后(函数(数据){
user_id=数据[“ticket.requester.id”];
返回;
})
//根据创建票据的时间设置事件过滤器
.然后(客户端.得到(“ticket.createdAt”)
.然后(函数(数据){
end_time=新日期(数据[“ticket.createdAt”]);
start_time=新日期(end_time);
start_time.设置当前日期(end_time.获取当前日期()-7);
start_time=start_time.toISOString();
end_time=end_time.toISOString();
返回;
})
)
//进行API请求
.然后(函数(){
常量设置={
类型:“得到”,
url:' / api / v2 /用户/ '+user_id+“/事件”,
数据:过滤器[start_time] = '+start_time+过滤器[end_time] = '+end_time
};
客户端.请求(设置)
.然后(函数(数据){
为(让事件的数据[“事件”]){
控制台.日志(事件);
}
})
})
.抓(函数(){
控制台.错误(“错误”);
});
})();
响应
该函数在浏览器控制台中显示事件:
它是如何工作的
由于框架请求是异步的,并且一些请求必须跟随其他请求,因此该函数由承诺链组成。
预赛
该函数首先在函数级声明一些变量,以便在嵌套函数中使用它们。
让user_id;
让start_time;
让end_time;
然后创建一个ZAF客户使用框架api:
常量客户端=ZAFClient.初始化();
获取Zendes亚博k用户id
接下来,该函数获取请求支持的人的Zendesk用户id:亚博
客户端.得到(“ticket.requester.id”)
.然后(函数(数据){
user_id=数据[“ticket.requester.id”];
返回;
})
函数使用client.get(路径)
框架方法调用框架API。看到使用框架api.
设置过滤器
接下来,函数获取票据createdAt
属性的值start_time
而且end_time
变量。变量将在Events API请求中使用,以将事件限制为仅发生在票据创建前7天内的事件。
.然后(客户端.得到(“ticket.createdAt”)
.然后(函数(数据){
end_time=新日期(数据[“ticket.createdAt”]);
start_time=新日期(end_time);
start_time.设置当前日期(end_time.获取当前日期()-7);
start_time=start_time.toISOString();
end_time=end_time.toISOString();
返回;
})
)
获取事件
最后,该函数向Events API发出请求,并在浏览器控制台中显示事件。函数使用client.request ()
框架方法调用API。看到从Zendesk应用程序发出API请求亚博.
.然后(函数(){
常量设置={
类型:“得到”,
url:' / api / v2 /用户/ '+user_id+“/事件”,
数据:过滤器[start_time] = '+start_time+过滤器[end_time] = '+end_time
};
客户端.请求(设置)
.然后(函数(数据){
为(让事件的数据[“事件”]){
控制台.日志(事件);
}
})
})
该请求包括以下路径参数来过滤事件:
'filter[start_time]=' + start_time + '&filter[end_time]=' + end_time .
看到过滤事件.