Skip to main content
This section covers working with orders between your system and Base.com via API. The vast majority of integrations work in the direction out of Base — you download orders that originated from an e-shop, a marketplace, or were entered manually in the panel, and push them into your own ERP, warehouse, or accounting system.

Where an order comes from

Every order has an order_source field that tells you which channel created it. Common values include:
  • "shop" — a connected e-shop
  • "personal" — added manually in the Base panel
  • "order_return" — a return order
  • Marketplace codes such as "allegro", "amazon", "ebay", "ceneo", "emag", and others
The full list of sources configured on a given account, along with their numeric IDs, is returned by getOrderSources.

Confirmed vs. unconfirmed orders

This is the single most important concept in the entire order API. Getting it wrong is the most common cause of missing or incomplete orders in external systems.
Base distinguishes between two states for every order:
  • Unconfirmed (confirmed: false) — on some marketplace channels (typically Alza, Allegro), an order first appears as an incomplete “draft”. You can see the line items, but not necessarily the full address, price, or shipping method — data may still change, and the order may be cancelled before it is ever confirmed.
  • Confirmed (confirmed: true, date_confirmed populated) — the marketplace has sent confirmation and Base has filled in all remaining details. From this point the order should not change materially and is safe to persist into an external system.
This distinction is central to correctly downloading orders. See Downloading Orders for the recommended sync pattern that builds on it.

Order statuses

Independently of the confirmed/unconfirmed state, every order also carries a user-defined status (order_status_id) — for example: New Order, To Be Shipped, Shipped, Delivered, Cancelled. Every account configures its own statuses, and their behavior (sending tracking numbers, forwarding invoices, notifying the marketplace) is driven by Automatic Actions. Status IDs are account-specific — never hardcode them without verifying the exact values on the target client account. See Statuses for details on reading, writing, and mapping statuses safely.

What’s in this section

Downloading Orders

How to periodically pull orders with getOrders and paginate safely using date_confirmed_from.

Statuses

Reading and writing statuses, the two-way sync pattern, and handling cancellations.

Shipping Labels

Tracking numbers and carrier label generation.

Invoices

Issuing an invoice in Base or attaching one from your ERP.

Extra Fields

Custom fields attached to an order.

Automation & Webhooks

Catching events like cancellations and status changes in real time.