logistics.cancelOrder
本接口应在服务器端调用,详细说明参见服务端API。
本接口支持云调用。需开发者工具版本 >=
1.02.1904090
(最新稳定版下载),wx-server-sdk
>=0.4.0
取消运单
调用方式:
HTTPS 调用
请求地址
POST https://api.weixin.qq.com/cgi-bin/express/business/order/cancel?access_token=ACCESS_TOKEN
请求参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token | string | 是 | 接口调用凭证 | |
order_id | string | 是 | 订单 ID,需保证全局唯一 | |
openid | string | 否 | 用户openid,当add_source=2时无需填写(不发送物流服务通知) | |
delivery_id | string | 是 | 快递公司ID,参见getAllDelivery | |
waybill_id | string | 是 | 运单ID |
返回值
Object
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
delivery_resultcode | number | 运力返回的错误码 |
delivery_resultmsg | string | 运力返回的错误信息 |
errcode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
0 | 成功 | |
-1 | 系统失败 | |
40199 | 运单 ID 不存在 | |
9300506 | 运单 ID 已经存在轨迹,不可取消 | |
9300524 | 取消订单失败(一般为重复取消订单) | |
9300501 | 快递公司逻辑错误,具体错误码见delivery_resultcode |
请求示例
{
"order_id": "01234567890123456789",
"openid": "oABC123456",
"delivery_id": "SF",
"waybill_id": "123456789"
}
返回示例
{
"errcode": 0,
"errmsg": "ok",
"delivery_resultcode": 0,
"delivery_resultmsg": ""
}
云调用
云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过
wx-server-sdk
使用。
接口方法
openapi.logistics.cancelOrder
需在
config.json
中配置logistics.cancelOrder
API 的权限,详情
请求参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
orderId | string | 是 | 订单 ID,需保证全局唯一 | |
openid | string | 否 | 用户openid,当add_source=2时无需填写(不发送物流服务通知) | |
deliveryId | string | 是 | 快递公司ID,参见getAllDelivery | |
waybillId | string | 是 | 运单ID |
返回值
Object
属性 | 类型 | 说明 |
---|---|---|
errCode | number | 错误码 |
errMsg | string | 错误信息 |
deliveryResultcode | number | 运力返回的错误码 |
deliveryResultmsg | string | 运力返回的错误信息 |
errCode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
0 | 成功 |
异常
Object
抛出的异常
属性 | 类型 | 说明 |
---|---|---|
errCode | number | 错误码 |
errMsg | string | 错误信息 |
errCode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
-1 | 系统失败 | |
40199 | 运单 ID 不存在 | |
9300506 | 运单 ID 已经存在轨迹,不可取消 | |
9300524 | 取消订单失败(一般为重复取消订单) | |
9300501 | 快递公司逻辑错误,具体错误码见delivery_resultcode |
请求示例
const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.logistics.cancelOrder({
openid: 'oABC123456',
orderId: '01234567890123456789',
deliveryId: 'SF',
waybillId: '123456789'
})
console.log(result)
return result
} catch (err) {
console.log(err)
return err
}
}
返回示例
{
"errCode": 0,
"errMsg": "openapi.logistics.cancelOrder:ok",
"deliveryResultcode": 0,
"deliveryResultmsg": ""
}