Schema Changes - 2025-07-26
This document contains the changes to the schema files compared to the main branch.
Changes
diff --git a/schema/Api/OrderBroker/InternalNewOrderRequest.json b/schema/Api/OrderBroker/InternalNewOrderRequest.json
index 1ca0d1f..fb35911 100644
--- a/schema/Api/OrderBroker/InternalNewOrderRequest.json
+++ b/schema/Api/OrderBroker/InternalNewOrderRequest.json
@@ -297,7 +297,7 @@
"format": "double"
}
},
- "required": ["lineItemFee", "price", "quantityOrdered"]
+ "required": ["offerId", "lineItemFee", "price", "quantityOrdered"]
},
"minItems": 1,
"uniqueItems": false,
@@ -625,6 +625,13 @@
}
}
}
+ },
+ {
+ "properties": {
+ "defaultOrderedByKey": {"type": "null"},
+ "orderedBys": { "oneOf": [ {"type": "null"}, {"type": "array", "maxItems": 0} ] }
+ },
+ "required": ["defaultOrderedByKey", "orderedBys"]
}
]
},
diff --git a/schema/Api/OrderBroker/NewOrderRequest.json b/schema/Api/OrderBroker/NewOrderRequest.json
index a16ff43..2c532af 100644
--- a/schema/Api/OrderBroker/NewOrderRequest.json
+++ b/schema/Api/OrderBroker/NewOrderRequest.json
@@ -10,69 +10,171 @@
"type": "string",
"maxLength": 100,
"minLength": 1,
- "examples": ["123456789"]
+ "examples": [
+ "123456789"
+ ]
+ },
+ "referenceId": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "maxLength": 255,
+ "examples": [
+ "REF123456"
+ ]
},
- "referenceId": { "type": ["string", "null"], "maxLength": 255, "examples": ["REF123456"] },
"sourceSystemCustomerId": {
"description": "This is an automatically generated field added by middleware. It is considered read-only",
- "type": ["string"],
+ "type": [
+ "string"
+ ],
"maxLength": 100,
"minLength": 1,
"readonly": true,
- "examples": ["CUST123456"]
+ "examples": [
+ "CUST123456"
+ ]
},
"sourceSystemId": {
"description": "This is an automatically generated field added by middleware. It is considered read-only",
"type": "integer",
"format": "int32",
"readonly": true,
- "examples": [2, 12]
+ "examples": [
+ 2,
+ 12
+ ]
},
"accessGroups": {
- "type": ["array", "null"],
- "items": {"type": "string"},
- "examples": [ ["Group1", "Group2"] ]
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "examples": [
+ [
+ "Group1",
+ "Group2"
+ ]
+ ]
},
"affiliateIdentifier": {
"description": "Unique ID for affiliate within source system (system where order was originally placed)",
- "type": ["string", "null"],
+ "type": [
+ "string",
+ "null"
+ ],
"maxLength": 100,
- "examples": ["AFF123456"]
+ "examples": [
+ "AFF123456"
+ ]
},
"affiliateName": {
"description": "Name for affiliate within source system (system where order was originally placed)",
- "type": ["string", "null"],
+ "type": [
+ "string",
+ "null"
+ ],
"maxLength": 255,
- "examples": ["Affiliate Name"]
+ "examples": [
+ "Affiliate Name"
+ ]
},
"billTos": {
"description": "Bill to addresses array for Order. Required, must not be empty. Each item must have required address fields and a non-null key.",
"oneOf": [
- {"type": "null"},
+ {
+ "type": "null"
+ },
{
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
- "address1": {"description": "Address line 1 for address", "type": "string"},
- "address2": { "description": "Address line 2 for address", "type": ["string", "null"] },
- "address3": { "description": "Address line 3 for address", "type": ["string", "null"] },
- "city": {"description": "City name for address", "type": "string"},
- "company": { "description": "Company name for address", "type": ["string", "null"] },
- "country": {"description": "Country name for address", "type": "string"},
+ "address1": {
+ "description": "Address line 1 for address",
+ "type": "string"
+ },
+ "address2": {
+ "description": "Address line 2 for address",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "address3": {
+ "description": "Address line 3 for address",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "city": {
+ "description": "City name for address",
+ "type": "string"
+ },
+ "company": {
+ "description": "Company name for address",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "country": {
+ "description": "Country name for address",
+ "type": "string"
+ },
"emailAddress": {
"description": "Contact email address for address",
- "type": ["string", "null"]
- },
- "faxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
- "key": {"type": "integer", "format": "int32"},
- "name": {"description": "Contact name for this address", "type": "string"},
- "phoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
- "postalCode": {"description": "Postal code for address", "type": "string"},
- "stateProvince": {"description": "State or province name for address", "type": "string"}
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "faxNumber": {
+ "description": "Fax number for address",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "key": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "name": {
+ "description": "Contact name for this address",
+ "type": "string"
+ },
+ "phoneNumber": {
+ "description": "Phone number for address",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "postalCode": {
+ "description": "Postal code for address",
+ "type": "string"
+ },
+ "stateProvince": {
+ "description": "State or province name for address",
+ "type": "string"
+ }
},
- "required": ["address1", "city", "country", "key", "name", "postalCode", "stateProvince"]
+ "required": [
+ "address1",
+ "city",
+ "country",
+ "key",
+ "name",
+ "postalCode",
+ "stateProvince"
+ ]
},
"minItems": 1
}
@@ -95,49 +197,92 @@
}
]
},
- "costCenter": { "type": ["string", "null"], "maxLength": 255, "examples": ["CC123456"] },
+ "costCenter": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "maxLength": 255,
+ "examples": [
+ "CC123456"
+ ]
+ },
"createDateTime": {
"description": "Datetime of when order was created",
- "type": ["string", "null"],
- "examples": ["2024-03-20T10:30:00Z"]
+ "type": [
+ "string",
+ "null"
+ ],
+ "examples": [
+ "2024-03-20T10:30:00Z"
+ ]
},
"creditCardFee": {
"description": "Credit card transaction fee applied to Order",
- "type": ["number", "null"],
+ "type": [
+ "number",
+ "null"
+ ],
"format": "double",
"minimum": 0,
- "examples": [2.5]
+ "examples": [
+ 2.5
+ ]
},
"defaultBillToKey": {
"description": "Unique ID for default billing contact details pulled from Order.BillTos.Key property (Only if applicable. Otherwise DefaultBillToKey will be null/empty value) (NOTE: If this value is not set, BillToKey must be set on all line items.)",
- "type": ["integer", "null"],
+ "type": [
+ "integer",
+ "null"
+ ],
"format": "int32",
"minimum": 0,
- "examples": [1]
+ "examples": [
+ 1
+ ]
},
"defaultOrderedByKey": {
"description": "Unique ID for default ordered by contact details pulled from Order.OrderedBy.Key property (Only if applicable. Otherwise DefaultOrderedByKey will be null/empty value)",
- "type": ["integer", "null"],
+ "type": [
+ "integer",
+ "null"
+ ],
"format": "int32",
"minimum": 0,
- "examples": [1]
+ "examples": [
+ 1
+ ]
},
"defaultShipToKey": {
"description": "Unique ID for default ship to contact pulled from Order.ShipTos.Key property (Only if applicable. Otherwise DefaultShipToKey will be null/empty value) (NOTE: If this value is not set, ShipToKey must be set on all line items.)",
- "type": ["integer", "null"],
+ "type": [
+ "integer",
+ "null"
+ ],
"format": "int32",
"minimum": 0,
- "examples": [1]
+ "examples": [
+ 1
+ ]
},
"dueDate": {
"description": "Datetime of expected due date for Order. If present, must be a valid date and not in the past (enforced in backend).",
- "type": ["string", "null"],
+ "type": [
+ "string",
+ "null"
+ ],
"pattern": "^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}|\\d{8}|\\d{2}[-/]\\d{2}[-/]\\d{4}(\\s\\d{2}:\\d{2}:\\d{2})?)$",
- "examples": ["2024-04-20T10:30:00", "20240420", "04/20/2024 10:30:00"]
+ "examples": [
+ "2024-04-20T10:30:00",
+ "20240420",
+ "04/20/2024 10:30:00"
+ ]
},
"lineItems": {
"description": "Order level line item details. Required, must not be empty. Each item must have offerId, quantityOrdered > 0, price >= 0, taxAmount >= 0, lineItemFee >= 0. If defaultBillToKey, defaultOrderedByKey, or defaultShipToKey are null, corresponding keys must be set on each line item.",
- "type": ["array"],
+ "type": [
+ "array"
+ ],
"items": {
"description": "Order level line item details",
"type": "object",
@@ -147,38 +292,76 @@
"description": "Unique ID for offer within Integration Broker",
"type": "string"
},
- "referenceId": { "type": ["string", "null"] },
+ "referenceId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
"variableTemplatePrintId": {
"description": "Unique ID for variable template file associated to offer on individual line item",
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
},
"additionalProperties": {
"description": "Additional properties details for Order LineItems",
- "type": ["array", "null"],
+ "type": [
+ "array",
+ "null"
+ ],
"items": {
"description": "Order.LineItems level additional properties details",
"type": "object",
"additionalProperties": false,
"properties": {
- "key" : { "type": ["string", "null"] },
- "value": { "type": ["string", "null"] }
+ "key": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "value": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
},
- "required": ["key", "value"]
+ "required": [
+ "key",
+ "value"
+ ]
}
},
"billToKey": {
"description": "Unique ID for Order.BillTos.Key property associated to individual line item (NOTE: If top-level DefaultBillToKey is not set, this must be.)",
- "type": ["integer", "null"],
+ "type": [
+ "integer",
+ "null"
+ ],
"format": "int32"
},
"comment": {
"description": "Manually entered comment for individual line item",
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "costCenter": {
+ "type": [
+ "string",
+ "null"
+ ]
},
- "costCenter": { "type": ["string", "null"] },
"dueDate": {
"description": "Datetime of expected due date for individual line item",
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
},
"lineItemFee": {
"description": "Fee applied to individual line item",
@@ -187,24 +370,39 @@
},
"offerDescription": {
"description": "Description for offer within product management system (system where ordered line item products will be managed)",
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
},
"offerLineNumber": {
"description": "Unique ID for individual line item",
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
},
"offerNumber": {
"description": "Name for offer within product management system (system where ordered line item products will be managed)",
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
},
"orderedByKey": {
"description": "Unique ID for Order.OrderedBy.Key property associated to individual line item",
- "type": ["integer", "null"],
+ "type": [
+ "integer",
+ "null"
+ ],
"format": "int32"
},
"poNumber": {
"description": "Purchase order number for individual line item",
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
},
"price": {
"description": "Total offer price of individual line item",
@@ -212,17 +410,40 @@
"format": "double"
},
"products": {
- "type": ["array", "null"],
+ "type": [
+ "array",
+ "null"
+ ],
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
- "productId": {"type": "string"},
- "associatedFileName": { "type": ["string", "null"] },
- "color": { "type": ["string", "null"] },
- "comment": { "type": ["string", "null"] },
+ "productId": {
+ "type": "string"
+ },
+ "associatedFileName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "color": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "comment": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
"components": {
- "type": ["array", "null"],
+ "type": [
+ "array",
+ "null"
+ ],
"items": {
"description": "Order.LineItems.Products level component details",
"type": "object",
@@ -234,50 +455,130 @@
},
"associatedFileName": {
"description": "Name of file associated to component product (if applicable)",
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "color": {
+ "description": "Color of component product",
+ "type": [
+ "string",
+ "null"
+ ]
},
- "color": { "description": "Color of component product", "type": ["string", "null"] },
"comment": {
"description": "Manually entered comment for component product",
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
},
"componentLineNumber": {
"description": "Unique ID for component product within parent product",
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
},
"productDescription": {
"description": "Description for component product within product management system (system where ordered line item products will be managed)",
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
},
"productNumber": {
"description": "Name for component product within product management system (system where ordered line item products will be managed)",
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "productOwner": {
+ "description": "Owner of component product",
+ "type": [
+ "string",
+ "null"
+ ]
},
- "productOwner": { "description": "Owner of component product", "type": ["string", "null"] },
"quantityBackordered": {
"description": "Amount of component product back-ordered within parent product",
- "type": ["integer", "null"],
+ "type": [
+ "integer",
+ "null"
+ ],
"format": "int32"
},
"quantityOrdered": {
"description": "Amount of component product ordered within parent product",
- "type": ["integer", "null"],
+ "type": [
+ "integer",
+ "null"
+ ],
"format": "int32"
},
- "size": { "description": "Size of component product", "type": ["string", "null"] }
+ "size": {
+ "description": "Size of component product",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
},
- "required": ["productId"]
+ "required": [
+ "productId"
+ ]
}
},
- "pageCount": { "type": ["integer", "null"], "format": "int32" },
- "productDescription": { "type": ["string", "null"] },
- "productLineNumber": { "type": ["string", "null"] },
- "productNumber": { "type": ["string", "null"] },
- "productOwner": { "type": ["string", "null"] },
- "quantityOrdered": { "type": ["integer", "null"], "format": "int32" },
- "size": { "type": ["string", "null"] }
- },
- "required": ["productId"]
+ "pageCount": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "format": "int32"
+ },
+ "productDescription": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "productLineNumber": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "productNumber": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "productOwner": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "quantityOrdered": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "format": "int32"
+ },
+ "size": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "productId"
+ ]
}
},
"quantityOrdered": {
@@ -287,20 +588,33 @@
},
"rushOrder": {
"description": "True/false indicator if individual line item is expedited",
- "type": ["boolean", "null"]
+ "type": [
+ "boolean",
+ "null"
+ ]
},
"shipToKey": {
"description": "Unique ID for Order.ShipTos.Key property associated to individual line item (NOTE: If top-level DefaultShipToKey is not set, this must be.)",
- "type": ["integer", "null"],
+ "type": [
+ "integer",
+ "null"
+ ],
"format": "int32"
},
"taxAmount": {
"description": "Total tax amount applied to individual line item",
- "type": ["number", "null"],
+ "type": [
+ "number",
+ "null"
+ ],
"format": "double"
}
},
- "required": ["lineItemFee", "price", "quantityOrdered"]
+ "required": [
+ "lineItemFee",
+ "price",
+ "quantityOrdered"
+ ]
},
"minItems": 1,
"uniqueItems": false,
@@ -319,20 +633,38 @@
},
"orderFee": {
"description": "Fee applied to Order",
- "type": ["number", "null"],
+ "type": [
+ "number",
+ "null"
+ ],
"format": "double",
"minimum": 0,
- "examples": [5.0]
+ "examples": [
+ 5.0
+ ]
},
"orderVariables": {
"description": "Manually entered variables for order within order management system (system where order lifecycle will be managed in)",
- "oneOf": [ {"type": "null"}, {"type": "object", "minProperties": 0} ]
+ "oneOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "object",
+ "minProperties": 0
+ }
+ ]
},
"orderedBys": {
"description": "Order level ordered by contact and address details. Not required, but if present, each item must have required address fields and a non-null key.",
- "type": ["array", "null"],
+ "type": [
+ "array",
+ "null"
+ ],
"oneOf": [
- {"type": "null"},
+ {
+ "type": "null"
+ },
{
"type": "array",
"items": {
@@ -340,28 +672,85 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "address1": {"description": "Address line 1 for address", "type": "string"},
- "address2": { "description": "Address line 2 for address", "type": ["string", "null"] },
- "address3": { "description": "Address line 3 for address", "type": ["string", "null"] },
- "city": {"description": "City name for address", "type": "string"},
- "company": { "description": "Company name for address", "type": ["string", "null"] },
- "country": {"description": "Country name for address", "type": "string"},
+ "address1": {
+ "description": "Address line 1 for address",
+ "type": "string"
+ },
+ "address2": {
+ "description": "Address line 2 for address",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "address3": {
+ "description": "Address line 3 for address",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "city": {
+ "description": "City name for address",
+ "type": "string"
+ },
+ "company": {
+ "description": "Company name for address",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "country": {
+ "description": "Country name for address",
+ "type": "string"
+ },
"emailAddress": {
"description": "Contact email address for address",
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "faxNumber": {
+ "description": "Fax number for address",
+ "type": [
+ "string",
+ "null"
+ ]
},
- "faxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
"key": {
"description": "Unique ID for individual contact",
"type": "integer",
"format": "int32"
},
- "name": {"type": "string"},
- "phoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
- "postalCode": {"description": "Postal code for address", "type": "string"},
- "stateProvince": {"description": "State or province name for address", "type": "string"}
+ "name": {
+ "type": "string"
+ },
+ "phoneNumber": {
+ "description": "Phone number for address",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "postalCode": {
+ "description": "Postal code for address",
+ "type": "string"
+ },
+ "stateProvince": {
+ "description": "State or province name for address",
+ "type": "string"
+ }
},
- "required": ["address1", "city", "country", "name", "postalCode", "stateProvince"]
+ "required": [
+ "address1",
+ "city",
+ "country",
+ "name",
+ "postalCode",
+ "stateProvince"
+ ]
},
"minItems": 1
}
@@ -385,7 +774,10 @@
},
"paymentMethods": {
"description": "Order.ShipTos level payment method details",
- "type": ["array", "null"],
+ "type": [
+ "array",
+ "null"
+ ],
"items": {
"type": "object",
"additionalProperties": false,
@@ -400,7 +792,10 @@
"type": "string"
}
},
- "required": ["amount", "methodName"]
+ "required": [
+ "amount",
+ "methodName"
+ ]
},
"examples": [
[
@@ -416,41 +811,108 @@
},
"pickPackHandlingFee": {
"description": "Sum of pick & pack handling fees for all Order.ShipTos",
- "type": ["number", "null"],
+ "type": [
+ "number",
+ "null"
+ ],
"format": "double",
"minimum": 0,
- "examples": [3.5]
+ "examples": [
+ 3.5
+ ]
},
"poNumber": {
"description": "Purchase order number for Order. Maximum length 20 characters.",
- "type": ["string", "null"],
+ "type": [
+ "string",
+ "null"
+ ],
"maxLength": 20,
- "examples": ["PO123456"]
+ "examples": [
+ "PO123456"
+ ]
},
"rushOrder": {
"description": "True/false indicator if Order is expedited",
"type": "boolean",
- "examples": [true]
+ "examples": [
+ true
+ ]
},
"shipTos": {
"description": "Order level ship to details. Required, must not be empty. Each item must have required address fields and a non-null key.",
- "type": ["array"],
+ "type": [
+ "array"
+ ],
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
- "affiliateId": { "type": ["string", "null"] },
- "referenceId": { "type": ["string", "null"] },
- "sourceSystemShippingMethodId": { "type": ["string", "null"] },
- "affiliateName": { "type": ["string", "null"] },
- "comment": { "type": ["string", "null"] },
- "costCenter": { "type": ["string", "null"] },
- "creditCardFee": { "type": ["number", "null"], "format": "double" },
- "dueDate": { "type": ["string", "null"] },
- "key": {"type": "integer", "format": "int32"},
- "orderFee": { "type": ["number", "null"], "format": "double" },
+ "affiliateId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "referenceId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "sourceSystemShippingMethodId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "affiliateName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "comment": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "costCenter": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "creditCardFee": {
+ "type": [
+ "number",
+ "null"
+ ],
+ "format": "double"
+ },
+ "dueDate": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "key": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "orderFee": {
+ "type": [
+ "number",
+ "null"
+ ],
+ "format": "double"
+ },
"paymentMethods": {
- "type": ["array", "null"],
+ "type": [
+ "array",
+ "null"
+ ],
"items": {
"type": "object",
"additionalProperties": false,
@@ -465,40 +927,136 @@
"type": "string"
}
},
- "required": ["amount", "methodName"]
+ "required": [
+ "amount",
+ "methodName"
+ ]
}
},
- "pickPackHandlingFee": { "type": ["number", "null"], "format": "double" },
- "poNumber": { "type": ["string", "null"] },
- "rushOrder": { "type": ["boolean", "null"] },
+ "pickPackHandlingFee": {
+ "type": [
+ "number",
+ "null"
+ ],
+ "format": "double"
+ },
+ "poNumber": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "rushOrder": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
"shipToAddress": {
"description": "Ship to addresses array for Order",
"type": "object",
"additionalProperties": false,
"properties": {
- "address1": {"description": "Address line 1 for address", "type": "string"},
- "address2": { "description": "Address line 2 for address", "type": ["string", "null"] },
- "address3": { "description": "Address line 3 for address", "type": ["string", "null"] },
- "city": {"description": "City name for address", "type": "string"},
- "company": { "description": "Company name for address", "type": ["string", "null"] },
- "country": {"description": "Country name for address", "type": "string"},
+ "address1": {
+ "description": "Address line 1 for address",
+ "type": "string"
+ },
+ "address2": {
+ "description": "Address line 2 for address",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "address3": {
+ "description": "Address line 3 for address",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "city": {
+ "description": "City name for address",
+ "type": "string"
+ },
+ "company": {
+ "description": "Company name for address",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "country": {
+ "description": "Country name for address",
+ "type": "string"
+ },
"emailAddress": {
"description": "Contact email address for address",
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "faxNumber": {
+ "description": "Fax number for address",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "name": {
+ "type": "string"
},
- "faxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
- "name": {"type": "string"},
- "phoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
- "postalCode": {"description": "Postal code for address", "type": "string"},
- "stateProvince": {"description": "State or province name for address", "type": "string"}
+ "phoneNumber": {
+ "description": "Phone number for address",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "postalCode": {
+ "description": "Postal code for address",
+ "type": "string"
+ },
+ "stateProvince": {
+ "description": "State or province name for address",
+ "type": "string"
+ }
},
- "required": ["address1", "city", "country", "name", "postalCode", "stateProvince"]
+ "required": [
+ "address1",
+ "city",
+ "country",
+ "name",
+ "postalCode",
+ "stateProvince"
+ ]
+ },
+ "shippingCost": {
+ "type": [
+ "number",
+ "null"
+ ],
+ "format": "double"
+ },
+ "shippingHandlingTax": {
+ "type": [
+ "number",
+ "null"
+ ],
+ "format": "double"
},
- "shippingCost": { "type": ["number", "null"], "format": "double" },
- "shippingHandlingTax": { "type": ["number", "null"], "format": "double" },
- "totalOrderFee": { "type": ["number", "null"], "format": "double" }
+ "totalOrderFee": {
+ "type": [
+ "number",
+ "null"
+ ],
+ "format": "double"
+ }
},
- "required": ["key"]
+ "required": [
+ "key"
+ ]
},
"minItems": 1,
"uniqueItems": false,
@@ -525,35 +1083,64 @@
"type": "number",
"format": "double",
"minimum": 0,
- "examples": [8.5]
+ "examples": [
+ 8.5
+ ]
},
"totalOrderFee": {
"description": "Sum of OrderFee",
- "type": ["number", "null"],
+ "type": [
+ "number",
+ "null"
+ ],
"format": "double",
"minimum": 0,
- "examples": [5.0]
+ "examples": [
+ 5.0
+ ]
},
"totalShippingCost": {
"description": "Sum of shipping cost for all Order.ShipTos.Shipments",
- "type": ["number", "null"],
+ "type": [
+ "number",
+ "null"
+ ],
"format": "double",
"minimum": 0,
- "examples": [10.0]
+ "examples": [
+ 10.0
+ ]
}
},
- "required": ["orderId", "lineItems", "shippingHandlingTax"],
+ "required": [
+ "orderId",
+ "lineItems",
+ "shippingHandlingTax"
+ ],
"allOf": [
{
"description": "Either a defaultBillToKey must be provided, or the billTos array must be populated.",
"oneOf": [
{
- "properties": { "defaultBillToKey": {"type": "integer"} },
- "required": ["defaultBillToKey"]
+ "properties": {
+ "defaultBillToKey": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "defaultBillToKey"
+ ]
},
{
- "properties": { "billTos": {"type": "array", "minItems": 1} },
- "required": ["billTos"]
+ "properties": {
+ "billTos": {
+ "type": "array",
+ "minItems": 1
+ }
+ },
+ "required": [
+ "billTos"
+ ]
}
]
},
@@ -561,12 +1148,25 @@
"description": "Either a defaultShipToKey must be provided, or the shipTos array must be populated.",
"oneOf": [
{
- "properties": { "defaultShipToKey": {"type": "integer"} },
- "required": ["defaultShipToKey"]
+ "properties": {
+ "defaultShipToKey": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "defaultShipToKey"
+ ]
},
{
- "properties": { "shipTos": {"type": "array", "minItems": 1} },
- "required": ["shipTos"]
+ "properties": {
+ "shipTos": {
+ "type": "array",
+ "minItems": 1
+ }
+ },
+ "required": [
+ "shipTos"
+ ]
}
]
},
@@ -574,8 +1174,14 @@
"description": "If a defaultBillToKey is not provided at the root, each line item must specify a billToKey.",
"oneOf": [
{
- "properties": { "defaultBillToKey": {"type": "integer"} },
- "required": ["defaultBillToKey"]
+ "properties": {
+ "defaultBillToKey": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "defaultBillToKey"
+ ]
},
{
"properties": {
@@ -583,8 +1189,15 @@
"type": "array",
"items": {
"type": "object",
- "properties": { "billToKey": {"type": "integer", "minimum": 0} },
- "required": ["billToKey"]
+ "properties": {
+ "billToKey": {
+ "type": "integer",
+ "minimum": 0
+ }
+ },
+ "required": [
+ "billToKey"
+ ]
}
}
}
@@ -595,16 +1208,29 @@
"description": "If a defaultShipToKey is not provided at the root, each line item must specify a shipToKey.",
"oneOf": [
{
- "properties": { "defaultShipToKey": {"type": "integer"} },
- "required": ["defaultShipToKey"]
+ "properties": {
+ "defaultShipToKey": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "defaultShipToKey"
+ ]
},
{
"properties": {
"lineItems": {
"type": "array",
"items": {
- "properties": { "shipToKey": {"type": "integer", "minimum": 0} },
- "required": ["shipToKey"]
+ "properties": {
+ "shipToKey": {
+ "type": "integer",
+ "minimum": 0
+ }
+ },
+ "required": [
+ "shipToKey"
+ ]
}
}
}
@@ -615,19 +1241,54 @@
"description": "If a defaultOrderedByKey is not provided at the root, each line item must specify an orderedByKey.",
"oneOf": [
{
- "properties": { "defaultOrderedByKey": {"type": "integer"} },
- "required": ["defaultOrderedByKey"]
+ "properties": {
+ "defaultOrderedByKey": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "defaultOrderedByKey"
+ ]
},
{
"properties": {
"lineItems": {
"type": "array",
"items": {
- "properties": { "orderedByKey": {"type": "integer", "minimum": 0} },
- "required": ["orderedByKey"]
+ "properties": {
+ "orderedByKey": {
+ "type": "integer",
+ "minimum": 0
+ }
+ },
+ "required": [
+ "orderedByKey"
+ ]
}
}
}
+ },
+ {
+ "properties": {
+ "defaultOrderedByKey": {
+ "type": "null"
+ },
+ "orderedBys": {
+ "oneOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "array",
+ "maxItems": 0
+ }
+ ]
+ }
+ },
+ "required": [
+ "defaultOrderedByKey",
+ "orderedBys"
+ ]
}
]
},
@@ -637,8 +1298,15 @@
"type": "array",
"items": {
"type": "object",
- "properties": { "offerLineNumber": {"type": "string", "minLength": 1} },
- "required": ["offerLineNumber"]
+ "properties": {
+ "offerLineNumber": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": [
+ "offerLineNumber"
+ ]
}
}
}
@@ -648,7 +1316,11 @@
{
"orderId": "7-mkkutsde-3-K-5649-4005-64",
"referenceId": "OWMR WSKFA - LNSSZT XBUUJ & MS XXQ QCHX",
- "accessGroups": ["TS-Retail", "CDM Tuff Shed", "Tuff shed Act on behalf and see all orders"],
+ "accessGroups": [
+ "TS-Retail",
+ "CDM Tuff Shed",
+ "Tuff shed Act on behalf and see all orders"
+ ],
"affiliateIdentifier": "QJ-987",
"affiliateName": "UJ-143-ABWJINHFVL, QD",
"billTos": [
@@ -745,7 +1417,12 @@
"stateProvince": "California"
}
],
- "paymentMethods": [ {"amount": 35.8, "methodName": "invoice"} ],
+ "paymentMethods": [
+ {
+ "amount": 35.8,
+ "methodName": "invoice"
+ }
+ ],
"pickPackHandlingFee": 0.75,
"poNumber": null,
"rushOrder": false,
@@ -791,7 +1468,11 @@
{
"orderId": "1-qrhjtpek-8-Q-0286-8859-25",
"referenceId": "WUQD HWKPE - XIWHAC BTVOM & BH WAK DXRI",
- "accessGroups": ["TS-Retail", "CDM Tuff Shed", "Tuff shed Act on behalf and see all orders"],
+ "accessGroups": [
+ "TS-Retail",
+ "CDM Tuff Shed",
+ "Tuff shed Act on behalf and see all orders"
+ ],
"affiliateIdentifier": "VJ-268",
"affiliateName": "GZ-589-WUOFETGVLG, RM",
"billTos": [
@@ -888,7 +1569,12 @@
"stateProvince": "Alaska"
}
],
- "paymentMethods": [ {"amount": 35.8, "methodName": "invoice"} ],
+ "paymentMethods": [
+ {
+ "amount": 35.8,
+ "methodName": "invoice"
+ }
+ ],
"pickPackHandlingFee": 0.75,
"poNumber": null,
"rushOrder": false,
@@ -932,4 +1618,4 @@
"totalShippingCost": 13.66
}
]
-}
+}
\ No newline at end of file