根据 AppID 和AppSecret获得access token
调用接口:
http请求方式: POST
http://接口地址/api/oauth/access_token?appid=f2dcc5e64a0bbac1d667a68630932599&appsecret=4e59e91523a32c594f03f2184e38fedd
参数说明:
参数 | 是否必须 | 参数类型 | 说明 |
---|---|---|---|
appid | 是 | String | 应用的appid |
appsecret | 是 | String | 应用的appsecret |
返回说明:
正常情况下,接口会返回如下 JSON格式 数据包。
{
"code":200,
"access_token":"ACCESS_TOKEN",
"access_time":7200
"msg":''
}
参数 | 说明 |
---|---|
code | 请求的状态码(状态码查询) |
access_token | 获取到的凭证(每请求一次接口,凭证就会自动刷新一次,一个应用每天最多刷新24次,考虑到后续的接口调用都需要使用凭证,建议获取到凭证后进行本地存储及验证) |
access_time | 凭证有效时间,单位:秒 |
msg | 异常情况,直接返回错误信息 |
错误时会返回错误码等信息,JSON格式数据包示例如下(该示例为 appid 无效错误):
{
"code":40005,
"msg":"invalid appid"
}
上传视频
调用接口:
http请求方式: POST
http://接口地址/api/sns/upload?access_token=4f4b31697e07a7b3f642d0f797034317&age=30&sex=男&base64=UklGRjwYDgBBVkkgTElTVH4iAABoZHJsYXZpaDgAAAA1...&businessid=202302211102131441520
参数说明:
参数 | 是否必须 | 参数类型 | 说明 |
---|---|---|---|
access_token | 是 | String | 根据 appid 和 appsecret获取到的token凭证 |
age | 是 | String | 检测者年龄 |
sex | 是 | String | 检测者性别 |
base64 | 是 | String | 视频的base64位编码 |
businessid | 否 | String|Int | 用户自定义的业务编号,该编号会在消息推送接口一并返回 |
返回说明:
正常情况下,接口会返回下述 JSON 数据包。
{
"code":200,
"orderid":"20230211233509673085000003",
"businessid":"202302211102131441520"
}
返回字段说明:
参数 | 说明 |
---|---|
code | 请求的状态码(状态码查询) |
orderid | 产生的报告单号,在报告查询时使用。 |
businessid | 用户自定义的业务ID |
msg | 异常情况,直接返回错误信息 |
获取情绪检测报告
调用接口:
http请求方式: POST
http://接口地址/api/sns/report?access_token=4f4b31697e07a7b3f642d0f797034317&orderid=20230211233603397158000003
参数说明:
参数 | 是否必须 | 参数类型 | 说明 |
---|---|---|---|
access_token | 是 | String | 根据 appid 和 appsecret获取到的token凭证 |
orderid | 是 | String | 视频上传接口返回的报告单号 |
返回说明:
正常情况下,接口会返回下述 JSON 数据包。
{
"status": "success",
"msg": "",
"code": 200,
"data": {
"result": "焦虑症",
"duration": 30,
"sew": {
"GJX": {
"normal": [20, 50],
"min": 21.0831,
"max": 59.2139,
"m": 44.4565,
"s": 21.0831,
"v": 21.0831,
"r": 0
},
"YL": {
"normal": [20, 40],
"min": 11.5746,
"max": 56.6466,
"m": 22.6497,
"s": 21.0831,
"v": 21.0831,
"r": 0
},
"JZ": {
"normal": [15, 40],
"min": 4.41319,
"max": 44.0837,
"m": 34.8166,
"s": 21.0831,
"v": 21.0831,
"r": 0
},
"KY": {
"normal": [20, 50],
"min": 23.3193,
"max": 43.6674,
"m": 31.9641,
"s": 21.0831,
"v": 21.0831,
"r": 0
},
"PH": {
"normal": [50, 100],
"min": 20.4797,
"max": 85.2239,
"m": 70.6762,
"s": 21.0831,
"v": 21.0831,
"r": 0
},
"ZX": {
"normal": [40, 100],
"min": 46.9973,
"max": 86.3399,
"m": 79.6988,
"s": 21.0831,
"v": 21.0831,
"r": 0
},
"NL": {
"normal": [10, 50],
"min": 19.3205,
"max": 49.6164,
"m": 28.2987,
"s": 21.0831,
"v": 21.0831,
"r": 0
},
"ZWTJ": {
"normal": [50, 100],
"min": 47.1108,
"max": 83.5971,
"m": 75.545,
"s": 21.0831,
"v": 21.0831,
"r": 0
},
"YY": {
"normal": [15, 25],
"min": 12.0267,
"max": 41.247,
"m": 14.9937,
"s": 21.0831,
"v": 21.0831,
"r": 1
},
"SJZ": {
"normal": [15, 50],
"min": 1.71373,
"max": 97.7707,
"m": 44.6925,
"s": 21.0831,
"v": 21.0831,
"r": 0
},
"XC": {
"normal": [20, 50],
"min": 12.4852,
"max": 31.3234,
"m": 18.1546,
"s": 21.0831,
"v": 21.0831,
"r": 1
},
"XFG": {
"normal": [40, 100],
"min": 24.8478,
"max": 34.2842,
"m": 30.8976,
"s": 21.0831,
"v": 21.0831,
"r": 0
}
},
"qxzs": {
"value": 1.16577,
"result": "正常"
},
"qxfb": {
"goodV": 0.52,
"badV": 0.253,
"phyV": 0.227
},
"hld": {
"value": 2.25,
"result": "普通"
},
"jzd": {
"value": 26.42,
"result": "低"
},
"xgzs": {
"extroV": 63.468,
"stableV": 51.801
},
"jkzb": {
"status": 0,
"relative": {
"value": 0,
"result": "\u01a9[R] = 21.75 (>20.0) "
},
"balance": {
"value": 0,
"result": "\u01a9[\u0394M] = 1.87 (<4.0) "
},
"AI": {
"value": 0,
"result": "AI = 5 (<20) "
}
},
"ew": "您的预警状况为:欠佳",
"pp": [0, 0, 0, 0, 0, 0, 1597, 0, 2225, 0, 0, 1442, 0, 1716, 0, 0, 2102, 0, 0, 2691, 0, 3588, 0, 0, 4628, 0, 5406, 0, 0, 7723, 0, 8621, 0, 0, 13521, 0, 0, 19593, 0, 24511, 0, 0, 26465, 0, 33284, 0, 0, 35983, 0, 37173, 0, 0, 39313, 0, 0, 36524, 0, 36995, 0, 0, 39351, 0, 41067, 0, 0, 36403, 0, 42121, 0, 0, 47590, 0, 0, 46875, 0, 47014, 0, 0, 52492, 0, 61587, 0, 0, 68245, 0, 0, 72416, 0, 79035, 0, 0, 87695, 0, 110341, 0, 0, 120272, 0, 134902, 0, 0, 159590, 0, 0, 179956, 0, 191726, 0, 0, 211149, 0, 228835, 0, 0, 255151, 0, 274303, 0, 0, 291231, 0, 0, 306069, 0, 306059, 0, 0, 321536, 0, 332622, 0, 0, 337734, 0, 343023, 0, 0, 325323, 0, 0, 338279, 0, 334348, 0, 0, 330860, 0, 308836, 0, 0, 292063, 0, 266826, 0, 0, 230359, 0, 0, 215258, 0, 205429, 0, 0, 196778, 0, 199120, 0, 0, 203379, 0, 0, 202106, 0, 209333, 0, 0, 217516, 0, 210991, 0, 0, 203776, 0, 197523, 0, 0, 194962, 0, 0, 171975, 0, 154245, 0, 0, 137461, 0, 133442, 0, 0, 131545, 0, 126362, 0, 0, 125621, 0, 0, 98586, 0, 84347, 0, 0, 65405, 0, 41944, 0, 0, 23216, 0, 8322, 0, 0, 3643, 0, 0, 982, 0, 1989, 0, 0, 732, 0, 597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}
}
返回字段说明:
参数 | 说明 |
---|---|
code | 请求的状态码(状态码查询) |
msg | 返回的消息 |
data | 报告检测数据(Object) |
result | 报告分析结果。 |
duration | 检测的视频时长。 |
businessid | 用户自定义的业务ID |
sew | 十二维度数据 Object (具体参数) |
qxzs | 十二维情绪指数 value:数据值 result:分析结果 |
qxfb | 情绪分布 goodV:正面情绪 badV:负面情绪 phyV:生理情绪 |
hld | 活力度指数 value:数据值 result:分析结果 |
jzd | 集中度指数 value:数据值 result:分析结果 |
xgzs | 性格指数 extroV:内/外向性数值 stableV:稳定性数值 |
jkzb | 健康指标 status:健康状态[0:正常, 1:异常,2:预警] relative:生理系统参数相关性 (value:数据值[0:正常,1:预警],result:分析结果) balance:人体微运动平衡性 (value:数据值[0:正常,1:预警],result:分析结果) AI:AI(范围) (value:数据值[0:正常,1:预警],result:分析结果) |
pp | 频谱数据() |
可根据实际项目需求,返回指定的数据。
十二维情绪参数说明:
参数 | 说明 |
---|---|
GJX | 攻击性
normal: 正常值范围,
min: 最小值, max: 最大值, m: 平均值, s: 方差, v: 变化率, r: 分析结果 [0:正常,1:偏低,2:偏高] |
YL | 压力... |
JZ | 紧张... |
KY | 可疑... |
PH | 平衡... |
ZX | 自信... |
NL | 能量... |
ZWTJ | 自我调节... |
YY | 郁闷... |
SJZ | 神经质... |
XC | 消沉... |
XFG | 幸福感... |
获取生理检测报告
调用接口:
http请求方式: POST
http://接口地址/api/sns/phy?access_token=4f4b31697e07a7b3f642d0f797034317&orderid=20230211233603397158000003
参数说明:
参数 | 是否必须 | 参数类型 | 说明 |
---|---|---|---|
access_token | 是 | String | 根据 appid 和 appsecret获取到的token凭证 |
orderid | 是 | String | 视频上传接口返回的报告单号 |
返回说明:
正常情况下,接口会返回下述 JSON 数据包。
{
"msg": "",
"code": 200,
"orderid": "20240225233254248626000002",
"businessid": "1000",
"data": {
"hrv_result": 0,
"sum": 20,
"mean_hr": 74.45,
"max_hr": 84.43,
"min_hr": 61.24,
"std_hr": 2.78,
"breathe": 17,
"sbp": 113,
"dbp": 78,
"bl_o2": 98,
"psyc_pressure": 51,
"mean_nni": 820.1,
"sdnn": 108.76,
"sdsd": 33.71,
"rmssd": 36.25,
"median_nni": 821.3,
"range_nni": 109.95,
"cvsd": 0.0423,
"cvnni": 0.0383,
"nni_50": 2.2,
"pnni_50": 12.74,
"nni_20": 8.9,
"pnni_20": 53.03,
"lf": 383.19,
"hf": 200.57,
"lf_hf_ratio": 2.31,
"lfnu": 65.7,
"hfnu": 34.3,
"total_power": 664.35,
"vlf": 80.59,
"csi": 1.47,
"cvi": 4.12,
"modified_csi": 223.83,
"kangya": "抗压能力:偏低",
"pingheng": "交副平衡:正常",
"tiaojie": "心血管调节:偏低",
"huoyue": "自主活性:偏低",
}
}
返回字段说明:
参数 | 说明 |
---|---|
code | 请求的状态码(状态码查询) |
orderid | 产生的报告单号,在报告查询时使用。 |
businessid | 用户自定义的业务ID |
data | 生理检测报告数据 Object (具体参数) |
msg | 异常情况,直接返回错误信息 |
生理检测报告数据字典:
仅展示部分常用参数
参数 | 说明 |
---|---|
hrv_result | 分析结果(0:表示分析正常,-1:表示分析失败) |
mean_hr | 心率 |
max_h | 最大心率 |
min_hr | 最小心率 |
breathe | 呼吸 |
sbp | 血压高压 |
dbp | 血压低压 |
bl_o2 | 血氧 |
psyc_pressure | 心率变异或者心理压力 |
kangya | 抗压能力 |
pingheng | 交感副交感平衡 |
tiaojie | 心血管调节 |
huoyue | 自主神经活性 |
获取量表
调用接口:
http请求方式: POST
http://接口地址/api/sns/scale?access_token=4f4b31697e07a7b3f642d0f797034317
参数说明:
参数 | 是否必须 | 参数类型 | 说明 |
---|---|---|---|
access_token | 是 | String | 根据 appid 和 appsecret获取到的token凭证 |
返回说明:
正常情况下,接口会返回下述 JSON 数据包。
{
"msg": "",
"code": 200,
"data": [{
"name": "焦虑自评量表SAS",
"description": "焦虑自评量表(Self-ratingAnxietyScale,简称SAS),Zung(1971)提出此量表的目的,是为了研究个体在心理层面上,因某些原因导致焦虑症状,运用自我自量的方式进行测量,一般较为普遍运用的领域是心理科学。我国学者王征宇及迟玉芬(1984)依据我国民情翻译为中文版本,量表共计20个条目。",
"model": "sas"
},
{
"name": "抑郁自评量表SDS",
"description": "抑郁自评量表(Self-RatingDepressionScale,简称SDS),Zung(1965)提出此量表的目的,是为了研究个体在心理层面上,持续出现的特征,如:悲伤、绝望等症状,运用自我自量的方式进行测量,一般较为普遍运用的领域是医学。我国学者王征宇及迟玉芬(1984)依据我国民情翻译为中文版本,量表共计20个条目。 ",
"model": "sds"
},
...
]
}
返回字段说明:
参数 | 说明 |
---|---|
code | 请求的状态码(状态码查询) |
msg | 异常情况,直接返回错误信息 |
data | 量表数据 Array 数组 字段说明: { name: 量表名称 description: 量表介绍 model: 量表模型 } |
获取量表题目
调用接口:
http请求方式: POST
http://接口地址/api/sns/topic?access_token=4f4b31697e07a7b3f642d0f797034317&model=sas
参数说明:
参数 | 是否必须 | 参数类型 | 说明 |
---|---|---|---|
access_token | 是 | String | 根据 appid 和 appsecret获取到的token凭证 |
model | 是 | String | 量表模型 |
返回说明:
正常情况下,接口会返回下述 JSON 数据包。
{
"msg": "",
"code": 200,
"data": [
{
"id": "1",
"title": "我觉得比平常容易紧张和着急",
"type": "0",
"options": [
{
"id": "1",
"no": "A",
"name": "没有或很少时间"
},
{
"id": "3",
"no": "B",
"name": "小部分时间"
},
{
"id": "4",
"no": "C",
"name": "相当多时间"
},
{
"id": "5",
"no": "D",
"name": "绝大部分或全部时间"
}
]
},
...
]
}
返回字段说明:
量表题库数据字典
参数 | 说明 |
---|---|
id | 试题编号 |
title | 试题标题 |
type | 试题类型(0:选择题,1:判断题) |
options | 试题答案选项 Array 数组 字段说明: { id: 选项编号 no: 选项编号文本 name: 选项标题 } |
获取量表检测结果
调用接口:
http请求方式: POST
http://接口地址/api/sns/scalereport?access_token=4f4b31697e07a7b3f642d0f797034317&answer=[["21","83"],["22","88"],...]
参数说明:
参数 | 是否必须 | 参数类型 | 说明 |
---|---|---|---|
access_token | 是 | String | 根据 appid 和 appsecret获取到的token凭证 |
model | 是 | String | 量表模型 |
answer | 是 | Array | 答案([["21","83"],["22","88"],...]) 二维数组 ,每个数组元素包含试题编号和对应的答案编号,即[["试题编号","答案编号"],["试题编号","答案编号"],...] |
返回说明:
正常情况下,接口会返回下述 JSON 数据包。
{
"msg": "",
"code": 200,
"data": {
"scalename": "抑郁自评量表SDS",
"totalscore": 45,
"scaledscore": 56,
"result": "通过测试表明被试属于轻度抑郁。偶尔有些郁闷、压抑。被测者在遇到挫折和烦恼时,会出现暂时的情绪低落。 ",
"suggest": "被试需要认识到这些情绪,并学习条件情绪的方法,参考建议: (1)不要掩饰自己的情绪、过多地压抑自己,要学会倾诉和宣泄等方式来进行自我调节,如写日记,散步或者找朋友聊聊天,努力使自己保持乐观、向上的心态。(2)也可在相关心理学知识的指导下,培养积极的认知方式,改变对自己的认识,全面认识自我,悦纳自我,善待自我。(3)定期复查,若无改善需做心理咨询或转介专业门诊。"
}
}
返回字段说明:
量表检测结果解析
不同的量表,返回的检测结果可能会不一样。
量表 | 模型 | 返回结果参数说明 |
---|---|---|
焦虑自评量表 | sas |
scalename:量表名称 totalscore: 总分 scaledscore:量表实测得分 result:检测结果 suggest:建议 |
抑郁自评量表 | sds |
scalename:量表名称 totalscore: 总分 scaledscore: 量表实测得分 result: 检测结果 suggest: 建议 |
90项症状自评量表 | scl90 |
scalename:量表名称 totalscore: 总分 index: 总症状指数 positive: 阳性项目数 avgscore: 阳性症状均分 factor:因子项 Array 数组(具体参数) avgresult: 阳性检测结果 avgsuggest: 阳性建议 result: 检测结果 suggest: 建议 |
MHT心理健康量表 | mht |
scalename:量表名称 totalscore: 总分 factor:因子项 Array 数组(具体参数) result: 检测结果 suggest: 建议 |
PHQ-9抑郁症筛查量表 | phq9 |
scalename:量表名称 totalscore: 总分 scaledscore: 量表实测得分 result: 检测结果 suggest: 建议 |
少儿心理健康量表 | mfsca |
scalename:量表名称 totalscore: 总分 factor:因子项 Array 数组(具体参数) result: 检测结果 suggest: 建议 |
中学生心理健康量表 | mssmhs |
scalename:量表名称 totalscore: 总分 factor:因子项 Array 数组(具体参数) result: 检测结果 suggest: 建议 |
霍兰德职业倾向测试 | holland |
scalename:量表名称 totalscore: 总分 factor:因子项 Array 数组(具体参数) result: 检测结果 suggest: 建议 |
青少年生活事件量表 | aslec |
scalename:量表名称 totalscore: 总分 state: 总测评状态 factor:因子项 Array 数组(具体参数) result: 检测结果 suggest: 建议 |
因子项具体参数
参数 | 说明 |
---|---|
name | 因子项名称 |
score | 因子项得分 |
state | 测评状态(轻,较轻,较重,重,严重),部分量表没有此返回值 |
result | 因子项检测结果 |
suggest | 因子项检测建议 |
消息推送服务
消息推送服务需提前将应用与消息接收接口绑定,消息接收接口由开发者提供,服务端在给出分析报告后会将报告数据以JSON格式推送到接收接口,参数可参照报告获取接口返回的参数。
接收示例:
PHP数据接收示例
$stream = file_get_contents("php://input");
try{
$json = json_decode($stream);
echo("订单号:".$json->orderid.",检测结果:".$json->result.",检测时间:".$json->duration);
}catch(Exception $e){
//数据接收失败;
}
返回码code说明
值 | 说明 |
---|---|
-1 | 请求失败 |
200 | 请求成功 |
30001 | 服务器无响应 |
40001 | access_token 无效 |
40002 | access_token 未通过验证 |
40003 | access_token 已过期 |
40004 | 缺少必要参数 |
40005 | appid 无效 |
40006 | appsecret 无效 |
40007 | 用户不存在 |
40008 | 应用已被下架 |
40009 | 账户余额不足 |
40010 | access_token 每日刷新次数已达上限 |
40011 | 应用与服务器未建立合约关系 |
40012 | 无效的参数 |
40013 | 缺少视频的base64位编码 |
40014 | 无效的视频参数 |
40015 | 视频上传失败 |
40016 | 无效的单号 |
40017 | 单号不存在 |
40018 | 暂未生成报告 |
40019 | 报告不存在 |
40020 | appid 或 appsecret 无效(没有查询到对应的应用) |
40021 | 支付失败 |
40022 | 未开通服务 |
40023 | 量表不存在 |
40024 | 量表检测未完成 |
40025 | 无效的检测结果 |