微信小程序 小程序使用·cancelOrder
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 不存在 |
|
9300503 |
delivery_id不存在 |
|
930563 |
订单不存在 |
|
930561 |
参数错误 |
|
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 的合法值
异常
Object
抛出的异常
属性 |
类型 |
说明 |
errCode |
number |
错误码 |
errMsg |
string |
错误信息 |
errCode 的合法值
值 |
说明 |
最低版本 |
-1 |
系统失败 |
|
40199 |
运单 ID 不存在 |
|
9300503 |
delivery_id不存在 |
|
930563 |
订单不存在 |
|
930561 |
参数错误 |
|
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'
})
return result
} catch (err) {
return err
}
}
返回示例
{
"errCode": 0,
"errMsg": "openapi.logistics.cancelOrder:ok",
"deliveryResultcode": 0,
"deliveryResultmsg": ""
}