订单事件推送
通过订单事件推送接口,oTMS系统将订单事件推到指定的服务中,对方系统应按照请求对应的响应格式返回相应的信息。
说明: 订单事件推送接口为反向调用接口。
oTMS同时在生产环境和测试环境中提供Web Service接口,其中测试环境用于集成测试。两种环境下都需要由oTMS系统管理员分配API帐号密码后方可使用。
公共参数
环境 | HTTP请求方法 | HTTPS请求地址 | 请求主体MIME类型 | 响应主体MIME类型 |
---|---|---|---|---|
正式环境 | PUT | - | application/json | application/json |
沙箱环境 | PUT | - | application/json | application/json |
请求参数
字段名 | 位置 | 是否必填 | 描述 | Schema |
---|---|---|---|---|
body | body | 是 | 订单事件推送请求 | PushRequest |
响应参数
状态码 | 描述 | 响应模型 |
---|---|---|
200 | successful operation | PushResponse |
PushEventDto
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
orderNumber | string | 是 | 订单号 | |
erpNumber | string | 否 | ERP单号 | |
eventType | integer (int32) | 否 | 事件类型,包含以下常量: 10 - PICKUP - 提货 20 - EXCEPTION_A - 异常A(订单被退回) 21 - EXCEPTION_B - 异常B(在途) 22 - EXCEPTION_C - 异常C(破损) 23 - EXCEPTION_D - 异常D(短少) 24 - EXCEPTION_E - 异常E(货物配送至错误地址) 25 - EXCEPTION_F - 异常F(回单不合格) 26 - EXCEPTION_G - 异常G(特殊费用) 27 - EXCEPTION_H - 异常H(其他投诉) 28 - EXCEPTION_R - 异常R(拒收) 29 - EXCEPTION_U - 异常U(订单API更新) 30 - DELIVERY - 送货 40 - EPOD - ePOD 50 - COORDINATE - 坐标 60 - DISCREPANCY_REGISTER - 注册货差 61 - DISCREPANCY_REGISTER_ON_PICKUP - 提货货差 62 - DISCREPANCY_REGISTER_ON_STORAGE - 入库货差 63 - DISCREPANCY_REGISTER_ON_LEAVE - 出库货差 64 - DISCREPANCY_REGISTER_ON_DELIVERY - 送达货差 70 - DISPATCH - 分配 80 - NEW - 订单创建 90 - RELEASE - 订单释放 100 - SMART_ALERT - 在途信息(司机行驶里程) 101 - PICKUP_ENTER_BOUNDARY - 进入提货点电子围栏 102 - PICKUP_EXIT_BOUNDARY - 离开提货点电子围栏 103 - DELIVERY_ENTER_BOUNDARY - 进入送货点电子围栏 104 - DELIVERY_EXIT_BOUNDARY - 离开送货点电子围栏 110 - EXCEPTION_T - 异常T(温度报警) 201 - PICKUP_FILE - 提货上传文件 202 - EXCEPTION_B_FILE - 异常B上传文件 203 - DELIVERY_FILE - 送货上传文件 204 - EXCEPTION_C_FILE - 异常C上传文件 205 - EXCEPTION_D_FILE - 异常D上传文件 206 - DISCREPANCY_EXCEPTION_FILE - 货差上传文件 207 - EXCEPTION_H_FILE - 异常H上传文件 |
|
eventTime | string (date-time) | 是 | 事件时间 | |
fileNames | array[string] | 否 | 文件名字 | |
remark | string | 否 | 备注 | |
eventId | integer (int64) | 是 | 事件ID | |
latitude | number (double) | 否 | 纬度 | |
longitude | number (double) | 否 | 经度 | |
truckPlate | string | 否 | 车牌号 | |
damage | integer (int32) | 否 | 损坏 | |
loss | integer (int32) | 否 | 缺少 |
PushEventResultDto
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
eventId | integer (int64) | 是 | 事件ID | |
orderNumber | string | 否 | 订单号 | |
erpNumber | string | 否 | ERP单号 | |
responseCode | integer (int32) | 是 | 状态码,包含以下常量: 0 - 成功 11 - 未知订单号 12 - 未知ERP单号 13 - 错误的订单状态 14 - 未知错误 |
PushRequest
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
events | array[PushEventDto] | 是 | 推送的事件列表 |
PushResponse
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
results | array[PushEventResultDto] | 否 | 回传结果列表 |
请求示例
{
"events": [
{
"orderNumber": "orderNumberTest001",
"erpNumber": "erpNumberTest001",
"eventType": "1",
"eventTime": "2017-05-05 11:11:11",
"fileNames": [
"fileName1",
"fileName2"
],
"remark": "测试",
"eventId": "1",
"latitude": "22",
"longitude": "22",
"truckPlate": "沪A 888888",
"damage": "2",
"loss": "1"
}
]
}
响应示例
{
"results": [
{
"eventId": 1,
"orderNumber": "orderNumberTest001",
"erpNumber": "erpNumberTest001",
"responseCode": 0
}
]
}
全局反馈代码
反馈代码 | 说明 |
单个请求反馈代码
反馈代码 | 说明 |
0 | 成功。 |
11 | 未知订单号。 |
12 | 未知ERP单号。 |
13 | 错误的订单状态。 |
14 | 未知错误。 |