Standard Order Details Export API

Standard Order Details Export API

Custom Gateway have an API which can be called to gather order details from the OMS in JSON format. This function is available to users who have an Order Manager subscription or higher and is not available to OMS lite or free users.

To utilise this you need to have an OMS OAUTH use set up and tied to the companies that you need to report on. If you do not have an OAUTH user you can request one by emailing support@custom-gateway.com. When you have this you will be provided with a Client ID and client secret that you can use to authenticate on the API endpoint.


An example authentication request is below where the 2 red portions would be where you add your own credentials from the steps above (note running this requires you to have curl and jq installed.

TOKEN=`curl "https://oauth.custom-gateway.net/token%22 -d"client_id=**REDACTED**&client_secret=**REDACTED**&grant_type=client_credentials&scope=export-api.order-item-details" | jq .access_token -r` 

Once you have authenticated and have obtained a token you can run the API endpoint with filters.




Current possible filters and options for this endpoint which are added to the URL are as follows




&filter[status:in]=

This controls which OMS order status' the API will return data for. This can be comma seperated to add multiple status' into the request

Status Code
Status Name
Description
0
Unknown
The status of the order is unknown.
1†
Received
The order has been received by Custom Gateway.
2
Unused
Unused
4
In Production
(Only when batching is enabled) At least a part of the order has been downloaded by a fulfilment operative.
8
Dispatched
The order has been fully dispatched.
32
QC Query
The order has a QC query against it.
64
Dispatched (Retailer Notified)
Dispatch confirmation has been explicitly pushed to the retailer by Custom Gateway.
128
Cancelled
The order has been cancelled.
256
On Hold
The order is on hold.
512
Sent to Supplier
The order has been routed to an appropriate supplier.
513
Received by Supplier
The order has been confirmed as received by an appropriate supplier.
515
Sent to Shipper
The order details have been sent to a shipment courier (such as UPS or DPD).
516
Received by Shipper
The order details have been confirmed by a shipment courier.

for example &filter[status:in]=8,516 would return all orders in "Dispatched" and "Received by Shipper"




&filter[completion_datetime:gt]=

This filter allows you to export only orders with a completion timestamp so those that have been dispatched inside OMS. You can control this by adding date time in the following format

2020-03-06%2012:00:00

where "%20" is an encoded space character so the true format is "Y-m-d H:i:s"

full example of this filter below
&filter[status:in]=8,516&filter[completion_datetime:gt]=2020-03-06%2012:00:00




&options[includeProductOwner]=

This enables the product owner fields to be in the export if you are using these on your products.

Accepted value is "1" which means enabled

so if you want to call this data an example of the full parameter is
&options[includeProductOwner]=1




&options[includeProductPrice]=

This option allows the report to pull columns for the product pricing from CPP as well as the standard order pricing from OMS, useful if you are for example holding cost prices in CPP you want to report against.

Accepted value is "1" which means enabled

so if you want to call this data an example of the full parameter is
&options[includeProductPrice]=1





&options[includeProductEcommerceInfo]=

This option allows the report to pull columns for the product ecommerce data from CPP

Accepted value is "1" which means enabled

so if you want to call this data an example of the full parameter is
&options[includeProductEcommerceInfo]=1


&options[includeAttributes]=

This enables the Order Attribute fields to be in the export if you are using these.

Accepted value is "1" which means enabled

so if you want to call this data an example of the full parameter is
&options[includeAttributes]=1






Enabling all options would result in the fields below being available in your JSON respons

id
ref
external_ref
company_ref_id
secondary_company_ref_id
shipping_address_1
shipping_address_2
shipping_address_3
shipping_address_4
shipping_address_5
shipping_postcode
shipping_country_code
billing_address_1
billing_address_2
billing_address_3
billing_address_4
billing_address_5
billing_postcode
billing_country
customer_name
sale_datetime
creation_datetime
completion_datetime
required_dispatch_date
shipping_method
shipping_carrier
shipping_tracking
shipping_price
shipping_price_inc_tax
shipping_tax_rate
customer_email
status
is_free_of_charge
payment_type
payment_trans_id
coupon_code
status_name
company__customer_ref_id
company__company_name
company__external_ref
secondary_company
secondary_company__customer_ref_id
secondary_company__company_name
secondary_company__external_ref
items__id
items__ref
items__external_ref
items__order_id
items__status
items__sku
items__mapped_sku
items__description
items__size
items__colour
items__quantity
items__unit_cost_price
items__unit_sale_price
items__unit_sale_price_inc_tax
items__shipping_price
items__shipping_price_inc_tax
items__textual_product_id
items__sale_vat_rate
items__status_name
items__product_owner__customer_ref_id
items__product_owner__company_name
items__product_owner__external_ref
items__product_owner
items__product_price__product_id
items__product_price__currency
items__product_price__quantity
items__product_price__rrp
items__product_price__price
items__product_price__company_ref_id
items__base_product_price__product_id
items__base_product_price__currency
items__base_product_price__quantity
items__base_product_price__rrp
items__base_product_price__price
items__base_product_price__company_ref_id
items__product_price
items__base_product_price
items__product_ecommerce__product_id
items__product_ecommerce__sales_description
items__product_ecommerce__sales_description_long
items__product_ecommerce__weight
items__product_ecommerce__hs_code
items__product_ecommerce__tax_code
items__product_ecommerce__website_category_details
items__product_ecommerce__notes
items__product_ecommerce__barcode
items__product_ecommerce__dimensions
    • Related Articles

    • Order Status API

      Custom Gateway has developed an order status API to allow the order status of each order to be updated.   The following are examples of the API calls required to set the status of orders received from OMS platform via API:   There are two standard ...
    • Order Push API - Generic API Supplier Integration

      The Order Push API from Custom Gateway us our generic OMS API allowing us to POST order data in JSON format (matching the structure of our standard orders in API) to an endpoint nominated by a supplier. This is a cheaper alternative to Custom Gateway ...
    • Order Manager | Customer Services: Finding Order Information and FAQ's

      Overview This document will outline how the system can be used to address common order and customer service based queries experienced by Retailers (and Fulfillers). The Custom Gateway Platform is designed to offer a self service Order Management ...
    • Adding Supplier Details

      By clicking the "Companies" option in the Gateway OMS you can set up any new supplier you want  Section 1 Editing - lets you add base details and configuration options Add company address details - these are used on the delivery note Add email - this ...
    • OMS Reporting: Order Details (With Prices)

      To access your "Order Details (with prices)" report please follow these steps   1) Log into our OMS System at https://oms.custom-gateway.net/ 2) Using the top navigation select "Reporting" (note - if you cannot see this you may need to upgrade your ...