说明
诊断接口成功调用后,从响应中获取diagnosisId, 定时轮询(建议每10秒)查询诊断状态,如果状态响应成功(status=success),则可根据响应中的url获取下载诊断文件的地址,并根据地址获取文件。
1. 获取网口类型列表
请求方法
GET
请求地址
/v2/dm/devices/{deviceId}/networkInterfaces
Path参数
参数
数据类型
是否必需
描述
deviceId
String
是
设备ID
HTTP状态码
返回值
描述
200
操作成功,详见响应参数
400
客户端传参异常
401
鉴权失败
500
服务端异常
响应参数
参数
数据类型
描述
data
String[]
类型列表
请求消息示例
GET /v2/dm/devices/8d07a56207074d26b61026099625b9e2/networkInterfaces HTTP/1.1
Host: api.ydmp.yealink.com
响应消息示例
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
["wan","wlan0","ext0"]
2. 开始抓包
请求方法
PUT
请求地址
/v2/dm/devices/{deviceId}/startPacketCapture
Path参数
参数
数据类型
是否必需
描述
deviceId
String
是
设备ID
Body参数
参数
数据类型
是否必需
描述
networkInterface
String
是
网络端口,具体值从网口类型列表中获取,一般有 wan(广域网端口),ext0(外接电话线口),wlan0(无线局域网端口), 默认wan
type
Integer
否
抓包类型,0 – Custom, 1 --SIP or H245 or H225, 2 --RTP,3 --Not RTP
filter
String
否
抓包过滤信息,只有当抓包类型=0时才需要此值
duration
Integer
是
抓包最大时长, 单位秒 ,区间:180~3600
HTTP状态码
返回值
描述
200
操作成功,详见响应参数
400
客户端传参异常
401
鉴权失败
500
服务端异常
响应参数
参数
数据类型
描述
diagnosisId
String
诊断会话ID
请求消息示例
PUT /v2/dm/devices/8d07a56207074d26b61026099625b9e2/startPacketCapture HTTP/1.1
Host: api.ydmp.yealink.com
Content-Type: application/json
{
"networkInterface":"wan",
"type":0,
"duration":180
}
响应消息示例
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
{
"diagnosisId": "0006d62003684754b11c09c5d94ea687",
}
3. 结束抓包
请求方法
PUT
请求地址
/v2/dm/devices/{deviceId}/stopPacketCapture
Path参数
参数
数据类型
是否必需
描述
deviceId
String
是
设备ID
Body参数
参数
数据类型
是否必需
描述
diagnosisId
String
是
诊断ID
HTTP状态码
返回值
描述
200
操作成功
400
客户端传参异常
401
鉴权失败
500
服务端异常
请求消息示例
PUT /v2/dm/devices/8d07a56207074d26b61026099625b9e2/stopPacketCapture HTTP/1.1
Host: api.ydmp.yealink.com
Content-Type: application/json
{
"diagnosisId": "0006d62003684754b11c09c5d94ea687"
}
响应消息示例
HTTP/1.1 200
4. 截屏
请求方法
PUT
请求地址
/v2/dm/devices/{deviceId}/captureScreen
Path参数
参数
数据类型
是否必需
描述
deviceId
String
是
设备ID
HTTP状态码
返回值
描述
200
操作成功,详见响应参数
400
客户端传参异常
401
鉴权失败
500
服务端异常
响应参数
参数
数据类型
描述
diagnosisId
String
诊断ID
请求消息示例
PUT /v2/dm/devices/8d07a56207074d26b61026099625b9e2/captureScreen HTTP/1.1
Host: api.ydmp.yealink.com
响应消息示例
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
{
"diagnosisId": "0006d62003684754b11c09c5d94ea687",
}
5. 导出系统日志
请求方法
PUT
请求地址
/v2/dm/devices/{deviceId}/exportSyslog
Path参数
参数
数据类型
是否必需
描述
deviceId
String
是
设备ID
HTTP状态码
返回值
描述
200
操作成功,详见响应参数
400
客户端传参异常
401
鉴权失败
500
服务端异常
响应参数
参数
数据类型
描述
diagnosisId
String
诊断ID
请求消息示例
PUT /v2/dm/devices/8d07a56207074d26b61026099625b9e2/exportSyslog HTTP/1.1
Host: api.ydmp.yealink.com
响应消息示例
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
{
"diagnosisId": "0006d62003684754b11c09c5d94ea687",
}
6. 导出配置文件
请求方法
PUT
请求地址
/v2/dm/devices/{deviceId}/exportConfig
Path参数
参数
数据类型
是否必需
描述
deviceId
String
是
设备ID
HTTP状态码
返回值
描述
200
操作成功
400
客户端传参异常
401
鉴权失败
500
服务端异常
请求消息示例
PUT /v2/dm/devices/8d07a56207074d26b61026099625b9e2/exportConfig HTTP/1.1
Host: api.ydmp.yealink.com
响应消息示例
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
{
"diagnosisId": "0006d62003684754b11c09c5d94ea687",
}
7. 检测网络——ping
请求方法
PUT
请求地址
/v2/dm/devices/{deviceId}/ping
Path参数
参数
数据类型
是否必需
描述
deviceId
String
是
设备ID
Body参数
参数
数据类型
是否必需
描述
host
String
是
要ping的IP/域名
times
Integer
是
次数,最小1,最大30
HTTP状态码
返回值
描述
200
操作成功,详见响应参数
400
客户端传参异常
401
鉴权失败
500
服务端异常
响应参数
参数
数据类型
描述
diagnosisId
String
诊断ID
请求消息示例
PUT /v2/dm/devices/8d07a56207074d26b61026099625b9e2/ping HTTP/1.1
Host: api.ydmp.yealink.com
Content-Type: application/json
{
"host":"www.google.com",
"times":1
}
响应消息示例
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
{
"diagnosisId": "0006d62003684754b11c09c5d94ea687",
}
8. 检测网络——traceroute
请求方法
PUT
请求地址
/v2/dm/devices/{deviceId}/traceroute
Path参数
参数
数据类型
是否必需
描述
deviceId
String
是
设备ID
Body参数
参数
数据类型
是否必需
描述
host
String
是
要traceroute的IP/域名
times
Integer
是
次数,最小1,最大30
HTTP状态码
返回值
描述
200
操作成功,详见响应参数
400
客户端传参异常
401
鉴权失败
500
服务端异常
响应参数
参数
数据类型
描述
diagnosisId
String
诊断ID
请求消息示例
PUT /v2/dm/devices/8d07a56207074d26b61026099625b9e2/traceroute HTTP/1.1
Host: api.ydmp.yealink.com
Content-Type: application/json
{
"host":"www.google.com",
"times":1
}
响应消息示例
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
{
"diagnosisId": "0006d62003684754b11c09c5d94ea687",
}
9. 查询诊断状态
请求方法
GET
请求地址
/v2/dm/diagnosis/{diagnosisId}/status
Header参数
参数
数据类型
是否必需
描述
Referer
String
是
请求来源,为服务端的 {{protocols}}://{{host}}
Path参数
参数
数据类型
是否必需
描述
diagnosisId
String
是
诊断ID
HTTP状态码
返回值
描述
200
操作成功,详见响应参数
400
客户端传参异常
401
鉴权失败
500
服务端异常
响应参数
参数
数据类型
描述
deviceId
String
设备ID
status
String
诊断状态: inprogress: 进行中 success: 成功 failure:失败
url
String
文件下载地址,当status = success时可用
请求消息示例
GET /v2/dm/diagnosis/0006d62003684754b11c09c5d94ea687/status HTTP/1.1
Host: api.ydmp.yealink.com
Referer: https://api.ydmp.yealink.com
响应消息示例
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
{
"deviceId": "0006d62003684754b11c09c5d94ea687",
"status":"success",
"url":https://api.ydmp.yealink.com/single-12/allinone-10.122.131.12-uss%2F40ae7a23e493446695519cc44ad0a17d.txt?sv=2021-06-08&spr=https%2Chttp&se=2024-01-10T02%3A06%3A01Z&sr=b&sp=r&sig=JHco76T2o4idcO09mjvjj02FYFJEJW%2BvDf2RgLR%2BFAs%3D&rscd=attachment%3Bfilename%3DLog_001565bbb1a9_20240110020043_yiot123.txt"
}