Base only reacts to changes when you explicitly configure it to. Automatic Actions are “IF X happens, THEN do Y” rules you set up directly in the Base panel — both globally and within specific integration settings (for example, Integrations → Allegro → Order Statuses). Choosing the right mechanism for your integration determines how quickly and reliably your system learns about important order events.
Three ways to catch a change on an order
1. Automatic Action in Base
Create a rule such as “if a cancellation request arrives from the marketplace, set status to Cancelled.” The action runs entirely on Base’s side, so no extra logic is required in your own system. This is the simplest approach to maintain and works well for straightforward workflows like auto-assigning statuses or triggering internal notifications.
2. Polling getJournalList
getJournalList returns a list of order events from the last 3 days, including order confirmation and cancellation events.
getJournalList is disabled by default. Enable it in the Base panel under Profile → API before using it.
Poll this endpoint regularly to discover events your system may have missed — it acts as a reliable catch-up mechanism alongside webhooks.
3. Webhook (“Call URL” action)
A webhook is a “Call URL” Automatic Action. When the watched event occurs, Base immediately calls your defined URL and passes the order ID along with any optional parameters you specify (for example, &cancel=1) or values pulled directly from the order — similar to variables available in email templates.
This is usually the fastest way to catch an event in real time without polling.
Most common use case: catching a cancellation
A customer requests to cancel an order on a marketplace → Base records the cancellation → you need to find out before you ship the order unnecessarily.
The recommended solution combines all three approaches:
- An Automatic Action directly sets the order status to Cancelled or Rejected as soon as the cancellation request arrives.
- A webhook notifies your system immediately so you can halt fulfilment. Your handler can then call
setOrderStatus to update the order status in Base programmatically.
- A
getJournalList poll catches any events the webhook may have missed.
See Order Statuses for guidance on which status to assign to cancelled or rejected orders.
Delivering tracking numbers and invoices to the marketplace
Forwarding a tracking number or invoice back to the order source is often tied to a specific status and is not instant. Base processes these updates in batches, typically at around:
- 9:00
- 10:00
- 13:00
- 16:00
- 23:00
(± a few minutes each)
For Alza integrations, the cut-off time (COT) setting also applies and may affect when data is forwarded. Factor this into your fulfilment timing.
For full details on how tracking and invoice forwarding works, see Shipping Labels and Invoices.
Recommended approach for new integrations
Combine webhooks for fast reaction to critical events (such as cancellations) with regular getOrders and getJournalList polling as a safety net. If a webhook fails for any reason, your polling loop will still catch the event and keep your system in sync.
This two-layer strategy gives you both speed and resilience without relying on a single point of failure.