Schema Changes - 2025-07-31
This document contains the changes to the schema files compared to the main branch.
Changes
diff --git a/schema/Api/CustomerBroker/CreateCustomerRequest.json b/schema/Api/CustomerBroker/CreateCustomerRequest.json
index 7663d4f..c330907 100644
--- a/schema/Api/CustomerBroker/CreateCustomerRequest.json
+++ b/schema/Api/CustomerBroker/CreateCustomerRequest.json
@@ -12,7 +12,7 @@
},
"brokerScopes": { "type": ["array", "null"], "items": {"type": "string"} },
"contactAddress": {
- "type": "object",
+ "type": ["object", "null"],
"additionalProperties": false,
"properties": {
"address1": {
@@ -78,7 +78,7 @@
"name": {"description": "Required. Customer name.", "type": "string", "minLength": 1},
"offerRevisionDelimiter": { "type": ["string", "null"] },
"parent": {
- "type": "object",
+ "type": ["object", "null"],
"additionalProperties": false,
"properties": {
"id": {
@@ -108,22 +108,25 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "ratesProviderShipMethodId": { "type": ["string", "null"] },
+ "ratesProviderShipMethodId": {"type": "string"},
"sourceSystemShipMethodId": {"type": "string"},
"fulfillmentSystemShipMethods": {
- "type": ["array", "null"],
+ "type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
- "fulfillmentSystemId": {"type": "integer", "format": "int32"},
- "fulfillmentSystemShipMethodId": { "type": ["string", "null"] },
- "fulfillmentSystemName": { "type": ["string", "null"] }
- }
+ "fulfillmentSystemId" : { "type": "integer", "format": "int32" },
+ "fulfillmentSystemShipMethodId": { "type": "string" }
+ },
+ "required": ["fulfillmentSystemId", "fulfillmentSystemShipMethodId"]
}
}
},
- "required": ["sourceSystemShipMethodId"]
+ "required": [
+ "fulfillmentSystemShipMethods", "ratesProviderShipMethodId",
+ "sourceSystemShipMethodId"
+ ]
}
},
"sourceSystems": {
@@ -134,12 +137,11 @@
"properties": {
"id": {"type": "integer", "format": "int32"},
"sourceSystemCustomerId": {
- "description": "Source system ID. Required, must not be null.",
- "type": ["string", "null"]
- },
- "name": {"type": "string"}
+ "description": "This is an automatically generated field added by middleware. It is considered read-only",
+ "type": "string"
+ }
},
- "required": ["id", "name"]
+ "required": ["id", "sourceSystemCustomerId"]
}
},
"subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
diff --git a/schema/Api/CustomerBroker/CreateCustomerResponse.json b/schema/Api/CustomerBroker/CreateCustomerResponse.json
index ea94874..1fef47a 100644
--- a/schema/Api/CustomerBroker/CreateCustomerResponse.json
+++ b/schema/Api/CustomerBroker/CreateCustomerResponse.json
@@ -1,24 +1,17 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "CreateCustomerResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
- "oneOf": [
- {"type": "null"},
- {
- "type": "object",
- "properties": {
- "data": {
- "type": "object",
- "additionalProperties": false,
- "properties": { "id": { "type": ["string", "null"] } }
- }
- }
- }
- ]
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": { "id": { "type": ["string", "null"] } }
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
- }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}
diff --git a/schema/Api/CustomerBroker/GetCustomerIdResponse.json b/schema/Api/CustomerBroker/GetCustomerIdResponse.json
index 0a8e2a8..26dce69 100644
--- a/schema/Api/CustomerBroker/GetCustomerIdResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomerIdResponse.json
@@ -1,19 +1,17 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetCustomerIdResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
- "oneOf": [
- {"type": "null"},
- {
- "type": "object",
- "additionalProperties": false,
- "properties": { "id": { "type": ["string", "null"] } }
- }
- ]
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": { "id": { "type": ["string", "null"] } }
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
- }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}
diff --git a/schema/Api/CustomerBroker/GetCustomerResponse.json b/schema/Api/CustomerBroker/GetCustomerResponse.json
index f2aeae3..bc1d34c 100644
--- a/schema/Api/CustomerBroker/GetCustomerResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomerResponse.json
@@ -1,153 +1,155 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetCustomerResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
- "oneOf": [
- {"type": "null"},
- {
- "type": "object",
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": {
+ "defaultWarehouseId": { "description": "Optional. Warehouse identifier.", "type": ["string", "null"] },
+ "id": {
+ "description": "Required. Unique customer identifier. Must not be empty. Must exist for update. Cannot be the same as parent.id.",
+ "type": "string",
+ "minLength": 1
+ },
+ "brokerScopes": { "type": ["array", "null"], "items": {"type": "string"} },
+ "contactAddress": {
+ "type": ["object", "null"],
"additionalProperties": false,
"properties": {
- "defaultWarehouseId": {"description": "Optional. Warehouse identifier.", "type": "string"},
- "id": {
- "description": "Required. Unique customer identifier. Must not be empty. Must exist for update. Cannot be the same as parent.id.",
+ "address1": {
+ "description": "Required if contactAddress is present. Address line 1. Must not be empty.",
"type": "string",
"minLength": 1
},
- "brokerScopes": { "type": "array", "items": {"type": "string"} },
- "clientSecret": {"type": "string"},
- "contactAddress": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "address1": {
- "description": "Required if contactAddress is present. Address line 1. Must not be empty.",
- "type": "string",
- "minLength": 1
- },
- "address2": {"description": "Optional. Address line 2.", "type": "string"},
- "address3": {"description": "Optional. Address line 3.", "type": "string"},
- "city": {
- "description": "Required if contactAddress is present. City. Must not be empty.",
- "type": "string",
- "minLength": 1
- },
- "company": {"description": "Optional. Company name.", "type": "string"},
- "country": {
- "description": "Required if contactAddress is present. Country. Must not be empty.",
- "type": "string",
- "minLength": 1
- },
- "faxNumber": {"description": "Optional. Fax number.", "type": "string"},
- "name": {"description": "Optional. Contact name.", "type": "string"},
- "phoneNumber": {"description": "Optional. Phone number.", "type": "string"},
- "postalCode": {
- "description": "Required if contactAddress is present. Postal code. Must not be empty.",
- "type": "string",
- "minLength": 1
- },
- "stateProvince": {
- "description": "Required. State or province.",
- "type": "string",
- "minLength": 1
- }
- },
- "required": ["address1", "city", "country", "postalCode", "stateProvince"]
- },
- "contactEmailAddress": {
- "description": "Optional. Contact email address. Must be a valid email if provided.",
+ "address2": { "description": "Optional. Address line 2.", "type": ["string", "null"] },
+ "address3": { "description": "Optional. Address line 3.", "type": ["string", "null"] },
+ "city": {
+ "description": "Required if contactAddress is present. City. Must not be empty.",
"type": "string",
- "format": "email"
- },
- "emailNotificationSubscriptions": {
- "type": "array",
- "items": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "emailNotificationTemplateId": { "type": ["string", "null"] },
- "emailAddresses" : { "type": ["array", "null"] , "items": {"type": "string"} }
- }
- }
+ "minLength": 1
},
- "invoiceEmailAddress": {
- "description": "Optional. Invoice email address. Must be a valid email if provided.",
+ "company": { "description": "Optional. Company name.", "type": ["string", "null"] },
+ "country": {
+ "description": "Required if contactAddress is present. Country. Must not be empty.",
"type": "string",
- "format": "email"
+ "minLength": 1
},
- "name": {"description": "Required. Customer name.", "type": "string", "minLength": 1},
- "offerRevisionDelimiter": {"type": "string"},
- "parent": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "id": {
- "description": "Required. Must not be the same as the customer id. Must exist in the system.",
- "type": "string"
- },
- "name": {"type": "string"}
- },
- "required": ["id"]
+ "faxNumber": { "description": "Optional. Fax number.", "type": ["string", "null"] },
+ "name": { "description": "Optional. Contact name.", "type": ["string", "null"] },
+ "phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
+ "postalCode": {
+ "description": "Required if contactAddress is present. Postal code. Must not be empty.",
+ "type": "string",
+ "minLength": 1
},
- "partner": {"description": "Optional. Partner name.", "type": "string"},
- "paymentEmailAddress": {
- "description": "Optional. Payment email address. Must be a valid email if provided.",
+ "stateProvince": {
+ "description": "Required. State or province.",
"type": "string",
- "format": "email"
+ "minLength": 1
+ }
+ },
+ "required": ["address1", "city", "country", "postalCode", "stateProvince"]
+ },
+ "contactEmailAddress": {
+ "description": "Optional. Contact email address. Must be a valid email if provided.",
+ "type": ["string", "null"],
+ "format": "email"
+ },
+ "emailNotificationSubscriptions": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "emailNotificationTemplateId": { "type": ["string", "null"] },
+ "emailAddresses" : { "type": ["array", "null"] , "items": {"type": "string"} }
+ }
+ }
+ },
+ "invoiceEmailAddress": {
+ "description": "Optional. Invoice email address. Must be a valid email if provided.",
+ "type": ["string", "null"],
+ "format": "email"
+ },
+ "name": {"description": "Required. Customer name.", "type": "string", "minLength": 1},
+ "offerRevisionDelimiter": { "type": ["string", "null"] },
+ "parent": {
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "description": "Required. Must not be the same as the customer id. Must exist in the system.",
+ "type": "string"
},
- "phoneNumber": {"description": "Optional. Phone number.", "type": "string"},
- "productionFileLocation": {"description": "Optional. Production file location.", "type": "string"},
- "salesRep": {"description": "Optional. Sales representative.", "type": "string"},
- "shipMethodMappings": {
- "type": "array",
- "items": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "ratesProviderShipMethodId": {"type": "string"},
- "sourceSystemShipMethodId": {"type": "string"},
- "fulfillmentSystemShipMethods": {
- "type": "array",
- "items": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "fulfillmentSystemId": {"type": "integer", "format": "int32"},
- "fulfillmentSystemShipMethodId": { "type": ["string", "null"] },
- "fulfillmentSystemName": { "type": ["string", "null"] }
- }
- }
+ "name": { "type": ["string", "null"] }
+ },
+ "required": ["id"]
+ },
+ "partner": { "description": "Optional. Partner name.", "type": ["string", "null"] },
+ "paymentEmailAddress": {
+ "description": "Optional. Payment email address. Must be a valid email if provided.",
+ "type": ["string", "null"],
+ "format": "email"
+ },
+ "phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
+ "productionFileLocation": {
+ "description": "Optional. Production file location.",
+ "type": ["string", "null"]
+ },
+ "salesRep": { "description": "Optional. Sales representative.", "type": ["string", "null"] },
+ "shipMethodMappings": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "ratesProviderShipMethodId": {"type": "string"},
+ "sourceSystemShipMethodId": {"type": "string"},
+ "fulfillmentSystemShipMethods": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "fulfillmentSystemId": {"type": "integer", "format": "int32"},
+ "fulfillmentSystemShipMethodId": { "type": ["string", "null"] },
+ "fulfillmentSystemName": { "type": ["string", "null"] }
}
- },
- "required": ["sourceSystemShipMethodId"]
+ }
}
},
- "sourceSystems": {
- "type": "array",
- "items": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "id": {"type": "integer", "format": "int32"},
- "sourceSystemCustomerId": {
- "description": "Source system ID. Required, must not be null.",
- "type": ["string", "null"]
- },
- "name": {"type": "string"}
- },
- "required": ["id", "name"]
- }
+ "required": ["sourceSystemShipMethodId", "ratesProviderShipMethodId"]
+ }
+ },
+ "sourceSystems": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "authClientId": { "type": ["string", "null"] },
+ "id": {"type": "integer", "format": "int32"},
+ "sourceSystemCustomerId": {
+ "description": "This is an automatically generated field added by middleware. It is considered read-only",
+ "type": ["string", "null"]
+ },
+ "clientSecret": { "type": ["string", "null"] },
+ "name": {"type": "string"}
},
- "subsidiary": {"description": "Optional. Subsidiary name.", "type": "string"},
- "website": {"description": "Optional. Website URL.", "type": "string"}
- },
- "required": ["id", "name"]
- }
- ]
+ "required": ["id", "name"]
+ }
+ },
+ "subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
+ "website": { "description": "Optional. Website URL.", "type": ["string", "null"] }
+ },
+ "required": ["id", "name"]
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
- }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}
diff --git a/schema/Api/CustomerBroker/GetCustomersResponse.json b/schema/Api/CustomerBroker/GetCustomersResponse.json
index 87400f1..78e5752 100644
--- a/schema/Api/CustomerBroker/GetCustomersResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomersResponse.json
@@ -1,6 +1,8 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetCustomersResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
"type": ["array", "null"],
@@ -18,6 +20,7 @@
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
},
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"],
"examples": [
{
"data": [
diff --git a/schema/Api/CustomerBroker/UpdateCustomerRequest.json b/schema/Api/CustomerBroker/UpdateCustomerRequest.json
index b3321fc..61fa93d 100644
--- a/schema/Api/CustomerBroker/UpdateCustomerRequest.json
+++ b/schema/Api/CustomerBroker/UpdateCustomerRequest.json
@@ -12,7 +12,7 @@
},
"brokerScopes": { "type": ["array", "null"], "items": {"type": "string"} },
"contactAddress": {
- "type": "object",
+ "type": ["object", "null"],
"additionalProperties": false,
"properties": {
"address1": {
@@ -73,7 +73,7 @@
"name": {"description": "Required. Customer name.", "type": "string", "minLength": 1},
"offerRevisionDelimiter": { "type": ["string", "null"] },
"parent": {
- "type": "object",
+ "type": ["object", "null"],
"additionalProperties": false,
"properties": {
"id": {
@@ -102,22 +102,25 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "ratesProviderShipMethodId": { "type": ["string", "null"] },
+ "ratesProviderShipMethodId": {"type": "string"},
"sourceSystemShipMethodId": {"type": "string"},
"fulfillmentSystemShipMethods": {
- "type": ["array", "null"],
+ "type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
- "fulfillmentSystemId": {"type": "integer", "format": "int32"},
- "fulfillmentSystemShipMethodId": { "type": ["string", "null"] },
- "fulfillmentSystemName": { "type": ["string", "null"] }
- }
+ "fulfillmentSystemId" : { "type": "integer", "format": "int32" },
+ "fulfillmentSystemShipMethodId": { "type": "string" }
+ },
+ "required": ["fulfillmentSystemId", "fulfillmentSystemShipMethodId"]
}
}
},
- "required": ["sourceSystemShipMethodId"]
+ "required": [
+ "fulfillmentSystemShipMethods", "ratesProviderShipMethodId",
+ "sourceSystemShipMethodId"
+ ]
}
},
"sourceSystems": {
@@ -128,12 +131,11 @@
"properties": {
"id": {"type": "integer", "format": "int32"},
"sourceSystemCustomerId": {
- "description": "Source system ID. Required, must not be null.",
- "type": ["string", "null"]
- },
- "name": {"type": "string"}
+ "description": "This is an automatically generated field added by middleware. It is considered read-only",
+ "type": "string"
+ }
},
- "required": ["id", "name"]
+ "required": ["id", "sourceSystemCustomerId"]
}
},
"subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
diff --git a/schema/Api/CustomerBroker/UpdateCustomerResponse.json b/schema/Api/CustomerBroker/UpdateCustomerResponse.json
index cd30721..a354b0f 100644
--- a/schema/Api/CustomerBroker/UpdateCustomerResponse.json
+++ b/schema/Api/CustomerBroker/UpdateCustomerResponse.json
@@ -1,19 +1,17 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "UpdateCustomerResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
- "oneOf": [
- {"type": "null"},
- {
- "type": "object",
- "additionalProperties": false,
- "properties": { "id": { "type": ["string", "null"] } }
- }
- ]
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": { "id": { "type": ["string", "null"] } }
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
- }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}
diff --git a/schema/Api/IdentityBroker/GetClientSecretResponse.json b/schema/Api/IdentityBroker/GetClientSecretResponse.json
index 81c5b83..58c2002 100644
--- a/schema/Api/IdentityBroker/GetClientSecretResponse.json
+++ b/schema/Api/IdentityBroker/GetClientSecretResponse.json
@@ -1,25 +1,23 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetClientSecretResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
- "oneOf": [
- {"type": "null"},
- {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "client_id" : { "type": ["string", "null"] },
- "description" : { "type": ["string", "null"] },
- "client_secret": { "type": ["string", "null"] },
- "name" : { "type": ["string", "null"] },
- "tenant" : { "type": ["string", "null"] }
- }
- }
- ]
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": {
+ "client_id" : { "type": ["string", "null"] },
+ "description" : { "type": ["string", "null"] },
+ "client_secret": { "type": ["string", "null"] },
+ "name" : { "type": ["string", "null"] },
+ "tenant" : { "type": ["string", "null"] }
+ }
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
- }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}
diff --git a/schema/Api/IdentityBroker/GetCustomerTokenRequest.json b/schema/Api/IdentityBroker/GetCustomerTokenRequest.json
index ae44f87..fd99d8a 100644
--- a/schema/Api/IdentityBroker/GetCustomerTokenRequest.json
+++ b/schema/Api/IdentityBroker/GetCustomerTokenRequest.json
@@ -3,7 +3,11 @@
"$id": "GetCustomerTokenRequest.json",
"type": "object",
"additionalProperties": false,
- "properties": { "clientName": {"type": "string"}, "password": {"type": "string"} },
+ "properties": {
+ "sourceSystemId": { "type": ["integer", "null"], "format": "int32" },
+ "clientName": {"type": "string"},
+ "password": {"type": "string"}
+ },
"required": ["clientName", "password"],
"examples": [
{
diff --git a/schema/Api/IdentityBroker/GetCustomerTokenResponse.json b/schema/Api/IdentityBroker/GetCustomerTokenResponse.json
index c0c8fe7..70542fe 100644
--- a/schema/Api/IdentityBroker/GetCustomerTokenResponse.json
+++ b/schema/Api/IdentityBroker/GetCustomerTokenResponse.json
@@ -1,22 +1,20 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetCustomerTokenResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
- "oneOf": [
- {"type": "null"},
- {
- "type": "object",
- "additionalProperties": false,
- "properties": { "authToken": {"type": "string"}, "expiresOn": {"type": "string"} },
- "required": ["authToken", "expiresOn"]
- }
- ]
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": { "authToken": {"type": "string"}, "expiresOn": {"type": "string"} },
+ "required": ["authToken", "expiresOn"]
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
},
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"],
"examples": [
{
"data": {
diff --git a/schema/Api/IdentityBroker/GetTokenResponse.json b/schema/Api/IdentityBroker/GetTokenResponse.json
index cd1af91..347b4d5 100644
--- a/schema/Api/IdentityBroker/GetTokenResponse.json
+++ b/schema/Api/IdentityBroker/GetTokenResponse.json
@@ -1,22 +1,20 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetTokenResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
- "oneOf": [
- {"type": "null"},
- {
- "type": "object",
- "additionalProperties": false,
- "properties": { "authToken": {"type": "string"}, "expiresOn": {"type": "string"} },
- "required": ["authToken", "expiresOn"]
- }
- ]
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": { "authToken": {"type": "string"}, "expiresOn": {"type": "string"} },
+ "required": ["authToken", "expiresOn"]
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
},
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"],
"examples": [
{
"data": {
diff --git a/schema/Api/OfferBroker/CreateCategoryResponse.json b/schema/Api/OfferBroker/CreateCategoryResponse.json
index dd89456..6fbc770 100644
--- a/schema/Api/OfferBroker/CreateCategoryResponse.json
+++ b/schema/Api/OfferBroker/CreateCategoryResponse.json
@@ -1,19 +1,13 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "CreateCategoryResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
- "data": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "id": { "type": ["string", "null"] },
- "failureMessages": { "type": ["array", "null"], "items": {"type": "string"} },
- "informationalMessages": { "type": ["array", "null"], "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean", "readOnly": true}
- }
- },
- "failureMessages": { "type": "array", "items": {"type": "string"} },
- "informationalMessages": { "type": "array", "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean"}
- }
+ "id" : { "type": "string" },
+ "failureMessages" : { "type": "array" , "items": {"type": "string"} },
+ "informationalMessages" : { "type": "array" , "items": {"type": "string"} },
+ "operationWasSuccessful": { "type": "boolean" }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "id"]
}
diff --git a/schema/Api/OfferBroker/CreateOfferRequest.json b/schema/Api/OfferBroker/CreateOfferRequest.json
index b6ea94b..86a22fc 100644
--- a/schema/Api/OfferBroker/CreateOfferRequest.json
+++ b/schema/Api/OfferBroker/CreateOfferRequest.json
@@ -2,6 +2,15 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "CreateOfferRequest.json",
"type": "object",
+ "allOf": [
+ {
+ "if": { "properties": { "offerType": {"const": "Product List"} } },
+ "then": {
+ "properties": { "productClusters": {"minItems": 1} },
+ "required": ["productClusters"]
+ }
+ }
+ ],
"additionalProperties": false,
"properties": {
"omsOfferId": {
@@ -41,16 +50,18 @@
"categoryIds": { "type": ["array", "null"], "items": {"type": "string"} },
"comments": { "type": ["string", "null"] },
"defaultPrice": { "type": ["number", "null"], "format": "double" },
- "doSuppressShippingAndHandling": {"type": "boolean"},
+ "deliveryScheduleCron": { "type": ["string", "null"] },
+ "doSuppressShippingAndHandling": { "type": ["boolean", "null"] },
"fixedOrderQuantities": { "type": ["array", "null"], "items": {"type": "number", "format": "double"} },
"fullImageUrl": { "type": ["string", "null"] },
- "isActive": {"type": "boolean"},
+ "isActive": { "type": ["boolean", "null"] },
"isAvailableViaCoopFunds": { "type": ["boolean", "null"] },
"isInventoried": { "type": ["boolean", "null"] },
- "isTaxable": {"type": "boolean"},
+ "isTaxable": { "type": ["boolean", "null"] },
"lastUpdatedDateTimeUtc": {
"description": "If provided, must not be in the future.",
- "type": ["string", "null"]
+ "type": ["string", "null"],
+ "format": "date-time"
},
"number": {
"description": "Required. Offer number. Must not be empty.",
@@ -63,9 +74,26 @@
"enum": ["Product List", "Drop Ship", "Download", "VDM", "Omnichannel"],
"minLength": 1
},
+ "omniChannel": {
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": {
+ "offers": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "offerId" : { "type": ["string", "null"] },
+ "deliveryChannel": { "type": ["string", "null"] }
+ }
+ }
+ }
+ }
+ },
"onlyShipMethodsAvailable": { "type": ["array", "null"], "items": {"type": "string"} },
- "orderMaximum": { "type": ["integer", "null"], "format": "int32" },
- "orderMinimum": { "type": ["integer", "null"], "format": "int32" },
+ "orderMaximum": { "type": ["integer", "null"], "format": "int32", "minimum": 1 },
+ "orderMinimum": { "type": ["integer", "null"], "format": "int32", "minimum": 1 },
"pdfUrl": { "type": ["string", "null"] },
"priceClasses": {
"type": ["array", "null"],
@@ -81,9 +109,21 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
- "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
- "price" : { "type": "number" , "format": "double" }
+ "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "pageCounts": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "maximumPages": { "type": ["integer", "null"], "format": "int32" },
+ "minimumPages": { "type": ["integer", "null"], "format": "int32" },
+ "price" : { "type": ["number", "null"] , "format": "double" }
+ }
+ }
+ },
+ "price": {"type": "number", "format": "double"}
},
"required": ["price"]
}
@@ -91,36 +131,39 @@
}
}
},
- "productCluster": {
- "description": "Must contain at least one Product with a non-empty productId and pageCount >= 1 if provided.",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "id": {"type": "string"},
- "products": {
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "productId" : { "type": "string" },
- "pageCount" : { "type": ["integer", "null"], "format": "int32" },
- "productQuantityInOffer": { "type": "integer" , "format": "int32" }
+ "productClusters": {
+ "description": "Required if offerType is 'Product List'. Must contain at least one ProductCluster with at least one Product, each with a non-empty productId and pageCount >= 1 if provided.",
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {"type": "string"},
+ "products": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productId" : { "type": "string" },
+ "pageCount" : { "type": ["integer", "null"], "format": "int32" },
+ "productQuantityInOffer": { "type": "integer" , "format": "int32" }
+ },
+ "required": ["productId", "productQuantityInOffer"]
},
- "required": ["productId", "productQuantityInOffer"]
- },
- "minItems": 1
- }
- },
- "required": ["id"]
+ "minItems": 1
+ }
+ },
+ "required": ["id"]
+ }
},
"requiresApproval": { "type": ["boolean", "null"] },
"secureEmailBody": { "type": ["string", "null"] },
"secureEmailSubject": { "type": ["string", "null"] },
- "surcharge": {"type": "number", "format": "double"},
+ "surcharge": { "type": ["number", "null"], "format": "double" },
"thumbnailUrl": { "type": ["string", "null"] },
"unitOfMeasure": { "type": ["string", "null"] },
- "weightInPounds": {"type": "number", "format": "float"}
+ "weightInPounds": { "type": ["number", "null"], "format": "float" }
},
- "required": ["number", "offerType", "omsOfferId", "productCluster"]
+ "required": ["number", "offerType", "omsOfferId"]
}
diff --git a/schema/Api/OfferBroker/CreateOfferResponse.json b/schema/Api/OfferBroker/CreateOfferResponse.json
index 9de938d..50f0268 100644
--- a/schema/Api/OfferBroker/CreateOfferResponse.json
+++ b/schema/Api/OfferBroker/CreateOfferResponse.json
@@ -1,19 +1,13 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "CreateOfferResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
- "data": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "id": { "type": ["string", "null"] },
- "failureMessages": { "type": ["array", "null"], "items": {"type": "string"} },
- "informationalMessages": { "type": ["array", "null"], "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean", "readOnly": true}
- }
- },
- "failureMessages": { "type": "array", "items": {"type": "string"} },
- "informationalMessages": { "type": "array", "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean"}
- }
+ "id" : { "type": "string" },
+ "failureMessages" : { "type": "array" , "items": {"type": "string"} },
+ "informationalMessages" : { "type": "array" , "items": {"type": "string"} },
+ "operationWasSuccessful": { "type": "boolean" }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "id"]
}
diff --git a/schema/Api/OfferBroker/DeleteCategoryResponse.json b/schema/Api/OfferBroker/DeleteCategoryResponse.json
index 8e1b3eb..0f01c9b 100644
--- a/schema/Api/OfferBroker/DeleteCategoryResponse.json
+++ b/schema/Api/OfferBroker/DeleteCategoryResponse.json
@@ -1,19 +1,13 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "DeleteCategoryResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
- "data": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "id": { "type": ["string", "null"] },
- "failureMessages": { "type": ["array", "null"], "items": {"type": "string"} },
- "informationalMessages": { "type": ["array", "null"], "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean", "readOnly": true}
- }
- },
- "failureMessages": { "type": "array", "items": {"type": "string"} },
- "informationalMessages": { "type": "array", "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean"}
- }
+ "id" : { "type": "string" },
+ "failureMessages" : { "type": "array" , "items": {"type": "string"} },
+ "informationalMessages" : { "type": "array" , "items": {"type": "string"} },
+ "operationWasSuccessful": { "type": "boolean" }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "id"]
}
diff --git a/schema/Api/OfferBroker/DeleteOfferResponse.json b/schema/Api/OfferBroker/DeleteOfferResponse.json
index fd15d74..dbf2078 100644
--- a/schema/Api/OfferBroker/DeleteOfferResponse.json
+++ b/schema/Api/OfferBroker/DeleteOfferResponse.json
@@ -1,19 +1,13 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "DeleteOfferResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
- "data": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "id": { "type": ["string", "null"] },
- "failureMessages": { "type": ["array", "null"], "items": {"type": "string"} },
- "informationalMessages": { "type": ["array", "null"], "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean", "readOnly": true}
- }
- },
- "failureMessages": { "type": "array", "items": {"type": "string"} },
- "informationalMessages": { "type": "array", "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean"}
- }
+ "id" : { "type": "string" },
+ "failureMessages" : { "type": "array" , "items": {"type": "string"} },
+ "informationalMessages" : { "type": "array" , "items": {"type": "string"} },
+ "operationWasSuccessful": { "type": "boolean" }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "id"]
}
diff --git a/schema/Api/OfferBroker/GetOfferCategoriesResponse.json b/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
index 70fbd49..d1410c8 100644
--- a/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
+++ b/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
@@ -1,6 +1,8 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetOfferCategoriesResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
"type": ["array", "null"],
@@ -19,5 +21,6 @@
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
- }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}
diff --git a/schema/Api/OfferBroker/GetOfferInventoryResponse.json b/schema/Api/OfferBroker/GetOfferInventoryResponse.json
index 6bf07ae..f94e01d 100644
--- a/schema/Api/OfferBroker/GetOfferInventoryResponse.json
+++ b/schema/Api/OfferBroker/GetOfferInventoryResponse.json
@@ -1,6 +1,8 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetOfferInventoryResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
"type": ["array", "null"],
@@ -10,7 +12,7 @@
"properties": {
"offerId" : { "type": "string" },
"currentAvailableQty": { "type": "integer" , "format": "int32" },
- "currentOnHandQty" : { "type": "integer" , "format": "int32" },
+ "currentOnHandQty" : { "type": ["integer", "null"], "format": "int32" },
"expected" : { "type": ["integer", "null"], "format": "int32" },
"onBackorder" : { "type": ["integer", "null"], "format": "int32" },
"reserved" : { "type": "integer" , "format": "int32" }
@@ -22,5 +24,5 @@
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
},
- "required": ["data"]
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}
diff --git a/schema/Api/OfferBroker/GetOfferResponse.json b/schema/Api/OfferBroker/GetOfferResponse.json
index 800d982..6acd452 100644
--- a/schema/Api/OfferBroker/GetOfferResponse.json
+++ b/schema/Api/OfferBroker/GetOfferResponse.json
@@ -1,151 +1,188 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetOfferResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
- "oneOf": [
- {"type": "null"},
- {
- "type": "object",
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": {
+ "id": { "type": ["string", "null"] },
+ "omsOfferId": {
+ "description": "Required. Unique offer identifier. Must not be empty.",
+ "type": "string",
+ "minLength": 1
+ },
+ "xmPieTemplateId": { "type": ["string", "null"] },
+ "xmPieUStoreId": { "type": ["string", "null"] },
+ "description": { "type": ["string", "null"] },
+ "accessGroups": { "type": ["array", "null"], "items": {"type": "string"} },
+ "additionalPropsRequiredOnOrder": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "type" : { "type": ["string", "null"] },
+ "hint" : { "type": ["string", "null"] },
+ "label": { "type": ["string", "null"] },
+ "name" : { "type": ["string", "null"] },
+ "value": { "type": ["string", "null"] }
+ }
+ }
+ },
+ "availableEndDate": {
+ "description": "Timestamp of when offer is no longer available. This should be in UTC.",
+ "type": ["string", "null"],
+ "examples": ["2025-06-06T00:00:00Z"]
+ },
+ "availableStartDate": {
+ "description": "Timestamp of when offer is available. This should be in UTC.",
+ "type": ["string", "null"],
+ "examples": ["2025-06-06T00:00:00Z"]
+ },
+ "categories": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": { "categoryKey": {"type": "string"}, "name": {"type": "string"} },
+ "required": ["categoryKey", "name"]
+ }
+ },
+ "categoryIds": { "type": ["array", "null"], "items": {"type": "string"} },
+ "comments": { "type": ["string", "null"] },
+ "defaultPrice": { "type": ["number", "null"], "format": "double" },
+ "deliveryScheduleCron": { "type": ["string", "null"] },
+ "doSuppressShippingAndHandling": { "type": ["boolean", "null"] },
+ "fixedOrderQuantities": { "type": ["array", "null"], "items": {"type": "integer", "format": "int32"} },
+ "fullImageUrl": { "type": ["string", "null"] },
+ "integrationBrokerLastUpdatedDateTimeUtc": { "type": ["string", "null"] },
+ "isActive": { "type": ["boolean", "null"] },
+ "isAvailableViaCoopFunds": { "type": ["boolean", "null"] },
+ "isDeleted": { "type": ["boolean", "null"] },
+ "isInventoried": { "type": ["boolean", "null"] },
+ "isTaxable": { "type": ["boolean", "null"] },
+ "lastUpdatedDateTimeUTC": {
+ "description": "If provided, must not be in the future.",
+ "type": ["string", "null"]
+ },
+ "number": {
+ "description": "Required. Offer number. Must not be empty.",
+ "type": "string",
+ "minLength": 1
+ },
+ "offerType": {
+ "description": "Required. Must be one of: Product List, Drop Ship, Download, VDM, Omnichannel.",
+ "type": "string",
+ "enum": ["Product List", "Drop Ship", "Download", "VDM", "Omnichannel"],
+ "minLength": 1
+ },
+ "omniChannel": {
+ "type": ["object", "null"],
+ "additionalProperties": false,
"properties": {
- "id": { "type": ["string", "null"] },
- "omsOfferId": {
- "description": "Required. Unique offer identifier. Must not be empty.",
- "type": "string",
- "minLength": 1
- },
- "xmPieTemplateId": { "type": ["string", "null"] },
- "xmPieUStoreId": { "type": ["string", "null"] },
- "description": { "type": ["string", "null"] },
- "accessGroups": { "type": ["array", "null"], "items": {"type": "string"} },
- "additionalPropsRequiredOnOrder": {
+ "offers": {
"type": ["array", "null"],
"items": {
"type": "object",
+ "additionalProperties": false,
"properties": {
- "type" : { "type": ["string", "null"] },
- "hint" : { "type": ["string", "null"] },
- "label": { "type": ["string", "null"] },
- "name" : { "type": ["string", "null"] },
- "value": { "type": ["string", "null"] }
+ "offerId" : { "type": ["string", "null"] },
+ "deliveryChannel": { "type": ["string", "null"] }
}
}
- },
- "availableEndDate": {
- "description": "Timestamp of when offer is no longer available. This should be in UTC.",
- "type": ["string", "null"],
- "examples": ["2025-06-06T00:00:00Z"]
- },
- "availableStartDate": {
- "description": "Timestamp of when offer is available. This should be in UTC.",
- "type": ["string", "null"],
- "examples": ["2025-06-06T00:00:00Z"]
- },
- "categories": {
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "additionalProperties": false,
- "properties": { "categoryKey": {"type": "string"}, "name": {"type": "string"} },
- "required": ["categoryKey", "name"]
- }
- },
- "categoryIds": { "type": ["array", "null"], "items": {"type": "string"} },
- "comments": { "type": ["string", "null"] },
- "defaultPrice": { "type": ["number", "null"], "format": "double" },
- "doSuppressShippingAndHandling": {"type": "boolean"},
- "fixedOrderQuantities": { "type": ["array", "null"], "items": {"type": "integer", "format": "int32"} },
- "fullImageUrl": { "type": ["string", "null"] },
- "integrationBrokerLastUpdatedDateTimeUtc": {"type": "string"},
- "isActive": {"type": "boolean"},
- "isAvailableViaCoopFunds": { "type": ["boolean", "null"] },
- "isDeleted": {"type": "boolean"},
- "isInventoried": { "type": ["boolean", "null"] },
- "isTaxable": {"type": "boolean"},
- "lastUpdatedDateTimeUTC": {"description": "If provided, must not be in the future.", "type": "string"},
- "number": {
- "description": "Required. Offer number. Must not be empty.",
- "type": "string",
- "minLength": 1
- },
- "offerType": {
- "description": "Required. Must be one of: Product List, Drop Ship, Download, VDM, Omnichannel.",
- "type": "string",
- "enum": ["Product List", "Drop Ship", "Download", "VDM", "Omnichannel"],
- "minLength": 1
- },
- "omsIdentifier": { "type": ["string", "null"] },
- "omsRootSystemName": { "type": ["string", "null"] },
- "onlyShipMethodsAvailable": { "type": ["array", "null"], "items": {"type": "string"} },
- "orderMaximum": { "type": ["integer", "null"], "format": "int32" },
- "orderMinimum": { "type": ["integer", "null"], "format": "int32" },
- "pdfUrl": { "type": ["string", "null"] },
- "priceClasses": {
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "properties": {
- "name": { "type": ["string", "null"] },
- "price": { "type": ["number", "null"], "format": "double" },
- "priceTiers": {
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "properties": {
- "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
- "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
- "price" : { "type": "number" , "format": "double" }
+ }
+ }
+ },
+ "omsIdentifier": { "type": ["string", "null"] },
+ "omsRootSystemName": { "type": ["string", "null"] },
+ "onlyShipMethodsAvailable": { "type": ["array", "null"], "items": {"type": "string"} },
+ "orderMaximum": { "type": ["integer", "null"], "format": "int32" },
+ "orderMinimum": { "type": ["integer", "null"], "format": "int32" },
+ "pdfUrl": { "type": ["string", "null"] },
+ "priceClasses": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "name": { "type": ["string", "null"] },
+ "price": { "type": ["number", "null"], "format": "double" },
+ "priceTiers": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "pageCounts": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "maximumPages": { "type": "integer", "format": "int32" },
+ "minimumPages": { "type": "integer", "format": "int32" },
+ "price" : { "type": "number" , "format": "double" }
+ }
}
- }
+ },
+ "price": {"type": "number", "format": "double"}
}
}
}
- },
- "productClusters": {
- "description": "Required if offerType is 'Product List'. Must contain at least one ProductCluster with at least one Product, each with a non-empty productId and pageCount >= 1 if provided.",
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "properties": {
- "id": { "type": ["string", "null"] },
- "products": {
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "properties": {
- "omsProductId": { "type": ["string", "null"] },
- "productId": { "type": ["string", "null"] },
- "associatedFileName": { "type": ["string", "null"] },
- "buildType": { "type": "integer", "enum": [0, 1, 2, 3, 4, 5], "format": "int32" },
- "pageCount": { "type": ["integer", "null"], "format": "int32" },
- "productColor": { "type": ["string", "null"] },
- "productDescription": { "type": ["string", "null"] },
- "productNumber": { "type": ["string", "null"] },
- "productQuantityInOffer": {"type": "integer", "format": "int32"},
- "productSize": { "type": ["string", "null"] },
- "surcharge": { "type": ["number", "null"], "format": "double" }
- }
- }
+ }
+ }
+ },
+ "productClusters": {
+ "description": "Required if offerType is 'Product List'. Must contain at least one ProductCluster with at least one Product, each with a non-empty productId and pageCount >= 1 if provided.",
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {"type": "string"},
+ "products": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "omsProductId": { "type": ["string", "null"] },
+ "productId": { "type": ["string", "null"] },
+ "associatedFileName": { "type": ["string", "null"] },
+ "buildType": { "type": "integer", "enum": [0, 1, 2, 3, 4, 5], "format": "int32" },
+ "pageCount": { "type": ["integer", "null"], "format": "int32" },
+ "productColor": { "type": ["string", "null"] },
+ "productDescription": { "type": ["string", "null"] },
+ "productNumber": { "type": ["string", "null"] },
+ "productQuantityInOffer": {"type": "integer", "format": "int32"},
+ "productSize": { "type": ["string", "null"] },
+ "surcharge": { "type": ["number", "null"], "format": "double" }
}
- },
- "required": ["id"]
+ }
}
},
- "requiresApproval": { "type": ["boolean", "null"] },
- "schemaVersion": { "type": ["string", "null"] },
- "secureEmailBody": { "type": ["string", "null"] },
- "secureEmailSubject": { "type": ["string", "null"] },
- "surcharge": {"type": "number", "format": "double"},
- "thumbnailUrl": { "type": ["string", "null"] },
- "unitOfMeasure": { "type": ["string", "null"] },
- "weightInPounds": {"type": "number", "format": "float"}
- },
- "required": ["omsOfferId", "number", "offerType"]
- }
- ]
+ "required": ["id"]
+ }
+ },
+ "requiresApproval": { "type": ["boolean", "null"] },
+ "schemaVersion": { "type": ["string", "null"] },
+ "secureEmailBody": { "type": ["string", "null"] },
+ "secureEmailSubject": { "type": ["string", "null"] },
+ "surcharge": { "type": ["number", "null"], "format": "double" },
+ "thumbnailUrl": { "type": ["string", "null"] },
+ "unitOfMeasure": { "type": ["string", "null"] },
+ "weightInPounds": { "type": ["number", "null"], "format": "float" }
+ },
+ "required": ["omsOfferId", "number", "offerType"]
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
- }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}
diff --git a/schema/Api/OfferBroker/GetOffersResponse.json b/schema/Api/OfferBroker/GetOffersResponse.json
index 60ed8e2..5640ad4 100644
--- a/schema/Api/OfferBroker/GetOffersResponse.json
+++ b/schema/Api/OfferBroker/GetOffersResponse.json
@@ -1,6 +1,8 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetOffersResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
"type": ["array", "null"],
@@ -54,16 +56,20 @@
"categoryIds": { "type": ["array", "null"], "items": {"type": "string"} },
"comments": { "type": ["string", "null"] },
"defaultPrice": { "type": ["number", "null"], "format": "double" },
- "doSuppressShippingAndHandling": {"type": "boolean"},
+ "deliveryScheduleCron": { "type": ["string", "null"] },
+ "doSuppressShippingAndHandling": { "type": ["boolean", "null"] },
"fixedOrderQuantities": { "type": ["array", "null"], "items": {"type": "integer", "format": "int32"} },
"fullImageUrl": { "type": ["string", "null"] },
- "integrationBrokerLastUpdatedDateTimeUtc": {"type": "string"},
- "isActive": {"type": "boolean"},
+ "integrationBrokerLastUpdatedDateTimeUtc": { "type": ["string", "null"] },
+ "isActive": { "type": ["boolean", "null"] },
"isAvailableViaCoopFunds": { "type": ["boolean", "null"] },
- "isDeleted": {"type": "boolean"},
+ "isDeleted": { "type": ["boolean", "null"] },
"isInventoried": { "type": ["boolean", "null"] },
- "isTaxable": {"type": "boolean"},
- "lastUpdatedDateTimeUTC": {"description": "If provided, must not be in the future.", "type": "string"},
+ "isTaxable": { "type": ["boolean", "null"] },
+ "lastUpdatedDateTimeUTC": {
+ "description": "If provided, must not be in the future.",
+ "type": ["string", "null"]
+ },
"number": {
"description": "Required. Offer number. Must not be empty.",
"type": "string",
@@ -75,6 +81,23 @@
"enum": ["Product List", "Drop Ship", "Download", "VDM", "Omnichannel"],
"minLength": 1
},
+ "omniChannel": {
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": {
+ "offers": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "offerId" : { "type": ["string", "null"] },
+ "deliveryChannel": { "type": ["string", "null"] }
+ }
+ }
+ }
+ }
+ },
"omsIdentifier": { "type": ["string", "null"] },
"omsRootSystemName": { "type": ["string", "null"] },
"onlyShipMethodsAvailable": { "type": ["array", "null"], "items": {"type": "string"} },
@@ -95,9 +118,21 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
- "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
- "price" : { "type": "number" , "format": "double" }
+ "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "pageCounts": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "maximumPages": { "type": "integer", "format": "int32" },
+ "minimumPages": { "type": "integer", "format": "int32" },
+ "price" : { "type": "number" , "format": "double" }
+ }
+ }
+ },
+ "price": {"type": "number", "format": "double"}
}
}
}
@@ -111,7 +146,7 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "id": { "type": ["string", "null"] },
+ "id": {"type": "string"},
"products": {
"type": ["array", "null"],
"items": {
@@ -141,10 +176,10 @@
"schemaVersion": { "type": ["string", "null"] },
"secureEmailBody": { "type": ["string", "null"] },
"secureEmailSubject": { "type": ["string", "null"] },
- "surcharge": {"type": "number", "format": "double"},
+ "surcharge": { "type": ["number", "null"], "format": "double" },
"thumbnailUrl": { "type": ["string", "null"] },
"unitOfMeasure": { "type": ["string", "null"] },
- "weightInPounds": {"type": "number", "format": "float"}
+ "weightInPounds": { "type": ["number", "null"], "format": "float" }
},
"required": ["omsOfferId", "number", "offerType"]
}
@@ -152,5 +187,6 @@
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
- }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}
diff --git a/schema/Api/OfferBroker/InternalGetOffersResponse.json b/schema/Api/OfferBroker/InternalGetOffersResponse.json
index 1bd9991..4bd76f7 100644
--- a/schema/Api/OfferBroker/InternalGetOffersResponse.json
+++ b/schema/Api/OfferBroker/InternalGetOffersResponse.json
@@ -1,11 +1,14 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "InternalGetOffersResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
"type": ["array", "null"],
"items": {
"type": "object",
+ "additionalProperties": false,
"properties": {
"id": { "type": ["string", "null"] },
"omsOfferId": {
@@ -53,16 +56,20 @@
"categoryIds": { "type": ["array", "null"], "items": {"type": "string"} },
"comments": { "type": ["string", "null"] },
"defaultPrice": { "type": ["number", "null"], "format": "double" },
- "doSuppressShippingAndHandling": {"type": "boolean"},
+ "deliveryScheduleCron": { "type": ["string", "null"] },
+ "doSuppressShippingAndHandling": { "type": ["boolean", "null"] },
"fixedOrderQuantities": { "type": ["array", "null"], "items": {"type": "integer", "format": "int32"} },
"fullImageUrl": { "type": ["string", "null"] },
- "integrationBrokerLastUpdatedDateTimeUtc": {"type": "string"},
- "isActive": {"type": "boolean"},
+ "integrationBrokerLastUpdatedDateTimeUtc": { "type": ["string", "null"] },
+ "isActive": { "type": ["boolean", "null"] },
"isAvailableViaCoopFunds": { "type": ["boolean", "null"] },
- "isDeleted": {"type": "boolean"},
+ "isDeleted": { "type": ["boolean", "null"] },
"isInventoried": { "type": ["boolean", "null"] },
- "isTaxable": {"type": "boolean"},
- "lastUpdatedDateTimeUTC": {"description": "If provided, must not be in the future.", "type": "string"},
+ "isTaxable": { "type": ["boolean", "null"] },
+ "lastUpdatedDateTimeUTC": {
+ "description": "If provided, must not be in the future.",
+ "type": ["string", "null"]
+ },
"number": {
"description": "Required. Offer number. Must not be empty.",
"type": "string",
@@ -74,6 +81,23 @@
"enum": ["Product List", "Drop Ship", "Download", "VDM", "Omnichannel"],
"minLength": 1
},
+ "omniChannel": {
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": {
+ "offers": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "offerId" : { "type": ["string", "null"] },
+ "deliveryChannel": { "type": ["string", "null"] }
+ }
+ }
+ }
+ }
+ },
"omsIdentifier": { "type": ["string", "null"] },
"omsRootSystemName": { "type": ["string", "null"] },
"onlyShipMethodsAvailable": { "type": ["array", "null"], "items": {"type": "string"} },
@@ -94,42 +118,58 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
- "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
- "price" : { "type": "number" , "format": "double" }
+ "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "pageCounts": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "maximumPages": { "type": "integer", "format": "int32" },
+ "minimumPages": { "type": "integer", "format": "int32" },
+ "price" : { "type": "number" , "format": "double" }
+ }
+ }
+ },
+ "price": {"type": "number", "format": "double"}
}
}
}
}
}
},
- "productCluster": {
+ "productClusters": {
"description": "Must contain at least one Product with a non-empty productId and pageCount >= 1 if provided.",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "id": { "type": ["string", "null"] },
- "products": {
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "omsProductId": { "type": ["string", "null"] },
- "productId": { "type": ["string", "null"] },
- "associatedFileName": { "type": ["string", "null"] },
- "buildType": { "type": "integer", "enum": [0, 1, 2, 3, 4, 5], "format": "int32" },
- "pageCount": { "type": ["integer", "null"], "format": "int32" },
- "productColor": { "type": ["string", "null"] },
- "productDescription": { "type": ["string", "null"] },
- "productNumber": { "type": ["string", "null"] },
- "productQuantityInOffer": {"type": "integer", "format": "int32"},
- "productSize": { "type": ["string", "null"] },
- "surcharge": { "type": ["number", "null"], "format": "double" }
- }
- },
- "minItems": 1
- }
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {"type": "string"},
+ "products": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "omsProductId": { "type": ["string", "null"] },
+ "productId": { "type": ["string", "null"] },
+ "associatedFileName": { "type": ["string", "null"] },
+ "buildType": { "type": "integer", "enum": [0, 1, 2, 3, 4, 5], "format": "int32" },
+ "pageCount": { "type": ["integer", "null"], "format": "int32" },
+ "productColor": { "type": ["string", "null"] },
+ "productDescription": { "type": ["string", "null"] },
+ "productNumber": { "type": ["string", "null"] },
+ "productQuantityInOffer": {"type": "integer", "format": "int32"},
+ "productSize": { "type": ["string", "null"] },
+ "surcharge": { "type": ["number", "null"], "format": "double" }
+ }
+ },
+ "minItems": 1
+ }
+ },
+ "required": ["id"]
},
"required": ["id"]
},
@@ -137,16 +177,17 @@
"schemaVersion": { "type": ["string", "null"] },
"secureEmailBody": { "type": ["string", "null"] },
"secureEmailSubject": { "type": ["string", "null"] },
- "surcharge": {"type": "number", "format": "double"},
+ "surcharge": { "type": ["number", "null"], "format": "double" },
"thumbnailUrl": { "type": ["string", "null"] },
"unitOfMeasure": { "type": ["string", "null"] },
- "weightInPounds": {"type": "number", "format": "float"}
+ "weightInPounds": { "type": ["number", "null"], "format": "float" }
},
- "required": ["omsOfferId", "number", "offerType", "productCluster"]
+ "required": ["omsOfferId", "number", "offerType", "productClusters"]
}
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
- }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}
diff --git a/schema/Api/OfferBroker/UpdateCategoryRequest.json b/schema/Api/OfferBroker/UpdateCategoryRequest.json
index 475faa2..725ffbd 100644
--- a/schema/Api/OfferBroker/UpdateCategoryRequest.json
+++ b/schema/Api/OfferBroker/UpdateCategoryRequest.json
@@ -4,7 +4,7 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "id" : { "type": ["string", "null"] },
+ "id" : { "type": "string" },
"parentId" : { "type": ["string", "null"] },
"lastUpdatedDateTimeUtc": { "type": ["string", "null"] },
"name" : { "type": "string" }
diff --git a/schema/Api/OfferBroker/UpdateCategoryResponse.json b/schema/Api/OfferBroker/UpdateCategoryResponse.json
index d56ca22..2e830e9 100644
--- a/schema/Api/OfferBroker/UpdateCategoryResponse.json
+++ b/schema/Api/OfferBroker/UpdateCategoryResponse.json
@@ -1,19 +1,13 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "UpdateCategoryResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
- "data": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "id": { "type": ["string", "null"] },
- "failureMessages": { "type": ["array", "null"], "items": {"type": "string"} },
- "informationalMessages": { "type": ["array", "null"], "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean", "readOnly": true}
- }
- },
- "failureMessages": { "type": "array", "items": {"type": "string"} },
- "informationalMessages": { "type": "array", "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean"}
- }
+ "id" : { "type": "string" },
+ "failureMessages" : { "type": "array" , "items": {"type": "string"} },
+ "informationalMessages" : { "type": "array" , "items": {"type": "string"} },
+ "operationWasSuccessful": { "type": "boolean" }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "id"]
}
diff --git a/schema/Api/OfferBroker/UpdateOfferRequest.json b/schema/Api/OfferBroker/UpdateOfferRequest.json
index 169cfe6..2b7952f 100644
--- a/schema/Api/OfferBroker/UpdateOfferRequest.json
+++ b/schema/Api/OfferBroker/UpdateOfferRequest.json
@@ -2,6 +2,15 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "UpdateOfferRequest.json",
"type": "object",
+ "allOf": [
+ {
+ "if": { "properties": { "offerType": {"const": "Product List"} } },
+ "then": {
+ "properties": { "productClusters": {"minItems": 1} },
+ "required": ["productClusters"]
+ }
+ }
+ ],
"additionalProperties": false,
"properties": {
"omsOfferId": {
@@ -41,17 +50,19 @@
"categoryIds": { "type": ["array", "null"], "items": {"type": "string"} },
"comments": { "type": ["string", "null"] },
"defaultPrice": { "type": ["number", "null"], "format": "double" },
- "doSuppressShippingAndHandling": {"type": "boolean"},
+ "deliveryScheduleCron": { "type": ["string", "null"] },
+ "doSuppressShippingAndHandling": { "type": ["boolean", "null"] },
"fixedOrderQuantities": { "type": ["array", "null"], "items": {"type": "number", "format": "double"} },
"fullImageUrl": { "type": ["string", "null"] },
- "isActive": {"type": "boolean"},
+ "isActive": { "type": ["boolean", "null"] },
"isAvailableViaCoopFunds": { "type": ["boolean", "null"] },
"isDeleted": { "type": ["boolean", "null"] },
"isInventoried": { "type": ["boolean", "null"] },
- "isTaxable": {"type": "boolean"},
+ "isTaxable": { "type": ["boolean", "null"] },
"lastUpdatedDateTimeUtc": {
"description": "If provided, must not be in the future.",
- "type": ["string", "null"]
+ "type": ["string", "null"],
+ "format": "date-time"
},
"number": {
"description": "Required. Offer number. Must not be empty.",
@@ -64,9 +75,26 @@
"enum": ["Product List", "Drop Ship", "Download", "VDM", "Omnichannel"],
"minLength": 1
},
+ "omniChannel": {
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": {
+ "offers": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "offerId" : { "type": ["string", "null"] },
+ "deliveryChannel": { "type": ["string", "null"] }
+ }
+ }
+ }
+ }
+ },
"onlyShipMethodsAvailable": { "type": ["array", "null"], "items": {"type": "string"} },
- "orderMaximum": { "type": ["integer", "null"], "format": "int32" },
- "orderMinimum": { "type": ["integer", "null"], "format": "int32" },
+ "orderMaximum": { "type": ["integer", "null"], "format": "int32", "minimum": 1 },
+ "orderMinimum": { "type": ["integer", "null"], "format": "int32", "minimum": 1 },
"pdfUrl": { "type": ["string", "null"] },
"priceClasses": {
"type": ["array", "null"],
@@ -82,9 +110,21 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
- "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
- "price" : { "type": "number" , "format": "double" }
+ "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "pageCounts": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "maximumPages": { "type": ["integer", "null"], "format": "int32" },
+ "minimumPages": { "type": ["integer", "null"], "format": "int32" },
+ "price" : { "type": ["number", "null"] , "format": "double" }
+ }
+ }
+ },
+ "price": {"type": "number", "format": "double"}
},
"required": ["price"]
}
@@ -92,36 +132,39 @@
}
}
},
- "productCluster": {
- "description": "Must contain at least one Product with a non-empty productId and pageCount >= 1 if provided.",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "id": {"type": "string"},
- "products": {
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "productId" : { "type": "string" },
- "pageCount" : { "type": ["integer", "null"], "format": "int32" },
- "productQuantityInOffer": { "type": "integer" , "format": "int32" }
+ "productClusters": {
+ "description": "Required if offerType is 'Product List'. Must contain at least one ProductCluster with at least one Product, each with a non-empty productId and pageCount >= 1 if provided.",
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {"type": "string"},
+ "products": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productId" : { "type": "string" },
+ "pageCount" : { "type": ["integer", "null"], "format": "int32" },
+ "productQuantityInOffer": { "type": "integer" , "format": "int32" }
+ },
+ "required": ["productId", "productQuantityInOffer"]
},
- "required": ["productId", "productQuantityInOffer"]
- },
- "minItems": 1
- }
- },
- "required": ["id"]
+ "minItems": 1
+ }
+ },
+ "required": ["id"]
+ }
},
"requiresApproval": { "type": ["boolean", "null"] },
"secureEmailBody": { "type": ["string", "null"] },
"secureEmailSubject": { "type": ["string", "null"] },
- "surcharge": {"type": "number", "format": "double"},
+ "surcharge": { "type": ["number", "null"], "format": "double" },
"thumbnailUrl": { "type": ["string", "null"] },
"unitOfMeasure": { "type": ["string", "null"] },
- "weightInPounds": {"type": "number", "format": "float"}
+ "weightInPounds": { "type": ["number", "null"], "format": "float" }
},
- "required": ["number", "offerType", "omsOfferId", "productCluster"]
+ "required": ["number", "offerType", "omsOfferId"]
}
diff --git a/schema/Api/OfferBroker/UpdateOfferResponse.json b/schema/Api/OfferBroker/UpdateOfferResponse.json
index ad3d274..600c975 100644
--- a/schema/Api/OfferBroker/UpdateOfferResponse.json
+++ b/schema/Api/OfferBroker/UpdateOfferResponse.json
@@ -1,19 +1,13 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "UpdateOfferResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
- "data": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "id": { "type": ["string", "null"] },
- "failureMessages": { "type": ["array", "null"], "items": {"type": "string"} },
- "informationalMessages": { "type": ["array", "null"], "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean", "readOnly": true}
- }
- },
- "failureMessages": { "type": "array", "items": {"type": "string"} },
- "informationalMessages": { "type": "array", "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean"}
- }
+ "id" : { "type": "string" },
+ "failureMessages" : { "type": "array" , "items": {"type": "string"} },
+ "informationalMessages" : { "type": "array" , "items": {"type": "string"} },
+ "operationWasSuccessful": { "type": "boolean" }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "id"]
}
diff --git a/schema/Api/OrderBroker/InternalNewOrderRequest.json b/schema/Api/OrderBroker/InternalNewOrderRequest.json
index 91a9075..0114fa5 100644
--- a/schema/Api/OrderBroker/InternalNewOrderRequest.json
+++ b/schema/Api/OrderBroker/InternalNewOrderRequest.json
@@ -15,7 +15,7 @@
"referenceId": { "type": ["string", "null"], "maxLength": 255, "examples": ["REF123456"] },
"sourceSystemCustomerId": {
"description": "Unique customer ID in the source system. Required, must not be null or empty.",
- "type": ["string"],
+ "type": "string",
"maxLength": 100,
"minLength": 1,
"examples": ["CUST123456"]
@@ -23,6 +23,7 @@
"sourceSystemId": {
"description": "Source system ID. Required, must not be null.",
"type": "integer",
+ "format": "int32",
"examples": [2, 12]
},
"accessGroups": {
@@ -297,7 +298,7 @@
"format": "double"
}
},
- "required": ["offerId", "lineItemFee", "price", "quantityOrdered"]
+ "required": ["lineItemFee", "price", "quantityOrdered"]
},
"minItems": 1,
"uniqueItems": false,
@@ -426,12 +427,12 @@
},
"rushOrder": {
"description": "True/false indicator if Order is expedited",
- "type": "boolean",
+ "type": ["boolean", "null"],
"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", "null"],
"items": {
"type": "object",
"additionalProperties": false,
@@ -539,7 +540,10 @@
"examples": [10.0]
}
},
- "required": ["orderId", "lineItems", "shippingHandlingTax"],
+ "required": [
+ "orderId", "sourceSystemCustomerId", "sourceSystemId", "createDateTime",
+ "lineItems", "shippingHandlingTax", "billTos", "shipTos"
+ ],
"allOf": [
{
"description": "Either a defaultBillToKey must be provided, or the billTos array must be populated.",
@@ -577,7 +581,7 @@
{
"properties": {
"lineItems": {
- "type": "array",
+ "type": ["array", "null"],
"items": {
"type": "object",
"properties": { "billToKey": {"type": "integer", "minimum": 0} },
@@ -598,7 +602,7 @@
{
"properties": {
"lineItems": {
- "type": "array",
+ "type": ["array", "null"],
"items": {
"properties": { "shipToKey": {"type": "integer", "minimum": 0} },
"required": ["shipToKey"]
@@ -618,7 +622,7 @@
{
"properties": {
"lineItems": {
- "type": "array",
+ "type": ["array", "null"],
"items": {
"properties": { "orderedByKey": {"type": "integer", "minimum": 0} },
"required": ["orderedByKey"]
@@ -638,7 +642,7 @@
{
"properties": {
"lineItems": {
- "type": "array",
+ "type": ["array", "null"],
"items": {
"type": "object",
"properties": { "offerLineNumber": {"type": "string", "minLength": 1} },
@@ -652,6 +656,8 @@
{
"orderId": "7-mkkutsde-3-K-5649-4005-64",
"referenceId": "OWMR WSKFA - LNSSZT XBUUJ & MS XXQ QCHX",
+ "sourceSystemCustomerId": "Big Chicken",
+ "sourceSystemId": 2,
"accessGroups": ["TS-Retail", "CDM Tuff Shed", "Tuff shed Act on behalf and see all orders"],
"affiliateIdentifier": "QJ-987",
"affiliateName": "UJ-143-ABWJINHFVL, QD",
@@ -795,6 +801,8 @@
{
"orderId": "1-qrhjtpek-8-Q-0286-8859-25",
"referenceId": "WUQD HWKPE - XIWHAC BTVOM & BH WAK DXRI",
+ "sourceSystemCustomerId": "Big Chicken",
+ "sourceSystemId": 2,
"accessGroups": ["TS-Retail", "CDM Tuff Shed", "Tuff shed Act on behalf and see all orders"],
"affiliateIdentifier": "VJ-268",
"affiliateName": "GZ-589-WUOFETGVLG, RM",
diff --git a/schema/Api/OrderBroker/NewOrderRequest.json b/schema/Api/OrderBroker/NewOrderRequest.json
index 76b12a2..aa3a24f 100644
--- a/schema/Api/OrderBroker/NewOrderRequest.json
+++ b/schema/Api/OrderBroker/NewOrderRequest.json
@@ -13,21 +13,6 @@
"examples": ["123456789"]
},
"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"],
- "maxLength": 100,
- "minLength": 1,
- "readonly": true,
- "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]
- },
"accessGroups": {
"type": ["array", "null"],
"items": {"type": "string"},
@@ -429,12 +414,12 @@
},
"rushOrder": {
"description": "True/false indicator if Order is expedited",
- "type": "boolean",
+ "type": ["boolean", "null"],
"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", "null"],
"items": {
"type": "object",
"additionalProperties": false,
@@ -542,7 +527,10 @@
"examples": [10.0]
}
},
- "required": ["orderId", "lineItems", "shippingHandlingTax"],
+ "required": [
+ "orderId", "createDateTime", "lineItems", "shippingHandlingTax", "billTos",
+ "shipTos"
+ ],
"allOf": [
{
"description": "Either a defaultBillToKey must be provided, or the billTos array must be populated.",
@@ -580,7 +568,7 @@
{
"properties": {
"lineItems": {
- "type": "array",
+ "type": ["array", "null"],
"items": {
"type": "object",
"properties": { "billToKey": {"type": "integer", "minimum": 0} },
@@ -601,7 +589,7 @@
{
"properties": {
"lineItems": {
- "type": "array",
+ "type": ["array", "null"],
"items": {
"properties": { "shipToKey": {"type": "integer", "minimum": 0} },
"required": ["shipToKey"]
@@ -621,7 +609,7 @@
{
"properties": {
"lineItems": {
- "type": "array",
+ "type": ["array", "null"],
"items": {
"properties": { "orderedByKey": {"type": "integer", "minimum": 0} },
"required": ["orderedByKey"]
@@ -641,7 +629,7 @@
{
"properties": {
"lineItems": {
- "type": "array",
+ "type": ["array", "null"],
"items": {
"type": "object",
"properties": { "offerLineNumber": {"type": "string", "minLength": 1} },
diff --git a/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json b/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
index cccff99..16e8cd9 100644
--- a/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
+++ b/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
@@ -15,8 +15,8 @@
"oneOf": [
{"type": "null"},
{
+ "description": "Bill to address object for Order",
"type": "object",
- "allOf": [ {"description": "Bill to address object for Order"} ],
"properties": {
"address1": {"description": "Address line 1 for address", "type": "string"},
"address2": { "description": "Address line 2 for address", "type": ["string", "null"] },
@@ -39,7 +39,7 @@
]
},
"createDateTime": { "type": ["string", "null"] },
- "defaultShipToKey": {"type": "integer", "format": "int32"},
+ "defaultShipToKey": { "type": ["integer", "null"], "format": "int32" },
"dueDate": { "type": ["string", "null"] },
"orderIds": { "type": ["array", "null"], "items": {"type": "string"} },
"orderVariables": { "type": ["string", "null"] },
@@ -98,8 +98,8 @@
"shipTos": {
"type": ["array", "null"],
"items": {
+ "description": "Ship to addresses array for Order",
"type": "object",
- "allOf": [ {"description": "Ship to addresses array for Order"} ],
"properties": {
"fulfillmentSystemShippingMethodId": { "type": ["string", "null"] },
"referenceId": { "type": ["string", "null"] },
diff --git a/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json b/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json
index ae48ec1..d29475e 100644
--- a/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json
+++ b/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json
@@ -14,5 +14,6 @@
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
- }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}
diff --git a/schema/Api/ProductBroker/GetAllProductsResponse.json b/schema/Api/ProductBroker/GetAllProductsResponse.json
index 586debf..b3f330b 100644
--- a/schema/Api/ProductBroker/GetAllProductsResponse.json
+++ b/schema/Api/ProductBroker/GetAllProductsResponse.json
@@ -1,6 +1,8 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetAllProductsResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
"type": ["array", "null"],
@@ -37,5 +39,6 @@
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
- }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}
diff --git a/schema/Api/ProductBroker/GetProductInventoryResponse.json b/schema/Api/ProductBroker/GetProductInventoryResponse.json
index 51bb9b8..40b029c 100644
--- a/schema/Api/ProductBroker/GetProductInventoryResponse.json
+++ b/schema/Api/ProductBroker/GetProductInventoryResponse.json
@@ -1,27 +1,25 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetProductInventoryResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
- "oneOf": [
- {"type": "null"},
- {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "ProductId" : { "type": "string" },
- "CurrentAvailableQty": { "type": "integer" , "format": "int32" },
- "CurrentOnHandQty" : { "type": "integer" , "format": "int32" },
- "Expected" : { "type": ["integer", "null"], "format": "int32" },
- "OnBackorder" : { "type": ["integer", "null"], "format": "int32" },
- "Reserved" : { "type": "integer" , "format": "int32" }
- },
- "required": ["CurrentAvailableQty", "CurrentOnHandQty", "ProductId", "Reserved"]
- }
- ]
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": {
+ "ProductId" : { "type": "string" },
+ "CurrentAvailableQty": { "type": "integer" , "format": "int32" },
+ "CurrentOnHandQty" : { "type": "integer" , "format": "int32" },
+ "Expected" : { "type": ["integer", "null"], "format": "int32" },
+ "OnBackorder" : { "type": ["integer", "null"], "format": "int32" },
+ "Reserved" : { "type": "integer" , "format": "int32" }
+ },
+ "required": ["CurrentAvailableQty", "CurrentOnHandQty", "ProductId", "Reserved"]
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
- }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}
diff --git a/schema/Api/ProductBroker/GetProductsInventoryParameters.json b/schema/Api/ProductBroker/GetProductsInventoryParameters.json
index a9959b8..b5de110 100644
--- a/schema/Api/ProductBroker/GetProductsInventoryParameters.json
+++ b/schema/Api/ProductBroker/GetProductsInventoryParameters.json
@@ -1,4 +1,5 @@
{
+ "$schema": "http://json-schema.org/draft-07/schema#",
"CorrelationId": {
"description": "Correlation ID. This is added by the API Management service if not present. Once added, it should be propagated to any downstream services.",
"in": "header",
diff --git a/schema/Api/ProductBroker/GetProductsInventoryResponse.json b/schema/Api/ProductBroker/GetProductsInventoryResponse.json
index 70242f4..48c14a8 100644
--- a/schema/Api/ProductBroker/GetProductsInventoryResponse.json
+++ b/schema/Api/ProductBroker/GetProductsInventoryResponse.json
@@ -1,6 +1,8 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetProductsInventoryResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
"data": {
"type": ["array", "null"],
@@ -8,18 +10,19 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "productId" : { "type": ["string", "null"] },
- "currentAvailableQty": { "type": "integer" , "format": "int32" },
- "currentOnHandQty" : { "type": "integer" , "format": "int32" },
- "expected" : { "type": ["integer", "null"], "format": "int32" },
- "onBackorder" : { "type": ["integer", "null"], "format": "int32" },
- "reserved" : { "type": "integer" , "format": "int32" }
+ "ProductId" : { "type": "string" },
+ "CurrentAvailableQty": { "type": "integer" , "format": "int32" },
+ "CurrentOnHandQty" : { "type": "integer" , "format": "int32" },
+ "Expected" : { "type": ["integer", "null"], "format": "int32" },
+ "OnBackorder" : { "type": ["integer", "null"], "format": "int32" },
+ "Reserved" : { "type": "integer" , "format": "int32" }
},
- "required": ["currentAvailableQty", "currentOnHandQty", "productId", "reserved"]
+ "required": ["CurrentAvailableQty", "CurrentOnHandQty", "ProductId", "Reserved"]
}
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
- }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}
diff --git a/schema/Api/ShippingBroker/GetShippingratesRequest.json b/schema/Api/ShippingBroker/GetShippingratesRequest.json
index 81c79a5..b362c01 100644
--- a/schema/Api/ShippingBroker/GetShippingratesRequest.json
+++ b/schema/Api/ShippingBroker/GetShippingratesRequest.json
@@ -4,38 +4,38 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "sourceSystemCustomerId": {
+ "SourceSystemCustomerId": {
"description": "This is an automatically generated field added by middleware. It is considered read-only",
"type": ["string", "null"],
"readonly": true
},
- "sourceSystemId": {
+ "SourceSystemId": {
"description": "This is an automatically generated field added by middleware. It is considered read-only",
- "type": "integer",
+ "type": ["integer", "null"],
"format": "int32",
"readonly": true
},
- "offerIds": { "type": ["array", "null"], "items": {"type": "string"} },
- "packageWeight": {"type": "number", "format": "float"},
- "shipToAddress": {
- "type": "object",
+ "OfferIds": { "type": ["array", "null"], "items": {"type": "string"} },
+ "PackageWeight": { "type": ["number", "null"], "format": "float" },
+ "ShipToAddress": {
+ "type": ["object", "null"],
"additionalProperties": false,
"properties": {
- "address1" : { "type": ["string", "null"] },
- "address2" : { "type": ["string", "null"] },
- "address3" : { "type": ["string", "null"] },
- "city" : { "type": ["string", "null"] },
- "company" : { "type": ["string", "null"] },
- "country" : { "type": ["string", "null"] },
- "emailAddress" : { "type": ["string", "null"] },
- "faxNumber" : { "type": ["string", "null"] },
- "isResidential": { "type": ["boolean", "null"] },
- "name" : { "type": ["string", "null"] },
- "phoneNumber" : { "type": ["string", "null"] },
- "postalCode" : { "type": ["string", "null"] },
- "stateProvince": { "type": ["string", "null"] }
+ "Address1" : { "type": ["string", "null"] },
+ "Address2" : { "type": ["string", "null"] },
+ "Address3" : { "type": ["string", "null"] },
+ "City" : { "type": ["string", "null"] },
+ "Company" : { "type": ["string", "null"] },
+ "Country" : { "type": ["string", "null"] },
+ "EmailAddress" : { "type": ["string", "null"] },
+ "FaxNumber" : { "type": ["string", "null"] },
+ "IsResidential": { "type": ["boolean", "null"] },
+ "Name" : { "type": ["string", "null"] },
+ "PhoneNumber" : { "type": ["string", "null"] },
+ "PostalCode" : { "type": ["string", "null"] },
+ "StateProvince": { "type": ["string", "null"] }
}
},
- "sourceSystemShippingMethods": { "type": ["array", "null"], "items": {"type": "string"} }
+ "SourceSystemShippingMethods": { "type": ["array", "null"], "items": {"type": "string"} }
}
}
diff --git a/schema/Api/ShippingBroker/GetShippingratesResponse.json b/schema/Api/ShippingBroker/GetShippingratesResponse.json
index 2451561..bffe35a 100644
--- a/schema/Api/ShippingBroker/GetShippingratesResponse.json
+++ b/schema/Api/ShippingBroker/GetShippingratesResponse.json
@@ -1,12 +1,13 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetShippingratesResponse.json",
+ "type": "object",
+ "additionalProperties": false,
"properties": {
- "data": {
- "oneOf": [ {"type": "null"}, {"type": "object", "additionalProperties": false} ]
- },
+ "data": { "type": ["object", "null"], "additionalProperties": false },
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
- }
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}