Skip to content

Order Tracking

POST/channel/api/v1/order/tracking

Auth: request-token (channel_partner)

Return logistics tracking events for an order. You may query by either order_id (preferred) or tracking_number. The partner's shop scope is enforced in both cases.

Request Headers

HeaderRequiredDescription
request-tokenyesChannel partner app token
Content-Typeyesapplication/json

Request Body

One of the following must be provided:

FieldTypeRequiredDescription
order_idintegerno*Order ID (preferred). Must not be provided together with tracking_number
tracking_numberstringno*Tracking number. Used to reverse-lookup the order

Response

json
{
  "code": 200,
  "msg": "success",
  "data": [
    {
      "id": 1,
      "tracking_number": "1Z999AA10123456784",
      "carrier": "UPS",
      "event_time": "2026-08-13 14:30:00",
      "event_description": "Shipped",
      "event_location": "Munich, DE",
      "raw_data": {}
    },
    {
      "id": 2,
      "tracking_number": "1Z999AA10123456784",
      "carrier": "UPS",
      "event_time": "2026-08-13 10:00:00",
      "event_description": "Package received by carrier",
      "event_location": "Shenzhen, CN",
      "raw_data": {}
    }
  ]
}

Behavior Notes

  • By order_id: The order is loaded and its shop_id is verified against the partner's bound set. Events are returned via LogisticsTrackingRepo.
  • By tracking_number: The system looks up the order package, resolves the order, and verifies shop scope. If the tracking number does not exist or the order is out of scope, an empty array is returned (not a 403).
  • pickup_no is not supported — it can link orders across shops and has no clear single-partner semantics.

Error Codes

codeMeaning
909Missing/invalid token, disabled app, or non-channel_partner type
403order_id points to an order outside the partner's shop scope
200 (empty)tracking_number not found, or no events yet

cURL

cURL
curl -X POST 'https://apigate.e2c-energy.com/channel/api/v1/order/tracking' \
  -H 'request-token: YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "order_id": 456
}'