Skip to main content

API - Create orders

Tom Higgs avatar
Written by Tom Higgs
Updated over a month ago

This guide is intended for customers with custom-built third-party API integrations. It provides an additional method for creating orders, rather than the standard approach. To create a new order via a custom API, you need to use the PUT /api/Order request. The order contains details about who it's being shipped to as well as the products that you want to ship. (3PL Only) Please be advised, we do a unique check on the SourceOrderID and Order Number against each individual 3PL client.


Warehouse - required

When creating an order you need to specify the warehouse you want to create the order against. You can do this by name or ID, for example:

  • WarehouseID: 3.

  • Warehouse: Main Warehouse.

You can find a full list of available warehouses using the GET /api/Warehouse request.


Country - required

You need to specify the country you're shipping the order to. You can do this by Name or ID, for example:

  • CountryID: 1.

  • Country: UK.

The country can be ISO 2 or 3 digit codes or country names.
​
You can find a full list of countries using the GET /api/RefData/Countries request.


CourierService - required

You need to specify how the order is sent. You can do this using a generic term, which you can map to rules or a specific courier ID or name, for example:

  • CourierServiceID: 12.

  • CourierService: NEXT DAY.

  • CourierService: DPD NEXT DAY.

You can find a full list of courier services using the GET /api/Courier/Services request.


Channel - optional

When creating an order you can specify a channel that the order came from, for example, website, wholesale, retail. You can do this by name or ID, for example:

  • ChannelID: 1.

  • Channel: Retail Website.


Order items - required

You need to specify a list of items that are on the order. When specifying the product, you can either use the SKU or the exact ProductId. Please note, if you don't provide unit price for the products on the order, it won't pull the product price from Mintsoft the unit price will be set to zero.

For SKU

"OrderItems": [{  "SKU": "MY-PRODUCT_SKU",  "Quantity": 1,  "UnitPrice": 10,  "UnitPriceVat": 2, }]

For ProductId

"OrderItems": [{  "ProductId": 1253,  "Quantity": 1,  "UnitPrice": 10,  "UnitPriceVat": 2, }]

Full API Order example

{  "OrderItems": [{  "SKU": "TEST-PRODUCT-1",  "Quantity": 1,  "UnitPrice": 10,  "UnitPriceVat": 2  }],  "OrderNumber": "MY ORDER NUMBER",  "ExternalOrderReference": "Additional Order Number",  "Title": "MR",  "CompanyName": "MY COMPANY NAME",  "FirstName": "FIRST NAME",  "LastName": "LAST NAME",  "Address1": "First Line Address",  "Address2": "Second Line Address",  "Address3": "Third Line Address",  "Town": "Town or City",  "County": "County or State",  "PostCode": "PostCode or ZipCode",  "Country": "GB",  "Email": "my@email.com",  "Phone": "01245123456",  "Mobile": "07979000000",  "CourierService": "Next Day",  "Warehouse": "Main Warehouse",  "Currency": "GBP",  "Comments": "Please pack in a safe box",  "DeliveryNotes": "Delivery Message",  "GiftMessages": "Gift Message",  "OrderValue": 12 }
Did this answer your question?