Create order
Send an order to Bigblue for fulfillment.
/ bigblue.storeapi.v1.PublicAPI/ CreateOrderCreates an order. If you don't send an id, Bigblue generates one. Send your own
id so that retries can't create duplicates.
The response doesn't include a status, packages or tracking yet. Use
GetOrder to read them later.
Request body
orderOrderFormrequiredforce_merge_line_itemsbooleandefault falseMerge lines with the same product or bundle into one line.
OrderForm
Delivery address. Needs line1, city and country.
shipping_pricestringrequired"0" for free shipping.currencystringrequiredlanguagestringrequiredidstring^([A-Za-z0-9]{12}|)$external_idstringYour own order reference. To find the order by it later, use the
external_order filter on ListTrackings.
shipping_taxstringadditional_taxstringadditional_discountstringshipping_methodstringName of the shipping method the customer chose. Shown in the app.
billing_addressBillingAddressDefaults to the shipping address.
pickup_pointPickupPointDeliver to a pickup point. Needs id, country and carrier_service.
b2bbooleandefault falseb2b_fulfillment_instructions_templatestringB2B instructions template set up in the Bigblue app. Requires b2b: true.
external_order_urlstringcustomer_order_idstringYour customer's purchase order (PO) number. Up to 20 ASCII characters. Passed to the carrier with the shipment.
auto_fulfill_warehousestringShip from this warehouse instead of the integration's primary warehouse.
^[A-Za-z]{2}-[A-Za-z]{3}-[0-9]{3}$auto_fulfill_reservation_priorityFulfillmentPrioritydefault FULFILLMENT_PRIORITY_UNSPECIFIEDFULFILLMENT_PRIORITY_LOW, FULFILLMENT_PRIORITY_NORMAL or
FULFILLMENT_PRIORITY_HIGH.
auto_fulfill_schedule_timestringauto_fulfill_schedule_holdbooleandefault falseHold the order until you release it. Overrides auto_fulfill_schedule_time.
auto_fulfill_* fields need automatic fulfillment
These fields only apply when Auto-fulfill orders is on for your API key's integration. Otherwise they're ignored and the order waits until it's sent from the app.
B2B templates need b2b: true
Sending b2b_fulfillment_instructions_template without b2b: true fails with
invalid_argument.
PO numbers must be ASCII
A customer_order_id longer than 20 characters fails with invalid_argument. One
with accented or other non-ASCII characters is accepted, but fails Bigblue's order
checks: the order isn't prepared until you correct it with
UpdateOrder.
Choosing a lot
You can set lot_code or lot_expiration_days_range_rule on a line, but not
both. If you set neither, the warehouse picks the lot that expires first.
Responses
orderOrderThe new order with id, store and submit_time. Doesn't include status,
shipped_packages or tracking.
{
"code": "invalid_argument",
"msg": "order.shipping_address.line1 value length must be at least 1 characters",
"meta": { "argument": "order.shipping_address.line1" }
}{ "code": "not_found", "msg": "product BGBL-ESPSRT-XLRG not found" }{ "code": "already_exists", "msg": "order BGBL0K3M9XQ2 already exists" }If you're retrying with your own ID, the first request succeeded.
/ bigblue.storeapi.v1.PublicAPI/ CreateOrder{
"order": {
"id": "BGBL0K3M9XQ2",
"external_id": "web-10231",
"language": "fr",
"currency": "EUR",
"shipping_address": {
"first_name": "Camille",
"last_name": "Bernard",
"email": "camille@example.com",
"phone": "+33612345678",
"line1": "12 rue de Rivoli",
"city": "Paris",
"postal": "75004",
"country": "FR"
},
"line_items": [
{
"product": "BGBL-ESPSRT-SMAL",
"quantity": 2,
"unit_price": "24.90",
"unit_tax": "4.15",
"discount": "5.00"
}
],
"shipping_price": "4.90",
"shipping_tax": "0.82",
"shipping_method": "Standard"
}
}{
"order": {
"id": "BGBL0K3M9XQ2",
"external_id": "web-10231",
"store": "i_bgbl0001",
"submit_time": "2026-03-14T09:30:00Z",
"language": "fr",
"currency": "EUR",
"shipping_address": {
"first_name": "Camille",
"last_name": "Bernard",
"email": "camille@example.com",
"phone": "+33612345678",
"line1": "12 rue de Rivoli",
"city": "Paris",
"postal": "75004",
"country": "FR"
},
"line_items": [
{
"product": "BGBL-ESPSRT-SMAL",
"quantity": 2,
"unit_price": "24.9",
"unit_tax": "4.15",
"discount": "5"
}
],
"shipping_price": "4.9",
"shipping_tax": "0.82",
"additional_tax": "0",
"additional_discount": "0",
"total": "58.82",
"shipping_method": "Standard"
}
}Total: 2 × 24.90 + 4.90 shipping + 9.12 tax (2 × 4.15 + 0.82) − 5.00 discount = 58.82. Amounts come back without trailing zeros.
{
"order": {
"external_id": "web-10232",
"language": "fr",
"currency": "EUR",
"shipping_address": {
"first_name": "Camille",
"last_name": "Bernard",
"line1": "12 rue de Rivoli",
"city": "Paris",
"country": "FR"
},
"pickup_point": {
"id": "056321",
"display_name": "Tabac de la Bastille",
"postal": "75011",
"country": "FR",
"carrier_service": "mondialrelay-fr-pp"
},
"line_items": [
{
"product": "BGBL-ESPSRT-SMAL",
"quantity": 1,
"unit_price": "24.90",
"unit_tax": "4.15"
}
],
"shipping_price": "3.50"
}
}{
"order": {
"external_id": "po-88120",
"customer_order_id": "PO-4500018812",
"language": "en",
"currency": "EUR",
"b2b": true,
"b2b_fulfillment_instructions_template": "tpl_retail_eu",
"shipping_address": {
"company": "Retail Supply Chain",
"line1": "Route de Paris",
"city": "Vitry-sur-Seine",
"postal": "94400",
"country": "FR"
},
"line_items": [
{
"product": "BGBL-COFBEA-1KGX",
"quantity": 480,
"unit_price": "11.20",
"unit_tax": "0.62",
"lot_expiration_days_range_rule": {
"minimum_days_to_expiration": 120
}
}
],
"shipping_price": "0",
"auto_fulfill_warehouse": "FR-CDG-001",
"auto_fulfill_reservation_priority": "FULFILLMENT_PRIORITY_HIGH"
}
}