审计日志
审计日志显示自创建帐户以来Zendesk帐户中的各种更改。亚博这些更改的记录将无限期保存,您可以查看整个更改历史。有关更多信息,请参见查看变更的审计日志在Ze亚博ndesk帮助。
审计日志端点仅在企业计划中可用。
JSON格式
审计日志表示为JSON对象,具有以下属性:
名字 | 类型 | 只读 | 强制性的 | 描述 |
---|---|---|---|---|
行动 | 字符串 | 真正的 | 假 | 所做更改的类型。取值为create、destroy、exported、login和update。 |
action_label | 字符串 | 真正的 | 假 | 动作字段的本地化字符串 |
actor_id | 整数 | 真正的 | 假 | 发起更改的用户或系统的Id |
actor_name | 字符串 | 真正的 | 假 | 发起更改的用户或系统的名称 |
change_description | 字符串 | 真正的 | 假 | 对发生的更改的描述 |
created_at | 字符串 | 真正的 | 假 | 审计被创建的时间 |
id | 整数 | 真正的 | 假 | 创建时自动分配的id |
ip_address | 字符串 | 真正的 | 假 | 进行审计的用户的IP地址 |
source_id | 整数 | 真正的 | 假 | 被审计项目的id |
source_label | 字符串 | 真正的 | 假 | 被审计项目的名称 |
source_type | 字符串 | 真正的 | 假 | 被审计的项目类型。通常描述变更被启动的系统。可能的值根据您帐户的Zendesk产品和活动而有所不同。亚博常见值包括"apitoken"、"rule"、"ticket"、"user"和"zendesk/app_market/app"。亚博rule值用于自动化,宏,触发器,的观点,以及其他自动化业务规则 |
url | 字符串 | 真正的 | 假 | 访问审计日志的URL |
例子
{
“行动”:“更新”,
“action_label”:“更新”,
“actor_id”:1234,
“actor_name”:“Sameer帕特尔”,
“change_description”:"角色由管理员变更为最终用户",
“created_at”:“2012 - 03 - 05 - t11:32:44z”,
“id”:498483,
“ip_address”:“209.119.38.228”,
“source_id”:3456,
“source_label”:“John Doe”,
“source_type”:“用户”,
“url”:“https://company.亚博zendesk.com/api/v2/audit_logs/498483.json”
}
列表审计日志
GET / api / v2 / audit_logs
允许
- 管理员对具有审计日志访问权限的帐户进行管理
分页
- 游标分页(推荐)
- 抵消分页
看到分页.
每页最多返回100条记录。
参数
名字 | 类型 | 在 | 要求 | 描述 |
---|---|---|---|---|
过滤器(行动) | 字符串 | 查询 | 假 | 按操作过滤审计日志 |
过滤器(actor_id) | 整数 | 查询 | 假 | 根据参与者id筛选审计日志 |
过滤器(created_at) | 字符串 | 查询 | 假 | 按创建时间筛选审计日志 |
过滤器(ip_address) | 字符串 | 查询 | 假 | 按ip地址过滤审计日志 |
过滤器(source_id) | 整数 | 查询 | 假 | 根据源id对审计日志进行过滤。需要过滤器(source_type) 也要设置。 |
过滤器(source_type) | 字符串 | 查询 | 假 | 按源类型过滤审计日志。例如,用户或规则 |
排序 | 字符串 | 查询 | 假 | 只有游标分页。对审计日志进行排序。默认是类型= created_at |
sort_by | 字符串 | 查询 | 假 | 只有偏移分页。对审计日志进行排序。默认是sort_by = created_at |
sort_order | 字符串 | 查询 | 假 | 只有偏移分页。对审计日志进行排序。默认是sort_order = desc |
代码示例
旋度
旋度- g“https://helpdesk.亚博zendesk.com/api/v2/audit_logs.json?filter [source_type] = user&filter [source_id] = 123\
- v - u{email_address}:{密码}
去
进口(
“fmt”
“输入输出”
“net/http”
)
函数主要(){
url:=“https://example.亚博zendesk.com/api/v2/audit_logs?filter[行动]=过滤器[actor_id] =过滤器[created_at] =过滤器[ip_address] =过滤器[source_id] =过滤器[source_type] =排序= &sort_by = &sort_order = "
方法:=“获得”
要求的事情,犯错:=http.NewRequest(方法,url,零)
如果犯错! =零{
fmt.Println(犯错)
返回
}
要求的事情.头.添加(“内容类型”,“application / json”)
要求的事情.头.添加(“授权”,“基本< auth-value >”)// Base64编码的"username:password"
客户端:=&http.客户端{}
res,犯错:=客户端.做(要求的事情)
如果犯错! =零{
fmt.Println(犯错)
返回
}
推迟res.身体.关闭()
身体,犯错:=io.ReadAll(res.身体)
如果犯错! =零{
fmt.Println(犯错)
返回
}
fmt.Println(字符串(身体))
}
Java
进口com.squareup.okhttp.*;
OkHttpClient客户端=新OkHttpClient();
HttpUrl.构建器urlBuilder=HttpUrl.解析(“https://example.亚博zendesk.com/api/v2/audit_logs”)
.newBuilder()
.addQueryParameter(“过滤器”(行动),”“)
.addQueryParameter(“过滤器(actor_id)”,”“)
.addQueryParameter(“过滤器(created_at)”,”“)
.addQueryParameter(“过滤器(ip_address)”,”“)
.addQueryParameter(“过滤器(source_id)”,”“)
.addQueryParameter(“过滤器(source_type)”,”“)
.addQueryParameter(“排序”,”“)
.addQueryParameter(“sort_by”,”“)
.addQueryParameter(“sort_order”,”“);
请求请求=新请求.构建器()
.url(urlBuilder.构建())
.方法(“获得”,零)
.addHeader(“内容类型”,“application / json”)
.addHeader(“授权”,凭证.基本(“电子邮件”,“你的密码”))
.构建();
响应响应=客户端.newCall(请求).执行();
Nodejs
varaxios=需要(“axios”);
var配置={
方法:“得到”,
url:“https://example.亚博zendesk.com/api/v2/audit_logs”,
头:{
“内容类型”:“application / json”,
“授权”:的基本< auth-value >”,// Base64编码的"username:password"
},
参数个数:{
“过滤器[行动]”:”,
“过滤器(actor_id)”:”,
“过滤器(created_at)”:”,
“过滤器(ip_address)”:”,
“过滤器(source_id)”:”,
“过滤器(source_type)”:”,
“排序”:”,
“sort_by”:”,
“sort_order”:”,
},
};
axios(配置)
.然后(函数(响应){
控制台.日志(JSON.stringify(响应.数据));
})
.抓(函数(错误){
控制台.日志(错误);
});
Python
进口请求
url=“https://example.亚博zendesk.com/api/v2/audit_logs?filter[行动]=过滤器[actor_id] =过滤器[created_at] =过滤器[ip_address] =过滤器[source_id] =过滤器[source_type] =排序= &sort_by = &sort_order = "
头={
“内容类型”:“application / json”,
}
响应=请求.请求(
“获得”,
url,
身份验证=(“<用户名>”,' <密码> '),
头=头
)
打印(响应.文本)
鲁比(人名)
需要“net/http”
uri=URI(“https://example.亚博zendesk.com/api/v2/audit_logs”)
uri.查询=URI.encode_www_form(“过滤器”(行动):”“,“过滤器(actor_id)”:”“,“过滤器(created_at)”:”“,“过滤器(ip_address)”:”“,“过滤器(source_id)”:”“,“过滤器(source_type)”:”“,“排序”:”“,“sort_by”:”“,“sort_order”:”“)
请求=网::HTTP::得到.新(uri,“内容类型”:“application / json”)
请求.basic_auth“用户名”,“密码”
响应=网::HTTP.开始uri.主机名,uri.港口,use_ssl:真正的做|http|
http.请求(请求)
结束
示例响应(年代)
200好了
//状态200 OK
{
“audit_logs”:[
{
“行动”:“更新”,
“actor_id”:1234,
“actor_name”:“Sameer帕特尔”,
“change_description”:"角色由管理员变更为最终用户",
“created_at”:“2012 - 03 - 05 - t11:32:44z”,
“id”:498483,
“ip_address”:“209.119.38.228”,
“source_id”:3456,
“source_label”:“John Doe”,
“source_type”:“用户”,
“url”:“https://company.亚博zendesk.com/api/v2/audit_logs/498483.json”
}
]
}
显示审计日志
GET / api / v2 / audit_logs / {audit_log_id}
允许
- 具有审计日志访问权限的帐户的管理员
参数
名字 | 类型 | 在 | 要求 | 描述 |
---|---|---|---|---|
audit_log_id | 整数 | 路径 | 真正的 | 审计日志的ID |
代码示例
旋度
旋度https://helpdesk.亚博zendesk.com/api/v2/audit_logs/{audit_log_id}. json\
- v - u{email_address}:{密码}
去
进口(
“fmt”
“输入输出”
“net/http”
)
函数主要(){
url:=“https://example.亚博zendesk.com/api/v2/audit_logs/498483”
方法:=“获得”
要求的事情,犯错:=http.NewRequest(方法,url,零)
如果犯错! =零{
fmt.Println(犯错)
返回
}
要求的事情.头.添加(“内容类型”,“application / json”)
要求的事情.头.添加(“授权”,“基本< auth-value >”)// Base64编码的"username:password"
客户端:=&http.客户端{}
res,犯错:=客户端.做(要求的事情)
如果犯错! =零{
fmt.Println(犯错)
返回
}
推迟res.身体.关闭()
身体,犯错:=io.ReadAll(res.身体)
如果犯错! =零{
fmt.Println(犯错)
返回
}
fmt.Println(字符串(身体))
}
Java
进口com.squareup.okhttp.*;
OkHttpClient客户端=新OkHttpClient();
HttpUrl.构建器urlBuilder=HttpUrl.解析(“https://example.亚博zendesk.com/api/v2/audit_logs/498483”)
.newBuilder();
请求请求=新请求.构建器()
.url(urlBuilder.构建())
.方法(“获得”,零)
.addHeader(“内容类型”,“application / json”)
.addHeader(“授权”,凭证.基本(“电子邮件”,“你的密码”))
.构建();
响应响应=客户端.newCall(请求).执行();
Nodejs
varaxios=需要(“axios”);
var配置={
方法:“得到”,
url:“https://example.亚博zendesk.com/api/v2/audit_logs/498483”,
头:{
“内容类型”:“application / json”,
“授权”:的基本< auth-value >”,// Base64编码的"username:password"
},
};
axios(配置)
.然后(函数(响应){
控制台.日志(JSON.stringify(响应.数据));
})
.抓(函数(错误){
控制台.日志(错误);
});
Python
进口请求
url=“https://example.亚博zendesk.com/api/v2/audit_logs/498483”
头={
“内容类型”:“application / json”,
}
响应=请求.请求(
“获得”,
url,
身份验证=(“<用户名>”,' <密码> '),
头=头
)
打印(响应.文本)
鲁比(人名)
需要“net/http”
uri=URI(“https://example.亚博zendesk.com/api/v2/audit_logs/498483”)
请求=网::HTTP::得到.新(uri,“内容类型”:“application / json”)
请求.basic_auth“用户名”,“密码”
响应=网::HTTP.开始uri.主机名,uri.港口,use_ssl:真正的做|http|
http.请求(请求)
结束
示例响应(年代)
200好了
//状态200 OK
{
“audit_log”:{
“行动”:“更新”,
“actor_id”:1234,
“actor_name”:“Sameer帕特尔”,
“change_description”:"角色由管理员变更为最终用户",
“created_at”:“2012 - 03 - 05 - t11:32:44z”,
“id”:498483,
“ip_address”:“209.119.38.228”,
“source_id”:3456,
“source_label”:“John Doe”,
“source_type”:“用户”,
“url”:“https://company.亚博zendesk.com/api/v2/audit_logs/498483.json”
}
}
导出审计日志
POST / api / v2 / audit_logs /出口
允许
- 管理员对具有审计日志访问权限的帐户进行管理
参数
名字 | 类型 | 在 | 要求 | 描述 |
---|---|---|---|---|
过滤器(行动) | 字符串 | 查询 | 假 | 按操作过滤审计日志 |
过滤器(actor_id) | 整数 | 查询 | 假 | 根据参与者id筛选审计日志 |
过滤器(created_at) | 字符串 | 查询 | 假 | 按创建时间筛选审计日志 |
过滤器(ip_address) | 字符串 | 查询 | 假 | 按ip地址过滤审计日志 |
过滤器(source_id) | 整数 | 查询 | 假 | 根据源id对审计日志进行过滤。需要过滤器(source_type) 也要设置。 |
过滤器(source_type) | 字符串 | 查询 | 假 | 按源类型过滤审计日志。例如,用户或规则 |
代码示例
旋度
旋度https://helpdesk.亚博zendesk.com/api/v2/audit_logs/export.json\
- v - u{email_address}:{密码}
去
进口(
“fmt”
“输入输出”
“net/http”
)
函数主要(){
url:=“https://example.亚博zendesk.com/api/v2/audit_logs/export?filter[行动]=过滤器[actor_id] =过滤器[created_at] =过滤器[ip_address] =过滤器[source_id] =过滤器[source_type] = "
方法:=“职位”
要求的事情,犯错:=http.NewRequest(方法,url,零)
如果犯错! =零{
fmt.Println(犯错)
返回
}
要求的事情.头.添加(“内容类型”,“application / json”)
要求的事情.头.添加(“授权”,“基本< auth-value >”)// Base64编码的"username:password"
客户端:=&http.客户端{}
res,犯错:=客户端.做(要求的事情)
如果犯错! =零{
fmt.Println(犯错)
返回
}
推迟res.身体.关闭()
身体,犯错:=io.ReadAll(res.身体)
如果犯错! =零{
fmt.Println(犯错)
返回
}
fmt.Println(字符串(身体))
}
Java
进口com.squareup.okhttp.*;
OkHttpClient客户端=新OkHttpClient();
HttpUrl.构建器urlBuilder=HttpUrl.解析(“https://example.亚博zendesk.com/api/v2/audit_logs/export”)
.newBuilder()
.addQueryParameter(“过滤器”(行动),”“)
.addQueryParameter(“过滤器(actor_id)”,”“)
.addQueryParameter(“过滤器(created_at)”,”“)
.addQueryParameter(“过滤器(ip_address)”,”“)
.addQueryParameter(“过滤器(source_id)”,”“)
.addQueryParameter(“过滤器(source_type)”,”“);
RequestBody身体=RequestBody.创建(MediaType.解析(“application / json”),
”“”
”“”);
请求请求=新请求.构建器()
.url(urlBuilder.构建())
.方法(“职位”,身体)
.addHeader(“内容类型”,“application / json”)
.addHeader(“授权”,凭证.基本(“电子邮件”,“你的密码”))
.构建();
响应响应=客户端.newCall(请求).执行();
Nodejs
varaxios=需要(“axios”);
var配置={
方法:“职位”,
url:“https://example.亚博zendesk.com/api/v2/audit_logs/export”,
头:{
“内容类型”:“application / json”,
“授权”:的基本< auth-value >”,// Base64编码的"username:password"
},
参数个数:{
“过滤器[行动]”:”,
“过滤器(actor_id)”:”,
“过滤器(created_at)”:”,
“过滤器(ip_address)”:”,
“过滤器(source_id)”:”,
“过滤器(source_type)”:”,
},
};
axios(配置)
.然后(函数(响应){
控制台.日志(JSON.stringify(响应.数据));
})
.抓(函数(错误){
控制台.日志(错误);
});
Python
进口请求
url=“https://example.亚博zendesk.com/api/v2/audit_logs/export?filter[行动]=过滤器[actor_id] =过滤器[created_at] =过滤器[ip_address] =过滤器[source_id] =过滤器[source_type] = "
头={
“内容类型”:“application / json”,
}
响应=请求.请求(
“职位”,
url,
身份验证=(“<用户名>”,' <密码> '),
头=头
)
打印(响应.文本)
鲁比(人名)
需要“net/http”
uri=URI(“https://example.亚博zendesk.com/api/v2/audit_logs/export”)
uri.查询=URI.encode_www_form(“过滤器”(行动):”“,“过滤器(actor_id)”:”“,“过滤器(created_at)”:”“,“过滤器(ip_address)”:”“,“过滤器(source_id)”:”“,“过滤器(source_type)”:”“)
请求=网::HTTP::帖子.新(uri,“内容类型”:“application / json”)
请求.basic_auth“用户名”,“密码”
响应=网::HTTP.开始uri.主机名,uri.港口,use_ssl:真正的做|http|
http.请求(请求)
结束
示例响应(年代)
202年接受
//状态202接受
零