企业上传出入库信息,包括101, "生产入库";102, "采购入库";103, "退货入库";104, "调拨入库";106, "零头入库";107, "供应入库";108, "召回入库";110,"赠品入库";111,"盘盈入库";112,"报废入库";113,"其他入库" 201, "销售出库";202, "退货出库";203, "调拨出库";204, "返工出库";205, "销毁出库";206, "抽检出库";207, "直调出库";208, "生产出库";209, "供应出库";211, "召回出库";212,"赠品出库";214,"盘亏出库";215,"损坏出库";216,"报废出库";217,"其他出库";237, "直调退货"。 不包括对个人的零售出库,疫苗接种,领药出库。 本接口与uploadcircubill接口的主要区别的,本接口入参中直接上传追溯码(多个码时用逗号分隔)。uploadcircubill接口入参中,需要上传码的单据文件(用扫码枪生成的xml文件),一般情况下使用uploadcircubill接口上传单据文件。
名称 | 类型 | 是否必须 | 示例值 | 更多限制 | 描述 |
---|---|---|---|---|---|
bill_code | String | 必须 | billcode001 | 单据编号【同一个企业不能上传相同单据号】 | |
bill_time | Date | 必须 | 2024-05-10 16:57:15 | 单据时间(扫码时间) | |
bill_type | Number | 必须 | 201 | 单据类型【102代表采购入库,201代表销售出库,其它单据类型详见文档】 | |
ref_user_id | String | 必须 | 320000000000127971 | 货主企业(单据的所有者,上传人)【注意:该入参是ref_ent_id,不是ent_id】 | |
agent_ref_user_id | String | 可选 | 320000000000127971 | 第三方物流代理企业【注意:该入参是ref_ent_id,不是ent_id】,该字段兼容之前接口逻辑,后期将不允许使用,不要填值。 | |
dest_user_id | String | 可选 | d5f5f05c6af04e52ba7894d9bbf8e757 | 直调企业【注意:该入参是ent_id,并不是ref_ent_id】 | |
oper_ic_code | String | 必须 | 212000345 | 操作人标识(写appkey编号) | |
oper_ic_name | String | 必须 | 张三 | 单据提交者姓名 | |
trace_codes | String [] | 必须 | 81012350000000157474,81012350000000157472 |
|
追溯码【多个码时用逗号拼接的字符串。要求数量在3500个码以下,但一般不要传这么多,如果网络不好很容易传输一半报错】 |
client_type | String | 必须 | 2 | 请求端类型【暂定都写2】 | |
from_address | String | 可选 | 北京市朝阳区XXX | 发货地址 | |
to_address | String | 可选 | 安徽省合肥市XXX | 收货地址 | |
from_bill_code | String | 可选 | 123456 | 发货单编号 | |
order_code | String | 可选 | 123456 | 定货单编号 | |
from_person | String | 可选 | 张三 | 发货人(特药出单据必填) | |
to_person | String | 可选 | 李四 | 收货人(特药入单据必填) | |
dis_ref_ent_id | String | 可选 | 5069452c34b94a778abaa26c2b40b305 | 药品配送企业refentid【出库单填写,与dis_ent_id入参选其一添加】 | |
dis_ent_id | String | 可选 | 5069452c34b94a778abaa26c2b40b305 | 药品配送企业entId【出库单填写】 | |
qu_receivable | Number | 可选 | 10 | 应收货总数量 | |
xt_is_check | String | 可选 | 0 | 是否验证,0:未通过验证,1:已验证 | |
xt_check_code | String | 可选 | 未验证通过原因 | 未验证通过原因【验证未通过时填写】 | |
xt_check_code_desc | String | 可选 | 未通过原因描述 | 未验证通过原因描述【验证未通过时填写】 | |
drug_list_json | String | 可选 | [{"codeCount":100,"commDrugId":"testCommDrugId0","exprieDate":1571131734945,"physicInfo":"test0","pkgSpec":"test0","prepnCount":10,"produceBatchNo":"test0","produceDate":1571131734945},{"codeCount":100,"commDrugId":"testCommDrugId1","exprieDate":1571131734945,"physicInfo":"test1","pkgSpec":"test1","prepnCount":10,"produceBatchNo":"test1","produceDate":1571131734945}] | 【可不填】药品列表Json:"codeCount": 药品数量 "commDrugId": 国家药品唯一标识 "exprieDate": 生产日期 "physicInfo": 药品信息 "pkgSpec": 包状规格 "prepnCount": 制剂数量 "produceBatchNo":生产批次 "produceDate": 生产日期 | |
ass_ref_ent_id | String | 可选 | 5069452c34b94a778abaa26c2b40b305 | 单据委托企业refEntId | |
ass_ent_id | String | 可选 | 5069452c34b94a778abaa26c2b40b305 | 单据委托企业entId | |
warehouse_id | String | 可选 | W001 | 仓号 | |
drug_id | String | 可选 | D001 | 药品ID[企业自已系统的药品ID] | |
return_reason_code | String | 可选 | 1 | 已废弃,无需填写 | |
return_reason_des | String | 可选 | 退货原因描述 | 已废弃,无需填写 | |
cancel_reason_code | String | 可选 | 1 | 已废弃,无需填写 | |
cancel_reason_des | String | 可选 | 注销原因描述 | 已废弃,无需填写 | |
executer_name | String | 可选 | 执行人 | 已废弃,无需填写 | |
executer_code | String | 可选 | 11034564321 | 已废弃,无需填写 | |
superviser_name | String | 可选 | 监督人 | 已废弃,无需填写 | |
superviser_code | String | 可选 | 11276789342 | 已废弃,无需填写 | |
physic_type | Number | 必须 | 3 | 药品类型【3普药2特药】89开头的码定义为特药,其它码定义成普药【可以随便填写,单据上传后会以实际为准】 | |
from_user_id | String | 必须 | 5069452c34b94a778abaa26c2b40b305 | 发货企业entId【注意:该入参是ent_id,并不是ref_ent_id】 | |
to_user_id | String | 必须 | 5069452c34b94a778abaa26c2b40b305 | 收货企业entId【注意:该入参是ent_id,并不是ref_ent_id】 |
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
model | String | SUCCESS | 返回值 |
msg_code | String | SUCCESS | 返回编码(BILL_DECODE_ERROR 单据转码失败 BILL_FILE_NAME_DUPLICATE_UPLOAD 文件名重复) |
msg_info | String | 调用成功 | 返回信息 |
response_success | Boolean | true | 是否成功(true 成功 false 失败) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret); AlibabaAlihealthDrugKytUploadinoutbillRequest req = new AlibabaAlihealthDrugKytUploadinoutbillRequest(); req.setBillCode( "billcode001" ); req.setBillTime(StringUtils.parseDateTime( "2024-05-10 16:57:15" )); req.setBillType(201L); req.setRefUserId( "320000000000127971" ); req.setAgentRefUserId( "320000000000127971" ); req.setDestUserId( "d5f5f05c6af04e52ba7894d9bbf8e757" ); req.setOperIcCode( "212000345" ); req.setOperIcName( "张三" ); req.setTraceCodes( "81012350000000157474,81012350000000157472" ); req.setClientType( "2" ); req.setFromAddress( "北京市朝阳区XXX" ); req.setToAddress( "安徽省合肥市XXX" ); req.setFromBillCode( "123456" ); req.setOrderCode( "123456" ); req.setFromPerson( "张三" ); req.setToPerson( "李四" ); req.setDisRefEntId( "5069452c34b94a778abaa26c2b40b305" ); req.setDisEntId( "5069452c34b94a778abaa26c2b40b305" ); req.setQuReceivable(10L); req.setXtIsCheck( "0" ); req.setXtCheckCode( "未验证通过原因" ); req.setXtCheckCodeDesc( "未通过原因描述" ); req.setDrugListJson( "[{\"codeCount\":100,\"commDrugId\":\"testCommDrugId0\",\"exprieDate\":1571131734945,\"physicInfo\":\"test0\",\"pkgSpec\":\"test0\",\"prepnCount\":10,\"produceBatchNo\":\"test0\",\"produceDate\":1571131734945},{\"codeCount\":100,\"commDrugId\":\"testCommDrugId1\",\"exprieDate\":1571131734945,\"physicInfo\":\"test1\",\"pkgSpec\":\"test1\",\"prepnCount\":10,\"produceBatchNo\":\"test1\",\"produceDate\":1571131734945}]" ); req.setAssRefEntId( "5069452c34b94a778abaa26c2b40b305" ); req.setAssEntId( "5069452c34b94a778abaa26c2b40b305" ); req.setWarehouseId( "W001" ); req.setDrugId( "D001" ); req.setReturnReasonCode( "1" ); req.setReturnReasonDes( "退货原因描述" ); req.setCancelReasonCode( "1" ); req.setCancelReasonDes( "注销原因描述" ); req.setExecuterName( "执行人" ); req.setExecuterCode( "11034564321" ); req.setSuperviserName( "监督人" ); req.setSuperviserCode( "11276789342" ); req.setPhysicType(3L); req.setFromUserId( "5069452c34b94a778abaa26c2b40b305" ); req.setToUserId( "5069452c34b94a778abaa26c2b40b305" ); AlibabaAlihealthDrugKytUploadinoutbillResponse rsp = client.execute(req); System.out.println(rsp.getBody()); |
1 2 3 4 5 6 | < alibaba_alihealth_drug_kyt_uploadinoutbill_response > < model >SUCCESS</ model > < msg_code >SUCCESS</ msg_code > < msg_info >调用成功</ msg_info > < response_success >true</ response_success > </ alibaba_alihealth_drug_kyt_uploadinoutbill_response > |
1 2 3 4 5 6 | < error_response > < code >50</ code > < msg >Remote service error</ msg > < sub_code >isv.invalid-parameter</ sub_code > < sub_msg >非法参数</ sub_msg > </ error_response > |
错误码 | 错误描述 | 解决方案 |
---|