3.同步订单状态
### candao.order.updateOrderStatus
>双向接口,主要用于==配送前的取消==,供应商将取消消息根据此接口内容提交至餐道系统;或餐道系统将订单状态变更同步至供应商,本文档为供应商 TO餐道。
官方文档:[http://open-api.can-dao.com/#/documents?page_code=30-16](http://open-api.can-dao.com/#/documents?page_code=30-16)
#### 注意事项
- **餐道取消订单通知供应商场景有(常见但不限于):**
1、当供应商对接餐道聚合配送时,聚合配送有一个配送规则,如当订单呼叫了一轮仍无骑手接单时,订单会自动取消,此时供应商需接收订单取消通知;
2、当供应商对接餐道外卖单时,外卖平台有==1分钟无责取消==订单规则 ,用户下单商家接单后,用户1分钟内取消订单是无需通过商家审核,订单会直接取消,此时供应商需接收订单取消通知;
- **供应商取消订单通知餐道场景有(常见但不限于):**
1、若供应商为小程序时,用户在小程序下单提交到餐道,当用户取消订单,取消的消息需要同步给餐道,否则该订单在小程序与餐道的状态不一致,可能会影响商家对账;==供应商主动取消,同步返回==
~~2、若供应商为POS收银系统时,用户在外卖平台下单提交到餐道,当商家因私人原因无法接单时,商家需主动发起订单取消,消的消息需要同步给餐道,否则该订单在餐道和平台仍是进行状态;(注:因平台方不主张由商家直接拒单,一般出现商家无法接单需取消订单的情况,建议商家主动联系用户说明情况,由用户主动发起取消)~~
### 业务数据
#### 必传字段
- extOrderId:==即我们的订单号==
- subStoreId(可选):供应商侧门店 ID,即我们的 ==OUTLET_CODE==
- thirdSn(可选): 平台流水号,==即我们取餐号==
- fromType(可选)::订单来源,可传入微信小程序或支付宝小程序。
- status:订单状态 参见枚举类orderStatus,==取消为-1==
- cancelReason:取消原因,取消订单时必传,枚举类cancelReason
>101:超时未接单;102地址无法配送;103:餐品售罄;104:重复订单;105:联系不上用户;106:餐厅繁忙;107:门店错送漏送;108:餐厅休息中; 109:餐品变质;201:用户取消;202:用户测试;203:支付超时;204:用户下错单;301:配送延迟;302:配送异常;401:系统异常;402:调试或测试单;403:平台取消;501:其它原因;(选其他时需要传描述)
- cancelNote:取消原因备注,原因分类501为其他时必传
- updateTime:变更时间
### 请求示例
```JSON
{
"data":{
"extOrderId":"71636551195320",
"thirdSn":"001",
"subStoreId":"46489361",
"extStoreName":"两粒米智慧餐饮",
"status":-1,
"cancelReason":204,
"updateTime":"2021-11-10 22:36:00"
},
"accessKey":"185a4bd62df35dc8",
"actionName":"candao.order.updateOrderStatus",
"timestamp":1636555048491,
"ticket":"84d5a384-1be3-4abd-911f-ee9b0fa7f323",
"sign":"8a6c5f7694acc4b22e0c3b34d28c4222",
"serviceType":"pos",
"vendor":""
}
```
### 返回示例(同步返回)
```JSON
{
"status": 1,
"msg": "操作成功",
"logId": "f21b26a6-9db9-628a-e30b-ba02-e15eb34b",
"serverTime": 1636555355943,
"ticket": "84d5a384-1be3-4abd-911f-ee9b0fa7f323"
}
```