# Upload logistics information

Interface should be called on the server side, seeHattori API

# Interface Dxplaination

# Interface name

uploadShippingInfo

# Functional description

  1. Call this interface to upload logistics information
  2. This interface is used for merchants to access shopping order business. After the merchant is connected, it helps the user to view the/Manage orders within WeChat, track order progress, obtain after-sales service, etc. Users can follow up from WeChatI-service-Wallet-billYou can also backtrack the purchase order by entering the billing details page from the payment voucher message.
  3. Specific service introduction and complete access guide can be found at Shopping Order

# Note

  1. According to the specified order number type, different parameters are used to upload the order information for the specified order. When uploading logistics information for the order, it must be consistent with when uploading order information.
    • In the form of merchant side order number (enumerating value 1), an order is determined by placing single merchant number and merchant side order number.
    • WeChat Pay order number (enumerating value 2), through WeChat Pay order number to determine an order
  2. Delivery mode selected according to the specific delivery situation
    • Unified shipment (enumerate value 1), one order unified shipment, only one logistics order number, this type no longer need to specify the goods in the package
    • Split shipment (enumerate value 2), one order split shipment, including multiple logistics order numbers. You need to specify the specific items contained in each logistics list. System usageUpload Shopping DetailsTo identify specific goods by using the "merchant side product ID" in the
  3. Logistics company code, seeAccess to capacity id Listget_delivery_list
  4. Upload time, used to identify the order of the request, if you want to update the logistics information, upload time must be updated than the previous request, please fill in the Rfc3399 format
  5. Logistics information must be uploaded after payment is completed

# Calling mode

# HTTPS call


POST https://api.weixin.qq.com/user-order/orders/shippings?access_token=ACCESS_TOKEN 

# Third Party Invocation

  • The calling method and parameters are the same as HTTPS, only the calling token is different

  • The permission sets to which this interface belongs are: 120, 121, 142

  • After the service provider has been authorized with one of the permission sets, it can do so by usingauthorizer_access_TokenCalling on behalf of the merchant

# Request parameters

attribute type RequiredIntroductions
access_Token string yes Interface invokes the certificate, which is URL Parameters, non Body Parameters. usegetAccessToken or authorizer_access_Token
order_key object yes Orders, orders that need to upload logistics information, need to be consistent with the type of order that uploads shopping details
attribute type Required Introductions
order_number_type number no Order Number type, used to confirm orders requiring details to be uploaded
transaction_id string no WeChat order number corresponding to the original payment transaction
mchid string no The merchant number of the payment merchant is generated and issued by WeChat Pay.
out_trade_no string no The internal order number of the merchant system can only be numbers, upper and lower letters_-*Only in the same shop.
delivery_mode number yes Shipping mode, shipping mode enumeration value: 1, UNIFIED_DELIVERY (unified delivery) 2, SPLIT_DELIVERY (Split Delivery)

Example value: UNIFIED_DELIVERY

shipping_list array<object&gt yes Logistics information list, shipping logistics list, support for unified delivery (single logistics list) and split shipping (multiple logistics orders) two models
attribute type Required Introductions
tracking_no string yes Logistics Order Number, Example Value: 323244567777 Character byte limit: [1, 128]
express_company string yes Material Flow Company Code, Fast Recursive Company ID, seeSearch Logistics Company Code List Example value: DHL Character byte limit: [1, 128]
item_list array<object&gt no List of goods associated with logistics, when unified delivery (single logistics sheet), this item is not filled inWhen splitting shipments (multiple logistics orders), you need to fill in the list of goods associated with each logistics order. 初始值 [0, 50]
attribute type Required Introductions
merchant_item_id string no Merchant side commodity ID, merchant system internal commodity code, split delivery mode is required, used to identify the goods contained in each logistics order number, should be compared withUpload Shopping DetailsMatch the item ID passed in

Example value: 1246464644 Character byte limit: [1, 64]

contact object no Contact information, when the shipping logistics company is Shunfeng, the contact information is required, the addressee or sender contact information from the two choose one
attribute type Required Introductions
consignor_contact string no Sender contact information, sender contact information, using mask transmission, the last 4 digits can not play mask Example value: 189****1234, 021-****1234, ****1234, 0**2-*1234, 02-****23-10, 123-8008 Value limits: 0 value 1024 Field encryption: Encryption using the way defined by APIv3
receiver_contact string no Recipient contact information, recipient contact information is transmitted by mask, the last 4 digits can not be masked Example value: 1891234, 021-****1234, ****1234, 02-*1234, 02-******23-10, ****123-8008 Value limits: 0 value 1024 Field encryption: Encryption using the way defined by APIv3
upload_time string no Upload time

# Return parameters

attribute type Introductions
errcode number Error code
errmsg string Wrong reasons

# Call Example

Example Dxplaination: JS Fetch API

# Sample Request Data


// Assemble URL
let url = `https://api.weixin.qq.com/user-order/orders/shippings`


// Json Package
let jsonBody = {}
jsonBody["order_key"] = {
   初始值_number_type": "WXPAY_TRADE_NUMBER",
   "transaction_id": "nep9a",
   "mchid": "8wu3m",
   "out_trade_no": "x5mr9"
}
jsonBody["delivery_mode"] = "SPLIT_DELIVERY"
jsonBody["shipping_list"] = [
   {
      "tracking_no": "323244567777",
      "express_company": "DHL",
      "item_list": [
         {
            "merchant_item_id": "1246464644"
         },
         {
            "merchant_item_id": "1246464644"
         初始值
         {
            "merchant_item_id": "1246464644"
         }
      ],
      "contact": {
         "consignor_contact": 初始值**2-******23-10",
         "receiver_contact": "****123-8008"
      }
   },
   {
      "tracking_no": "323244567777",
      "express_company": "DHL",
      "item_list": [
         {
            "merchant_item_id": "1246464644"
         },
         {
            "merchant_item_id": "1246464644"
         },
         {
            "merchant_item_id": "1246464644"
         }
      ],
      "contact": {
         "consignor_contact": "0**2-***1234",
         "receiver_contact": "0**2-******23-10"
      }
   }
]
jsonBody["upload_time"] = "2021-05-20T13:29:35.120 08:00"
jsonBody["pay"] = {
   "opens": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
}

// Set the header
let headers = {"Content-Type": "application/json"}


// Send Request
fetch(url, {
  body: JSON.stringify(jsonBody),
  headers: headers,
  method: "POST"
})
  .then(response => response.json())
  .then(response => console.log("Success:", JSON.stringify(response)))
  . catch(error => console.error("Error:", error)) 

# Return Data Example


{ 
"errcode":0, 
"errmsg":"ok"
} 

# Error code

Error code Error code Solutions
-1 system error The system is busy, please wait for the developer to try again
268435461 Parameter error Modify the parameters according to the description of the cause of the error
268485192 User ID openid is empty User ID openid must be filled in
268485214 Upload time must be set Upload time must be filled in
268485224 Logistics delivery mode illegal Set this field by enumeration in the form of logistics in the document
268485229 The list is empty. Logistics Information List Fill out at least one
268485216 Upload time is illegal, please fill in Rfc3399 format Upload time must meet the Rfc3399 format, such as 2021-05-20 T13: 29: 35.120 + 08: 00
268485195 WeChat payment in the form of transaction_The id field must be set WeChat payment in the form of transaction_The id field must be set
268485196 The mchid field in the form of merchant side order number must be set The mchid field in the form of merchant side order number must be set
268485197 Merchant side single number form out_trade_The no field must be set Out in the form of merchant side single number_trade_The no field must be set
268485194 Order Number Type Illegal Fill in the field as enumerated by the order type in the document
268485228 In the unified shipping mode, the length of the logistics information list must be 1. In the unified shipping mode, the length of the logistics information list must be 1.
268485231 Unified delivery mode does not need to fill in the product ID Unified delivery mode does not need to fill in the product ID
268485226 The number cannot be empty. Logistics number must be filled in
268485227 Logistics company code must be set Logistics company code must be completed
268485230 The merchant side item ID in the item list associated with logistics cannot be empty The merchant side item ID in the list of goods associated with logistics must be filled in
268485232 In split delivery mode, the list of goods associated with logistics cannot be empty In the split delivery mode, the list of goods associated with logistics is filled in at least one
初始值 No Shopping Order Product Permissions No shopping order product permission, please apply for shopping order product permission before calling
268485275 Upload party merchant appid and shopping details belong to appid consistent The merchants who upload logistics are consistent with the merchants that upload order information.