状态码

Code 说明
200 请求成功
400 请求频繁
401 未授权的请求
405 签名验证失败
500 系统内部错误(联系管理员)

注册AppKey

访问开放接口需要先注册AppKey(请与系统管理员联系)。

AppKey申请成功后会获得appKeysecretKey两个值:

{
    "appKey": "",
    "secretKey": ""
}

请求接口

主机地址 http://op.dbhs.com.cn:81

请求接口时header须携带身份信息的头

参数key 参数值 说明
appKey [appKey] 申请的appKey
sign [sign] 通过appKey和secretKey计算来的签名
timespan [timespan] 时间戳,用于生成签名(精确到秒)

签名生成时用到的函数java

     public static String sign(String appKey, String secretKey) {
        String encodeStr = "";
        try {
            MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");
            messageDigest.update(secretKey.getBytes("UTF-8"));
            encodeStr = byte2Hex(messageDigest.digest(appKey.getBytes("UTF-8")));
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return encodeStr;
    }

    private static String byte2Hex(byte[] bytes) {
        StringBuffer stringBuffer = new StringBuffer();
        for (int i = 0; i < bytes.length; i++) {
            String temp = Integer.toHexString(bytes[i] & 0xFF);
            if (temp.length() == 1) {
                stringBuffer.append("0");
            }
            stringBuffer.append(temp);
        }
        return stringBuffer.toString();
    }

C#版

        public static string Sign(string appKey, string secretKey)
        {
            byte[] passwordBytes = System.Text.Encoding.UTF8.GetBytes(appKey);
            byte[] saltBytes = System.Text.Encoding.UTF8.GetBytes(secretKey);

            byte[] buffer = new byte[passwordBytes.Length + saltBytes.Length];

            Buffer.BlockCopy(saltBytes, 0, buffer, 0, saltBytes.Length);
            Buffer.BlockCopy(passwordBytes, 0, buffer, saltBytes.Length, passwordBytes.Length);

            var hashAlgorithm = System.Security.Cryptography.HashAlgorithm.Create("SHA256");
            var saltedSHA1Bytes = hashAlgorithm.ComputeHash(buffer);

            return ByteToHexStr(saltedSHA1Bytes);
        }

        public static string ByteToHexStr(byte[] bytes)
        {
            string returnStr = "";
            if (bytes != null)
            {
                for (int i = 0; i < bytes.Length; i++)
                {
                    returnStr += bytes[i].ToString("x2");
                }
            }
            return returnStr;
        }

sign生成规则

sign(appKey+timespan, secretKey);

接口返回值示例

{
    "code": 0,
    "data": object,
    "msg": ""
}

code 接口返回的Http状态码

data 接口返回的数据对象

msg 接口返回的消息 (通常为失败消息)


获取企业基本信息

接口地址 /admin-api/openapi/v1/org/getOrganizationByName

请求方式 GET

接口描述 获取企业工商照面的基本信息

请求参数

参数名称 参数说明 是否必须 数据类型
searchKey 企业名称、统一信用代码、工商注册号 string

请求示例 /admin-api/openapi/v1/org/getOrganizationByName?searchKey=企业名称

响应参数

参数名称 参数说明 数据类型 长度
orgCode 企业编码 string 64
orgName 企业名称 string 255
orgShortname 供应商简称 string 300
orgCorpCode 组织机构代码 string 64
orgCreditCode 信用代码 string 64
orgLinkman 供应商联系人 string 20
orgLinktel 供应商联系人手机号码 string 20
orgLinkfax 供应商联系人传真号码 string 20
orgScope 经营范围 string 4000
orgIntroduction 机构介绍 string 4000
orgAddress 地址 string 200
orgEmail 邮箱 string 64
orgMobile 手机号 string 20
orgTelephone 公司座机 string 20
orgType 企业类型 string 64
orgArtificialPerson 法人名称 string 200
orgAgent 代理人名称 string 200
orgLegalUserCardno 法人身份证号 string 64
orgBankName 开户行 string 200
orgAccountNumber 开户账号 string 64
orgStatus 供应商状态 string 20
remark 备注 string 255
createBy 创建人ID string 64
createByName 创建人姓名 string 30
createTime 创建日期 string 20
updateBy 更新人ID string 64
updateByName 更新人姓名 string 30
updateTime 更新日期 string 20
regNo 工商注册号 string 20
orgBelong 登记机关 string 128
orgArtificialPersonId 法定代表人id string 36
incorporationDate 成立日期 string 20
revocationDate 吊销日期 string 20
provinceCode 省份 string 32
regCapital 注册资本 string 32
termStart 营业期限始 string 20
teamEnd 营业期限至 string 20
checkDate 核准日期 string 20
isOnStock 是否上市(0-未上市,1-上市) string 1
stockNumber 股票代码(如A股和港股同时存在,优先显示A股代码) string 10
stockType 上市类型(A股、中概股、港股、科创板、新三板、新四板) string 10
logoImageUrl 企业Logo地址 string 128
orgNature 企业性质,0-大陆企业,1-社会组织 ,3-中国香港公司,4-事业单位,5-中国台湾公司,6-基金会,7-医院,8-海外公司,9-律师事务所,10-学校 ,11-机关单位,-1-其他 string 2
paidInCapital 实缴资本 string 32
orgUpdateTime 企业信息更新时间 string 20
orgCheckFlag 企业信息拉取标识,0-未拉取,1-已拉取 string 1
orgNameEn 企业名称英文 string 255
orgNamePinyin 企业名称的拼音缩写 string 128
orgNameWubi 企业名称的五笔码 string 128
provinceName string 128
cityName string 128
countyName 区县 string 128
cancelDate 注销时间 string 20
cancelReason 注销原因 string 255
revokeDate 吊销时间 string 20
revokeReason 吊销原因 string 255

响应示例

{
    "code": 0,
    "data": {
        "checkDate": "",
        "createBy": "",
        "createByName": "",
        "createTime": "",
        "dataScope": "",
        "id": "",
        "incorporationDate": "",
        "isOnStock": "",
        "logoImageUrl": "",
        "orgAccountNumber": "",
        "orgAddress": "",
        "orgAgent": "",
        "orgArtificialPerson": "",
        "orgArtificialPersonId": "",
        "orgBankName": "",
        "orgBelong": "",
        "orgCheckFlag": "",
        "orgCode": "",
        "orgCorpCode": "",
        "orgCreditCode": "",
        "orgEmail": "",
        "orgIntroduction": "",
        "orgLegalUserCardno": "",
        "orgLinkfax": "",
        "orgLinkman": "",
        "orgLinktel": "",
        "orgMobile": "",
        "orgName": "",
        "orgNameEn": "",
        "orgNamePinyin": "",
        "orgNameWubi": "",
        "orgNature": "",
        "orgScope": "",
        "orgShortname": "",
        "orgStatus": "",
        "orgTelephone": "",
        "orgType": "",
        "orgUpdateTime": "",
        "paidInCapital": "",
        "params": {},
        "parentId": "",
        "provinceCode": "",
        "regCapital": "",
        "regNo": "",
        "remark": "",
        "revocationDate": "",
        "searchValue": "",
        "stockNumber": "",
        "stockType": "",
        "teamEnd": "",
        "termStart": "",
        "updateBy": "",
        "updateByName": "",
        "updateTime": "",
        "provinceName": "",
        "cityName": "",
        "countyName": "",
        "cancelDate": "",
        "cancelReason": "",
        "revokeDate": "",
        "revokeReason": ""
    },
    "msg": ""
}

获取产品列表

接口地址 /admin-api/openapi/v1/product/list

请求方式 POST

接口描述 ``

请求参数

参数名称 参数说明 请求类型 是否必须 数据类型
id 唯一标识 body false string
manufacture 生产厂商 body false string
productName 产品名称 body false string
regName 注册证名称 body false string
regNumber 注册人 body false string

响应参数

参数名称 参数说明 类型 长度
total 数据总条数 int
rows 数据集合 array
manufacture 生产厂商 string 255
manufactureAddress 生产厂商地址 string 500
productName 产品名称 string 500
regNumber 注册证号 string 64
regName 注册名称 string 1000
agentAddress 代理人地址 string 500
agentName 代理人 string 200

响应示例

{
    "code": 0,
    "data": {
        "total": 1000,
        "rows":[
            {
                "manufacture":"",
                "manufactureAddress":"",
                "productName":"",
                "regNumber":"",
                "regName":"",
                "agentName":"",
                "agentAddress":"",
            }
        ]
    },
    "msg": ""
}

获取产品详情

接口地址 /admin-api/openapi/v1/product/detail

请求方式 POST

接口描述 ``

请求参数

参数名称 参数说明 请求类型 是否必须 数据类型
id 唯一标识 body false string
regNumber 注册人 body false string

响应参数

参数名称 参数说明 类型 长度
productName 商品名称/通用名 string 500
productModelSpec 产品包含的规格型号 text
productDesc 描述/主要成分 text
instructionsForUse 用途说明 string 2000
isSterilePackaging 是否无菌包装 string 1
isSterileBeforeUse 使用前是否灭菌 string 1
sterilizationMethod 灭菌方式 string 128
regNumber 注册号/备案号 string 64
regName 注册/备案人名称 string 1000
regAddress 注册地址 string 1000
regDate 注册日期 date
expireDate 有效期 string 64
belongOffice 备案单位 string 128
productChanges 变更情况 text
specialStorageCondition 特殊存储或操作条件 string 1000
specialSizeDesc 特殊尺寸说明 string 128
listDate 上市日期 date
delistDate 退市日期 date
isDisposable 是否是一次性使用 string 1
maxReuseTimes 最大重复使用次数 string 32
remark 备注 text
manufacture 生产厂家 string 255
manufactureAddress 厂家地址 string 500
agentName 代理人 string 255
agentAddress 代理人地址 string 500

响应示例

{
	"code": 0,
	"data": {
		"agentAddress": "",
		"agentName": "",
		"belongOffice": "",
		"delistDate": "",
		"expireDate": "",
		"id": "",
		"instructionsForUse": "",
		"isDisposable": "",
		"isSterileBeforeUse": "",
		"isSterilePackaging": "",
		"listDate": "",
		"manufacture": "",
		"manufactureAddress": "",
		"maxReuseTimes": "",
		"productChanges": "",
		"productDesc": "",
		"productModelSpec": "",
		"productName": "",
		"productNamePinyin": "",
		"productNameWubi": "",
		"regAddress": "",
		"regDate": "",
		"regName": "",
		"regNumber": "",
		"remark": "",
		"specialSizeDesc": "",
		"specialStorageCondition": "",
		"sterilizationMethod": ""
	},
	"msg": ""
}