Creating orders through the API
You can create orders on your ShopWired account using the orders endpoint in the ShopWired API, described here. This allows external systems to generate orders programmatically for use cases like integration with third-party apps, fulfilment systems, or manual order creation tools.
However, there are a number of limitations and missing features you should be aware of when using this endpoint. In this guide, we outline what is and isn’t supported, and where relevant, provide suggested workarounds.
Order creation limitations
Voucher codes
- The API does not support applying voucher codes directly
- No validation of voucher input is available
- No exclusions (e.g. product/category-specific) are taken into account
- Voucher discounts must be calculated manually and applied as custom line pricing
Workaround: Build a local basket system that simulates voucher logic and applies a discount manually to the product or delivery cost.
Gift cards
- There is no API support for validating or applying gift cards
- Gift card balances cannot be checked
- Invalid codes are not rejected
Workaround: Gift cards must be applied through the ShopWired admin or checkout. Not suitable for API-based order creation unless logic is duplicated.
Delivery rates
- The API does not expose:
- Maximum basket weight or price limits
- Country lists included in the "rest of world" zone
- Delivery rate exclusions
- Special shipping settings (e.g. product-specific shipping options)
- Postcode filtering
Workaround: Import delivery rate data into your system and replicate delivery logic manually. A manual sync button can be used to reimport rates when they change.
Custom shipping costs
- The API requires a delivery rate to be supplied even if all products have individual shipping charges
- Item-level shipping charges are not automatically applied
- Shipping voucher codes are not processed correctly in combination with product-specific rates
Workaround: Manually calculate combined shipping from product-specific rates and submit a custom delivery rate object in the payload.
VAT and tax
- The API does not expose:
- Whether the account is VAT registered
- Which VAT calculation mode is in use
- Per-product custom VAT rates
Workaround: VAT must be estimated manually based on the business's known tax status. The API prices are exclusive of VAT.
Product choice values
- The API requires the use of choice IDs (not choice value IDs) when creating an order
- These IDs are returned by the
/v1/products/{product_id}/choices
endpoint
Workaround: Fetch choice IDs in advance and store them locally to use in the order payload.
Product customisation fields
- The API does not provide a field for sending customisation fields on order creation
Workaround: Include customisation field values in the order product comments
field using this format:
Field 1 name: value | Field 2 name: value | Additional comments
This mimics the format used by the ShopWired platform.
Customer addresses
- Only the primary customer address is available via the API
- The customer’s full address book is not accessible
Workaround: Store customer addresses in your system or create a local copy synced from ShopWired's admin exports if needed.
Negative stock
- By default, orders cannot be created that would reduce stock below zero
Workaround: To support back orders, the system must check if back orders are allowed and whether the limit has been reached. If so, subtract stock even if this results in a negative quantity.
Requested delivery date
- There is no confirmed format for submitting a
deliveryDate
value via the API
Workaround: Await platform clarification on the correct format, or omit the field until supported.
Admin-only features not supported
- The API does not support:
- Creating orders with custom product prices
- Setting a custom delivery rate name and value
- Applying VAT relief flags
- Displaying the exact VAT breakdown that will be shown on the platform
- Creating orders with product quantities exceeding available stock unless back order logic is handled externally
Recommendations
- Before using the API for order creation, confirm whether all required pricing, shipping, and tax logic can be replicated externally
- If full control is needed over order construction (e.g. vouchers, custom pricing), consider building a full-order interface with embedded business logic and using the API as a submission point only
- Always test extensively on a staging account to avoid live data inconsistencies