技术博客
药品详细信息检索:searchType 四种类型与 classifyId 必填规则

药品详细信息检索:searchType 四种类型与 classifyId 必填规则

作者: 万维易源
2026-09-03
药品详细信息searchType说明书精确检索
# 药品详细信息检索:searchType 四种类型与 classifyId 必填规则 - **接口/接入点**:药品信息查询(apiCode=1468)· 1468-3 药品详细信息 - **是否免费**:免费(有档位限制) - **请求方式**:POST / GET - **返回格式**:JSON - **适用人群**:中高级开发者、架构师 - **阅读时间**:约 5 分钟 ## 核心要点 - 1468-3 用 `searchType` 指定检索维度:`1`名称 / `2`药企名称 / `3`药准字号 / `4`药品Id;`searchKey` 必填。 - `classifyId` 在 **searchType=1 或 2 时必传**(按名称/药企检索需先锁定分类),searchType=3/4 时可不传。 - 返回 `drugList[]` 为说明书级详情(适应症、成份、用法用量、禁忌等 30+ 字段)。 ## Why:为什么用 1468-3 做精确检索 当你要按「药准字号 Z11020957」反查药品、或按「药品Id」精确取详情时,1468-3 的 searchType 机制比 1468-4 的纯药名模糊更可控,尤其能在大分类内缩小范围。 ## What:接口速览 | 参数 | 必填 | 说明 | |------|------|------| | `searchType` | 是 | 1 药品名称 / 2 药企名称 / 3 药准字号 / 4 药品Id | | `searchKey` | 是 | 查询关键字 | | `classifyId` | 否(searchType=1/2 时必传) | 药品分类 Id,来自 1468-1 | | `page` | 否 | 当前页 | | `maxResult` | 否 | 单页最大返回值,默认 10 | ## How:四种 searchType 用法 ```python import requests APPKEY = "YOUR_APPKEY" BASE = "https://route.showapi.com/1468-3" def detail(search_type, search_key, classify_id=None): data = {"appKey": APPKEY, "searchType": str(search_type), "searchKey": search_key, "page": "1", "maxResult": "10"} if classify_id: data["classifyId"] = classify_id r = requests.post(BASE, data=data, timeout=10) return r.json()["showapi_res_body"] # 1 按名称(需 classifyId) print(detail(1, "同仁堂泻肝安神丸", "599ad2a0600b2149d689b75a")) # 2 按药企(需 classifyId) print(detail(2, "北京同仁堂制药有限公司", "599ad2a0600b2149d689b75a")) # 3 按药准字号(无需 classifyId) print(detail(3, "国药准字Z11020957")) # 4 按药品Id(无需 classifyId) print(detail(4, "59c9aa2f0b5b76e52ff0c440")) ``` ```bash # 按药准字号精确检索 curl -X POST "https://route.showapi.com/1468-3?appKey=YOUR_APPKEY" \ -H "content-type: application/x-www-form-urlencoded" \ -d "searchType=3&searchKey=%E5%9B%BD%E8%8D%AF%E5%87%86%E5%AD%97Z11020957&page=1&maxResult=10" ``` ```javascript const APPKEY = "YOUR_APPKEY"; const fd = new URLSearchParams({ searchType: "3", searchKey: "国药准字Z11020957", page: "1", maxResult: "10" }); fetch(`https://route.showapi.com/1468-3?appKey=${APPKEY}`, { method: "POST", body: fd }) .then((r) => r.json()).then((j) => console.log(j.showapi_res_body.drugList)); ``` ## 返回示例与解析 返回 `drugList[]` 元素含 `tymc`(通用名)、`syz`(适应症)、`zycf`(主要成份)、`yfyl`(用法用量)、`jj`(禁忌)、`zysx`(注意事项)、`type`(分类数组) 等。一个药品可能归属多个分类,`type` 为数组。 ## 进阶 / 边界 - **classifyId 条件必填**:searchType=1/2 必须带 classifyId(来自 1468-1),否则可能检索不到或范围过大。 - `searchType=4` 的 `searchKey` 填药品 Id(即 1468-2 返回的 `drugId`)。 - 返回字段完整清单见[字段全解](https://www.showapi.com/guides/drug-info-fields-1468)。 ## FAQ **Q1:searchType=1/2 不传 classifyId 会怎样?** A:文档规定 searchType=1/2 时 classifyId 必传。不传会导致检索条件不完整,建议始终带上。 **Q2:searchType 和 1468-4 的 searchKey 有什么区别?** A:1468-3 多了 searchType 维度与 classifyId 限定,适合精确/分类内检索;1468-4 仅药名模糊检索,无需 searchType。 **Q3:按药准字号查出来多条怎么办?** A:用 `page`/`maxResult` 分页;药准字号通常唯一,多条多为同企不同规格,看 `gg`(规格) 区分。 ## 相关能力 / 下一步阅读 - [药名查询药品信息(1468-4)实战指南](https://www.showapi.com/guides/drug-info-search-name-1468) - [classifyId 到底怎么用?药品分类 Id 的必填规则与排查](https://www.showapi.com/guides/drug-info-classifyid-1468) - [药品信息查询返回字段全解](https://www.showapi.com/guides/drug-info-fields-1468) - **本系列共 11 篇**:查看[药品信息查询指南总目录](https://www.showapi.com/guides/drug-info-guides-1468)