Code | 说明 |
---|---|
200 | 请求成功 |
400 | 请求频繁 |
401 | 未授权的请求 |
405 | 签名验证失败 |
500 | 系统内部错误(联系管理员) |
访问开放接口需要先注册AppKey(请与系统管理员联系)。
AppKey申请成功后会获得appKey
和secretKey
两个值:
{ "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": "" }