Orders
Orders ask Bigblue to pick, pack and ship items to a customer.
Operations
Create order
Send an order to Bigblue for fulfillment.
Update order
Change an order before it's picked.
Get order
Get an order with its status and tracking.
List orders
List orders by country, date or integration.
Cancel order
Cancel an order before it ships.
List order tickets
List the support tickets for an order.
Order statuses
What each status means.
The Order object
idstring^([A-Za-z0-9]{12})$external_idstringstorestringsubmit_timestringlanguagestringcurrencystringshipping_addressShippingAddressDelivery address and customer contact details.
billing_addressBillingAddressBilling address. Defaults to the shipping address.
line_itemsOrder.LineItem[]shipping_pricestringshipping_taxstringadditional_taxstringadditional_discountstringtotalstringshipping_methodstringpickup_pointPickupPointPickup point, if the parcel isn't delivered to the address.
statusOrder.StatusStatus code and message. Read-only. Not included in the create response.
tracking_numberstringtracking_urlstringshipped_packagesOrderPackage[]Contents of each packed parcel. Read-only.
b2bbooleanb2b_fulfillment_instructions_templatestringB2B instructions template applied to the order.
external_order_urlstringLink to the order in your system, shown to Bigblue support.
customer_order_idstringYour customer's purchase order (PO) number, passed to the carrier.
Order.LineItem
productstringrequired^[A-Za-z0-9]{4}(BU)?-[A-Za-z0-9]{6}-[A-Za-z0-9]{4}$quantityintegerrequiredunit_pricestringrequiredunit_taxstringrequireddiscountstringlot_codestringPick from this lot. Can't be used with lot_expiration_days_range_rule.
lot_expiration_datestringlot_code.lot_expiration_days_range_ruleLotExpirationDaysRangeRulePick from a lot whose remaining shelf life is in this range. Can't be used with
lot_code.
lot_expiration_timestringlot_expiration_date instead.LotExpirationDaysRangeRule
minimum_days_to_expirationintegerMinimum days until the lot expires. 0 means no minimum.
maximum_days_to_expirationintegerMaximum days until the lot expires. 0 means no maximum.
For example, set minimum_days_to_expiration to 120 for a B2B customer that
needs at least 120 days of shelf life.
ShippingAddress
first_namestringlast_namestringcompanystringphonestringemailstringline1stringrequiredline2stringline3stringline4stringcitystringrequiredpostalstringstatestringcountrystringrequiredValues longer than these limits are rejected, not shortened.
BillingAddress
Same fields as ShippingAddress without phone. All fields are optional. Leave
the object out to use the shipping address.
PickupPoint
idstringrequireddisplay_namestringpostalstringstatestringcountrystringrequiredcarrier_servicestringrequiredBigblue carrier service for the pickup point. If it doesn't match the point, fulfillment fails.
OrderPackage
Read-only. Describes a packed parcel.
idstringtracking_numberstringweightintegeritemsOrderPackage.Item[]OrderPackage.Item
productstring^[A-Za-z0-9]{4}(BU)?-[A-Za-z0-9]{6}-[A-Za-z0-9]{4}$quantityintegerlot_codestringlot_expiration_datestringYYYY-MM-DD.lot_expiration_timestringlot_expiration_date instead.A bundle line stays a bundle in line_items. Its components are listed in
shipped_packages[].items.
Prices
Prices are decimal strings in the order's currency. unit_price doesn't include
tax: tax is sent separately in unit_tax, shipping_tax and additional_tax.
Bigblue calculates the total:
total = sum(unit_price × quantity)
+ shipping_price
+ shipping_tax + additional_tax + sum(unit_tax × quantity)
− additional_discount − sum(discount)A line's discount is the total for that line, not per unit. The total is never
below 0.
Bigblue stores tax and discount as single amounts. When you read an order,
shipping_tax and additional_tax are split out again. If the order was edited
in the Bigblue app and the amounts no longer add up, the difference is returned as
additional_tax and shipping_tax is "0".
Automatic fulfillment
The integration of your API key decides whether orders go to the warehouse
automatically. See Authentication. When it's
on, the order ships from the integration's primary warehouse. The
auto_fulfill_* fields can change the warehouse, priority and timing for one
order. When it's off, those fields are ignored.
Reading orders
GetOrder and
ListOrders return the status, packages and
tracking. CreateOrder doesn't, because they don't exist yet.