发货接口文档(delivergoods)
基本信息
- 接口地址:
/index.php/api - 请求方法:
POST - 接口类型:接收方接口(第三方平台推送 → OMS 接收)
- 路由参数:
method = {app_id}.delivergoods.{action}
接口方法列表
| 接口名 | 方法 | 功能描述 |
|---|---|---|
| ome.delivergoods.urgent | POST | 发货加急/催发 |
| ome.delivergoods.promise | POST | 发货承诺/时效处理 |
系统级参数
| 参数名 | 类型 | 必填 | 名称 | 描述 |
|---|---|---|---|---|
| flag | string | 是 | 接入标识 | 固定值 erpapi |
| app_id | string | 是 | 应用ID | 如 ecos.ome |
| certi_id | string | 是 | 证书ID | 系统证书编号 |
| from_node_id | string | 是 | 来源节点 | 推送方节点ID |
| node_id | string | 是 | 目标节点 | 店铺节点ID(OMS节点) |
| node_type | string | 是 | 节点类型 | 如 ecos.ome |
| timestamp | int | 是 | 时间戳 | 10位时间戳 |
| method | string | 是 | 接口方法名 | 形如 {app_id}.delivergoods.urgent |
| sign | string | 是 | 签名 | 用于验证请求合法性 |
签名算法说明
- 生成公式:
sign = strtoupper(md5(strtoupper(md5(assemble($params))). $token)) - 要点:
- 参与签名的参数集合不包含
sign本身;常以键名排序后按约定拼装 - 首次 md5 后转大写,与
token拼接后再 md5,最终再转大写 - 保持编码一致、去除多余空白
- 参与签名的参数集合不包含
接收参数(业务参数)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| order_bn | string | 是 | 订单号 |
| logistics_no | string | 否 | 物流单号 |
| corp_code | string | 否 | 物流公司代码 |
| promise_time | string/int | 否 | 承诺时效/到达时间 |
| memo | string | 否 | 备注 |
响应参数
响应格式统一为 JSON,包含以下字段:
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| rsp | string | 是 | 响应状态:succ(成功)或 fail(失败) |
| msg | string | 否 | 响应消息(成功时包含操作描述,失败时包含错误信息) |
| data | object | 否 | 响应数据(成功时可能包含订单号等信息) |
数据示例
请求示例(发货加急)
json
{
"flag":"erpapi",
"app_id":"ecos.ome",
"method":"ome.delivergoods.urgent",
"timestamp":1700000000,
"sign":"...",
"order_bn":"T202311110001",
"memo":"加急处理"
}响应示例
响应成功
发货加急成功(ome.delivergoods.urgent):
json
{
"rsp": "succ",
"msg": "发货加急成功"
}响应失败
发货加急失败(参数缺失):
json
{
"rsp": "fail",
"msg": "参数缺失"
}发货加急失败(订单状态不允许):
json
{
"rsp": "fail",
"msg": "订单状态不允许"
}错误码定义(示例)
- E_PARAM:参数缺失
- E_STATE:订单状态不允许
