仓库转仓单管理API
1. 接口概述
用于管理仓库转仓操作,包括创建转仓单和查询转仓单明细。通过这些接口,您可以实现不同仓库之间的库存转移管理。
2. 接口列表
| 接口名 | 方法 | 功能描述 |
|---|---|---|
warehouse.add | POST | 创建一个直接转仓入库的指令 |
warehouse.getList | GET | 根据转仓单创建时间来查询该时间段内的转仓明细 |
3. 系统级参数
系统级参数是调用所有接口都必须提供的参数:
| 参数名 | 类型 | 必填 | 名称 | 描述 |
|---|---|---|---|---|
method | string | 是 | 接口方法名 | 例如:warehouse.add |
app_key | string | 是 | 应用密钥 | 用于标识调用方身份 |
timestamp | string | 是 | 时间戳 | 格式:YYYY-MM-DD HH:MM:SS |
format | string | 是 | 响应格式 | 可选值:json |
v | string | 是 | API版本 | 例如:1.0 |
sign | string | 是 | 签名 | 用于验证请求的合法性 |
4. 接口详细参数
4.1 创建转仓单 (warehouse.add)
4.1.1 功能描述
创建一个直接转仓入库的指令,支持设置转仓单名称、来源地仓库、目标仓库等信息。
4.1.2 请求参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
name | string | 是 | 入库单名称 |
vendor | string | 否 | 供应商 |
extrabranch_name | string | 是 | 来源地仓库名称 |
branch_bn | string | 是 | 仓库编号 |
delivery_cost | number | 否 | 出入库费用 |
memo | string | 否 | 备注 |
operator | string | 否 | 经办人 |
t_type | string | 是 | 出入库类型,如DC – 转仓入库 |
original_iso_bn | string | 否 | 外部原始单号 |
items | string | 是 | 明细,JSON格式的字符串,例如:[{"bn":"test1","name":"测试1","price":10,"nums":1},{"bn":"test2","name":"测试2","price":20,"nums":2}] |
4.1.3 响应参数
| 参数名 | 类型 | 描述 |
|---|---|---|
code | int | 状态码,0表示成功,非0表示失败 |
message | string | 响应信息 |
data | object | 操作结果,包含创建的转仓单信息 |
4.1.4 请求示例
请参考openapi.md文档中【6. 接口调用示例】。
4.1.5 响应示例
json
{
"code": 0,
"message": "success",
"data": {
"warehouse_bn": "W001",
"name": "转仓入库单001"
}
}4.2 查询转仓单明细 (warehouse.getList)
4.2.1 功能描述
根据转仓单创建时间来查询该时间段内的转仓明细,支持分页查询。
4.2.2 请求参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
start_time | date | 是 | 开始时间(完成状态),例如2012-12-08 18:50:30 |
end_time | date | 是 | 结束时间(完成状态),例如2012-12-08 18:50:30 |
page_no | number | 是 | 页码,默认1 |
page_size | number | 是 | 每页数量,默认50,最大100 |
4.2.3 响应参数
| 参数名 | 类型 | 描述 |
|---|---|---|
code | int | 状态码,0表示成功,非0表示失败 |
message | string | 响应信息 |
data | object | 查询结果 |
data.total | number | 总记录数 |
data.items | array | 转仓单明细列表 |
4.2.4 请求示例
请参考openapi.md文档中【6. 接口调用示例】。
4.2.5 响应示例
json
{
"code": 0,
"message": "success",
"data": {
"total": 100,
"items": [
{
"warehouse_bn": "W001",
"name": "转仓入库单001",
"type": "DC",
"branch_bn": "WH001",
"created_time": "2023-01-01 10:00:00",
"items": [
{
"bn": "test1",
"name": "测试1",
"price": 10,
"nums": 1
}
]
}
]
}
}5. 错误码说明
| 错误码 | 错误信息 | 解决方案 |
|---|---|---|
| 0 | 操作成功 | - |
| 1 | 参数错误 | 检查参数格式是否正确,所有必填参数是否都已提供 |
| 2 | 仓库不存在 | 检查仓库编号是否正确 |
| 3 | 物料不存在 | 检查商品编码是否正确 |
| 4 | 库存不足 | 确保转出仓库有足够库存 |
| 400 | 参数错误 | 检查参数格式是否正确,所有必填参数是否都已提供 |
| 401 | 未授权访问 | 检查app_key和sign是否正确 |
| 403 | 禁止访问 | 联系管理员获取权限 |
| 500 | 服务器内部错误 | 检查请求参数或联系技术支持 |
| 1001 | 非法的app_key | 请检查app_key是否正确 |
| 1002 | 请求已过期 | 请检查timestamp是否正确,请求有效期为5分钟 |
| 1003 | 签名错误 | 请检查签名算法和参数是否正确 |
| 1004 | 不支持的format格式 | 请使用json格式 |
| 2001 | 缺少必要的参数 | 请检查请求参数是否完整 |
| 2002 | 非法的请求参数 | 请检查参数格式和范围是否正确 |
| 2003 | 接口不存在 | 请检查接口方法名是否正确 |
6. 注意事项
items参数需要以JSON字符串形式传递,确保字符串格式正确且已转义。- 转仓类型
t_type目前仅支持DC(转仓入库)。 - 时间格式必须为
yyyy-MM-dd HH:mm:ss,否则可能导致查询失败。 page_size参数默认50,最大支持100。- 对于大数据量的查询,建议使用时间范围进行筛选,以提高查询效率。
- 时间戳必须与服务器时间保持同步,误差不超过3600秒。
- 每个请求必须生成唯一的签名,避免重复提交。
- 请妥善保管接口密钥,避免泄露。
- 所有请求参数中的特殊字符必须进行URL编码,特别是在使用GET方法时。
- 请确保在请求头中设置正确的Content-Type,对于POST请求建议使用application/json。
- 为了系统性能和稳定性,请避免短时间内发送大量请求,建议控制调用频率。
- 敏感数据(如签名、密钥等)请勿在日志中记录,确保数据安全。
2. 接口列表
| 接口名 | 方法 | 功能描述 |
|---|---|---|
warehouse.getList | POST | 获取仓库列表 |
warehouse.getDetail | POST | 获取仓库详情 |
3. 系统级参数
系统级参数是调用所有接口都必须提供的参数:
| 参数名 | 类型 | 必填 | 名称 | 描述 |
|---|---|---|---|---|
flag | string | 是 | 应用标识 | 用于标识调用方身份 |
method | string | 是 | 接口方法名 | 例如:warehouse.getList |
ver | number | 是 | 版本号 | 固定为1 |
charset | string | 是 | 字符集 | 固定为utf-8 |
type | string | 是 | 返回格式 | 固定为json |
timestamp | string | 是 | 时间戳 | 格式:yyyyMMddHHmmss |
sign | string | 是 | 签名 | 用于验证请求的合法性 |
4. 接口详细说明
4.1 获取仓库列表
请求参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
branch_name | string | 否 | 仓库名称 |
branch_bn | string | 否 | 仓库编码 |
status | string | 否 | 状态(1:启用 2:禁用) |
start_time | string | 否 | 创建时间开始,格式:2022-01-01 |
end_time | string | 否 | 创建时间结束,格式:2022-01-31 |
page_no | int | 是 | 页码,默认1 |
page_size | int | 是 | 每页条数,默认50,最大1000 |
响应参数
| 参数名 | 类型 | 描述 |
|---|---|---|
count | int | 总记录数 |
lists | array | 仓库列表 |
lists 数组中的每个对象包含以下字段:
| 参数名 | 类型 | 描述 |
|---|---|---|
branch_id | string | 仓库ID |
branch_bn | string | 仓库编码 |
branch_name | string | 仓库名称 |
short_name | string | 简称 |
create_time | string | 创建时间 |
status | string | 状态 |
status_text | string | 状态描述 |
请求示例
请参考openapi.md文档中【6. 接口调用示例】。
响应示例
json
{
"count": 100,
"lists": [
{
"branch_id": "10001",
"branch_bn": "WARE001",
"branch_name": "测试仓库",
"short_name": "测试仓",
"create_time": "2022-01-01 10:00:00",
"status": "1",
"status_text": "启用"
}
]
}4.2 获取仓库详情
请求参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
branch_id | string | 否 | 仓库ID |
branch_bn | string | 否 | 仓库编码 |
响应参数
| 参数名 | 类型 | 描述 |
|---|---|---|
branch_id | string | 仓库ID |
branch_bn | string | 仓库编码 |
branch_name | string | 仓库名称 |
short_name | string | 简称 |
contact_person | string | 联系人 |
contact_phone | string | 联系电话 |
country | string | 国家 |
province | string | 省 |
city | string | 市 |
district | string | 区 |
address | string | 详细地址 |
zip | string | 邮政编码 |
create_time | string | 创建时间 |
update_time | string | 更新时间 |
status | string | 状态 |
status_text | string | 状态描述 |
请求示例
请参考openapi.md文档中【6. 接口调用示例】。
响应示例
json
{
"branch_id": "10001",
"branch_bn": "WARE001",
"branch_name": "测试仓库",
"short_name": "测试仓",
"contact_person": "张三",
"contact_phone": "13800138000",
"country": "中国",
"province": "上海市",
"city": "上海市",
"district": "浦东新区",
"address": "张杨路500号",
"zip": "200120",
"create_time": "2022-01-01 10:00:00",
"update_time": "2022-01-02 10:00:00",
"status": "1",
"status_text": "启用"
}5. 错误码说明
| 错误码 | 错误信息 | 解决方案 |
|---|---|---|
| 0 | 成功 | - |
| 1 | 参数错误 | 检查参数格式是否正确,所有必填参数是否都已提供 |
| 400 | 参数错误 | 检查参数格式是否正确,所有必填参数是否都已提供 |
| 401 | 未授权访问 | 检查flag和sign是否正确 |
| 403 | 禁止访问 | 联系管理员获取权限 |
| 500 | 服务器内部错误 | 检查请求参数或联系技术支持 |
| 1001 | 非法的flag | 请检查flag是否正确 |
| 1002 | 请求已过期 | 请检查timestamp是否正确,请求有效期为5分钟 |
| 1003 | 签名错误 | 请检查签名算法和参数是否正确 |
| 1004 | 不支持的type格式 | 请使用json格式 |
| 2001 | 缺少必要的参数 | 请检查请求参数是否完整 |
| 2002 | 非法的请求参数 | 请检查参数格式和范围是否正确 |
| 2003 | 接口不存在 | 请检查接口方法名是否正确 |
6. 注意事项
- 时间格式必须为
yyyy-MM-dd HH:mm:ss,否则可能导致查询失败。 page_size参数最大支持 1000,默认50,超过100将被限制为 100。- 对于大数据量的查询,建议使用仓库名称、仓库编码等条件进行精确筛选,以提高查询效率。
- 时间戳必须与服务器时间保持同步,误差不超过3600秒。
- 每个请求必须生成唯一的签名,避免重复提交。
- 请妥善保管接口密钥,避免泄露。
- 所有请求参数中的特殊字符必须进行 URL 编码,特别是在使用 GET 方法时。
- 请确保在请求头中设置正确的 Content-Type,对于 POST 请求建议使用 application/json。
- 为了系统性能和稳定性,请避免短时间内发送大量请求,建议控制调用频率。
- 敏感数据(如签名、密钥等)请勿在日志中记录,确保数据安全。
