Definitions and Conventions

This section outlines definitions for data elements and general functionality that apply universally to the JOOR API. It also outlines the general documentation flow for each section of the JOOR APIs.

Documentation Standards

Each section of the JOOR API documentation is broken down by product function (styles, customers, orders, etc.) and then subsequently divided into the following sub-sections:

  • Endpoint URLs
  • Request Field Details
  • Response Field Details
  • Request Examples (XML & JSON)
  • Response Examples (XML & JSON)

Dates

All date fields sent and received by the JOOR API must be in ISO 8601 format based on the UTC timezone. For information regarding ISO 8601 formatting, please visit the following: http://www.w3.org/TR/NOTE-datetime

Required Fields

Request fields will be documented with the following codes to designate whether or not they are required or are dependent on other fields (which will be noted in their respective descriptions).

Y = Yes, field is required
N = No, field is optional
X = May be required if other fields are supplied (for example an “end date” would be required if an optional “start date” is supplied). Review the field description for clarification on dependencies.

Supported Formats

The JOOR API supports XML and JSON formats depending on the type and method of the call being made. Each endpoint will specify the available formats within the documentation.

Clients should make use of HTTP headers to denote content type of the request being made. By default, the JOOR API will return the same format requested unless otherwise specified by either the “Accept” HTTP header or the optional “return_format” URL parameter.

Accepted HTTP Header Content MIME Types:

  • application/xml
  • application/json

🚧

Content MIME Type

You must provide a Content MIME Type in the header of requests to
invoke the API. Calls made without the Content MIME Type are not
processed.

Gateway Standards

🚧

Token must be Base64 encoded.

Your OAuth2 token must be Base64 encoded and passed in your Authorization Header.

All gateway calls to the JOOR API must be made via secure HTTP request via SSL. The JOOR API supports a modified OAuth2 Authentication Method. An OAuth2 token will be provided by JOOR. Please contact your account representative or account administrator to create or disable OAuth2 tokens.

In most cases, each reply from the JOOR API will include a “response” element consisting of a “code” and optional “comment” and a “log ID” representing the unique transaction ID as logged by the JOOR platform. A “0” response code denotes a successful gateway call and will not contain any comments. Any response code other than zero denotes an error. In the case of an error, the “comment” will contain a simple description of the problem. See RESPONSE CODES below for error details. Please note these are not HTTP response codes.

Response Codes

CODEERRORDESCRIPTION
0NoneNo error to report. Note that the “comment” element will be empty
001AuthenticationThe token provided is either missing, incorrect or inactive
002GeneralSee comments for any details if available
003SystemThe JOOR API is unavailable due to an outage or scheduled maintenance
004Date FormatDate improperly formatted, does not conform to UTC standard or cannot be read
005Required FieldsFields that are required in the request are missing or incomplete. See comments for specifics.
006VersionThe version requested from the HTTP header is either missing or unsupported
100Orders API ErrorsCode 100 will never be returned. 100 level errors relate to the orders API
101Date RangeThe start and end date are either out of range (longer than X months), incomplete or the incorrect order
102Customer CodeThe customer code provided does not match a record within the JOOR system
200Styles API ErrorsCode 200 will never be returned. 200 level errors relate to the styles API
201Style NumberDeprecated
202Style Identifier MissingThe style identifier is a required field.
203Style Exists (POST)The style being posted (number + identifier) already exists and will not be recreated
204Style Does Not Exist (PUT)The style being updated (number + identifier) does not exist
300Customers API ErrorsCode 300 will never be returned. 300 level errors relate to the customers API
301Customer CodeA unique customer code is required. Our system will not create a customer without a unique identifier