Orders
Send your orders to CONNEX and they land on the CONNEX order desk, ready to ship — exactly like a sale from a CONNEX Sale Page.
Feed an order
POST
/v1/ordersFeeds one order into your CONNEX account. Requires orders:write. The order is filed in the account your API key belongs to — there is no account field to set.
Order feedFrom your system to the CONNEX order desk
Quote first with Get rates and pass the chosen option's id as shipping.serviceId: CONNEX then preselects that service when the order is shipped. Weights are in grams and dimensions in cm, as in Get rates.
Body parameters
orderIdstringrequired- Your own order id — 1–80 characters of
A–Z a–z 0–9 . _ : -. You track the order by it later. currencystringrequired- ISO 4217, e.g.
THB. Every amount is in it. items[]arrayrequired- 1–100 lines:
sku,name,quantity(whole number) andunitPriceare required;weight(g, per unit),length/width/height(cm),hsCode,originCountry(ISO) andimageUrl(https) are optional. shippingAddressobjectrequiredname,phone,line1,cityandcountry(ISO alpha-2 or alpha-3) are required —phonefalls back tocustomer.phone, and carriers need it;company,line2,state,postalCodeare optional.customerobjectname,email,phone— the phone also stands in for a shipping address without one.shippingobjectserviceId(from Get rates),serviceNameandprice— what the buyer chose and paid.parcelobject- The packed box, when you know it:
weight(g),length,width,height(cm) — all four. totalsobjectshipping,tax,discount,total. The subtotal is computed from the lines; atotalthat doesn't equal subtotal + shipping + tax − discount is refused, rather than recorded wrong.paymentobjectmethod(e.g.CREDIT_CARD,COD) and your gateway'sreference.billingAddressobject- Same shape as shippingAddress. Defaults to it.
orderDatestring- ISO 8601. Defaults to now.
notesobjectgift,delivery,customer— printed for the warehouse.storeobjectnameandidof your shop, when one account sells through several. Defaults to your account name.iossNumberstring- Your EU IOSS registration, for EU deliveries.
| Status | Meaning |
|---|---|
201 | Received — the order is on its way to the CONNEX order desk. |
400 | The order is invalid. error says why and field names the field, e.g. items[0].quantity. |
422 | CONNEX could not create the order; error carries its reason. Fix and send again. |
503 | Order intake is briefly unavailable. Retry with backoff — retries are safe. |
curl https://api.connexglobal.co/v1/orders \
-H "Authorization: Bearer $CONNEX_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d @order.json{
"object": "order",
"orderId": "ORD-10432",
"connexOrderNo": "API-137971-ORD-10432",
"status": "received",
"total": { "amount": 2884, "currency": "THB" },
"items": 1
}Order ids & retries
CONNEX files your order as API-<account>-<orderId> — the connexOrderNo in the response, and what the order desk shows. The prefix keeps your ids from ever colliding with another account's.
- Retries are safe. Sending the same
orderIdagain creates nothing new — CONNEX keeps the first. After a timeout, just send it again. - Track it by your own id. Get tracking takes the
orderIdyou sent:/v1/tracking?refs=ORD-10432. - Changes go through CONNEX. A second send with different contents does not update the first — contact CONNEX to change or cancel an order already received.