药品查询
万维易源 官方文档
药品信息
基本说明:
接口地址:http://route.showapi.com/93-97
返回格式:json
请求方式:get/post
请求示例:0
请求参数说明:
名称 类型 必填 说明
page String 选填 请求页数
limit String 选填 每页返回的条数
keyword String 必填 搜索的关键词
manu String 选填 生产企业
type String 选填 药品类别
返回参数说明:
名称 类型 说明
age Number 药品ID
limit String 当前最多返回的记录数 同传递的参数limit
allResult String 总记录数
drugList drugList[] 药品列表
lfy String 不良反应
drugName String 药品名称
ggxh String 规格型号
img String 图片地址
jj String 禁忌
manu String 生产企业
rice String 参考价格
zwh String 批准文号
yz String 适应症
type String 药品类别
xz String 性状
yfyl String 用法用量
ywxhzy String 药物相互作用
yxq String 有效期
zc String 贮藏
zxbz String 执行标准
zysx String 注意事项
zzj String 主治疾病
zycf String 主要成份
JSON返回示例:
{
	"showapi_res_code": 0,
	"showapi_res_error": "",
	"showapi_res_body": {
		{
			"limit": 20,
			"ret_code": "0",
			"flag": true,
			"page": 1,
			"remark": "",
			"allResults": 2,
			"drugList": [{
				"blfy": "1.服用氨基比林可有呕吐、皮疹、发热、大量出汗及发生口腔炎等。2.少数可致中性粒细胞缺乏、再生障碍性贫血、渗出性红斑、剥脱性皮炎、龟头糜烂等。",
				"drugName": "酚氨咖敏片",
				"ggxh": "100s",
				"img": "http://app2.showapi.com/img/drug/1438851024164.jpg",
				"jj": "1.对氨基比林、咖啡因或马来酸氯苯那敏过敏者禁用。2.胃溃疡者禁用。3.新生儿或早产儿禁用。",
				"manu": "葵花药业集团(衡水)得菲尔有限公司",
				"price": "3.9",
				"pzwh": "国药准字H13024049",
				"syz": "用于感冒发热、头痛、神经痛及风湿痛等。",
				"type": "感冒发热",
				"xz": "",
				"yfyl": "一次1片,一日3次。",
				"ywxhzy": "1.异烟肼和甲丙氨酯能促使咖啡因增效,提高后者脑组织内浓度55%,肝和肾内浓度则有所下降。 2.口服避孕药有可能减慢咖啡因的清除率。 3.同时饮酒或服用中枢神经抑制药,可促使抗组胺药效增强。 4.本品可增强金刚烷胺、抗胆碱药、氟哌啶醇、吩噻嗪类以及拟交感神经药等的作用。 5.奎尼丁与本品同用,其类似阿托品样的效应加剧。 6.本品与三环类抗抑郁药同时服用,可使后者增效",
				"yxq": "24个月",
				"zc": "密闭,干燥处保存。",
				"zxbz": "WS-10001-(HD-1021)-2002",
				"zycf": "本品为复方制剂,其组份为:氨基比林0.1g,对乙酰氨基酚0.150g,咖啡因30mg,马来酸氯苯那敏2mg。",
				"zysx": "1.本品长期服用可导致肾脏损害,严重者可致肾乳头坏死或尿毒症,甚至可能诱发肾盂癌和膀胱癌。2.氨基比林在胃酸下与食物发生作用,可形成致癌性亚硝基化合物,特别是亚硝胺,因此有潜在致癌性。3.不宜长久使用,以免发生中性粒细胞缺乏,用药超过1周要检查血象。4.长期服用可造成依赖性,并产生耐受。5.对各种创伤性剧痛和内脏平滑肌绞痛无效。6.本品不可应用于下呼吸道感染和哮喘发作的患者(因可使痰液变稠而加重疾病)。7.交叉过敏,对其他组胺药或下列药品过敏者,对本品也可能过敏,如麻黄碱、肾上腺素、异丙肾上腺素、间羟异丙肾上腺素(羟喘)、去甲肾上腺素等拟交感神经药,对碘过敏者对本品可能也过敏。8.下列情况应慎用:膀胱颈部梗阻、幽门十二指肠梗阻、消化性溃疡所致幽门狭窄、心血管疾病、青光眼(或有青光眼倾向者)、高血压、高血压危象、甲状腺机能亢进、前列腺肥大体征明显时。9.驾驶机动车辆、操作机器及高空作业者不宜服用。",
				"zzjb": "感冒发热,头痛,神经痛,风湿痛",
				"id": "55c1d730a2b7b274407bfc85"
			}],
			"msg": ""
		}
	}
}
服务级错误码参照
错误码 说明
-1 系统调用错误
-2 可调用次数或金额为0
-3 读取超时
-4 服务端返回数据解析错误
-5 后端服务器DNS解析错误
-6 服务不存在或未上线
-1000 系统维护
-1002 showapi_appid字段必传
-1003 showapi_sign字段必传
-1004 签名sign验证有误
-1005 showapi_timestamp无效
-1006 app无权限调用接口
-1007 没有订购套餐
-1008 服务商关闭对您的调用权限
-1009 调用频率受限
-1010 找不到您的应用
-1011 子授权app_child_id无效
-1012 子授权已过期或失效
-1013 子授权ip受限
完整教学代码示例
public static void main(String path[]) throws Exception {
URL u = new URL("http://route.showapi.com/93-97?showapi_appid%3Dmyappid%26page%3D%26limit%3D%26keyword%3D%E9%85%9A%E6%B0%A8%E5%92%96%E6%95%8F%E7%89%87%26manu%3D%E8%91%B5%E8%8A%B1%E8%8D%AF%E4%B8%9A%26type%3D%E6%84%9F%E5%86%92%E5%8F%91%E7%83%AD%26showapi_sign%3Dmysecret");
InputStream in = u.openStream();
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
byte buf[] = new byte[1024];
int read = 0;
while ((read = in .read(buf)) > 0) {
out.write(buf, 0, read);
}
} finally {
if ( in != null) {
in .close();
}
}
byte b[] = out.toByteArray();
System.out.println(new String(b, "utf-8"));
}
<?php
/**
 * Created by PhpStorm.
 * User: FZS
 * Time: 2019/3/15 17:50
 */
//----------------------------------
// 易源 药品 调用类
//----------------------------------
class freeApi{
    private $apiId = false; //易源appid
    private $apiSecret = false; //易源secret
    private $apiUrl = 'http://route.showapi.com/93-97';
    public function __construct($apiid,$secretkey){
        $this->apiId = $apiid;
        $this->apiSecret = $secretkey;
    }
    /**
     * url拼接
     * @return string
     */
    private function handleParam($paramArr,$showapi_secret){
        $paraStr = "";
        $signStr = "";
        ksort($paramArr);
        foreach ($paramArr as $key => $val) {
            if ($key != '' && $val != '') {
                $signStr .= $key.$val;
                $paraStr .= $key.'='.urlencode($val).'&';
            }
        }
        $signStr .= $showapi_secret;//排好序的参数加上secret,进行md5
        $sign = strtolower(md5($signStr));
        $paraStr .= 'showapi_sign='.$sign;//将md5后的值作为参数,便于服务器的效验
        return '?'.$paraStr;
    }
    /**
     * 将JSON内容转为数据,并返回
     * @param string $content [内容]
     * @return array
     */
    public function returnArray($content){
        return json_decode($content,true);
    }
    /**
     * 获取 药品 结果
     * @return array
     */
    public function getResult(){
        $paramArr = [
            'showapi_appid'=> $this->apiId,
            'page'=> "",
            'limit'=> "",
            'keyword'=> "酚氨咖敏片",
            'manu'=> "葵花药业",
            'type'=> "感冒发热"
        ];
        return $this->returnArray($this->freeApiCurl($this->apiUrl.$this->handleParam($paramArr,$this->apiSecret)));
    }
    /**
     * 请求接口返回内容
     * @param  string $url [请求的URL地址]
     * @param  string $params [请求的参数]
     * @param  int $ipost [是否采用POST形式]
     * @return  string
     */
    public function freeApiCurl($url,$params=false,$ispost=0){
        $ch = curl_init();
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_USERAGENT , 'free-api' );
        curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
        curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
        if( $ispost )
        {
            curl_setopt( $ch , CURLOPT_POST , true );
            curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
            curl_setopt( $ch , CURLOPT_URL , $url );
        }
        else
        {
            if($params){
                curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
            }else{
                curl_setopt( $ch , CURLOPT_URL , $url);
            }
        }
        $response = curl_exec( $ch );
        if ($response === FALSE) {
            return false;
        }
        curl_close( $ch );
        return $response;
    }
}
//推荐使用npm安装使用sdk: npm install --save showapi-sdk
'use strict';

var showapiSdk = require('showapi-sdk');

//设置你测试用的appId和secret,img
var appId='';
var secret='';
//开启debug
//showapiSdk.debug(true);
if(!(appId&&secret)){
  console.error('请先设置appId等测试参数,详见样例代码内注释!')
  return;
}
//全局默认设置
showapiSdk.setting({
  url:"http://route.showapi.com/93-97",//你要调用的API对应接入点的地址,注意需要先订购了相关套餐才能调
  appId:appId,//你的应用id
  secret:secret,//你的密钥
  timeout:5000,//http超时设置
  options:{//默认请求参数,极少用到
    testParam:'test'
  }
})

var request=showapiSdk.request();
request.appendText('page','');
request.appendText('limit','');
request.appendText('keyword','酚氨咖敏片');
request.appendText('manu','葵花药业');
request.appendText('type','感冒发热');
request.post(function(data){
  console.info(data)
})
package main

import (
"showSdk/normalRequest"
"fmt"
)
res := normalRequest.ShowapiRequest("http://route.showapi.com/93-97",my_appId,"my_appSecret")
res.AddTextPara("page","")
res.AddTextPara("limit","")
res.AddTextPara("keyword","酚氨咖敏片")
res.AddTextPara("manu","葵花药业")
res.AddTextPara("type","感冒发热")
//res.AddFilePara("img", "C:\\Users\\showa\\Desktop\\使用过的\\4.png")//文件上传时设置
fmt.Println(res.Post())
# python3.6.5
# 需要引入requests包 :运行终端->进入python/Scripts ->输入:pip install requests
from ShowapiRequest import ShowapiRequest

r = ShowapiRequest("http://route.showapi.com/93-97","my_appId","my_appSecret" )
r.addBodyPara("page", "")
r.addBodyPara("limit", "")
r.addBodyPara("keyword", "酚氨咖敏片")
r.addBodyPara("manu", "葵花药业")
r.addBodyPara("type", "感冒发热")
# r.addFilePara("img", r"C:\Users\showa\Desktop\使用过的\4.png") #文件上传时设置
res = r.post()
print(res.text) # 返回信息