Order Management API (1.0)

The Order Management API is a simple API that allows you to search for orders or update the status of an order

Common Authorization Parameters

Each request is authorized using username and password fields passed either as query parameters (for GET/POST operations) or part of the application/x-www-form-urlencoded body (for POST operations).

Error Codes

Each response contains a response_status field containing the following error codes.

Code Severity Description
10001 SUCCESS
30001 ERROR Authentication failed
31000 ERROR API not enabled on your site
40004 WARNING Product ID Not Found
50002 ERROR No conditions specified
50003 ERROR Condition N 'field' is missing
50003 ERROR Condition N 'condition' is missing
50003 ERROR date1 is invalid
50003 ERROR date2 is invalid
50004 ERROR Invalid limit or offset

Order Search

Retrieve a list of orders based upon your search parameters. The maximum number of rows returned is 100. Use the returned "total" value to determine if you need to paginate using the offset parameter.
You can specify multiple conditions in which case the conditions will be joined with a logical 'AND'.
To use multiple conditions you will need to pass the parameters using the multi condition parameter format:

conditions[n][parameter name]

where n starts at 1 and "parameter name" is the name of the parameter as below.

Request Body schema: application/x-www-form-urlencoded
field
required
integer

The Field the condition is tested against.
Multi condition parameter format: conditions[n][field]

Values

  • 1: Date Ordered
  • 2: Date Production Files Ready
  • 3: Invoice Number
  • 4: Order Status
  • 5: Date Due
  • 6: Date Invoiced
  • 7: Date Shipped
  • 8: Date Modified
condition
required
integer

The logical test to use.
Multi condition parameter name: conditions[n][condition]

Values

  • 1: ==
  • 2: !=
  • 3: <
  • 4: >
  • 5: <=
  • 6: >=
  • 7: Between
date1
string

The date to test against (Required when field is Date Ordered or Date Production Files Ready).
The date is in ISO-8601 format, UTC timezone (YYYY-MM-DDTHH:MM:SS).
Multi condition parameter name: conditions[n][date1]

date2
string

The end date to test against (Required when field is Date Ordered or Date Production Files Ready and condition is 7: Between).
The date is in ISO-8601 format, UTC timezone (YYYY-MM-DDTHH:MM:SS).
Multi condition parameter name: conditions[n][date2]

string
string

The string to test against (Required when field is Invoice Number). Multi condition parameter name: conditions[n][string]

limit
integer [ 0 .. 100 ]
Default: 100

Limit the number of results returned. The maximum limit is 100

offset
integer
Default: 0

Offset of the results to allow pagination

sortby
integer
Default: 2

What field to sort the results by
Values

  • 1: Date Ordered
  • 2: Date Production Files Ready
  • 3: Invoice Number
  • 4: Order Status
  • 5: Date Due
  • 6: Date Invoiced
  • 7: Date Shipped
  • 8: Date Modified
include_workflow_data
integer
Default: 0

Include workflow information used to track items going through the production workflow. Set to 1 to include workflow information.

include_po_data
integer
Default: 0

Include purchase order information associated with the above workflow information. This will make workflow information be included.Set to 1 to include purchase order information.

include_shipments
integer
Default: 0

Include shipment information. Set to 1 to include shipment information.

include_production_file_info
integer
Default: 0

Include production file information. Set to 1 to include information about the format and offsets/cropping of the production files.

skip_login_token
integer
Default: 0

Don't add the user login token to document download urls. Set to 1 to not add the user login token. The user's password can be added to the download document url instead of the token.

Responses

Response Schema: application/json
object (ResponseStatus)
Array of objects (Order)
total
number

Total number of orders found

Request samples

Content type
application/x-www-form-urlencoded
field=2&condition=4&date1=2018-02-01T00%3A00%3A00

Response samples

Content type
application/json
{
  • "response_status": {
    },
  • "orders": [
    ],
  • "total": 1
}

Update Order Status

Update the status of an order and line items. Multiple orders and line items can be specified in one request using the "multi change format":

changes[n][parameter name] 

where "n" starts at 1, and "parameter name" is the name of the parameter as below.

Request Body schema: application/x-www-form-urlencoded
order_id
required
string

The Invoice Number of the order Multi change parameter format: changes[n][order_id]

order_line_id
number

The line item id of the line item getting changed. If missing the whole order will be changed. Multi change parameter format: changes[n][order_line_id]

workflow_item_id
number

The workflow item id of the workflow item getting changed. If missing the whole line item will be changed. Multi change parameter format: changes[n][workflow_item_id]

qty
number

The qty of the change. If you specify a qty, you must also specify a workflow_item_id. If missing the qty will be the outstanding qty for that item. Multi change parameter format: changes[n][qty]

new_status
required
number
Enum: 2 3

The status to change the order/line item to. Multi change parameter format: changes[n][new_status] Members 2 = Produced 3 = Shipped

contact_customer
boolean
Default: false

Contact the customer letting them know of the status change. This will only happen if the whole order is moved status. Multi change parameter format: changes[n][contact_customer]

shipping_code
string

The Shipping Tracking Number to assign if marking as shipped. Multi change parameter format: changes[n][shipping_tracking_code]

operator_id
number

The id of the operator making the change. If not specified, the operator with the username/password sent will be used. Multi change parameter format: changes[n][operator_id]

operator_login
string

The login of the operator making the change. Can be used if the id of the operator is unknown. Multi change parameter format: changes[n][operator_login]

Responses

Response Schema: application/json
object (ResponseStatus)

Request samples

Content type
application/x-www-form-urlencoded
order_id=INV1234&new_status=2&contact_customer=false&operator_login=bob123

Response samples

Content type
application/json
{
  • "response_status": {
    }
}