举报投诉联系我们 手机版 热门标签 名动网
您的位置:名动网 > 微信小程序用法 微信小程序 小程序使用·addOrder

微信小程序用法 微信小程序 小程序使用·addOrder

2023-05-06 05:20

微信小程序用法 微信小程序 小程序使用·addOrder

微信小程序用法

微信小程序是一种新型的应用,它可以在微信内部运行,无需下载安装即可使用。微信小程序拥有独特的交互体验,可以更快速、更便捷地实现功能。

使用微信小程序的方法也非常简单,只需要打开微信,在“发现”-“小程序”中搜索想要使用的小程序,然后进入就可以使用了。

// 创建一个新的微信小程序
const app = getApp();  // 获取全局app实例
Page({  // 声明当前页面对象
  data: {  // 声明当前页面数据对象
    message: 'Hello World!'  // 消息内容
  },

  onLoad() {  // 页面加载时执行函数

    console.log(this.data.message);  // 打印出Hello World!

    app.globalData.name = 'My App';  // 设置全局数据name为My App

    console.log(app.globalData.name);  // 打印出My App

  }
});

微信小程序 小程序使用·addOrder

logistics.addOrder

本接口应在服务器端调用,详细说明参见服务端API。
本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载)
wx-server-sdk >= 0.4.0

生成运单

调用方式:

  • HTTPS 调用
  • 云调用

HTTPS 调用

请求地址

POST https://api.weixin.qq.com/cgi-bin/express/business/order/add?access_token=ACCESS_TOKEN

请求参数

属性 类型 默认值 必填 说明
access_token string 接口调用凭证
add_source number 订单来源,0为小程序订单,2为App或H5订单,填2则不发送物流服务通知
wx_appid string App或H5的appid,add_source=2时必填,需和开通了物流助手的小程序绑定同一open帐号
order_id string 订单ID,须保证全局唯一,不超过512字节
openid string 用户openid,当add_source=2时无需填写(不发送物流服务通知)
delivery_id string 快递公司ID,参见getAllDelivery
biz_id string 快递客户编码或者现付编码
custom_remark string 快递备注信息,比如"易碎物品",不超过1024字节
tagid number 订单标签id,用于平台型小程序区分平台上的入驻方,tagid须与入驻方账号一一对应,非平台型小程序无需填写该字段
sender Object 发件人信息
receiver Object 收件人信息
cargo Object 包裹信息,将传递给快递公司
shop Object 商品信息,会展示到物流服务通知和电子面单中
insured Object 保价信息
service Object 服务类型
expect_time number Unix 时间戳, 单位秒,顺丰必须传。 预期的上门揽件时间,0表示已事先约定取件时间;否则请传预期揽件时间戳,需大于当前时间,收件员会在预期时间附近上门。例如expect_time为“1557989929”,表示希望收件员将在2019年05月16日14:58:49-15:58:49内上门取货。说明:若选择 了预期揽件时间,请不要自己打单,由上门揽件的时候打印。如果是下顺丰散单,则必传此字段,否则不会有收件员上门揽件。

sender 的结构

属性 类型 默认值 必填 说明
name string 发件人姓名,不超过64字节
tel string 发件人座机号码,若不填写则必须填写 mobile,不超过32字节
mobile string 发件人手机号码,若不填写则必须填写 tel,不超过32字节
company string 发件人公司名称,不超过64字节
post_code string 发件人邮编,不超过10字节
country string 发件人国家,不超过64字节
province string 发件人省份,比如:"广东省",不超过64字节
city string 发件人市/地区,比如:"广州市",不超过64字节
area string 发件人区/县,比如:"海珠区",不超过64字节
address string 发件人详细地址,比如:"XX路XX号XX大厦XX",不超过512字节

receiver 的结构

属性 类型 默认值 必填 说明
name string 收件人姓名,不超过64字节
tel string 收件人座机号码,若不填写则必须填写 mobile,不超过32字节
mobile string 收件人手机号码,若不填写则必须填写 tel,不超过32字节
company string 收件人公司名,不超过64字节
post_code string 收件人邮编,不超过10字节
country string 收件人所在国家,不超过64字节
province string 收件人省份,比如:"广东省",不超过64字节
city string 收件人地区/市,比如:"广州市",不超过64字节
area string 收件人区/县,比如:"天河区",不超过64字节
address string 收件人详细地址,比如:"XX路XX号XX大厦XX",不超过512字节

cargo 的结构

属性 类型 默认值 必填 说明
count number 包裹数量, 需要和detail_list size保持一致
weight number 包裹总重量,单位是千克(kg)
space_x number 包裹长度,单位厘米(cm)
space_y number 包裹宽度,单位厘米(cm)
space_z number 包裹高度,单位厘米(cm)
detail_list Array.<Object> 包裹中商品详情列表

cargo.detail_list 的结构

属性 类型 默认值 必填 说明
name string 商品名,不超过128字节
count number 商品数量

shop 的结构

属性 类型 默认值 必填 说明
wxa_path string 商家小程序的路径,建议为订单页面
img_url string 商品缩略图 url
goods_name string 商品名称, 不超过128字节
goods_count number 商品数量

insured 的结构

属性 类型 默认值 必填 说明
use_insured number 是否保价,0 表示不保价,1 表示保价
insured_value number 保价金额,单位是分,比如: 10000 表示 100 元

service 的结构

属性 类型 默认值 必填 说明
service_type number 服务类型ID,详见已经支持的快递公司基本信息
service_name string 服务名称,详见已经支持的快递公司基本信息

返回值

Object

属性 类型 说明
order_id string 订单ID,下单成功时返回
waybill_id string 运单ID,下单成功时返回
waybill_data Array.<Object> 运单信息,下单成功时返回
errcode number 微信侧错误码,下单失败时返回
errmsg string 微信侧错误信息,下单失败时返回
delivery_resultcode number 快递侧错误码,下单失败时返回
delivery_resultmsg string 快递侧错误信息,下单失败时返回

waybill_data 的结构

属性 类型 说明
key string 运单信息 key
value string 运单信息 value

errcode 的合法值

说明 最低版本
-1 系统失败
47001 格式错误
40003 openid无效
9300502 快递公司系统错误
9300501 快递侧逻辑错误,详细原因需要看 delivery_resultcode, 请先确认一下编码方式,python建议 json.dumps(b, ensure_ascii=False),php建议 json_encode($arr, JSON_UNESCAPED_UNICODE)
9300503 delivery_id 不存在
9300510 service_type 不存在
9300526 字段长度不正确
930561 参数错误
9300525 bizid未绑定
9300534 add_source=2时,wx_appid和当前小程序不同主体
9300535 shop字段商品缩略图 url、商品名称为空或者非法,或者商品数量为0
9300536 add_source=2时,wx_appid无效
9300531 bizid无效
930564 沙盒环境调用无配额
930559 沙盒环境openid无效

请求示例

{
  "add_source": 0,
  "order_id": "01234567890123456789",
  "openid": "oABC123456",
  "delivery_id": "SF",
  "biz_id": "xyz",
  "custom_remark": "易碎物品",
  "sender": {
    "name": "张三",
    "tel": "020-88888888",
    "mobile": "18666666666",
    "company": "公司名",
    "post_code": "123456",
    "country": "中国",
    "province": "广东省",
    "city": "广州市",
    "area": "海珠区",
    "address": "XX路XX号XX大厦XX栋XX"
  },
  "receiver": {
    "name": "王小蒙",
    "tel": "020-77777777",
    "mobile": "18610000000",
    "company": "公司名",
    "post_code": "654321",
    "country": "中国",
    "province": "广东省",
    "city": "广州市",
    "area": "天河区",
    "address": "XX路XX号XX大厦XX栋XX"
  },
  "shop": {
    "wxa_path": "/index/index?from=waybill&id=01234567890123456789",
    "img_url": "https://mmbiz.qpic.cn/mmbiz_png/OiaFLUqewuIDNQnTiaCInIG8ibdosYHhQHPbXJUrqYSNIcBL60vo4LIjlcoNG1QPkeH5GWWEB41Ny895CokeAah8A/640",
    "goods_name": "微信气泡狗抱枕&微信气泡狗钥匙扣",
    "goods_count": 2
  },
  "cargo": {
    "count": 2,
    "weight": 5.5,
    "space_x": 30.5,
    "space_y": 20,
    "space_z": 20,
    "detail_list": [
      {
        "name": "微信气泡狗抱枕",
        "count": 1
      },
      {
        "name": "微信气泡狗钥匙扣",
        "count": 1
      }
    ]
  },
  "insured": {
    "use_insured": 1,
    "insured_value": 10000
  },
  "service": {
    "service_type": 0,
    "service_name": "标准快递"
  }
}

返回示例

下单成功

{
  "order_id": "01234567890123456789",
  "waybill_id": "123456789",
  "waybill_data": [
    {
      "key": "SF_bagAddr",
      "value": "广州"
    },
    {
      "key": "SF_mark",
      "value": "101- 07-03 509"
    }
  ]
}

下单失败

{
  "errcode": 9300501,
  "errmsg": "delivery logic fail",
  "delivery_resultcode": 10002,
  "delivery_resultmsg": "客户密码不正确"
}

云调用

云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用。

接口方法

openapi.logistics.addOrder
需在 config.json 中配置 logistics.addOrder API 的权限,详情

请求参数

属性 类型 默认值 必填 说明
addSource number 订单来源,0为小程序订单,2为App或H5订单,填2则不发送物流服务通知
wxAppid string App或H5的appid,add_source=2时必填,需和开通了物流助手的小程序绑定同一open帐号
orderId string 订单ID,须保证全局唯一,不超过512字节
openid string 用户openid,当add_source=2时无需填写(不发送物流服务通知)
deliveryId string 快递公司ID,参见getAllDelivery
bizId string 快递客户编码或者现付编码
customRemark string 快递备注信息,比如"易碎物品",不超过1024字节
tagid number 订单标签id,用于平台型小程序区分平台上的入驻方,tagid须与入驻方账号一一对应,非平台型小程序无需填写该字段
sender Object 发件人信息
receiver Object 收件人信息
cargo Object 包裹信息,将传递给快递公司
shop Object 商品信息,会展示到物流服务通知和电子面单中
insured Object 保价信息
service Object 服务类型
expectTime number Unix 时间戳, 单位秒,顺丰必须传。 预期的上门揽件时间,0表示已事先约定取件时间;否则请传预期揽件时间戳,需大于当前时间,收件员会在预期时间附近上门。例如expect_time为“1557989929”,表示希望收件员将在2019年05月16日14:58:49-15:58:49内上门取货。说明:若选择 了预期揽件时间,请不要自己打单,由上门揽件的时候打印。如果是下顺丰散单,则必传此字段,否则不会有收件员上门揽件。

sender 的结构

属性 类型 默认值 必填 说明
name string 发件人姓名,不超过64字节
tel string 发件人座机号码,若不填写则必须填写 mobile,不超过32字节
mobile string 发件人手机号码,若不填写则必须填写 tel,不超过32字节
company string 发件人公司名称,不超过64字节
postCode string 发件人邮编,不超过10字节
country string 发件人国家,不超过64字节
province string 发件人省份,比如:"广东省",不超过64字节
city string 发件人市/地区,比如:"广州市",不超过64字节
area string 发件人区/县,比如:"海珠区",不超过64字节
address string 发件人详细地址,比如:"XX路XX号XX大厦XX",不超过512字节

receiver 的结构

属性 类型 默认值 必填 说明
name string 收件人姓名,不超过64字节
tel string 收件人座机号码,若不填写则必须填写 mobile,不超过32字节
mobile string 收件人手机号码,若不填写则必须填写 tel,不超过32字节
company string 收件人公司名,不超过64字节
postCode string 收件人邮编,不超过10字节
country string 收件人所在国家,不超过64字节
province string 收件人省份,比如:"广东省",不超过64字节
city string 收件人地区/市,比如:"广州市",不超过64字节
area string 收件人区/县,比如:"天河区",不超过64字节
address string 收件人详细地址,比如:"XX路XX号XX大厦XX",不超过512字节

cargo 的结构

属性 类型 默认值 必填 说明
count number 包裹数量, 需要和detail_list size保持一致
weight number 包裹总重量,单位是千克(kg)
spaceX number 包裹长度,单位厘米(cm)
spaceY number 包裹宽度,单位厘米(cm)
spaceZ number 包裹高度,单位厘米(cm)
detailList Array.<Object> 包裹中商品详情列表

cargo.detailList 的结构

属性 类型 默认值 必填 说明
name string 商品名,不超过128字节
count number 商品数量

shop 的结构

属性 类型 默认值 必填 说明
wxaPath string 商家小程序的路径,建议为订单页面
imgUrl string 商品缩略图 url
goodsName string 商品名称, 不超过128字节
goodsCount number 商品数量

insured 的结构

属性 类型 默认值 必填 说明
useInsured number 是否保价,0 表示不保价,1 表示保价
insuredValue number 保价金额,单位是分,比如: 10000 表示 100 元

service 的结构

属性 类型 默认值 必填 说明
serviceType number 服务类型ID,详见已经支持的快递公司基本信息
serviceName string 服务名称,详见已经支持的快递公司基本信息

返回值

Object

属性 类型 说明
orderId string 订单ID,下单成功时返回
waybillId string 运单ID,下单成功时返回
waybillData Array.<Object> 运单信息,下单成功时返回
errCode number 微信侧错误码,下单失败时返回
errMsg string 微信侧错误信息,下单失败时返回
deliveryResultcode number 快递侧错误码,下单失败时返回
deliveryResultmsg string 快递侧错误信息,下单失败时返回

waybillData 的结构

属性 类型 说明
key string 运单信息 key
value string 运单信息 value

errCode 的合法值

说明 最低版本
0 成功

异常

Object

抛出的异常

属性 类型 说明
errCode number 微信侧错误码,下单失败时返回
errMsg string 微信侧错误信息,下单失败时返回

errCode 的合法值

说明 最低版本
-1 系统失败
47001 格式错误
40003 openid无效
9300502 快递公司系统错误
9300501 快递侧逻辑错误,详细原因需要看 delivery_resultcode, 请先确认一下编码方式,python建议 json.dumps(b, ensure_ascii=False),php建议 json_encode($arr, JSON_UNESCAPED_UNICODE)
9300503 delivery_id 不存在
9300510 service_type 不存在
9300526 字段长度不正确
930561 参数错误
9300525 bizid未绑定
9300534 add_source=2时,wx_appid和当前小程序不同主体
9300535 shop字段商品缩略图 url、商品名称为空或者非法,或者商品数量为0
9300536 add_source=2时,wx_appid无效
9300531 bizid无效
930564 沙盒环境调用无配额
930559 沙盒环境openid无效

请求示例

const cloud = require("wx-server-sdk")
cloud.init()
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.logistics.addOrder({
        openid: "oABC123456",
        sender: {
          name: "张三",
          tel: "020-88888888",
          mobile: "18666666666",
          company: "公司名",
          country: "中国",
          province: "广东省",
          city: "广州市",
          area: "海珠区",
          address: "XX路XX号XX大厦XX栋XX",
          postCode: "123456"
        },
        receiver: {
          name: "王小蒙",
          tel: "020-77777777",
          mobile: "18610000000",
          company: "公司名",
          country: "中国",
          province: "广东省",
          city: "广州市",
          area: "天河区",
          address: "XX路XX号XX大厦XX栋XX",
          postCode: "654321"
        },
        shop: {
          wxaPath: "/index/index?from=waybill&id=01234567890123456789",
          imgUrl: "https://mmbiz.qpic.cn/mmbiz_png/OiaFLUqewuIDNQnTiaCInIG8ibdosYHhQHPbXJUrqYSNIcBL60vo4LIjlcoNG1QPkeH5GWWEB41Ny895CokeAah8A/640",
          goodsName: "微信气泡狗抱枕&微信气泡狗钥匙扣",
          goodsCount: 2
        },
        cargo: {
          count: 2,
          weight: 5.5,
          spaceX: 30.5,
          spaceY: 20,
          spaceZ: 20,
          detailList: [
            {
              name: "微信气泡狗抱枕",
              count: 1
            },
            {
              name: "微信气泡狗钥匙扣",
              count: 1
            }
          ]
        },
        insured: {
          useInsured: 1,
          insuredValue: 10000
        },
        service: {
          serviceType: 0,
          serviceName: "标准快递"
        },
        addSource: 0,
        orderId: "01234567890123456789",
        deliveryId: "SF",
        bizId: "xyz",
        customRemark: "易碎物品"
      })
    return result
  } catch (err) {
    return err
  }
}

返回示例

下单成功

{
  "orderId": "01234567890123456789",
  "waybillId": "123456789",
  "waybillData": [
    {
      "key": "SF_bagAddr",
      "value": "广州"
    },
    {
      "key": "SF_mark",
      "value": "101- 07-03 509"
    }
  ],
  "errMsg": "openapi.logistics.addOrder:ok"
}

下单失败

{
  "errCode": 9300501,
  "errMsg": "openapi.logistics.addOrder:fail delivery logic fail",
  "deliveryResultcode": 10002,
  "deliveryResultmsg": "客户密码不正确"
}


阅读全文
以上是名动网为你收集整理的微信小程序用法 微信小程序 小程序使用·addOrder全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 名动网 mdwl.vip 版权所有 联系我们