# 获取运单数据
接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南
接口英文名:getOrder
该接口用于获取运单数据。
# 1. 调用方式
# HTTPS 调用
POST https://api.weixin.qq.com/cgi-bin/express/business/order/get?access_token=ACCESS_TOKEN
# 云调用
调用方法:logistics.getOrder
出入参和 HTTPS 调用相同,调用方式可查看 云调用 说明文档
# 第三方调用
本接口支持第三方平台代商家调用。
该接口所属的权限集 id 为:45、71
服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。
# 2. 请求参数
# 查询参数 Query String parameters
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| access_token | string | 是 | 接口调用凭证,可使用 access_token、authorizer_access_token |
# 请求体 Request Payload
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| order_id | string | 是 | 订单 ID,需保证全局唯一 |
| openid | string | 否 | 该参数仅在getOrder接口生效,batchGetOrder接口不生效。用户openid,当add_source=2时无需填写(不发送物流服务通知) |
| delivery_id | string | 是 | 快递公司ID,参见getAllDelivery, 必须和waybill_id对应 |
| waybill_id | string | 否 | 运单ID |
| print_type | number | 否 | 该参数仅在getOrder接口生效,batchGetOrder接口不生效。获取打印面单类型【1:一联单,0:二联单】,默认获取二联单 |
# 3. 返回参数
# 返回体 Response Payload
| 参数名 | 类型 | 说明 |
|---|---|---|
| errcode | number | 错误码 |
| errmsg | string | 错误信息 |
| print_html | string | 运单 html 的 BASE64 结果 |
| waybill_data | objarray | 运单信息 |
| order_id | string | 订单ID |
| delivery_id | string | 快递公司ID |
| waybill_id | string | 运单号 |
| order_status | number | 运单状态, 0正常,1取消 |
# Res.waybill_data(Array) Object Payload
运单信息
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | string | 运单信息 key |
| value | string | 运单信息 value |
# 4. 注意事项
本接口无特殊注意事项
# 5. 代码示例
# 5.1 HTTPS调用
请求示例
{
"order_id": "01234567890123456789",
"openid": "oABC123456",
"delivery_id": "SF",
"waybill_id": "123456789",
"print_type": 1
}
返回示例
{
"print_html": "jh7DjipP4ul4CQYUh69cniskrQZuOPwa1inAbXIqKbU0t71c0s65Au54cdWBZW0QJY4LYeofdM",
"waybill_data": [
{
"key": "SF_bagAddr",
"value": "广州"
},
{
"key": "SF_mark",
"value": "101- 07-03 509"
}
],
"delivery_id": "SF",
"waybill_id": "123456",
"order_id": "123456",
"order_status": 0
}
# 5.2 云函数调用
请求示例
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.logistics.getOrder({
"openid": 'oABC123456',
"orderId": '01234567890123456789',
"deliveryId": 'SF',
"waybillId": '123456789',
"printType": 1
})
return result
} catch (err) {
return err
}
}
返回示例
{
"print_html": "jh7DjipP4ul4CQYUh69cniskrQZuOPwa1inAbXIqKbU0t71c0s65Au54cdWBZW0QJY4LYeofdM",
"waybill_data": [
{
"key": "SF_bagAddr",
"value": "广州"
},
{
"key": "SF_mark",
"value": "101- 07-03 509"
}
],
"delivery_id": "SF",
"waybill_id": "123456",
"order_id": "123456",
"order_status": 0
}
# 6. 错误码
以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。
| 错误码 | 错误描述 | 解决方案 |
|---|---|---|
| 40001 | invalid credential access_token isinvalid or not latest | 获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口 |
# 7. 适用范围
本接口支持「小程序(仅认证)」账号类型调用。其他账号类型如无特殊说明,均不可调用。