Schema Changes - 2025-06-20
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 e71a36e..477aaf9 100644
--- a/schema/Api/CustomerBroker/CreateCustomerRequest.json
+++ b/schema/Api/CustomerBroker/CreateCustomerRequest.json
@@ -1,7 +1,8 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CustomerFromCreateCustomerRequest.json",
+ "$id": "CreateCustomerRequest.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"defaultWarehouseId": { "description": "Optional. Warehouse identifier.", "type": ["string", "null"] },
"id": {
@@ -11,9 +12,8 @@
},
"brokerScopes": { "type": ["array", "null"], "items": {"type": "string"} },
"contactAddress": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ContactAddress.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"address1": {
"description": "Required if contactAddress is present. Address line 1. Must not be empty.",
@@ -62,9 +62,8 @@
"description": "Optional. List of email notification subscriptions.",
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "EmailNotificationSubscription.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"emailNotificationTemplateId": { "type": ["string", "null"] },
"emailAddresses" : { "type": ["array", "null"] , "items": {"type": "string"} }
@@ -79,9 +78,8 @@
"name": {"description": "Required. Customer name.", "type": "string", "minLength": 1},
"offerRevisionDelimiter": { "type": ["string", "null"] },
"parent": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Parent.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"id": {
"description": "Required. Must not be the same as the customer id. Must exist in the system.",
@@ -107,18 +105,16 @@
"description": "Optional. Ship method mappings for the customer.",
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipMethodMapping.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"ratesProviderShipMethodId": { "type": ["string", "null"] },
"sourceSystemShipMethodId": {"type": "string"},
"fulfillmentSystemShipMethods": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "FulfillmentSystemShipMethod.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"fulfillmentSystemId": {"type": "integer", "format": "int32"},
"fulfillmentSystemShipMethodId": { "type": ["string", "null"] },
@@ -133,9 +129,8 @@
"sourceSystems": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "SourceSystem.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"id": {"type": "integer", "format": "int32"},
"sourceSystemCustomerId": { "type": ["string", "null"] },
diff --git a/schema/Api/CustomerBroker/CreateCustomerResponse.json b/schema/Api/CustomerBroker/CreateCustomerResponse.json
index b2514e6..ea94874 100644
--- a/schema/Api/CustomerBroker/CreateCustomerResponse.json
+++ b/schema/Api/CustomerBroker/CreateCustomerResponse.json
@@ -6,45 +6,14 @@
"oneOf": [
{"type": "null"},
{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Customer.json",
"type": "object",
"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"} },
- "contactEmailAddress": {
- "description": "Optional. Contact email address. Must be a valid email if provided.",
- "type": ["string", "null"],
- "format": "email"
- },
- "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"] },
- "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"] },
- "subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
- "website": { "description": "Optional. Website URL.", "type": ["string", "null"] }
- },
- "required": ["id", "name"]
+ "data": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": { "id": { "type": ["string", "null"] } }
+ }
+ }
}
]
},
diff --git a/schema/Api/CustomerBroker/GetCustomerIdResponse.json b/schema/Api/CustomerBroker/GetCustomerIdResponse.json
index df2ef1c..0a8e2a8 100644
--- a/schema/Api/CustomerBroker/GetCustomerIdResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomerIdResponse.json
@@ -6,8 +6,6 @@
"oneOf": [
{"type": "null"},
{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CustomerId.json",
"type": "object",
"additionalProperties": false,
"properties": { "id": { "type": ["string", "null"] } }
diff --git a/schema/Api/CustomerBroker/GetCustomerResponse.json b/schema/Api/CustomerBroker/GetCustomerResponse.json
index 047be06..3721a91 100644
--- a/schema/Api/CustomerBroker/GetCustomerResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomerResponse.json
@@ -6,162 +6,140 @@
"oneOf": [
{"type": "null"},
{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CustomerFromGetCustomerResponse.json",
"type": "object",
- "allOf": [
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Customer.json",
+ "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.",
+ "type": "string",
+ "minLength": 1
+ },
+ "brokerScopes": { "type": "array", "items": {"type": "string"} },
+ "clientSecret": {"type": "string"},
+ "contactAddress": {
"type": "object",
+ "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.",
+ "address1": {
+ "description": "Required if contactAddress is present. Address line 1. Must not be empty.",
"type": "string",
"minLength": 1
},
- "brokerScopes": { "type": ["array", "null"], "items": {"type": "string"} },
- "contactEmailAddress": {
- "description": "Optional. Contact email address. Must be a valid email if provided.",
- "type": ["string", "null"],
- "format": "email"
- },
- "invoiceEmailAddress": {
- "description": "Optional. Invoice email address. Must be a valid email if provided.",
- "type": ["string", "null"],
- "format": "email"
+ "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
},
- "name": {"description": "Required. Customer name.", "type": "string", "minLength": 1},
- "offerRevisionDelimiter": { "type": ["string", "null"] },
- "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"
+ "company": {"description": "Optional. Company name.", "type": "string"},
+ "country": {
+ "description": "Required if contactAddress is present. Country. Must not be empty.",
+ "type": "string",
+ "minLength": 1
},
- "phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
- "productionFileLocation": {
- "description": "Optional. Production file location.",
- "type": ["string", "null"]
+ "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
},
- "salesRep": { "description": "Optional. Sales representative.", "type": ["string", "null"] },
- "subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
- "website": { "description": "Optional. Website URL.", "type": ["string", "null"] }
+ "stateProvince": {
+ "description": "Required. State or province.",
+ "type": "string",
+ "minLength": 1
+ }
},
- "required": ["id", "name"]
+ "required": ["address1", "city", "country", "postalCode", "stateProvince"]
+ },
+ "contactEmailAddress": {
+ "description": "Optional. Contact email address. Must be a valid email if provided.",
+ "type": "string",
+ "format": "email"
+ },
+ "emailNotificationSubscriptions": {
+ "type": "array",
+ "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",
+ "format": "email"
+ },
+ "name": {"description": "Required. Customer name.", "type": "string", "minLength": 1},
+ "offerRevisionDelimiter": {"type": "string"},
+ "parent": {
"type": "object",
+ "additionalProperties": false,
"properties": {
- "clientSecret": { "type": ["string", "null"] },
- "contactAddress": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ContactAddress.json",
- "type": "object",
- "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", "null"] },
- "address3": { "description": "Optional. Address line 3.", "type": ["string", "null"] },
- "city": {
- "description": "Required if contactAddress is present. City. Must not be empty.",
- "type": "string",
- "minLength": 1
- },
- "company": { "description": "Optional. Company name.", "type": ["string", "null"] },
- "country": {
- "description": "Required if contactAddress is present. Country. Must not be empty.",
- "type": "string",
- "minLength": 1
- },
- "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
- },
- "stateProvince": {
- "description": "Required. State or province.",
- "type": "string",
- "minLength": 1
- }
- },
- "required": ["address1", "city", "country", "postalCode", "stateProvince"]
+ "id": {
+ "description": "Required. Must not be the same as the customer id. Must exist in the system.",
+ "type": "string"
},
- "emailNotificationSubscriptions": {
- "type": ["array", "null"],
- "items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "EmailNotificationSubscription.json",
- "type": "object",
- "properties": {
- "emailNotificationTemplateId": { "type": ["string", "null"] },
- "emailAddresses" : { "type": ["array", "null"] , "items": {"type": "string"} }
+ "name": {"type": "string"}
+ },
+ "required": ["id"]
+ },
+ "partner": {"description": "Optional. Partner name.", "type": "string"},
+ "paymentEmailAddress": {
+ "description": "Optional. Payment email address. Must be a valid email if provided.",
+ "type": "string",
+ "format": "email"
+ },
+ "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"] }
+ }
}
}
},
- "parent": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Parent.json",
- "type": "object",
- "properties": {
- "id": {
- "description": "Required. Must not be the same as the customer id. Must exist in the system.",
- "type": "string"
- },
- "name": { "type": ["string", "null"] }
- },
- "required": ["id"]
- },
- "shipMethodMappings": {
- "type": ["array", "null"],
- "items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipMethodMapping.json",
- "type": "object",
- "properties": {
- "ratesProviderShipMethodId": { "type": ["string", "null"] },
- "sourceSystemShipMethodId": {"type": "string"},
- "fulfillmentSystemShipMethods": {
- "type": ["array", "null"],
- "items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "FulfillmentSystemShipMethod.json",
- "type": "object",
- "properties": {
- "fulfillmentSystemId": {"type": "integer", "format": "int32"},
- "fulfillmentSystemShipMethodId": { "type": ["string", "null"] },
- "fulfillmentSystemName": { "type": ["string", "null"] }
- }
- }
- }
- },
- "required": ["sourceSystemShipMethodId"]
- }
+ "required": ["sourceSystemShipMethodId"]
+ }
+ },
+ "sourceSystems": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": {"type": "integer", "format": "int32"},
+ "sourceSystemCustomerId": {"type": "string"},
+ "name": {"type": "string"}
},
- "sourceSystems": {
- "type": ["array", "null"],
- "items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "SourceSystem.json",
- "type": "object",
- "properties": {
- "id": {"type": "integer", "format": "int32"},
- "sourceSystemCustomerId": { "type": ["string", "null"] },
- "name": {"type": "string"}
- },
- "required": ["id", "name"]
- }
- }
+ "required": ["id", "name"]
}
- }
- ]
+ },
+ "subsidiary": {"description": "Optional. Subsidiary name.", "type": "string"},
+ "website": {"description": "Optional. Website URL.", "type": "string"}
+ },
+ "required": ["id", "name"]
}
]
},
diff --git a/schema/Api/CustomerBroker/GetCustomersResponse.json b/schema/Api/CustomerBroker/GetCustomersResponse.json
index cf9fb69..87400f1 100644
--- a/schema/Api/CustomerBroker/GetCustomersResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomersResponse.json
@@ -5,8 +5,6 @@
"data": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CustomersList.json",
"type": "object",
"additionalProperties": false,
"properties": {
diff --git a/schema/Api/CustomerBroker/UpdateCustomerRequest.json b/schema/Api/CustomerBroker/UpdateCustomerRequest.json
index 5ffb912..26a8379 100644
--- a/schema/Api/CustomerBroker/UpdateCustomerRequest.json
+++ b/schema/Api/CustomerBroker/UpdateCustomerRequest.json
@@ -1,7 +1,8 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CustomerFromUpdateCustomerRequest.json",
+ "$id": "UpdateCustomerRequest.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"defaultWarehouseId": { "description": "Optional. Warehouse identifier.", "type": ["string", "null"] },
"id": {
@@ -11,9 +12,8 @@
},
"brokerScopes": { "type": ["array", "null"], "items": {"type": "string"} },
"contactAddress": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ContactAddress.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"address1": {
"description": "Required if contactAddress is present. Address line 1. Must not be empty.",
@@ -57,9 +57,8 @@
"emailNotificationSubscriptions": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "EmailNotificationSubscription.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"emailNotificationTemplateId": { "type": ["string", "null"] },
"emailAddresses" : { "type": ["array", "null"] , "items": {"type": "string"} }
@@ -74,9 +73,8 @@
"name": {"description": "Required. Customer name.", "type": "string", "minLength": 1},
"offerRevisionDelimiter": { "type": ["string", "null"] },
"parent": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Parent.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"id": {
"description": "Required. Must not be the same as the customer id. Must exist in the system.",
@@ -101,18 +99,16 @@
"shipMethodMappings": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipMethodMapping.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"ratesProviderShipMethodId": { "type": ["string", "null"] },
"sourceSystemShipMethodId": {"type": "string"},
"fulfillmentSystemShipMethods": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "FulfillmentSystemShipMethod.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"fulfillmentSystemId": {"type": "integer", "format": "int32"},
"fulfillmentSystemShipMethodId": { "type": ["string", "null"] },
@@ -127,9 +123,8 @@
"sourceSystems": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "SourceSystem.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"id": {"type": "integer", "format": "int32"},
"sourceSystemCustomerId": { "type": ["string", "null"] },
diff --git a/schema/Api/CustomerBroker/UpdateCustomerResponse.json b/schema/Api/CustomerBroker/UpdateCustomerResponse.json
index 2ae728f..cd30721 100644
--- a/schema/Api/CustomerBroker/UpdateCustomerResponse.json
+++ b/schema/Api/CustomerBroker/UpdateCustomerResponse.json
@@ -6,45 +6,9 @@
"oneOf": [
{"type": "null"},
{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Customer.json",
"type": "object",
- "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"} },
- "contactEmailAddress": {
- "description": "Optional. Contact email address. Must be a valid email if provided.",
- "type": ["string", "null"],
- "format": "email"
- },
- "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"] },
- "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"] },
- "subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
- "website": { "description": "Optional. Website URL.", "type": ["string", "null"] }
- },
- "required": ["id", "name"]
+ "additionalProperties": false,
+ "properties": { "id": { "type": ["string", "null"] } }
}
]
},
diff --git a/schema/Api/IdentityBroker/GetClientSecretResponse.json b/schema/Api/IdentityBroker/GetClientSecretResponse.json
index 0d90546..81c5b83 100644
--- a/schema/Api/IdentityBroker/GetClientSecretResponse.json
+++ b/schema/Api/IdentityBroker/GetClientSecretResponse.json
@@ -6,8 +6,6 @@
"oneOf": [
{"type": "null"},
{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ClientSecret.json",
"type": "object",
"additionalProperties": false,
"properties": {
diff --git a/schema/Api/IdentityBroker/GetCustomerTokenResponse.json b/schema/Api/IdentityBroker/GetCustomerTokenResponse.json
index cb44202..c0c8fe7 100644
--- a/schema/Api/IdentityBroker/GetCustomerTokenResponse.json
+++ b/schema/Api/IdentityBroker/GetCustomerTokenResponse.json
@@ -6,9 +6,8 @@
"oneOf": [
{"type": "null"},
{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Token.json",
"type": "object",
+ "additionalProperties": false,
"properties": { "authToken": {"type": "string"}, "expiresOn": {"type": "string"} },
"required": ["authToken", "expiresOn"]
}
diff --git a/schema/Api/IdentityBroker/GetTokenResponse.json b/schema/Api/IdentityBroker/GetTokenResponse.json
index ba0378f..cd1af91 100644
--- a/schema/Api/IdentityBroker/GetTokenResponse.json
+++ b/schema/Api/IdentityBroker/GetTokenResponse.json
@@ -6,9 +6,8 @@
"oneOf": [
{"type": "null"},
{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Token.json",
"type": "object",
+ "additionalProperties": false,
"properties": { "authToken": {"type": "string"}, "expiresOn": {"type": "string"} },
"required": ["authToken", "expiresOn"]
}
diff --git a/schema/Api/OfferBroker/CreateCategoryRequest.json b/schema/Api/OfferBroker/CreateCategoryRequest.json
index 80e1c9c..7e5481a 100644
--- a/schema/Api/OfferBroker/CreateCategoryRequest.json
+++ b/schema/Api/OfferBroker/CreateCategoryRequest.json
@@ -1,11 +1,12 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CategoryFromCreateCategoryRequest.json",
+ "$id": "CreateCategoryRequest.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"parentId" : { "type": ["string", "null"] },
"lastUpdatedDateTimeUtc": { "type": ["string", "null"] },
"name" : { "type": "string" }
},
- "required": ["id", "name"]
+ "required": ["name"]
}
diff --git a/schema/Api/OfferBroker/CreateOfferRequest.json b/schema/Api/OfferBroker/CreateOfferRequest.json
index d6d77dd..33ab094 100644
--- a/schema/Api/OfferBroker/CreateOfferRequest.json
+++ b/schema/Api/OfferBroker/CreateOfferRequest.json
@@ -1,9 +1,18 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OfferFromCreateOfferRequest.json",
+ "$id": "CreateOfferRequest.json",
"type": "object",
+ "allOf": [
+ {
+ "if": { "properties": { "offerType": {"const": "Product List"} } },
+ "then": {
+ "properties": { "productClusters": {"minItems": 1} },
+ "required": ["productClusters"]
+ }
+ }
+ ],
+ "additionalProperties": false,
"properties": {
- "id": { "type": ["string", "null"] },
"omsOfferId": {
"description": "Required. Unique offer identifier. Must not be empty.",
"type": "string",
@@ -16,10 +25,15 @@
"additionalPropsRequiredOnOrder": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "AdditionalPropsRequiredOnOrderInput.json",
"type": "object",
- "properties": { "type": { "type": ["string", "null"] }, "name": {"type": "string"} },
+ "additionalProperties": false,
+ "properties": {
+ "type" : { "type": ["string", "null"] },
+ "hint" : { "type": ["string", "null"] },
+ "label": { "type": ["string", "null"] },
+ "name" : { "type": "string" },
+ "value": { "type": ["string", "null"] }
+ },
"required": ["name"]
}
},
@@ -33,30 +47,17 @@
"type": ["string", "null"],
"examples": ["2025-06-06T00:00:00Z"]
},
- "categories": {
- "type": ["array", "null"],
- "items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OfferCategoryFromGetOffersResponse.json",
- "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"} },
+ "fixedOrderQuantities": { "type": ["array", "null"], "items": {"type": "number", "format": "double"} },
"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"},
+ "lastUpdatedDateTimeUtc": {"description": "If provided, must not be in the future.", "type": "string"},
"number": {
"description": "Required. Offer number. Must not be empty.",
"type": "string",
@@ -68,8 +69,6 @@
"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" },
@@ -77,23 +76,22 @@
"priceClasses": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PriceClass.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"name": { "type": ["string", "null"] },
"price": { "type": ["number", "null"], "format": "double" },
"priceTiers": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PriceTier.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
"minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
"price" : { "type": "number" , "format": "double" }
- }
+ },
+ "required": ["price"]
}
}
}
@@ -103,17 +101,15 @@
"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": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductClusterInput.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"id": {"type": "string"},
"products": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductInput.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"productId" : { "type": "string" },
"pageCount" : { "type": ["integer", "null"], "format": "int32" },
@@ -127,7 +123,6 @@
}
},
"requiresApproval": { "type": ["boolean", "null"] },
- "schemaVersion": { "type": ["string", "null"] },
"secureEmailBody": { "type": ["string", "null"] },
"secureEmailSubject": { "type": ["string", "null"] },
"surcharge": {"type": "number", "format": "double"},
@@ -135,18 +130,5 @@
"unitOfMeasure": { "type": ["string", "null"] },
"weightInPounds": {"type": "number", "format": "float"}
},
- "required": ["number", "offerType", "omsOfferId"],
- "allOf": [
- {
- "allOf": [
- {
- "if": { "properties": { "offerType": {"const": "Product List"} } },
- "then": {
- "properties": { "productClusters": {"minItems": 1} },
- "required": ["productClusters"]
- }
- }
- ]
- }
- ]
+ "required": ["number", "offerType", "omsOfferId"]
}
diff --git a/schema/Api/OfferBroker/GetOfferCategoriesResponse.json b/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
index db13b2b..70fbd49 100644
--- a/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
+++ b/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
@@ -5,8 +5,6 @@
"data": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OfferCategory.json",
"type": "object",
"additionalProperties": false,
"properties": {
@@ -14,14 +12,7 @@
"categoryKey": { "type": ["string", "null"] },
"categoryLevel": { "type": ["integer", "null"], "format": "int32" },
"categoryName": { "type": ["string", "null"] },
- "subCategories": {
- "type": ["array", "null"],
- "items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "SubCategory.json",
- "type": "object"
- }
- }
+ "subCategories": { "type": ["array", "null"], "items": {"type": "object"} }
}
}
},
diff --git a/schema/Api/OfferBroker/GetOfferInventoryResponse.json b/schema/Api/OfferBroker/GetOfferInventoryResponse.json
index f2cb6e3..6bf07ae 100644
--- a/schema/Api/OfferBroker/GetOfferInventoryResponse.json
+++ b/schema/Api/OfferBroker/GetOfferInventoryResponse.json
@@ -5,8 +5,6 @@
"data": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OfferInventory.json",
"type": "object",
"additionalProperties": false,
"properties": {
diff --git a/schema/Api/OfferBroker/GetOfferResponse.json b/schema/Api/OfferBroker/GetOfferResponse.json
index 091e2ca..21365f1 100644
--- a/schema/Api/OfferBroker/GetOfferResponse.json
+++ b/schema/Api/OfferBroker/GetOfferResponse.json
@@ -6,8 +6,6 @@
"oneOf": [
{"type": "null"},
{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Offer.json",
"type": "object",
"allOf": [
{
@@ -32,8 +30,6 @@
"additionalPropsRequiredOnOrder": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "AdditionalPropsRequiredOnOrderOutput.json",
"type": "object",
"properties": {
"type" : { "type": ["string", "null"] },
@@ -57,8 +53,6 @@
"categories": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OfferCategoryFromGetOffersResponse.json",
"type": "object",
"additionalProperties": false,
"properties": { "categoryKey": {"type": "string"}, "name": {"type": "string"} },
@@ -98,8 +92,6 @@
"priceClasses": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PriceClass.json",
"type": "object",
"properties": {
"name": { "type": ["string", "null"] },
@@ -107,8 +99,6 @@
"priceTiers": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PriceTier.json",
"type": "object",
"properties": {
"maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
@@ -124,16 +114,12 @@
"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": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductClusterOutput.json",
"type": "object",
"properties": {
"id": { "type": ["string", "null"] },
"products": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductOutput.json",
"type": "object",
"properties": {
"omsProductId": { "type": ["string", "null"] },
diff --git a/schema/Api/OfferBroker/GetOffersResponse.json b/schema/Api/OfferBroker/GetOffersResponse.json
index 6715bf9..746f30d 100644
--- a/schema/Api/OfferBroker/GetOffersResponse.json
+++ b/schema/Api/OfferBroker/GetOffersResponse.json
@@ -5,18 +5,8 @@
"data": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Offer.json",
"type": "object",
- "allOf": [
- {
- "if": { "properties": { "offerType": {"const": "Product List"} } },
- "then": {
- "properties": { "productClusters": {"minItems": 1} },
- "required": ["productClusters"]
- }
- }
- ],
+ "additionalProperties": false,
"properties": {
"id": { "type": ["string", "null"] },
"omsOfferId": {
@@ -31,9 +21,8 @@
"additionalPropsRequiredOnOrder": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "AdditionalPropsRequiredOnOrderOutput.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"type" : { "type": ["string", "null"] },
"hint" : { "type": ["string", "null"] },
@@ -56,8 +45,6 @@
"categories": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OfferCategoryFromGetOffersResponse.json",
"type": "object",
"additionalProperties": false,
"properties": { "categoryKey": {"type": "string"}, "name": {"type": "string"} },
@@ -97,18 +84,16 @@
"priceClasses": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PriceClass.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"name": { "type": ["string", "null"] },
"price": { "type": ["number", "null"], "format": "double" },
"priceTiers": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PriceTier.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
"minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
@@ -123,17 +108,15 @@
"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": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductClusterOutput.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"id": { "type": ["string", "null"] },
"products": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductOutput.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"omsProductId": { "type": ["string", "null"] },
"productId": { "type": ["string", "null"] },
diff --git a/schema/Api/OfferBroker/InternalGetOffersResponse.json b/schema/Api/OfferBroker/InternalGetOffersResponse.json
index b0b029f..c3a832e 100644
--- a/schema/Api/OfferBroker/InternalGetOffersResponse.json
+++ b/schema/Api/OfferBroker/InternalGetOffersResponse.json
@@ -5,8 +5,6 @@
"data": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Offer.json",
"type": "object",
"allOf": [
{
@@ -31,9 +29,8 @@
"additionalPropsRequiredOnOrder": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "AdditionalPropsRequiredOnOrderOutput.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"type" : { "type": ["string", "null"] },
"hint" : { "type": ["string", "null"] },
@@ -56,8 +53,6 @@
"categories": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OfferCategoryFromGetOffersResponse.json",
"type": "object",
"additionalProperties": false,
"properties": { "categoryKey": {"type": "string"}, "name": {"type": "string"} },
@@ -97,18 +92,16 @@
"priceClasses": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PriceClass.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"name": { "type": ["string", "null"] },
"price": { "type": ["number", "null"], "format": "double" },
"priceTiers": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PriceTier.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
"minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
@@ -123,17 +116,15 @@
"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": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductClusterOutput.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"id": { "type": ["string", "null"] },
"products": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductOutput.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"omsProductId": { "type": ["string", "null"] },
"productId": { "type": ["string", "null"] },
diff --git a/schema/Api/OfferBroker/UpdateCategoryRequest.json b/schema/Api/OfferBroker/UpdateCategoryRequest.json
index 7e05d1a..475faa2 100644
--- a/schema/Api/OfferBroker/UpdateCategoryRequest.json
+++ b/schema/Api/OfferBroker/UpdateCategoryRequest.json
@@ -1,7 +1,8 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CategoryFromUpdateCategoryRequest.json",
+ "$id": "UpdateCategoryRequest.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"id" : { "type": ["string", "null"] },
"parentId" : { "type": ["string", "null"] },
diff --git a/schema/Api/OfferBroker/UpdateOfferRequest.json b/schema/Api/OfferBroker/UpdateOfferRequest.json
index 466532c..7e492fe 100644
--- a/schema/Api/OfferBroker/UpdateOfferRequest.json
+++ b/schema/Api/OfferBroker/UpdateOfferRequest.json
@@ -1,9 +1,18 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OfferFromUpdateOfferRequest.json",
+ "$id": "UpdateOfferRequest.json",
"type": "object",
+ "allOf": [
+ {
+ "if": { "properties": { "offerType": {"const": "Product List"} } },
+ "then": {
+ "properties": { "productClusters": {"minItems": 1} },
+ "required": ["productClusters"]
+ }
+ }
+ ],
+ "additionalProperties": false,
"properties": {
- "id": { "type": ["string", "null"] },
"omsOfferId": {
"description": "Required. Unique offer identifier. Must not be empty.",
"type": "string",
@@ -16,10 +25,15 @@
"additionalPropsRequiredOnOrder": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "AdditionalPropsRequiredOnOrderInput.json",
"type": "object",
- "properties": { "type": { "type": ["string", "null"] }, "name": {"type": "string"} },
+ "additionalProperties": false,
+ "properties": {
+ "type" : { "type": ["string", "null"] },
+ "hint" : { "type": ["string", "null"] },
+ "label": { "type": ["string", "null"] },
+ "name" : { "type": "string" },
+ "value": { "type": ["string", "null"] }
+ },
"required": ["name"]
}
},
@@ -33,30 +47,21 @@
"type": ["string", "null"],
"examples": ["2025-06-06T00:00:00Z"]
},
- "categories": {
- "type": ["array", "null"],
- "items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OfferCategoryFromGetOffersResponse.json",
- "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"} },
+ "fixedOrderQuantities": { "type": ["array", "null"], "items": {"type": "number", "format": "double"} },
"fullImageUrl": { "type": ["string", "null"] },
- "integrationBrokerLastUpdatedDateTimeUtc": {"type": "string"},
"isActive": {"type": "boolean"},
"isAvailableViaCoopFunds": { "type": ["boolean", "null"] },
"isDeleted": { "type": ["boolean", "null"] },
"isInventoried": { "type": ["boolean", "null"] },
"isTaxable": {"type": "boolean"},
- "lastUpdatedDateTimeUTC": {"description": "If provided, must not be in the future.", "type": "string"},
+ "lastUpdatedDateTimeUtc": {
+ "description": "If provided, must not be in the future.",
+ "type": ["string", "null"]
+ },
"number": {
"description": "Required. Offer number. Must not be empty.",
"type": "string",
@@ -68,8 +73,6 @@
"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" },
@@ -77,23 +80,22 @@
"priceClasses": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PriceClass.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"name": { "type": ["string", "null"] },
"price": { "type": ["number", "null"], "format": "double" },
"priceTiers": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PriceTier.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
"minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
"price" : { "type": "number" , "format": "double" }
- }
+ },
+ "required": ["price"]
}
}
}
@@ -103,17 +105,15 @@
"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": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductClusterInput.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"id": {"type": "string"},
"products": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductInput.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"productId" : { "type": "string" },
"pageCount" : { "type": ["integer", "null"], "format": "int32" },
@@ -127,7 +127,6 @@
}
},
"requiresApproval": { "type": ["boolean", "null"] },
- "schemaVersion": { "type": ["string", "null"] },
"secureEmailBody": { "type": ["string", "null"] },
"secureEmailSubject": { "type": ["string", "null"] },
"surcharge": {"type": "number", "format": "double"},
@@ -135,18 +134,5 @@
"unitOfMeasure": { "type": ["string", "null"] },
"weightInPounds": {"type": "number", "format": "float"}
},
- "required": ["number", "offerType", "omsOfferId"],
- "allOf": [
- {
- "allOf": [
- {
- "if": { "properties": { "offerType": {"const": "Product List"} } },
- "then": {
- "properties": { "productClusters": {"minItems": 1} },
- "required": ["productClusters"]
- }
- }
- ]
- }
- ]
+ "required": ["number", "offerType", "omsOfferId"]
}
diff --git a/schema/Api/OrderBroker/InternalNewOrderRequest.json b/schema/Api/OrderBroker/InternalNewOrderRequest.json
index f489e7c..55e2407 100644
--- a/schema/Api/OrderBroker/InternalNewOrderRequest.json
+++ b/schema/Api/OrderBroker/InternalNewOrderRequest.json
@@ -49,40 +49,27 @@
{
"type": "array",
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "BillToFromNewOrderRequest.json",
"type": "object",
- "allOf": [
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "BillTo.json",
- "description": "Bill to address object for Order",
- "type": "object",
- "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"},
- "emailAddress": {
- "description": "Contact email address for address",
- "type": ["string", "null"]
- },
- "faxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
- "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", "name", "postalCode", "stateProvince"]
+ "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"},
+ "emailAddress": {
+ "description": "Contact email address for address",
+ "type": ["string", "null"]
},
- {
- "type": "object",
- "properties": { "key": {"type": "integer", "format": "int32"} }
- }
- ],
- "required": ["key"]
+ "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"]
},
"minItems": 1
}
@@ -149,8 +136,6 @@
"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"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "LineItem.json",
"description": "Order level line item details",
"type": "object",
"additionalProperties": false,
@@ -168,8 +153,6 @@
"description": "Additional properties details for Order LineItems",
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "AdditionalProperty.json",
"description": "Order.LineItems level additional properties details",
"type": "object",
"additionalProperties": false,
@@ -228,85 +211,69 @@
"products": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductFromNewOrderRequest.json",
"type": "object",
- "allOf": [
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Product.json",
- "type": "object",
- "properties": {
- "productId": {"type": "string"},
- "associatedFileName": { "type": ["string", "null"] },
- "comment": { "type": ["string", "null"] },
- "pageCount": { "type": ["integer", "null"], "format": "int32" },
- "quantityOrdered": { "type": ["integer", "null"], "format": "int32" }
- },
- "required": ["productId"]
- },
- {
- "type": "object",
- "properties": {
- "color": { "type": ["string", "null"] },
- "components": {
- "type": ["array", "null"],
- "items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Component.json",
- "description": "Order.LineItems.Products level component details",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "productId": {
- "description": "Unique ID for component product within Integration Broker",
- "type": "string"
- },
- "associatedFileName": {
- "description": "Name of file associated to component product (if applicable)",
- "type": ["string", "null"]
- },
- "color": { "description": "Color of component product", "type": ["string", "null"] },
- "comment": {
- "description": "Manually entered comment for component product",
- "type": ["string", "null"]
- },
- "componentLineNumber": {
- "description": "Unique ID for component product within parent product",
- "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"]
- },
- "productNumber": {
- "description": "Name for component product within product management system (system where ordered line item products will be managed)",
- "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"],
- "format": "int32"
- },
- "quantityOrdered": {
- "description": "Amount of component product ordered within parent product",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "size": { "description": "Size of component product", "type": ["string", "null"] }
- },
- "required": ["productId"]
- }
+ "additionalProperties": false,
+ "properties": {
+ "productId": {"type": "string"},
+ "associatedFileName": { "type": ["string", "null"] },
+ "color": { "type": ["string", "null"] },
+ "comment": { "type": ["string", "null"] },
+ "components": {
+ "type": ["array", "null"],
+ "items": {
+ "description": "Order.LineItems.Products level component details",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productId": {
+ "description": "Unique ID for component product within Integration Broker",
+ "type": "string"
+ },
+ "associatedFileName": {
+ "description": "Name of file associated to component product (if applicable)",
+ "type": ["string", "null"]
+ },
+ "color": { "description": "Color of component product", "type": ["string", "null"] },
+ "comment": {
+ "description": "Manually entered comment for component product",
+ "type": ["string", "null"]
+ },
+ "componentLineNumber": {
+ "description": "Unique ID for component product within parent product",
+ "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"]
+ },
+ "productNumber": {
+ "description": "Name for component product within product management system (system where ordered line item products will be managed)",
+ "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"],
+ "format": "int32"
+ },
+ "quantityOrdered": {
+ "description": "Amount of component product ordered within parent product",
+ "type": ["integer", "null"],
+ "format": "int32"
+ },
+ "size": { "description": "Size of component product", "type": ["string", "null"] }
},
- "productDescription": { "type": ["string", "null"] },
- "productLineNumber": { "type": ["string", "null"] },
- "productNumber": { "type": ["string", "null"] },
- "productOwner": { "type": ["string", "null"] },
- "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"]
}
},
@@ -355,15 +322,11 @@
"examples": [5.0]
},
"orderVariables": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OrderVariable.json",
"description": "Manually entered variables for order within order management system (system where order lifecycle will be managed in)",
"oneOf": [
{"type": "null"},
{"type": "object", "maxProperties": 0},
{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "AdditionalProperty.json",
"description": "Order.LineItems level additional properties details",
"type": "object",
"additionalProperties": false,
@@ -383,8 +346,6 @@
{
"type": "array",
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OrderedBy.json",
"description": "Bill to address object for Order",
"type": "object",
"additionalProperties": false,
@@ -436,9 +397,8 @@
"description": "Order.ShipTos level payment method details",
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PaymentMethod.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"amount": {
"description": "Total Amount. Required if MethodName specified",
@@ -486,85 +446,68 @@
"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"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipToFromNewOrderRequest.json",
"type": "object",
- "allOf": [
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipTo.json",
+ "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" },
+ "paymentMethods": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Total Amount. Required if MethodName specified",
+ "type": "number",
+ "format": "double"
+ },
+ "methodName": {
+ "description": "Name of payment method. Required if Payment Amount specified",
+ "type": "string"
+ }
+ },
+ "required": ["amount", "methodName"]
+ }
+ },
+ "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": {
- "referenceId": { "type": ["string", "null"] },
- "comment": { "type": ["string", "null"] },
- "dueDate": { "type": ["string", "null"] },
- "key": {"type": "integer", "format": "int32"},
- "poNumber": { "type": ["string", "null"] },
- "rushOrder": { "type": ["boolean", "null"] },
- "shippingCost": { "type": ["number", "null"], "format": "double" }
+ "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"] },
+ "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": ["key"]
+ "required": ["address1", "city", "country", "name", "postalCode", "stateProvince"]
},
- {
- "type": "object",
- "properties": {
- "affiliateId": { "type": ["string", "null"] },
- "sourceSystemShippingMethodId": { "type": ["string", "null"] },
- "affiliateName": { "type": ["string", "null"] },
- "costCenter": { "type": ["string", "null"] },
- "creditCardFee": { "type": ["number", "null"], "format": "double" },
- "orderFee": { "type": ["number", "null"], "format": "double" },
- "paymentMethods": {
- "type": ["array", "null"],
- "items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PaymentMethod.json",
- "type": "object",
- "properties": {
- "amount": {
- "description": "Total Amount. Required if MethodName specified",
- "type": "number",
- "format": "double"
- },
- "methodName": {
- "description": "Name of payment method. Required if Payment Amount specified",
- "type": "string"
- }
- },
- "required": ["amount", "methodName"]
- }
- },
- "pickPackHandlingFee": { "type": ["number", "null"], "format": "double" },
- "shipToAddress": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipToAddress.json",
- "description": "Ship to addresses array for Order",
- "type": "object",
- "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"},
- "emailAddress": {
- "description": "Contact email address for address",
- "type": ["string", "null"]
- },
- "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"}
- },
- "required": ["address1", "city", "country", "name", "postalCode", "stateProvince"]
- },
- "shippingHandlingTax": { "type": ["number", "null"], "format": "double" },
- "totalOrderFee": { "type": ["number", "null"], "format": "double" }
- }
- }
- ],
+ "shippingCost": { "type": ["number", "null"], "format": "double" },
+ "shippingHandlingTax": { "type": ["number", "null"], "format": "double" },
+ "totalOrderFee": { "type": ["number", "null"], "format": "double" }
+ },
"required": ["key"]
},
"minItems": 1,
diff --git a/schema/Api/OrderBroker/NewOrderRequest.json b/schema/Api/OrderBroker/NewOrderRequest.json
index 034b012..0a4f6dd 100644
--- a/schema/Api/OrderBroker/NewOrderRequest.json
+++ b/schema/Api/OrderBroker/NewOrderRequest.json
@@ -49,40 +49,27 @@
{
"type": "array",
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "BillToFromNewOrderRequest.json",
"type": "object",
- "allOf": [
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "BillTo.json",
- "description": "Bill to address object for Order",
- "type": "object",
- "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"},
- "emailAddress": {
- "description": "Contact email address for address",
- "type": ["string", "null"]
- },
- "faxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
- "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", "name", "postalCode", "stateProvince"]
+ "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"},
+ "emailAddress": {
+ "description": "Contact email address for address",
+ "type": ["string", "null"]
},
- {
- "type": "object",
- "properties": { "key": {"type": "integer", "format": "int32"} }
- }
- ],
- "required": ["key"]
+ "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"]
},
"minItems": 1
}
@@ -149,8 +136,6 @@
"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"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "LineItem.json",
"description": "Order level line item details",
"type": "object",
"additionalProperties": false,
@@ -168,8 +153,6 @@
"description": "Additional properties details for Order LineItems",
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "AdditionalProperty.json",
"description": "Order.LineItems level additional properties details",
"type": "object",
"additionalProperties": false,
@@ -228,85 +211,69 @@
"products": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductFromNewOrderRequest.json",
"type": "object",
- "allOf": [
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Product.json",
- "type": "object",
- "properties": {
- "productId": {"type": "string"},
- "associatedFileName": { "type": ["string", "null"] },
- "comment": { "type": ["string", "null"] },
- "pageCount": { "type": ["integer", "null"], "format": "int32" },
- "quantityOrdered": { "type": ["integer", "null"], "format": "int32" }
- },
- "required": ["productId"]
- },
- {
- "type": "object",
- "properties": {
- "color": { "type": ["string", "null"] },
- "components": {
- "type": ["array", "null"],
- "items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Component.json",
- "description": "Order.LineItems.Products level component details",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "productId": {
- "description": "Unique ID for component product within Integration Broker",
- "type": "string"
- },
- "associatedFileName": {
- "description": "Name of file associated to component product (if applicable)",
- "type": ["string", "null"]
- },
- "color": { "description": "Color of component product", "type": ["string", "null"] },
- "comment": {
- "description": "Manually entered comment for component product",
- "type": ["string", "null"]
- },
- "componentLineNumber": {
- "description": "Unique ID for component product within parent product",
- "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"]
- },
- "productNumber": {
- "description": "Name for component product within product management system (system where ordered line item products will be managed)",
- "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"],
- "format": "int32"
- },
- "quantityOrdered": {
- "description": "Amount of component product ordered within parent product",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "size": { "description": "Size of component product", "type": ["string", "null"] }
- },
- "required": ["productId"]
- }
+ "additionalProperties": false,
+ "properties": {
+ "productId": {"type": "string"},
+ "associatedFileName": { "type": ["string", "null"] },
+ "color": { "type": ["string", "null"] },
+ "comment": { "type": ["string", "null"] },
+ "components": {
+ "type": ["array", "null"],
+ "items": {
+ "description": "Order.LineItems.Products level component details",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productId": {
+ "description": "Unique ID for component product within Integration Broker",
+ "type": "string"
+ },
+ "associatedFileName": {
+ "description": "Name of file associated to component product (if applicable)",
+ "type": ["string", "null"]
+ },
+ "color": { "description": "Color of component product", "type": ["string", "null"] },
+ "comment": {
+ "description": "Manually entered comment for component product",
+ "type": ["string", "null"]
+ },
+ "componentLineNumber": {
+ "description": "Unique ID for component product within parent product",
+ "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"]
+ },
+ "productNumber": {
+ "description": "Name for component product within product management system (system where ordered line item products will be managed)",
+ "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"],
+ "format": "int32"
+ },
+ "quantityOrdered": {
+ "description": "Amount of component product ordered within parent product",
+ "type": ["integer", "null"],
+ "format": "int32"
+ },
+ "size": { "description": "Size of component product", "type": ["string", "null"] }
},
- "productDescription": { "type": ["string", "null"] },
- "productLineNumber": { "type": ["string", "null"] },
- "productNumber": { "type": ["string", "null"] },
- "productOwner": { "type": ["string", "null"] },
- "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"]
}
},
@@ -355,15 +322,11 @@
"examples": [5.0]
},
"orderVariables": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OrderVariable.json",
"description": "Manually entered variables for order within order management system (system where order lifecycle will be managed in)",
"oneOf": [
{"type": "null"},
{"type": "object", "maxProperties": 0},
{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "AdditionalProperty.json",
"description": "Order.LineItems level additional properties details",
"type": "object",
"additionalProperties": false,
@@ -383,8 +346,6 @@
{
"type": "array",
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OrderedBy.json",
"description": "Bill to address object for Order",
"type": "object",
"additionalProperties": false,
@@ -436,9 +397,8 @@
"description": "Order.ShipTos level payment method details",
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PaymentMethod.json",
"type": "object",
+ "additionalProperties": false,
"properties": {
"amount": {
"description": "Total Amount. Required if MethodName specified",
@@ -486,85 +446,68 @@
"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"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipToFromNewOrderRequest.json",
"type": "object",
- "allOf": [
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipTo.json",
+ "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" },
+ "paymentMethods": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Total Amount. Required if MethodName specified",
+ "type": "number",
+ "format": "double"
+ },
+ "methodName": {
+ "description": "Name of payment method. Required if Payment Amount specified",
+ "type": "string"
+ }
+ },
+ "required": ["amount", "methodName"]
+ }
+ },
+ "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": {
- "referenceId": { "type": ["string", "null"] },
- "comment": { "type": ["string", "null"] },
- "dueDate": { "type": ["string", "null"] },
- "key": {"type": "integer", "format": "int32"},
- "poNumber": { "type": ["string", "null"] },
- "rushOrder": { "type": ["boolean", "null"] },
- "shippingCost": { "type": ["number", "null"], "format": "double" }
+ "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"] },
+ "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": ["key"]
+ "required": ["address1", "city", "country", "name", "postalCode", "stateProvince"]
},
- {
- "type": "object",
- "properties": {
- "affiliateId": { "type": ["string", "null"] },
- "sourceSystemShippingMethodId": { "type": ["string", "null"] },
- "affiliateName": { "type": ["string", "null"] },
- "costCenter": { "type": ["string", "null"] },
- "creditCardFee": { "type": ["number", "null"], "format": "double" },
- "orderFee": { "type": ["number", "null"], "format": "double" },
- "paymentMethods": {
- "type": ["array", "null"],
- "items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PaymentMethod.json",
- "type": "object",
- "properties": {
- "amount": {
- "description": "Total Amount. Required if MethodName specified",
- "type": "number",
- "format": "double"
- },
- "methodName": {
- "description": "Name of payment method. Required if Payment Amount specified",
- "type": "string"
- }
- },
- "required": ["amount", "methodName"]
- }
- },
- "pickPackHandlingFee": { "type": ["number", "null"], "format": "double" },
- "shipToAddress": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipToAddress.json",
- "description": "Ship to addresses array for Order",
- "type": "object",
- "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"},
- "emailAddress": {
- "description": "Contact email address for address",
- "type": ["string", "null"]
- },
- "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"}
- },
- "required": ["address1", "city", "country", "name", "postalCode", "stateProvince"]
- },
- "shippingHandlingTax": { "type": ["number", "null"], "format": "double" },
- "totalOrderFee": { "type": ["number", "null"], "format": "double" }
- }
- }
- ],
+ "shippingCost": { "type": ["number", "null"], "format": "double" },
+ "shippingHandlingTax": { "type": ["number", "null"], "format": "double" },
+ "totalOrderFee": { "type": ["number", "null"], "format": "double" }
+ },
"required": ["key"]
},
"minItems": 1,
diff --git a/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json b/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
index 6ed724c..cccff99 100644
--- a/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
+++ b/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
@@ -15,35 +15,26 @@
"oneOf": [
{"type": "null"},
{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "BillToFromUpdateFulfillmentOrderRequest.json",
"type": "object",
- "allOf": [
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "BillTo.json",
- "description": "Bill to address object for Order",
- "type": "object",
- "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"},
- "emailAddress": {
- "description": "Contact email address for address",
- "type": ["string", "null"]
- },
- "faxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
- "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", "name", "postalCode", "stateProvince"]
- }
- ]
+ "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"] },
+ "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"] },
+ "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", "name", "postalCode", "stateProvince"]
}
]
},
@@ -55,8 +46,6 @@
"paymentMethods": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PaymentMethod.json",
"type": "object",
"properties": {
"amount": {
@@ -76,136 +65,100 @@
"products": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductFromUpdateFulfillmentOrderRequest.json",
"type": "object",
- "allOf": [
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Product.json",
- "type": "object",
- "properties": {
- "productId": {"type": "string"},
- "associatedFileName": { "type": ["string", "null"] },
- "comment": { "type": ["string", "null"] },
- "pageCount": { "type": ["integer", "null"], "format": "int32" },
- "quantityOrdered": { "type": ["integer", "null"], "format": "int32" }
- },
- "required": ["productId"]
- },
- {
- "type": "object",
- "properties": {
- "fulfillmentSystemProductId": { "type": ["string", "null"] },
- "productLineId": { "type": ["string", "null"] },
- "price": { "type": ["number", "null"], "format": "double" },
- "shipToKey": { "type": ["integer", "null"], "format": "int32" },
- "shipmentPackages": {
- "type": ["array", "null"],
- "items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipmentPackage.json",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "shipmentId": {"type": "string"},
- "packageNumber": {"type": "string"},
- "shipQuantity": {"type": "number", "format": "double"}
- },
- "required": ["shipmentId", "packageNumber", "shipQuantity"]
- }
+ "properties": {
+ "fulfillmentSystemProductId": { "type": ["string", "null"] },
+ "productId": {"type": "string"},
+ "productLineId": { "type": ["string", "null"] },
+ "associatedFileName": { "type": ["string", "null"] },
+ "comment": { "type": ["string", "null"] },
+ "pageCount": { "type": ["integer", "null"], "format": "int32" },
+ "price": { "type": ["number", "null"], "format": "double" },
+ "quantityOrdered": { "type": ["integer", "null"], "format": "int32" },
+ "shipToKey": { "type": ["integer", "null"], "format": "int32" },
+ "shipmentPackages": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "shipmentId": {"type": "string"},
+ "packageNumber": {"type": "string"},
+ "shipQuantity": {"type": "number", "format": "double"}
},
- "status": { "type": ["string", "null"] }
+ "required": ["shipmentId", "packageNumber", "shipQuantity"]
}
- }
- ]
+ },
+ "status": { "type": ["string", "null"] }
+ },
+ "required": ["productId"]
}
},
"rushOrder": { "type": ["string", "null"] },
"shipTos": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipToFromUpdateFulfillmentOrderRequest.json",
"type": "object",
- "allOf": [
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipTo.json",
+ "allOf": [ {"description": "Ship to addresses array for Order"} ],
+ "properties": {
+ "fulfillmentSystemShippingMethodId": { "type": ["string", "null"] },
+ "referenceId": { "type": ["string", "null"] },
+ "comment": { "type": ["string", "null"] },
+ "dueDate": { "type": ["string", "null"] },
+ "key": {"type": "integer", "format": "int32"},
+ "paymentMethods": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "description": "Total Amount. Required if MethodName specified",
+ "type": "number",
+ "format": "double"
+ },
+ "methodName": {
+ "description": "Name of payment method. Required if Payment Amount specified",
+ "type": "string"
+ }
+ },
+ "required": ["amount", "methodName"]
+ }
+ },
+ "poNumber": { "type": ["string", "null"] },
+ "rushOrder": { "type": ["boolean", "null"] },
+ "shipToAddress": {
"description": "Ship to addresses array for Order",
"type": "object",
"properties": {
- "referenceId": { "type": ["string", "null"] },
- "comment": { "type": ["string", "null"] },
- "dueDate": { "type": ["string", "null"] },
- "key": {"type": "integer", "format": "int32"},
- "poNumber": { "type": ["string", "null"] },
- "rushOrder": { "type": ["boolean", "null"] },
- "shippingCost": { "type": ["number", "null"], "format": "double" }
+ "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"] },
+ "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": ["key"]
+ "required": ["address1", "city", "country", "name", "postalCode", "stateProvince"]
},
- {
- "type": "object",
- "properties": {
- "fulfillmentSystemShippingMethodId": { "type": ["string", "null"] },
- "paymentMethods": {
- "type": ["array", "null"],
- "items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PaymentMethod.json",
- "type": "object",
- "properties": {
- "amount": {
- "description": "Total Amount. Required if MethodName specified",
- "type": "number",
- "format": "double"
- },
- "methodName": {
- "description": "Name of payment method. Required if Payment Amount specified",
- "type": "string"
- }
- },
- "required": ["amount", "methodName"]
- }
- },
- "shipToAddress": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipToAddress.json",
- "description": "Ship to addresses array for Order",
- "type": "object",
- "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"},
- "emailAddress": {
- "description": "Contact email address for address",
- "type": ["string", "null"]
- },
- "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"}
- },
- "required": ["address1", "city", "country", "name", "postalCode", "stateProvince"]
- },
- "shippingCarrier": { "type": ["string", "null"] },
- "shippingService": { "type": ["string", "null"] },
- "status": { "type": ["string", "null"] }
- }
- }
- ]
+ "shippingCarrier": { "type": ["string", "null"] },
+ "shippingCost": { "type": ["number", "null"], "format": "double" },
+ "shippingService": { "type": ["string", "null"] },
+ "status": { "type": ["string", "null"] }
+ },
+ "required": ["key"]
}
},
"shipments": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Shipment.json",
"type": "object",
"additionalProperties": false,
"properties": {
@@ -216,8 +169,6 @@
"packages": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Package.json",
"type": "object",
"additionalProperties": false,
"properties": { "packageNumber": {"type": "string"}, "trackingNumber": {"type": "string"} },
@@ -228,8 +179,6 @@
"service": {"type": "string"},
"shipDateUtc": {"type": "string"},
"shipToAddress": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipToAddress.json",
"description": "Ship to addresses array for Order",
"type": "object",
"properties": {
diff --git a/schema/Api/ProductBroker/GetAllProductsResponse.json b/schema/Api/ProductBroker/GetAllProductsResponse.json
index eeb7030..586debf 100644
--- a/schema/Api/ProductBroker/GetAllProductsResponse.json
+++ b/schema/Api/ProductBroker/GetAllProductsResponse.json
@@ -5,8 +5,6 @@
"data": {
"type": ["array", "null"],
"items": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Product.json",
"type": "object",
"additionalProperties": false,
"properties": {
diff --git a/schema/Api/ProductBroker/GetProductInventoryResponse.json b/schema/Api/ProductBroker/GetProductInventoryResponse.json
index 89b2537..51bb9b8 100644
--- a/schema/Api/ProductBroker/GetProductInventoryResponse.json
+++ b/schema/Api/ProductBroker/GetProductInventoryResponse.json
@@ -6,8 +6,6 @@
"oneOf": [
{"type": "null"},
{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductInventory.json",
"type": "object",
"additionalProperties": false,
"properties": {
diff --git a/schema/Api/ShippingBroker/GetShippingratesRequest.json b/schema/Api/ShippingBroker/GetShippingratesRequest.json
index 4312272..596b915 100644
--- a/schema/Api/ShippingBroker/GetShippingratesRequest.json
+++ b/schema/Api/ShippingBroker/GetShippingratesRequest.json
@@ -9,8 +9,6 @@
"OfferIds": { "type": ["array", "null"], "items": {"type": "string"} },
"PackageWeight": {"type": "number", "format": "float"},
"ShipToAddress": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipToAddress.json",
"type": "object",
"additionalProperties": false,
"properties": {
diff --git a/schema/Api/ShippingBroker/GetShippingratesResponse.json b/schema/Api/ShippingBroker/GetShippingratesResponse.json
index 1de7514..2451561 100644
--- a/schema/Api/ShippingBroker/GetShippingratesResponse.json
+++ b/schema/Api/ShippingBroker/GetShippingratesResponse.json
@@ -3,15 +3,7 @@
"$id": "GetShippingratesResponse.json",
"properties": {
"data": {
- "oneOf": [
- {"type": "null"},
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Shippingrate.json",
- "type": "object",
- "additionalProperties": false
- }
- ]
+ "oneOf": [ {"type": "null"}, {"type": "object", "additionalProperties": false} ]
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },