REST API: Orders & E-commerce
Manage orders from webshops and custom systems. Track order status, shipping, and payments via the REST API.
Overview
The Orders API lets you create, update, and list orders from any external system — whether you use Shopify, WooCommerce, Lightspeed, Magento, or a custom webshop. Orders appear in your Bugalou dashboard and can trigger automations. You need an API key to authenticate.
Authentication
Include your API key in every request:
X-API-Key: bg_live_your_key_hereAuthorization: Bearer bg_live_your_key_here
Create or Update an Order
POST https://app.bugalou.com/api/v1/orders
X-API-Key: bg_live_your_key_here
Content-Type: application/json
{
"platform": "custom",
"orderNumber": "ORD-12345",
"orderStatus": "processing",
"customerEmail": "klant@voorbeeld.nl",
"customerName": "Jan de Vries",
"items": [{"name": "Product A", "quantity": 1, "price": "29.99"}],
"total": "29.99",
"currency": "EUR",
"paymentStatus": "paid",
"paymentMethod": "iDEAL",
"trackingCode": "3SPOST1234567",
"trackingUrl": "https://postnl.nl/track/3SPOST1234567"
}
Orders are upserted — sending the same orderNumber + platform combination updates the existing order instead of creating a duplicate.
List Orders
GET https://app.bugalou.com/api/v1/orders?page=1&limit=20 X-API-Key: bg_live_your_key_here
Zapier Webhook
POST https://app.bugalou.com/api/zapier/order X-API-Key: bg_live_your_key_here Content-Type: application/json
Same fields as above. Use this endpoint when integrating via Zapier.
Order Fields Reference
| Field | Type | Required | Description |
|---|---|---|---|
platform | string | Yes | Platform name (e.g. "custom", "shopify", "woocommerce", "lightspeed") |
orderNumber | string | Yes | Unique order identifier |
orderStatus | string | Yes | "processing", "shipped", "delivered", "cancelled" |
customerEmail | string | No | Customer email address |
customerName | string | No | Customer full name |
items | JSON array | No | [{name, quantity, price}] |
total | string | No | Order total amount |
currency | string | No | "EUR", "USD", etc. |
trackingCode | string | No | Shipping tracking code |
trackingUrl | string | No | Tracking URL |
paymentStatus | string | No | "paid", "pending", "refunded", "failed" |
paymentMethod | string | No | "iDEAL", "creditcard", "PayPal" |
Response Format
Success: {"success": true, "order": {...}}
Error: {"error": "Invalid or expired API key"} (401/403)
Platform Guides
For built-in platform integrations, see:
Automation Triggers
Orders created via the API can automatically trigger automation templates — for example sending a confirmation email or WhatsApp message when a new order arrives.