搜索 API

最近更新时间:2024-05-15 09:13:11

我的收藏
腾讯医典提供专业医疗科普百科、文章和视频的海量知识库,可通过搜索 API 接口查询相关内容。例如接口输入搜索“糖尿病如何治疗”,搜索 API 接口会返回糖尿病的疾病百科词条,还有涉及糖尿病治疗这个知识点的相关文章和视频列表,为用户解答糖尿病相关的疑问。
API的调用时机由客户侧判断,当客户侧认为当前需要调用搜索 API 获取一次相关科普内容时,可执行调用查询,API 接口按调用次数计费。API 只返回内容的标题和概要等信息,不返回正文全文。




接口地址

预发布环境域名:https://preview.baike.qq.com
生产环境域名:https://h5.baike.qq.com
说明:
在新接口联调时,请使用预发布环境的域名;已上线接口使用正式环境域名。

接口说明

接口地址:https://preview.baike.qq.com/api/access/json/cmd/SearchV2
接口请求方式:POST
接口请求头:Content-Type: application/json

签名生成说明

参数名称
参数代码
说明
当前 UNIX 时间戳
timestamp
单位秒。如果 timestamp 表示的时间戳与医典服务端时间相差超过三分钟,则认为请求过时,会拒绝请求并返回相应的错误。
随机数
noncestr
随机字符串,用于生成签名。
签名
signature
生成签名的流程如下:
1. appid,timestamp,noncestr三个参数按"appid=%s&noncestr=%s&timestamp=%s" 格式拼接。
2. 使用appserect将上述拼接字符串通过hmac签名算法进行sha256摘要(直接hmac时sha256),编码为字符串后即为此次请求的签名。
渠道 ID
appid
联系我们 为您提供。
渠道密钥
appserect
联系我们 为您提供。
渠道标识
adtag
联系我们 为您提供。

输入参数说明

参数名称
参数代码
必选
类型
说明
请求头
header
object
-
请求版本号
header.version
string
固定传1.0.0
请求标志
header.flag
int
固定传0
请求体
body
object
-
请求序号
body.seq
int
固定传0
请求命令字
body.cmd
string
固定传 SearchV2
请求签名
body.token
string
固定传空字符串
请求客户端信息
body.client
object
-
请求客户端 IP
body.client.clientIP
string
固定传空字符串
请求渠道标识
body.client.adtag
string
联系我们 为您提供。
请求参数
body.payload
object
-
当前 UNIX 时间戳
body.payload.timestamp
string
单位秒。请求参数说明详见 签名生成说明
随机数
body.payload.noncestr
string
请求参数说明详见 签名生成说明
签名
body.payload.signature
string
输入参数示例为appsecret="test"时生成的签名示例。请求参数说明详见 签名生成说明
渠道 ID
body.payload.appid
string
联系我们 为您提供。
请求参数
body.payload.search_req
object
-
搜索词
body.payload.search_req.query
string
-
文章列表位移
body.payload.search_req.offset
int
用于分页
文章列表数量
body.payload.search_req.count
int
单次搜索返回的内容数量,不超过50。
渠道 ID
body.payload.search_req.adtag
string
联系我们 为您提供。
搜索类型
body.payload.search_req.type
int
0:返回百科+文章+视频+问答
1:百科
2:文章
5:问答
8:视频
1000:返回百科+文章+视频+问答
视频单独返回
搜索 ID
body.payload.search_req.searchid
string
搜索 ID,用于定位请求排查问题。

响应参数说明

参数名称
参数代码
类型
说明
请求头
header
object
-
请求版本号
header.version
string
-
请求标志
header.flag
int
-
请求体
body
object
-
请求序号
body.seq
int
-
请求命令字
body.cmd
string
-
接入返回码
body.retcode
string
只有 retcode 和 bizcode 都为0时表示接口调用成功。
业务返回码
body.bizcode
string
只有 retcode 和 bizcode 都为0时表示接口调用成功。
错误信息
body.message
string
-
请求 ID
body.traceid
string
有问题提供返回的 traceid,方便定位问题。
响应参数
body.payload
object
-
搜索到的百科列表
body.payload.diseases
array
只返回一个百科数据。响应参数结构详见 响应百科参数说明
文章列表
body.payload.mixdocs
array
响应参数结构详见 响应百科参数说明
文章列表数量
body.payload.mixCount
int
-
body.payload 废弃字段
qaassists、drug2、videoindex、doctorindex、relatekey、relatekeyindex、hospitalindex、feverflag、feverhp、feverhpCount、insets、insetCount、insetindex、aidiagnosisdata、getaidgsdrlistdata、topactivelist、sortrulev2、answerv2、aidiadoctors、aidiarawdata、hpresults、relatedhps、correctquery、correcttype、kepudocs、recommend_hsps、medicines、medicineCount、deptexam、insurance、scheme_info、symptoms、tags、relatekeys、cityname、searchid、doctors、videos、answer、docs、sortrule、drug、activelist、keywords、moreDocs、moreDiseases、moreSymptoms、docCount、diseaseCount、doctorCount、hospitalCount、qas、qaCount、qatags、ai_analysis_card、questions、tabs、docidlist、hospitals、kepuqas、notes、noteCount、videoCount、mixnotes
/
字段暂无使用,可忽略

响应百科参数说明

参数名称
参数代码
类型
说明
百科名
name
string
百科标题
百科别名
alias
array
非必填字段。医学别名,专业意义对等。例如:百科标题为【眶周色素沉着】,别名为【眶周过度色素沉着症】。
科室
disdepart
array
非必填字段
部位
disbody
string
非必填字段
百科摘要
summary
string
150个字的概要
百科对应 tab 列表
tabs
array
响应参数结构详见 响应百科列表 tab 参数说明
跳转 URL
gotourl
string
-
百科类型
ctype
int
0:疾病
10:症状
13:手术操作页
14:检查检验
15:检查指标
17:灾害类
21:西药
22:中药
24:器官
25:医学名词
26:腧穴词条
缩略图
image
string
非必填字段,存在空图情况。
作者信息
op_author
object
非必填字段。作者展示逻辑参考:优先展示医生,医生为空展示医院。响应参数结构详见 响应作者信息参数说明
如果有返回多个医生,建议展示第一个医生。
废弃字段
summarys、tips、did、fatabs、cardid、tabIdx、matchflag、drugaddition、merdian、released、wxaurl、symptoms、distype、id、h5url、type、outerurl、oriname、source、extra、matchalias、show_icon、aliasex
/
字段暂无使用,可忽略。

响应文章列表说明

参数名称
参数代码
类型
说明
类型
type
int
2:文章
5:问答
8:视频
文章
doc
object
响应参数结构详见 响应文章文章类型参数说明
问答
qa
object
响应参数结构详见 响应文章问答类型参数说明
视频
video
object
响应参数结构详见 响应文章视频类型参数说明
废弃字段
author、distab、cardid
/
字段暂无使用,可忽略。

响应百科列表 tab 参数说明

参数名称
参数代码
类型
说明
百科名
disease
string
-
tab 拼音
entry
string
-
tab 名称
tab
string
-
tab 图标
icon
string
疾病、症状、药品类型会有 tab 图标,其他类型的百科没有 tab 图标。
跳转 URL
gotourl
string
-
废弃字段
images、active_icon、disvideo、question、id、rtf_text、outerurl、h5url、inactive_icon、wxaurl、md_text
/
字段暂无使用,可忽略。

响应文章文章类型参数说明

参数名称
参数代码
类型
说明
文章标题
title
string
-
文章 ID
docid
string
-
文章标签
tags
array
非必填字段
文章摘要
summary
string
-
音频时长
duration
int
非必填字段,单位为秒。
音频大小
size
int
非必填字段,单位KB。
音频地址
url
string
非必填字段
作者信息
op_author
object
非必填字段作者展示逻辑参考:优先展示医生,医生为空展示医院,医院为空展示文章来源。响应参数结构详见 响应作者信息参数说明
如果有返回多个医生,建议展示第一个医生。
文章来源
source
string
-
跳转URL
gotourl
string
-
废弃字段
src、paraid、cardid、publish_time、cpflag、outerurl、wxaurl、doctype、image
/
字段暂无使用,可忽略。

响应文章问答类型参数说明

参数名称
参数代码
类型
说明
文章标题
title
string

文章ID
docid
string

文章概要
md_text
string

文章来源
source
string

音频时长
duration
int
非必填字段,单位为秒。
音频大小
size
int
非必填字段,单位KB
音频地址
url
string
非必填字段
作者信息
op_author
object
非必填字段作者展示逻辑参考:优先展示医生,医生为空展示医院,医院为空展示文章来源。响应参数结构详见【响应作者信息参数说明
如果有返回多个医生,建议展示第一个医生。
跳转URL
gotourl
string

废弃字段
paraid、cpflag、wxaurl、outerurl、question
/
字段暂无使用,可忽略

响应文章视频类型参数说明

参数名称
参数代码
类型
说明
文章标题
title
string
-
文章ID
docid
string
-
文章标签
tags
array
非必填字段
文章图片
image
string
非必填字段
文章摘要
summary
string
-
音频时长
duration
int
非必填字段,单位为秒。
作者信息
op_author
object
非必填字段。作者展示逻辑参考:优先展示医生,医生为空展示医院,医院为空展示文章来源。响应参数结构详见 响应作者信息参数说明
如果有返回多个医生,建议展示第一个医生。
文章来源
source
string
-
跳转URL
gotourl
string
-
废弃字段
doctype、cpflag、wxaurl、url、cardid、outerurl
/
字段暂无使用,可忽略

响应作者信息参数说明

参数名称
参数代码
类型
说明
医生背书信息
op_doctor
array
响应参数结构详见 响应作者医生信息参数说明
医院背书信息
op_hospital
object
响应参数结构详见 响应作者医院信息参数说明

响应作者医生信息参数说明

参数名称
参数代码
类型
说明
医生ID
drid
int
-
医院ID
hpid
int
-
医生名字
name
string
-
医生头像
icon
string
非必填字段
医生职称
position
string
-
医院名称
hospital
string
-
医生科室
department
string
-
组合好的审阅描述信息,用于展示。
text
string
-
医生类型
weight
int
0:普通医生
2:顾问级专家
是否特约作者
sole
int
0:不是特约作者
1:是特约作者
废弃字段
doctor_clickable、hospital_clickable、follow、hprank、prefix
/
字段暂无使用,可忽略。

响应作者医院信息参数说明

参数名称
参数代码
类型
说明
医院ID
hpid
int
-
医院名字
name
string
-
医院头像
icon
string
非必填字段
废弃字段
clickable、hprank、prefix、info
/
字段暂无使用,可忽略。

代码示例

输入参数示例

{
"header": {
"version": "1.0.0",
"flag": 0
},
"body": {
"seq": 0,
"cmd": "SearchV2",
"token": "",
"client": {
"clientIP": "",
"adtag": "$adtag"
},
"payload": {
"timestamp": "1669950164",
"noncestr": "0.623706833947",
"signature": "33c8f78ce2258c30af5f31b4153cd8b69035bfad06294a08c4ca0cf2ab5e4a46",
"appid": "2000000000000000",
"search_req": {
"query": "乳腺癌",
"offset": 0,
"count": 10,
"adtag": "$adtag",
"type": 0,
"searchid": "b67ee785-40ab-4cc9-8c73-c2b1ba3fbdc2"
}
}
}
}

响应参数示例

{
"header": {
"version": 0,
"flag": 0
},
"body": {
"retcode": 0,
"bizcode": 0,
"cmd": "Search",
"message": "success",
"payload": {
"qaassists": [ ],
"drug2": [ ],
"videoindex": 0,
"doctorindex": 10,
"relatekey": [],
"relatekeyindex": 4,
"hospitalindex": 0,
"feverflag": 0,
"feverhp": [ ],
"feverhpCount": 0,
"insets": [ ],
"insetCount": 0,
"insetindex": 0,
"aidiagnosisdata": "",
"getaidgsdrlistdata": "",
"topactivelist": [ ],
"sortrulev2": [],
"answerv2": [ ],
"aidiadoctors": [ ],
"aidiarawdata": [ ],
"hpresults": [ ],
"relatedhps": [ ],
"correctquery": "",
"correcttype": 0,
"kepudocs": [ ],
"recommend_hsps": [ ],
"medicines": [ ],
"medicineCount": 0,
"deptexam": [ ],
"insurance": [ ],
"scheme_info": { },
"symptoms": [ ],
"tags": [ ],
"relatekeys": [],
"cityname": "",
"searchid": "1e1f85dc056f993b5f33e941767d7815",
"doctors": [],
"videos": [ ],
"answer": {},
"mixdocs": [
{
"doc": {
"title": "乳腺癌有哪些类型,有何治疗药物?",
"tags": [
"乳腺癌"
],
"src": "",
"paraid": "",
"size": 0,
"cardid": "",
"publish_time": "",
"docid": "tx00008001lrjqn7",
"op_author": {
"op_hospital": {
"name": "徐兵河",
"hprank": "",
"info": "",
"prefix": "",
"icon": "https://baike-med-1256891581.file.myqcloud.com/2019053中文版独家授权/619aec90-721a-11e9-bf76-53f51d196acf_0.png",
"clickable": 1,
"hpid": 1000
},
"op_doctor": [ ]
},
"summary": "乳腺癌分为:激素受体阳性乳腺癌、HER-2 阳性乳腺癌与三阴性乳腺癌。",
"gotourl": "https://preview.baike.qq.com/mobile/article.html?sn=yidian-sn-54JAxZunQg8wZVmFIHXYUIBVvOYkTjshv9zipZXs59JgRjW0UsWmhAtQxV202xc3&adtag=yd.nr.wz.test&searchid=1e1f85dc056f993b5f33e941767d7815&wzbanner=1",
"cpflag": 0,
"outerurl": "",
"wxaurl": "",
"doctype": 0,
"source": "",
"duration": 180,
"url": "",
"image": ""
},
"author": {},
"distab": {},
"outerurl": "",
"type": 2,
"qa": {
"title": "",
"op_author": {
"op_hospital": {
"name": "",
"hprank": "",
"info": "",
"prefix": "",
"icon": "",
"clickable": 0,
"hpid": 0
},
"op_doctor": [ ]
},
"question": "",
"outerurl": "",
"wxaurl": "",
"gotourl": "",
"cpflag": 0,
"paraid": "",
"size": 0,
"md_text": "",
"source": "",
"duration": 0,
"url": "",
"docid": ""
},
"video": {
"title": "",
"op_author": {
"op_hospital": {
"name": "",
"hprank": "",
"info": "",
"prefix": "",
"icon": "",
"clickable": 0,
"hpid": 0
},
"op_doctor": [ ]
},
"tags": [ ],
"image": "",
"cardid": "",
"summary": "",
"gotourl": "",
"url": "",
"outerurl": "",
"cpflag": 0,
"doctype": 0,
"source": "",
"duration": 0,
"wxaurl": "",
"docid": ""
}
}],
"docs": [ ],
"sortrule": [ ],
"drug": {},
"activelist": [ ],
"keywords": [],
"moreDocs": 0,
"moreDiseases": 0,
"moreSymptoms": 0,
"diseases": [
{
"aliasex": [ ],
"summarys": [ ],
"tips": "",
"did": 8,
"fatabs": [ ],
"cardid": "",
"tabIdx": 0,
"matchflag": 1,
"drugaddition": {},
"ctype": 0,
"summary": "什么是乳腺癌?乳腺癌,是一类由于基因、激素紊乱等原因导致乳腺组织发生癌变,并不断无限增长的恶性肿瘤。疾病名称/定义的演变:无乳腺癌病如何分类/分型/分期?根据侵犯范围,可分为原位癌和浸润性癌。该分类方法可以帮助患者判断病情的严重程度。根据癌细胞的特点,乳腺癌又可分为 Luminal 型乳腺癌、HER",
"merdian": [ ],
"released": 1,
"op_author": {
"op_hospital": {
"name": "",
"hprank": "",
"info": "",
"prefix": "",
"icon": "",
"clickable": 0,
"hpid": 0
},
"op_doctor": [
{
"icon": "https://baike-med-1256891581.file.myqcloud.com/2018095/2944dde0-b25a-11e8-926b-21df1809aaee_0.png",
"position": "主任医师",
"hospital": "中国医学科学院肿瘤医院",
"department": "内科",
"doctor_clickable": 1,
"text": "中国医学科学院肿瘤医院徐兵河主任医师审阅",
"weight": 0,
"follow": 0,
"name": "徐兵河",
"hprank": "三甲",
"sole": 0,
"hospital_clickable": 0,
"prefix": "编审专家",
"doctor_type": 0,
"drid": 10109,
"hpid": 0
}
]
},
"wxaurl": "",
"alias": [
"乳腺恶性肿瘤"
],
"symptoms": [ ],
"distype": "",
"disdepart": [
"乳腺外科"
],
"disbody": "",
"tabs": [
{
"icon": "https://baike-med-1256891581.file.myqcloud.com/2019041/371ac480-60e1-11e9-ba8a-459ee8038aa5_0.png",
"images": [ ],
"active_icon": "",
"disvideo": [ ],
"question": "",
"id": "tx00008000gizwcv",
"disease": "乳腺癌",
"gotourl": "https://preview.baike.qq.com/mobile/overview_detail.html?name=%E4%B9%B3%E8%85%BA%E7%99%8C&m=a317741300d87361523786f1a08665d6&m=a317741300d87361523786f1a08665d6&sn=yidian-sn-upwCrtS%2B5Ep7hAFzNTZiK%2BkblS49PnQ9Oej6ZAJyaS7GCxD8uycaoxPMFMqtYpz%2F&tab=gaishu&adtag=yd.bk.jb.test&searchid=1e1f85dc056f993b5f33e941767d7815&wzbanner=1",
"rtf_text": "",
"outerurl": "",
"entry": "gaishu",
"tab": "概述",
"h5url": [ ],
"inactive_icon": "",
"wxaurl": "",
"md_text": "什么是乳腺癌?乳腺癌,是一类由于基因、激素紊乱等原因导致乳腺组织发生癌变,并不断无限增长的恶性肿瘤。疾病名称/定义的演变:无乳腺癌病如何分类/分型/分期?根据侵犯范围,可分为原位癌和浸润性癌。该分类方法可以帮助患者判断病情的严重程度。根据癌细胞的特点,乳腺癌又可分为 Luminal 型乳腺癌、HER"
}
],
"name": "乳腺癌",
"id": "tx00008000gizwcv",
"h5url": "",
"gotourl": "https://preview.baike.qq.com/mobile/overview_detail.html?name=%E4%B9%B3%E8%85%BA%E7%99%8C&m=a317741300d87361523786f1a08665d6&m=a317741300d87361523786f1a08665d6&sn=yidian-sn-upwCrtS%2B5Ep7hAFzNTZiK%2BkblS49PnQ9Oej6ZAJyaS7GCxD8uycaoxPMFMqtYpz%2F&adtag=yd.bk.jb.test&searchid=1e1f85dc056f993b5f33e941767d7815&wzbanner=1",
"type": 0,
"outerurl": "",
"oriname": "",
"source": 0,
"extra": "",
"matchalias": "",
"show_icon": true,
"image": "https://baike-med-1256891581.file.myqcloud.com/2019102/6ee4a160-ea3e-11e9-aad2-eda8a1da92be_1_192x144.png"
}
],
"docCount": 100,
"diseaseCount": 0,
"doctorCount": 378,
"hospitalCount": 0,
"qas": [ ],
"qaCount": 0,
"qatags": [ ],
"ai_analysis_card": [ ],
"questions": [ ],
"tabs": [ ],
"docidlist": [ ],
"hospitals": [ ],
"kepuqas": [ ],
"mixCount": 100,
"notes": [ ],
"noteCount": 0,
"videoCount": 100,
"mixnotes": [ ]
},
"traceid": "28d71b26-09ec-4428-a3e3-8e447ac2f96f",
"seq": 0
}
}

调用示例

预发布示例

curl -H 'content-type: application/json' -d '{
"header": {
"version": "1.0.0",
"flag": 0
},
"body": {
"seq": 0,
"cmd": "SearchV2",
"token": "",
"client": {
"clientIP": "192.168.1.1",
"adtag": "$adtag"
},
"payload": {
"timestamp": "1494231435",
"noncestr": "0.623706833947",
"signature": "52e050f0e82da2b7582360f516acd04a71eb67e",
"appid": "2000000000000000",
"search_req": {
"query": "乳腺癌",
"offset": 0,
"count": 10
}
}
}
}' 'https://preview.baike.qq.com/api/access/json/cmd/SearchV2'

生产示例

curl -H 'content-type: application/json' -d '{
"header": {
"version": "1.0.0",
"flag": 0
},
"body": {
"seq": 0,
"cmd": "SearchV2",
"token": "",
"client": {
"clientIP": "192.168.1.1",
"adtag": "$adtag"
},
"payload": {
"timestamp": "1494231435",
"noncestr": "0.623706833947",
"signature": "52e050f0e82da2b7582360f516acd04a71eb67e",
"appid": "2000000000000000",
"search_req": {
"query": "乳腺癌",
"offset": 0,
"count": 10
}
}
}
}' 'https://h5.baike.qq.com/api/access/json/cmd/SearchV2'

小程序校验文件

如果是小程序内嵌医典的 H5页面,由于微信平台要求域名需授权才能访问,需提供校验文件给医典侧配置,具体流程如下:
客户侧去小程序后台录入医典正式环境域名(https://h5.baike.qq.com/ ),微信后台会生成校验文件,将校验文件发给医典对接人配置后,才能正常在客户小程序内访问医典页面。