Schema Changes - 2025-06-11
This document contains the changes to the schema files compared to the main branch.
Changes
diff --git a/schema/Api/CustomerBroker/CreateCustomerParameters.json b/schema/Api/CustomerBroker/CreateCustomerParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/CustomerBroker/CreateCustomerParameters.json
+++ b/schema/Api/CustomerBroker/CreateCustomerParameters.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/CustomerBroker/CreateCustomerRequest.json b/schema/Api/CustomerBroker/CreateCustomerRequest.json
index 2c741fa..e71a36e 100644
--- a/schema/Api/CustomerBroker/CreateCustomerRequest.json
+++ b/schema/Api/CustomerBroker/CreateCustomerRequest.json
@@ -1,7 +1,151 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CreateCustomerRequest.json",
- "$ref": "parts/CustomerFromCreateCustomerRequest.json",
+ "$id": "CustomerFromCreateCustomerRequest.json",
"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.",
+ "type": "string",
+ "minLength": 1
+ },
+ "brokerScopes": { "type": ["array", "null"], "items": {"type": "string"} },
+ "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"]
+ },
+ "contactEmailAddress": {
+ "description": "Optional. Contact email address. Must be a valid email if provided.",
+ "type": ["string", "null"],
+ "format": "email"
+ },
+ "createDateTimeUtc": {
+ "description": "Optional. Creation date/time in UTC. Must not be in the future if provided.",
+ "type": ["string", "null"]
+ },
+ "emailNotificationSubscriptions": {
+ "description": "Optional. List of email notification subscriptions.",
+ "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"} }
+ }
+ }
+ },
+ "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": {
+ "$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"]
+ },
+ "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": {
+ "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",
+ "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"]
+ }
+ },
+ "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"]
+ }
+ },
+ "subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
+ "website": { "description": "Optional. Website URL.", "type": ["string", "null"] }
+ },
+ "required": ["id", "name"]
}
diff --git a/schema/Api/CustomerBroker/CreateCustomerResponse.json b/schema/Api/CustomerBroker/CreateCustomerResponse.json
index f00e554..b2514e6 100644
--- a/schema/Api/CustomerBroker/CreateCustomerResponse.json
+++ b/schema/Api/CustomerBroker/CreateCustomerResponse.json
@@ -1,11 +1,55 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "CreateCustomerResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": { "data": { "oneOf": [ {"type": "null"}, {"$ref": "parts/Customer.json"} ] } }
- }
- ]
+ "properties": {
+ "data": {
+ "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"]
+ }
+ ]
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ }
}
diff --git a/schema/Api/CustomerBroker/GetCustomerIdParameters.json b/schema/Api/CustomerBroker/GetCustomerIdParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/CustomerBroker/GetCustomerIdParameters.json
+++ b/schema/Api/CustomerBroker/GetCustomerIdParameters.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/CustomerBroker/GetCustomerIdResponse.json b/schema/Api/CustomerBroker/GetCustomerIdResponse.json
index c37d3b6..df2ef1c 100644
--- a/schema/Api/CustomerBroker/GetCustomerIdResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomerIdResponse.json
@@ -1,11 +1,21 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetCustomerIdResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": { "data": { "oneOf": [ {"type": "null"}, {"$ref": "parts/CustomerId.json"} ] } }
- }
- ]
+ "properties": {
+ "data": {
+ "oneOf": [
+ {"type": "null"},
+ {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "CustomerId.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": { "id": { "type": ["string", "null"] } }
+ }
+ ]
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ }
}
diff --git a/schema/Api/CustomerBroker/GetCustomerParameters.json b/schema/Api/CustomerBroker/GetCustomerParameters.json
index fb5e710..5d51964 100644
--- a/schema/Api/CustomerBroker/GetCustomerParameters.json
+++ b/schema/Api/CustomerBroker/GetCustomerParameters.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/CustomerBroker/GetCustomerResponse.json b/schema/Api/CustomerBroker/GetCustomerResponse.json
index 970fe2c..047be06 100644
--- a/schema/Api/CustomerBroker/GetCustomerResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomerResponse.json
@@ -1,15 +1,172 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetCustomerResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": {
- "data": {
- "oneOf": [ {"type": "null"}, {"$ref": "parts/CustomerFromGetCustomerResponse.json"} ]
+ "properties": {
+ "data": {
+ "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",
+ "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"]
+ },
+ {
+ "type": "object",
+ "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"]
+ },
+ "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"} }
+ }
+ }
+ },
+ "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"]
+ }
+ },
+ "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"]
+ }
+ }
+ }
+ }
+ ]
}
- }
- }
- ]
+ ]
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ }
}
diff --git a/schema/Api/CustomerBroker/GetCustomersParameters.json b/schema/Api/CustomerBroker/GetCustomersParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/CustomerBroker/GetCustomersParameters.json
+++ b/schema/Api/CustomerBroker/GetCustomersParameters.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/CustomerBroker/GetCustomersResponse.json b/schema/Api/CustomerBroker/GetCustomersResponse.json
index facf2dc..cf9fb69 100644
--- a/schema/Api/CustomerBroker/GetCustomersResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomersResponse.json
@@ -1,15 +1,25 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetCustomersResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": {
- "data": { "type": ["array", "null"], "items": {"$ref": "parts/CustomersList.json"} }
+ "properties": {
+ "data": {
+ "type": ["array", "null"],
+ "items": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "CustomersList.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id" : { "type": ["string", "null"] },
+ "parentId": { "type": ["string", "null"] },
+ "name" : { "type": ["string", "null"] }
+ }
}
- }
- ],
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ },
"examples": [
{
"data": [
diff --git a/schema/Api/CustomerBroker/UpdateCustomerParameters.json b/schema/Api/CustomerBroker/UpdateCustomerParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/CustomerBroker/UpdateCustomerParameters.json
+++ b/schema/Api/CustomerBroker/UpdateCustomerParameters.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/CustomerBroker/UpdateCustomerRequest.json b/schema/Api/CustomerBroker/UpdateCustomerRequest.json
index 41698de..5ffb912 100644
--- a/schema/Api/CustomerBroker/UpdateCustomerRequest.json
+++ b/schema/Api/CustomerBroker/UpdateCustomerRequest.json
@@ -1,7 +1,146 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "UpdateCustomerRequest.json",
- "$ref": "parts/CustomerFromUpdateCustomerRequest.json",
+ "$id": "CustomerFromUpdateCustomerRequest.json",
"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.",
+ "type": "string",
+ "minLength": 1
+ },
+ "brokerScopes": { "type": ["array", "null"], "items": {"type": "string"} },
+ "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"]
+ },
+ "contactEmailAddress": {
+ "description": "Optional. Contact email address. Must be a valid email if provided.",
+ "type": ["string", "null"],
+ "format": "email"
+ },
+ "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"} }
+ }
+ }
+ },
+ "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": {
+ "$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"]
+ },
+ "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": {
+ "$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"]
+ }
+ },
+ "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"]
+ }
+ },
+ "subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
+ "updateDateTimeUtc": { "type": ["string", "null"] },
+ "website": { "description": "Optional. Website URL.", "type": ["string", "null"] }
+ },
+ "required": ["id", "name"]
}
diff --git a/schema/Api/CustomerBroker/UpdateCustomerResponse.json b/schema/Api/CustomerBroker/UpdateCustomerResponse.json
index 8700a1e..2ae728f 100644
--- a/schema/Api/CustomerBroker/UpdateCustomerResponse.json
+++ b/schema/Api/CustomerBroker/UpdateCustomerResponse.json
@@ -1,11 +1,55 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "UpdateCustomerResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": { "data": { "oneOf": [ {"type": "null"}, {"$ref": "parts/Customer.json"} ] } }
- }
- ]
+ "properties": {
+ "data": {
+ "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"]
+ }
+ ]
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ }
}
diff --git a/schema/Api/CustomerBroker/parts/ContactAddress.json b/schema/Api/CustomerBroker/parts/ContactAddress.json
deleted file mode 100644
index d5bca3d..0000000
--- a/schema/Api/CustomerBroker/parts/ContactAddress.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "$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"]
-}
diff --git a/schema/Api/CustomerBroker/parts/Customer.json b/schema/Api/CustomerBroker/parts/Customer.json
deleted file mode 100644
index 87555d2..0000000
--- a/schema/Api/CustomerBroker/parts/Customer.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "$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"]
-}
diff --git a/schema/Api/CustomerBroker/parts/CustomerFromCreateCustomerRequest.json b/schema/Api/CustomerBroker/parts/CustomerFromCreateCustomerRequest.json
deleted file mode 100644
index 7c0be8f..0000000
--- a/schema/Api/CustomerBroker/parts/CustomerFromCreateCustomerRequest.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CustomerFromCreateCustomerRequest.json",
- "type": "object",
- "allOf": [
- {"$ref": "Customer.json"},
- {
- "type": "object",
- "properties": {
- "contactAddress": {
- "$ref": "ContactAddress.json",
- "description": "Optional. Contact address for the customer. Required fields are validated if present."
- },
- "createDateTimeUtc": {
- "description": "Optional. Creation date/time in UTC. Must not be in the future if provided.",
- "type": ["string", "null"]
- },
- "emailNotificationSubscriptions": {
- "description": "Optional. List of email notification subscriptions.",
- "type": ["array", "null"],
- "items": {"$ref": "EmailNotificationSubscription.json"}
- },
- "parent": {"$ref": "Parent.json"},
- "shipMethodMappings": {
- "description": "Optional. Ship method mappings for the customer.",
- "type": ["array", "null"],
- "items": {"$ref": "ShipMethodMapping.json"}
- },
- "sourceSystems": { "type": ["array", "null"], "items": {"$ref": "SourceSystem.json"} }
- }
- }
- ]
-}
diff --git a/schema/Api/CustomerBroker/parts/CustomerFromGetCustomerResponse.json b/schema/Api/CustomerBroker/parts/CustomerFromGetCustomerResponse.json
deleted file mode 100644
index 481167a..0000000
--- a/schema/Api/CustomerBroker/parts/CustomerFromGetCustomerResponse.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CustomerFromGetCustomerResponse.json",
- "type": "object",
- "allOf": [
- {"$ref": "Customer.json"},
- {
- "type": "object",
- "properties": {
- "clientSecret": { "type": ["string", "null"] },
- "contactAddress": {"$ref": "ContactAddress.json"},
- "emailNotificationSubscriptions": {
- "type": ["array", "null"],
- "items": {"$ref": "EmailNotificationSubscription.json"}
- },
- "parent": {"$ref": "Parent.json"},
- "shipMethodMappings": { "type": ["array", "null"], "items": {"$ref": "ShipMethodMapping.json"} },
- "sourceSystems": { "type": ["array", "null"], "items": {"$ref": "SourceSystem.json"} }
- }
- }
- ]
-}
diff --git a/schema/Api/CustomerBroker/parts/CustomerFromUpdateCustomerRequest.json b/schema/Api/CustomerBroker/parts/CustomerFromUpdateCustomerRequest.json
deleted file mode 100644
index bcffa4d..0000000
--- a/schema/Api/CustomerBroker/parts/CustomerFromUpdateCustomerRequest.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CustomerFromUpdateCustomerRequest.json",
- "type": "object",
- "allOf": [
- {"$ref": "Customer.json"},
- {
- "type": "object",
- "properties": {
- "contactAddress": {"$ref": "ContactAddress.json"},
- "emailNotificationSubscriptions": {
- "type": ["array", "null"],
- "items": {"$ref": "EmailNotificationSubscription.json"}
- },
- "parent": {"$ref": "Parent.json"},
- "shipMethodMappings": { "type": ["array", "null"], "items": {"$ref": "ShipMethodMapping.json"} },
- "sourceSystems": { "type": ["array", "null"], "items": {"$ref": "SourceSystem.json"} },
- "updateDateTimeUtc": { "type": ["string", "null"] }
- }
- }
- ]
-}
diff --git a/schema/Api/CustomerBroker/parts/CustomerId.json b/schema/Api/CustomerBroker/parts/CustomerId.json
deleted file mode 100644
index a8fdf6c..0000000
--- a/schema/Api/CustomerBroker/parts/CustomerId.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "$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/parts/CustomersList.json b/schema/Api/CustomerBroker/parts/CustomersList.json
deleted file mode 100644
index c878ea7..0000000
--- a/schema/Api/CustomerBroker/parts/CustomersList.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CustomersList.json",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "id" : { "type": ["string", "null"] },
- "parentId": { "type": ["string", "null"] },
- "name" : { "type": ["string", "null"] }
- }
-}
diff --git a/schema/Api/CustomerBroker/parts/EmailNotificationSubscription.json b/schema/Api/CustomerBroker/parts/EmailNotificationSubscription.json
deleted file mode 100644
index d158991..0000000
--- a/schema/Api/CustomerBroker/parts/EmailNotificationSubscription.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "$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"} }
- }
-}
diff --git a/schema/Api/CustomerBroker/parts/FulfillmentSystemShipMethod.json b/schema/Api/CustomerBroker/parts/FulfillmentSystemShipMethod.json
deleted file mode 100644
index 2152fb9..0000000
--- a/schema/Api/CustomerBroker/parts/FulfillmentSystemShipMethod.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "$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"] }
- }
-}
diff --git a/schema/Api/CustomerBroker/parts/Parent.json b/schema/Api/CustomerBroker/parts/Parent.json
deleted file mode 100644
index 9e5f2ca..0000000
--- a/schema/Api/CustomerBroker/parts/Parent.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "$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"]
-}
diff --git a/schema/Api/CustomerBroker/parts/ShipMethodMapping.json b/schema/Api/CustomerBroker/parts/ShipMethodMapping.json
deleted file mode 100644
index 0f88a48..0000000
--- a/schema/Api/CustomerBroker/parts/ShipMethodMapping.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "$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": {"$ref": "FulfillmentSystemShipMethod.json"}
- }
- },
- "required": ["sourceSystemShipMethodId"]
-}
diff --git a/schema/Api/CustomerBroker/parts/SourceSystem.json b/schema/Api/CustomerBroker/parts/SourceSystem.json
deleted file mode 100644
index d63acae..0000000
--- a/schema/Api/CustomerBroker/parts/SourceSystem.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "$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"]
-}
diff --git a/schema/Api/IdentityBroker/GetClientSecretParameters.json b/schema/Api/IdentityBroker/GetClientSecretParameters.json
index 1b8e7ff..7e9ba69 100644
--- a/schema/Api/IdentityBroker/GetClientSecretParameters.json
+++ b/schema/Api/IdentityBroker/GetClientSecretParameters.json
@@ -1,4 +1,5 @@
{
+ "$schema": "http://json-schema.org/draft-07/schema#",
"ClientId": {
"in": "path",
"name": "clientId",
diff --git a/schema/Api/IdentityBroker/GetClientSecretResponse.json b/schema/Api/IdentityBroker/GetClientSecretResponse.json
index 7db3c61..0d90546 100644
--- a/schema/Api/IdentityBroker/GetClientSecretResponse.json
+++ b/schema/Api/IdentityBroker/GetClientSecretResponse.json
@@ -1,13 +1,27 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetClientSecretResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": {
- "data": { "oneOf": [ {"type": "null"}, {"$ref": "parts/ClientSecret.json"} ] }
- }
- }
- ]
+ "properties": {
+ "data": {
+ "oneOf": [
+ {"type": "null"},
+ {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "ClientSecret.json",
+ "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"] }
+ }
+ }
+ ]
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ }
}
diff --git a/schema/Api/IdentityBroker/GetCustomerTokenParameters.json b/schema/Api/IdentityBroker/GetCustomerTokenParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/IdentityBroker/GetCustomerTokenParameters.json
+++ b/schema/Api/IdentityBroker/GetCustomerTokenParameters.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/IdentityBroker/GetCustomerTokenResponse.json b/schema/Api/IdentityBroker/GetCustomerTokenResponse.json
index 965c3db..cb44202 100644
--- a/schema/Api/IdentityBroker/GetCustomerTokenResponse.json
+++ b/schema/Api/IdentityBroker/GetCustomerTokenResponse.json
@@ -1,13 +1,23 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetCustomerTokenResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": { "data": { "oneOf": [ {"type": "null"}, {"$ref": "parts/Token.json"} ] } }
- }
- ],
+ "properties": {
+ "data": {
+ "oneOf": [
+ {"type": "null"},
+ {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "Token.json",
+ "type": "object",
+ "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"}
+ },
"examples": [
{
"data": {
diff --git a/schema/Api/IdentityBroker/GetTokenParameters.json b/schema/Api/IdentityBroker/GetTokenParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/IdentityBroker/GetTokenParameters.json
+++ b/schema/Api/IdentityBroker/GetTokenParameters.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/IdentityBroker/GetTokenResponse.json b/schema/Api/IdentityBroker/GetTokenResponse.json
index 7fa2c42..ba0378f 100644
--- a/schema/Api/IdentityBroker/GetTokenResponse.json
+++ b/schema/Api/IdentityBroker/GetTokenResponse.json
@@ -1,13 +1,23 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetTokenResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": { "data": { "oneOf": [ {"type": "null"}, {"$ref": "parts/Token.json"} ] } }
- }
- ],
+ "properties": {
+ "data": {
+ "oneOf": [
+ {"type": "null"},
+ {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "Token.json",
+ "type": "object",
+ "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"}
+ },
"examples": [
{
"data": {
diff --git a/schema/Api/IdentityBroker/parts/ClientSecret.json b/schema/Api/IdentityBroker/parts/ClientSecret.json
deleted file mode 100644
index 70748bf..0000000
--- a/schema/Api/IdentityBroker/parts/ClientSecret.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ClientSecret.json",
- "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"] }
- }
-}
diff --git a/schema/Api/IdentityBroker/parts/Token.json b/schema/Api/IdentityBroker/parts/Token.json
deleted file mode 100644
index 9d2c4c6..0000000
--- a/schema/Api/IdentityBroker/parts/Token.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Token.json",
- "type": "object",
- "properties": { "authToken": {"type": "string"}, "expiresOn": {"type": "string"} },
- "required": ["authToken", "expiresOn"]
-}
diff --git a/schema/Api/OfferBroker/CreateCategoryParameters.json b/schema/Api/OfferBroker/CreateCategoryParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/OfferBroker/CreateCategoryParameters.json
+++ b/schema/Api/OfferBroker/CreateCategoryParameters.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/OfferBroker/CreateCategoryRequest.json b/schema/Api/OfferBroker/CreateCategoryRequest.json
index da85692..80e1c9c 100644
--- a/schema/Api/OfferBroker/CreateCategoryRequest.json
+++ b/schema/Api/OfferBroker/CreateCategoryRequest.json
@@ -1,7 +1,11 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CreateCategoryRequest.json",
- "$ref": "parts/CategoryFromCreateCategoryRequest.json",
+ "$id": "CategoryFromCreateCategoryRequest.json",
"type": "object",
- "additionalProperties": false
+ "properties": {
+ "parentId" : { "type": ["string", "null"] },
+ "lastUpdatedDateTimeUtc": { "type": ["string", "null"] },
+ "name" : { "type": "string" }
+ },
+ "required": ["id", "name"]
}
diff --git a/schema/Api/OfferBroker/CreateCategoryResponse.json b/schema/Api/OfferBroker/CreateCategoryResponse.json
index 234d094..dd89456 100644
--- a/schema/Api/OfferBroker/CreateCategoryResponse.json
+++ b/schema/Api/OfferBroker/CreateCategoryResponse.json
@@ -1,22 +1,19 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "CreateCategoryResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
+ "properties": {
+ "data": {
"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}
- }
- }
+ "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"}
+ }
}
diff --git a/schema/Api/OfferBroker/CreateOfferParameters.json b/schema/Api/OfferBroker/CreateOfferParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/OfferBroker/CreateOfferParameters.json
+++ b/schema/Api/OfferBroker/CreateOfferParameters.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/OfferBroker/CreateOfferRequest.json b/schema/Api/OfferBroker/CreateOfferRequest.json
index b6aaef4..d6d77dd 100644
--- a/schema/Api/OfferBroker/CreateOfferRequest.json
+++ b/schema/Api/OfferBroker/CreateOfferRequest.json
@@ -1,6 +1,152 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CreateOfferRequest.json",
- "$ref": "parts/OfferFromCreateOfferRequest.json",
- "type": "object"
+ "$id": "OfferFromCreateOfferRequest.json",
+ "type": "object",
+ "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": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "AdditionalPropsRequiredOnOrderInput.json",
+ "type": "object",
+ "properties": { "type": { "type": ["string", "null"] }, "name": {"type": "string"} },
+ "required": ["name"]
+ }
+ },
+ "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": {
+ "$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"} },
+ "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": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "PriceClass.json",
+ "type": "object",
+ "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",
+ "properties": {
+ "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "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": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "ProductClusterInput.json",
+ "type": "object",
+ "properties": {
+ "id": {"type": "string"},
+ "products": {
+ "type": ["array", "null"],
+ "items": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "ProductInput.json",
+ "type": "object",
+ "properties": {
+ "productId" : { "type": "string" },
+ "pageCount" : { "type": ["integer", "null"], "format": "int32" },
+ "productQuantityInOffer": { "type": "integer" , "format": "int32" }
+ },
+ "required": ["productId", "productQuantityInOffer"]
+ }
+ }
+ },
+ "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": ["number", "offerType", "omsOfferId"],
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "if": { "properties": { "offerType": {"const": "Product List"} } },
+ "then": {
+ "properties": { "productClusters": {"minItems": 1} },
+ "required": ["productClusters"]
+ }
+ }
+ ]
+ }
+ ]
}
diff --git a/schema/Api/OfferBroker/CreateOfferResponse.json b/schema/Api/OfferBroker/CreateOfferResponse.json
index ba49f0d..9de938d 100644
--- a/schema/Api/OfferBroker/CreateOfferResponse.json
+++ b/schema/Api/OfferBroker/CreateOfferResponse.json
@@ -1,22 +1,19 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "CreateOfferResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
+ "properties": {
+ "data": {
"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}
- }
- }
+ "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"}
+ }
}
diff --git a/schema/Api/OfferBroker/DeleteCategoryParameters.json b/schema/Api/OfferBroker/DeleteCategoryParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/OfferBroker/DeleteCategoryParameters.json
+++ b/schema/Api/OfferBroker/DeleteCategoryParameters.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/OfferBroker/DeleteCategoryResponse.json b/schema/Api/OfferBroker/DeleteCategoryResponse.json
index 35a21ab..8e1b3eb 100644
--- a/schema/Api/OfferBroker/DeleteCategoryResponse.json
+++ b/schema/Api/OfferBroker/DeleteCategoryResponse.json
@@ -1,22 +1,19 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "DeleteCategoryResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
+ "properties": {
+ "data": {
"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}
- }
- }
+ "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"}
+ }
}
diff --git a/schema/Api/OfferBroker/DeleteOfferParameters.json b/schema/Api/OfferBroker/DeleteOfferParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/OfferBroker/DeleteOfferParameters.json
+++ b/schema/Api/OfferBroker/DeleteOfferParameters.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/OfferBroker/DeleteOfferResponse.json b/schema/Api/OfferBroker/DeleteOfferResponse.json
index c8a595e..fd15d74 100644
--- a/schema/Api/OfferBroker/DeleteOfferResponse.json
+++ b/schema/Api/OfferBroker/DeleteOfferResponse.json
@@ -1,22 +1,19 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "DeleteOfferResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
+ "properties": {
+ "data": {
"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}
- }
- }
+ "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"}
+ }
}
diff --git a/schema/Api/OfferBroker/GetOfferCategoriesParameters.json b/schema/Api/OfferBroker/GetOfferCategoriesParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/OfferBroker/GetOfferCategoriesParameters.json
+++ b/schema/Api/OfferBroker/GetOfferCategoriesParameters.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/OfferBroker/GetOfferCategoriesResponse.json b/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
index 571bbfc..db13b2b 100644
--- a/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
+++ b/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
@@ -1,13 +1,32 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetOfferCategoriesResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": {
- "data": { "type": ["array", "null"], "items": {"$ref": "parts/OfferCategory.json"} }
+ "properties": {
+ "data": {
+ "type": ["array", "null"],
+ "items": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "OfferCategory.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "id": { "type": ["string", "null"] },
+ "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"
+ }
+ }
+ }
}
- }
- ]
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ }
}
diff --git a/schema/Api/OfferBroker/GetOfferInventoryParameters.json b/schema/Api/OfferBroker/GetOfferInventoryParameters.json
index ccb4931..dc355f7 100644
--- a/schema/Api/OfferBroker/GetOfferInventoryParameters.json
+++ b/schema/Api/OfferBroker/GetOfferInventoryParameters.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/OfferBroker/GetOfferInventoryResponse.json b/schema/Api/OfferBroker/GetOfferInventoryResponse.json
index c0b2c39..f2cb6e3 100644
--- a/schema/Api/OfferBroker/GetOfferInventoryResponse.json
+++ b/schema/Api/OfferBroker/GetOfferInventoryResponse.json
@@ -1,14 +1,28 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetOfferInventoryResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": {
- "data": { "type": ["array", "null"], "items": {"$ref": "parts/OfferInventory.json"} }
+ "properties": {
+ "data": {
+ "type": ["array", "null"],
+ "items": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "OfferInventory.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "offerId" : { "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", "offerId", "reserved"]
}
- }
- ],
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ },
"required": ["data"]
}
diff --git a/schema/Api/OfferBroker/GetOfferParameters.json b/schema/Api/OfferBroker/GetOfferParameters.json
index 5412af9..b2c54d7 100644
--- a/schema/Api/OfferBroker/GetOfferParameters.json
+++ b/schema/Api/OfferBroker/GetOfferParameters.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/OfferBroker/GetOfferResponse.json b/schema/Api/OfferBroker/GetOfferResponse.json
index 5deab35..091e2ca 100644
--- a/schema/Api/OfferBroker/GetOfferResponse.json
+++ b/schema/Api/OfferBroker/GetOfferResponse.json
@@ -1,11 +1,173 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetOfferResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": { "data": { "oneOf": [ {"type": "null"}, {"$ref": "parts/Offer.json"} ] } }
- }
- ]
+ "properties": {
+ "data": {
+ "oneOf": [
+ {"type": "null"},
+ {
+ "$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"]
+ }
+ }
+ ],
+ "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": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "AdditionalPropsRequiredOnOrderOutput.json",
+ "type": "object",
+ "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": {
+ "$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"} },
+ "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": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "PriceClass.json",
+ "type": "object",
+ "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",
+ "properties": {
+ "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "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": {
+ "$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"] },
+ "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" }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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"]
+ }
+ ]
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ }
}
diff --git a/schema/Api/OfferBroker/GetOffersParameters.json b/schema/Api/OfferBroker/GetOffersParameters.json
index e6115f1..ed01e3f 100644
--- a/schema/Api/OfferBroker/GetOffersParameters.json
+++ b/schema/Api/OfferBroker/GetOffersParameters.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",
@@ -11,9 +12,5 @@
"name": "doIncludeDeletedItems",
"schema": {"type": "boolean"}
},
- "UpdatedSinceDateTime": {
- "in": "query",
- "name": "updatedSinceDateTime",
- "schema": {"type": "string", "format": "date-time"}
- }
+ "UpdatedSinceDateTime": { "in": "query", "name": "updatedSinceDateTime", "schema": {"type": "string"} }
}
diff --git a/schema/Api/OfferBroker/GetOffersResponse.json b/schema/Api/OfferBroker/GetOffersResponse.json
index 053762d..6715bf9 100644
--- a/schema/Api/OfferBroker/GetOffersResponse.json
+++ b/schema/Api/OfferBroker/GetOffersResponse.json
@@ -1,11 +1,171 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetOffersResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": { "data": { "type": ["array", "null"], "items": {"$ref": "parts/Offer.json"} } }
- }
- ]
+ "properties": {
+ "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"]
+ }
+ }
+ ],
+ "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": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "AdditionalPropsRequiredOnOrderOutput.json",
+ "type": "object",
+ "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": {
+ "$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"} },
+ "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": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "PriceClass.json",
+ "type": "object",
+ "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",
+ "properties": {
+ "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "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": {
+ "$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"] },
+ "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" }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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"]
+ }
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ }
}
diff --git a/schema/Api/OfferBroker/InternalGetOffersParameters.json b/schema/Api/OfferBroker/InternalGetOffersParameters.json
index b942284..c6d12b5 100644
--- a/schema/Api/OfferBroker/InternalGetOffersParameters.json
+++ b/schema/Api/OfferBroker/InternalGetOffersParameters.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",
@@ -17,9 +18,5 @@
"name": "doIncludeDeletedItems",
"schema": {"type": "boolean"}
},
- "UpdatedSinceDateTime": {
- "in": "query",
- "name": "updatedSinceDateTime",
- "schema": {"type": "string", "format": "date-time"}
- }
+ "UpdatedSinceDateTime": { "in": "query", "name": "updatedSinceDateTime", "schema": {"type": "string"} }
}
diff --git a/schema/Api/OfferBroker/InternalGetOffersResponse.json b/schema/Api/OfferBroker/InternalGetOffersResponse.json
index 976dff3..b0b029f 100644
--- a/schema/Api/OfferBroker/InternalGetOffersResponse.json
+++ b/schema/Api/OfferBroker/InternalGetOffersResponse.json
@@ -1,11 +1,171 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "InternalGetOffersResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": { "data": { "type": ["array", "null"], "items": {"$ref": "parts/Offer.json"} } }
- }
- ]
+ "properties": {
+ "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"]
+ }
+ }
+ ],
+ "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": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "AdditionalPropsRequiredOnOrderOutput.json",
+ "type": "object",
+ "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": {
+ "$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"} },
+ "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": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "PriceClass.json",
+ "type": "object",
+ "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",
+ "properties": {
+ "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "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": {
+ "$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"] },
+ "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" }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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"]
+ }
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ }
}
diff --git a/schema/Api/OfferBroker/UpdateCategoryParameters.json b/schema/Api/OfferBroker/UpdateCategoryParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/OfferBroker/UpdateCategoryParameters.json
+++ b/schema/Api/OfferBroker/UpdateCategoryParameters.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/OfferBroker/UpdateCategoryRequest.json b/schema/Api/OfferBroker/UpdateCategoryRequest.json
index fa413cd..7e05d1a 100644
--- a/schema/Api/OfferBroker/UpdateCategoryRequest.json
+++ b/schema/Api/OfferBroker/UpdateCategoryRequest.json
@@ -1,7 +1,12 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "UpdateCategoryRequest.json",
- "$ref": "parts/CategoryFromUpdateCategoryRequest.json",
+ "$id": "CategoryFromUpdateCategoryRequest.json",
"type": "object",
- "additionalProperties": false
+ "properties": {
+ "id" : { "type": ["string", "null"] },
+ "parentId" : { "type": ["string", "null"] },
+ "lastUpdatedDateTimeUtc": { "type": ["string", "null"] },
+ "name" : { "type": "string" }
+ },
+ "required": ["id", "name"]
}
diff --git a/schema/Api/OfferBroker/UpdateCategoryResponse.json b/schema/Api/OfferBroker/UpdateCategoryResponse.json
index 9f560b3..d56ca22 100644
--- a/schema/Api/OfferBroker/UpdateCategoryResponse.json
+++ b/schema/Api/OfferBroker/UpdateCategoryResponse.json
@@ -1,22 +1,19 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "UpdateCategoryResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
+ "properties": {
+ "data": {
"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}
- }
- }
+ "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"}
+ }
}
diff --git a/schema/Api/OfferBroker/UpdateOfferParameters.json b/schema/Api/OfferBroker/UpdateOfferParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/OfferBroker/UpdateOfferParameters.json
+++ b/schema/Api/OfferBroker/UpdateOfferParameters.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/OfferBroker/UpdateOfferRequest.json b/schema/Api/OfferBroker/UpdateOfferRequest.json
index ceb1f66..466532c 100644
--- a/schema/Api/OfferBroker/UpdateOfferRequest.json
+++ b/schema/Api/OfferBroker/UpdateOfferRequest.json
@@ -1,7 +1,152 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "UpdateOfferRequest.json",
- "$ref": "parts/OfferFromUpdateOfferRequest.json",
+ "$id": "OfferFromUpdateOfferRequest.json",
"type": "object",
- "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": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "AdditionalPropsRequiredOnOrderInput.json",
+ "type": "object",
+ "properties": { "type": { "type": ["string", "null"] }, "name": {"type": "string"} },
+ "required": ["name"]
+ }
+ },
+ "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": {
+ "$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"} },
+ "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"},
+ "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": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "PriceClass.json",
+ "type": "object",
+ "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",
+ "properties": {
+ "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
+ "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": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "ProductClusterInput.json",
+ "type": "object",
+ "properties": {
+ "id": {"type": "string"},
+ "products": {
+ "type": ["array", "null"],
+ "items": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "ProductInput.json",
+ "type": "object",
+ "properties": {
+ "productId" : { "type": "string" },
+ "pageCount" : { "type": ["integer", "null"], "format": "int32" },
+ "productQuantityInOffer": { "type": "integer" , "format": "int32" }
+ },
+ "required": ["productId", "productQuantityInOffer"]
+ }
+ }
+ },
+ "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": ["number", "offerType", "omsOfferId"],
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "if": { "properties": { "offerType": {"const": "Product List"} } },
+ "then": {
+ "properties": { "productClusters": {"minItems": 1} },
+ "required": ["productClusters"]
+ }
+ }
+ ]
+ }
+ ]
}
diff --git a/schema/Api/OfferBroker/UpdateOfferResponse.json b/schema/Api/OfferBroker/UpdateOfferResponse.json
index c21d7f9..ad3d274 100644
--- a/schema/Api/OfferBroker/UpdateOfferResponse.json
+++ b/schema/Api/OfferBroker/UpdateOfferResponse.json
@@ -1,22 +1,19 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "UpdateOfferResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
+ "properties": {
+ "data": {
"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}
- }
- }
+ "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"}
+ }
}
diff --git a/schema/Api/OfferBroker/parts/AdditionalPropsRequiredOnOrderInput.json b/schema/Api/OfferBroker/parts/AdditionalPropsRequiredOnOrderInput.json
deleted file mode 100644
index fd4e4a7..0000000
--- a/schema/Api/OfferBroker/parts/AdditionalPropsRequiredOnOrderInput.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "AdditionalPropsRequiredOnOrderInput.json",
- "type": "object",
- "properties": { "type": { "type": ["string", "null"] }, "name": {"type": "string"} },
- "required": ["name"]
-}
diff --git a/schema/Api/OfferBroker/parts/AdditionalPropsRequiredOnOrderOutput.json b/schema/Api/OfferBroker/parts/AdditionalPropsRequiredOnOrderOutput.json
deleted file mode 100644
index 350d7d8..0000000
--- a/schema/Api/OfferBroker/parts/AdditionalPropsRequiredOnOrderOutput.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "AdditionalPropsRequiredOnOrderOutput.json",
- "type": "object",
- "properties": {
- "type" : { "type": ["string", "null"] },
- "hint" : { "type": ["string", "null"] },
- "label": { "type": ["string", "null"] },
- "name" : { "type": ["string", "null"] },
- "value": { "type": ["string", "null"] }
- }
-}
diff --git a/schema/Api/OfferBroker/parts/Category.json b/schema/Api/OfferBroker/parts/Category.json
deleted file mode 100644
index a0f1de0..0000000
--- a/schema/Api/OfferBroker/parts/Category.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Category.json",
- "type": "object",
- "properties": {
- "parentId" : { "type": ["string", "null"] },
- "lastUpdatedDateTimeUtc": { "type": ["string", "null"] },
- "name" : { "type": "string" }
- },
- "required": ["id", "name"]
-}
diff --git a/schema/Api/OfferBroker/parts/CategoryFromCreateCategoryRequest.json b/schema/Api/OfferBroker/parts/CategoryFromCreateCategoryRequest.json
deleted file mode 100644
index 9c4a7c0..0000000
--- a/schema/Api/OfferBroker/parts/CategoryFromCreateCategoryRequest.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CategoryFromCreateCategoryRequest.json",
- "type": "object",
- "allOf": [ {"$ref": "Category.json"} ]
-}
diff --git a/schema/Api/OfferBroker/parts/CategoryFromUpdateCategoryRequest.json b/schema/Api/OfferBroker/parts/CategoryFromUpdateCategoryRequest.json
deleted file mode 100644
index fa615a4..0000000
--- a/schema/Api/OfferBroker/parts/CategoryFromUpdateCategoryRequest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "CategoryFromUpdateCategoryRequest.json",
- "type": "object",
- "allOf": [
- {"$ref": "Category.json"},
- { "type": "object", "properties": { "id": { "type": ["string", "null"] } } }
- ]
-}
diff --git a/schema/Api/OfferBroker/parts/Offer.json b/schema/Api/OfferBroker/parts/Offer.json
deleted file mode 100644
index b1e4d48..0000000
--- a/schema/Api/OfferBroker/parts/Offer.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "$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"]
- }
- }
- ],
- "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": {"$ref": "AdditionalPropsRequiredOnOrderOutput.json"}
- },
- "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": {"$ref": "OfferCategoryFromGetOffersResponse.json"}
- },
- "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": {"$ref": "PriceClass.json"} },
- "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": {"$ref": "ProductClusterOutput.json"}
- },
- "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"]
-}
diff --git a/schema/Api/OfferBroker/parts/OfferCategory.json b/schema/Api/OfferBroker/parts/OfferCategory.json
deleted file mode 100644
index 5347ba6..0000000
--- a/schema/Api/OfferBroker/parts/OfferCategory.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OfferCategory.json",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "id": { "type": ["string", "null"] },
- "categoryKey": { "type": ["string", "null"] },
- "categoryLevel": { "type": ["integer", "null"], "format": "int32" },
- "categoryName": { "type": ["string", "null"] },
- "subCategories": { "type": ["array", "null"], "items": {"$ref": "SubCategory.json"} }
- }
-}
diff --git a/schema/Api/OfferBroker/parts/OfferCategoryFromGetOfferResponse.json b/schema/Api/OfferBroker/parts/OfferCategoryFromGetOfferResponse.json
deleted file mode 100644
index 81892a1..0000000
--- a/schema/Api/OfferBroker/parts/OfferCategoryFromGetOfferResponse.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OfferCategoryFromGetOfferResponse.json",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "categoryKey": { "type": ["string", "null"] },
- "name" : { "type": ["string", "null"] }
- }
-}
diff --git a/schema/Api/OfferBroker/parts/OfferCategoryFromGetOffersResponse.json b/schema/Api/OfferBroker/parts/OfferCategoryFromGetOffersResponse.json
deleted file mode 100644
index 5957ff6..0000000
--- a/schema/Api/OfferBroker/parts/OfferCategoryFromGetOffersResponse.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "$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"]
-}
diff --git a/schema/Api/OfferBroker/parts/OfferFromCreateOfferRequest.json b/schema/Api/OfferBroker/parts/OfferFromCreateOfferRequest.json
deleted file mode 100644
index ddfa673..0000000
--- a/schema/Api/OfferBroker/parts/OfferFromCreateOfferRequest.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OfferFromCreateOfferRequest.json",
- "type": "object",
- "allOf": [
- {"$ref": "Offer.json"},
- {
- "type": "object",
- "properties": {
- "description": { "type": ["string", "null"] },
- "additionalPropsRequiredOnOrder": {
- "type": ["array", "null"],
- "items": {"$ref": "AdditionalPropsRequiredOnOrderInput.json"}
- },
- "priceClasses": { "type": ["array", "null"], "items": {"$ref": "PriceClass.json"} },
- "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": {"$ref": "ProductClusterInput.json"}
- }
- }
- }
- ]
-}
diff --git a/schema/Api/OfferBroker/parts/OfferFromUpdateOfferRequest.json b/schema/Api/OfferBroker/parts/OfferFromUpdateOfferRequest.json
deleted file mode 100644
index 2582c8a..0000000
--- a/schema/Api/OfferBroker/parts/OfferFromUpdateOfferRequest.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OfferFromUpdateOfferRequest.json",
- "type": "object",
- "allOf": [
- {"$ref": "Offer.json"},
- {
- "type": "object",
- "properties": {
- "description": { "type": ["string", "null"] },
- "additionalPropsRequiredOnOrder": {
- "type": ["array", "null"],
- "items": {"$ref": "AdditionalPropsRequiredOnOrderInput.json"}
- },
- "isDeleted": { "type": ["boolean", "null"] },
- "priceClasses": { "type": ["array", "null"], "items": {"$ref": "PriceClass.json"} },
- "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": {"$ref": "ProductClusterInput.json"}
- }
- }
- }
- ]
-}
diff --git a/schema/Api/OfferBroker/parts/OfferInventory.json b/schema/Api/OfferBroker/parts/OfferInventory.json
deleted file mode 100644
index ef2e817..0000000
--- a/schema/Api/OfferBroker/parts/OfferInventory.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OfferInventory.json",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "offerId" : { "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", "offerId", "reserved"]
-}
diff --git a/schema/Api/OfferBroker/parts/PriceClass.json b/schema/Api/OfferBroker/parts/PriceClass.json
deleted file mode 100644
index 8778881..0000000
--- a/schema/Api/OfferBroker/parts/PriceClass.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PriceClass.json",
- "type": "object",
- "properties": {
- "name": { "type": ["string", "null"] },
- "price": { "type": ["number", "null"], "format": "double" },
- "priceTiers": { "type": ["array", "null"], "items": {"$ref": "PriceTier.json"} }
- }
-}
diff --git a/schema/Api/OfferBroker/parts/PriceTier.json b/schema/Api/OfferBroker/parts/PriceTier.json
deleted file mode 100644
index 612bb87..0000000
--- a/schema/Api/OfferBroker/parts/PriceTier.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PriceTier.json",
- "type": "object",
- "properties": {
- "maximumQuantity": { "type": ["integer", "null"], "format": "int32" },
- "minimumQuantity": { "type": ["integer", "null"], "format": "int32" },
- "price" : { "type": "number" , "format": "double" }
- }
-}
diff --git a/schema/Api/OfferBroker/parts/ProductClusterInput.json b/schema/Api/OfferBroker/parts/ProductClusterInput.json
deleted file mode 100644
index 892bacb..0000000
--- a/schema/Api/OfferBroker/parts/ProductClusterInput.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductClusterInput.json",
- "type": "object",
- "properties": {
- "id" : { "type": "string" },
- "products": { "type": ["array", "null"], "items": {"$ref": "ProductInput.json"} }
- },
- "required": ["id"]
-}
diff --git a/schema/Api/OfferBroker/parts/ProductClusterOutput.json b/schema/Api/OfferBroker/parts/ProductClusterOutput.json
deleted file mode 100644
index 616e9f6..0000000
--- a/schema/Api/OfferBroker/parts/ProductClusterOutput.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductClusterOutput.json",
- "type": "object",
- "properties": {
- "id" : { "type": ["string", "null"] },
- "products": { "type": ["array", "null"] , "items": {"$ref": "ProductOutput.json"} }
- }
-}
diff --git a/schema/Api/OfferBroker/parts/ProductInput.json b/schema/Api/OfferBroker/parts/ProductInput.json
deleted file mode 100644
index 0f96087..0000000
--- a/schema/Api/OfferBroker/parts/ProductInput.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductInput.json",
- "type": "object",
- "properties": {
- "productId" : { "type": "string" },
- "pageCount" : { "type": ["integer", "null"], "format": "int32" },
- "productQuantityInOffer": { "type": "integer" , "format": "int32" }
- },
- "required": ["productId", "productQuantityInOffer"]
-}
diff --git a/schema/Api/OfferBroker/parts/ProductOutput.json b/schema/Api/OfferBroker/parts/ProductOutput.json
deleted file mode 100644
index 0f34669..0000000
--- a/schema/Api/OfferBroker/parts/ProductOutput.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductOutput.json",
- "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" }
- }
-}
diff --git a/schema/Api/OfferBroker/parts/SubCategory.json b/schema/Api/OfferBroker/parts/SubCategory.json
deleted file mode 100644
index 811f78c..0000000
--- a/schema/Api/OfferBroker/parts/SubCategory.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "SubCategory.json",
- "type": "object"
-}
diff --git a/schema/Api/OrderBroker/InternalNewOrderParameters.json b/schema/Api/OrderBroker/InternalNewOrderParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/OrderBroker/InternalNewOrderParameters.json
+++ b/schema/Api/OrderBroker/InternalNewOrderParameters.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/OrderBroker/InternalNewOrderRequest.json b/schema/Api/OrderBroker/InternalNewOrderRequest.json
index d2598ac..f489e7c 100644
--- a/schema/Api/OrderBroker/InternalNewOrderRequest.json
+++ b/schema/Api/OrderBroker/InternalNewOrderRequest.json
@@ -48,7 +48,42 @@
{"type": "null"},
{
"type": "array",
- "items": {"$ref": "parts/BillToFromNewOrderRequest.json"},
+ "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"]
+ },
+ {
+ "type": "object",
+ "properties": { "key": {"type": "integer", "format": "int32"} }
+ }
+ ],
+ "required": ["key"]
+ },
"minItems": 1
}
],
@@ -113,7 +148,190 @@
"lineItems": {
"description": "Order level line item details. Required, must not be empty. Each item must have offerId, quantityOrdered > 0, price >= 0, taxAmount >= 0, lineItemFee >= 0. If defaultBillToKey, defaultOrderedByKey, or defaultShipToKey are null, corresponding keys must be set on each line item.",
"type": ["array"],
- "items": {"$ref": "parts/LineItem.json"},
+ "items": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "LineItem.json",
+ "description": "Order level line item details",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "offerId": {
+ "description": "Unique ID for offer within Integration Broker",
+ "type": "string"
+ },
+ "referenceId": { "type": ["string", "null"] },
+ "variableTemplatePrintId": {
+ "description": "Unique ID for variable template file associated to offer on individual line item",
+ "type": ["string", "null"]
+ },
+ "additionalProperties": {
+ "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,
+ "properties": {
+ "key" : { "type": ["string", "null"] },
+ "value": { "type": ["string", "null"] }
+ },
+ "required": ["key", "value"]
+ }
+ },
+ "billToKey": {
+ "description": "Unique ID for Order.BillTos.Key property associated to individual line item (NOTE: If top-level DefaultBillToKey is not set, this must be.)",
+ "type": ["integer", "null"],
+ "format": "int32"
+ },
+ "comment": {
+ "description": "Manually entered comment for individual line item",
+ "type": ["string", "null"]
+ },
+ "costCenter": { "type": ["string", "null"] },
+ "dueDate": {
+ "description": "Datetime of expected due date for individual line item",
+ "type": ["string", "null"]
+ },
+ "lineItemFee": {
+ "description": "Fee applied to individual line item",
+ "type": "number",
+ "format": "double"
+ },
+ "offerDescription": {
+ "description": "Description for offer within product management system (system where ordered line item products will be managed)",
+ "type": ["string", "null"]
+ },
+ "offerLineNumber": {
+ "description": "Unique ID for individual line item",
+ "type": ["string", "null"]
+ },
+ "offerNumber": {
+ "description": "Name for offer within product management system (system where ordered line item products will be managed)",
+ "type": ["string", "null"]
+ },
+ "orderedByKey": {
+ "description": "Unique ID for Order.OrderedBy.Key property associated to individual line item",
+ "type": ["integer", "null"],
+ "format": "int32"
+ },
+ "poNumber": {
+ "description": "Purchase order number for individual line item",
+ "type": ["string", "null"]
+ },
+ "price": {
+ "description": "Total offer price of individual line item",
+ "type": "number",
+ "format": "double"
+ },
+ "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"]
+ }
+ },
+ "productDescription": { "type": ["string", "null"] },
+ "productLineNumber": { "type": ["string", "null"] },
+ "productNumber": { "type": ["string", "null"] },
+ "productOwner": { "type": ["string", "null"] },
+ "size": { "type": ["string", "null"] }
+ }
+ }
+ ],
+ "required": ["productId"]
+ }
+ },
+ "quantityOrdered": {
+ "description": "Amount of offer ordered for individual line item",
+ "type": "integer",
+ "format": "int32"
+ },
+ "rushOrder": {
+ "description": "True/false indicator if individual line item is expedited",
+ "type": ["boolean", "null"]
+ },
+ "shipToKey": {
+ "description": "Unique ID for Order.ShipTos.Key property associated to individual line item (NOTE: If top-level DefaultShipToKey is not set, this must be.)",
+ "type": ["integer", "null"],
+ "format": "int32"
+ },
+ "taxAmount": {
+ "description": "Total tax amount applied to individual line item",
+ "type": ["number", "null"],
+ "format": "double"
+ }
+ },
+ "required": ["offerId", "lineItemFee", "price", "quantityOrdered"]
+ },
"minItems": 1,
"uniqueItems": false,
"examples": [
@@ -137,16 +355,65 @@
"examples": [5.0]
},
"orderVariables": {
- "$ref": "parts/OrderVariable.json",
+ "$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)",
- "examples": [ {"key": "CUSTOM_FIELD", "value": "Custom Value"} ]
+ "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,
+ "properties": {
+ "key" : { "type": ["string", "null"] },
+ "value": { "type": ["string", "null"] }
+ },
+ "required": ["key", "value"]
+ }
+ ]
},
"orderedBys": {
"description": "Order level ordered by contact and address details. Not required, but if present, each item must have required address fields and a non-null key.",
"type": ["array", "null"],
"oneOf": [
{"type": "null"},
- { "type": "array", "items": {"$ref": "parts/OrderedBy.json"}, "minItems": 1 }
+ {
+ "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,
+ "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"] },
+ "key": {
+ "description": "Unique ID for individual contact",
+ "type": "integer",
+ "format": "int32"
+ },
+ "name": {"type": "string"},
+ "phoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
+ "postalCode": {"description": "Postal code for address", "type": "string"},
+ "stateProvince": {"description": "State or province name for address", "type": "string"}
+ },
+ "required": ["address1", "city", "country", "name", "postalCode", "stateProvince"]
+ },
+ "minItems": 1
+ }
],
"examples": [
{
@@ -168,7 +435,23 @@
"paymentMethods": {
"description": "Order.ShipTos level payment method details",
"type": ["array", "null"],
- "items": {"$ref": "parts/PaymentMethod.json"},
+ "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"]
+ },
"examples": [
[
{
@@ -202,7 +485,88 @@
"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"],
- "items": {"$ref": "parts/ShipToFromNewOrderRequest.json"},
+ "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",
+ "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" }
+ },
+ "required": ["key"]
+ },
+ {
+ "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" }
+ }
+ }
+ ],
+ "required": ["key"]
+ },
"minItems": 1,
"uniqueItems": false,
"examples": [
diff --git a/schema/Api/OrderBroker/NewOrderParameters.json b/schema/Api/OrderBroker/NewOrderParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/OrderBroker/NewOrderParameters.json
+++ b/schema/Api/OrderBroker/NewOrderParameters.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/OrderBroker/NewOrderRequest.json b/schema/Api/OrderBroker/NewOrderRequest.json
index c4727ee..034b012 100644
--- a/schema/Api/OrderBroker/NewOrderRequest.json
+++ b/schema/Api/OrderBroker/NewOrderRequest.json
@@ -48,7 +48,42 @@
{"type": "null"},
{
"type": "array",
- "items": {"$ref": "parts/BillToFromNewOrderRequest.json"},
+ "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"]
+ },
+ {
+ "type": "object",
+ "properties": { "key": {"type": "integer", "format": "int32"} }
+ }
+ ],
+ "required": ["key"]
+ },
"minItems": 1
}
],
@@ -113,7 +148,190 @@
"lineItems": {
"description": "Order level line item details. Required, must not be empty. Each item must have offerId, quantityOrdered > 0, price >= 0, taxAmount >= 0, lineItemFee >= 0. If defaultBillToKey, defaultOrderedByKey, or defaultShipToKey are null, corresponding keys must be set on each line item.",
"type": ["array"],
- "items": {"$ref": "parts/LineItem.json"},
+ "items": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "LineItem.json",
+ "description": "Order level line item details",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "offerId": {
+ "description": "Unique ID for offer within Integration Broker",
+ "type": "string"
+ },
+ "referenceId": { "type": ["string", "null"] },
+ "variableTemplatePrintId": {
+ "description": "Unique ID for variable template file associated to offer on individual line item",
+ "type": ["string", "null"]
+ },
+ "additionalProperties": {
+ "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,
+ "properties": {
+ "key" : { "type": ["string", "null"] },
+ "value": { "type": ["string", "null"] }
+ },
+ "required": ["key", "value"]
+ }
+ },
+ "billToKey": {
+ "description": "Unique ID for Order.BillTos.Key property associated to individual line item (NOTE: If top-level DefaultBillToKey is not set, this must be.)",
+ "type": ["integer", "null"],
+ "format": "int32"
+ },
+ "comment": {
+ "description": "Manually entered comment for individual line item",
+ "type": ["string", "null"]
+ },
+ "costCenter": { "type": ["string", "null"] },
+ "dueDate": {
+ "description": "Datetime of expected due date for individual line item",
+ "type": ["string", "null"]
+ },
+ "lineItemFee": {
+ "description": "Fee applied to individual line item",
+ "type": "number",
+ "format": "double"
+ },
+ "offerDescription": {
+ "description": "Description for offer within product management system (system where ordered line item products will be managed)",
+ "type": ["string", "null"]
+ },
+ "offerLineNumber": {
+ "description": "Unique ID for individual line item",
+ "type": ["string", "null"]
+ },
+ "offerNumber": {
+ "description": "Name for offer within product management system (system where ordered line item products will be managed)",
+ "type": ["string", "null"]
+ },
+ "orderedByKey": {
+ "description": "Unique ID for Order.OrderedBy.Key property associated to individual line item",
+ "type": ["integer", "null"],
+ "format": "int32"
+ },
+ "poNumber": {
+ "description": "Purchase order number for individual line item",
+ "type": ["string", "null"]
+ },
+ "price": {
+ "description": "Total offer price of individual line item",
+ "type": "number",
+ "format": "double"
+ },
+ "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"]
+ }
+ },
+ "productDescription": { "type": ["string", "null"] },
+ "productLineNumber": { "type": ["string", "null"] },
+ "productNumber": { "type": ["string", "null"] },
+ "productOwner": { "type": ["string", "null"] },
+ "size": { "type": ["string", "null"] }
+ }
+ }
+ ],
+ "required": ["productId"]
+ }
+ },
+ "quantityOrdered": {
+ "description": "Amount of offer ordered for individual line item",
+ "type": "integer",
+ "format": "int32"
+ },
+ "rushOrder": {
+ "description": "True/false indicator if individual line item is expedited",
+ "type": ["boolean", "null"]
+ },
+ "shipToKey": {
+ "description": "Unique ID for Order.ShipTos.Key property associated to individual line item (NOTE: If top-level DefaultShipToKey is not set, this must be.)",
+ "type": ["integer", "null"],
+ "format": "int32"
+ },
+ "taxAmount": {
+ "description": "Total tax amount applied to individual line item",
+ "type": ["number", "null"],
+ "format": "double"
+ }
+ },
+ "required": ["offerId", "lineItemFee", "price", "quantityOrdered"]
+ },
"minItems": 1,
"uniqueItems": false,
"examples": [
@@ -137,16 +355,65 @@
"examples": [5.0]
},
"orderVariables": {
- "$ref": "parts/OrderVariable.json",
+ "$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)",
- "examples": [ {"key": "CUSTOM_FIELD", "value": "Custom Value"} ]
+ "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,
+ "properties": {
+ "key" : { "type": ["string", "null"] },
+ "value": { "type": ["string", "null"] }
+ },
+ "required": ["key", "value"]
+ }
+ ]
},
"orderedBys": {
"description": "Order level ordered by contact and address details. Not required, but if present, each item must have required address fields and a non-null key.",
"type": ["array", "null"],
"oneOf": [
{"type": "null"},
- { "type": "array", "items": {"$ref": "parts/OrderedBy.json"}, "minItems": 1 }
+ {
+ "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,
+ "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"] },
+ "key": {
+ "description": "Unique ID for individual contact",
+ "type": "integer",
+ "format": "int32"
+ },
+ "name": {"type": "string"},
+ "phoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
+ "postalCode": {"description": "Postal code for address", "type": "string"},
+ "stateProvince": {"description": "State or province name for address", "type": "string"}
+ },
+ "required": ["address1", "city", "country", "name", "postalCode", "stateProvince"]
+ },
+ "minItems": 1
+ }
],
"examples": [
{
@@ -168,7 +435,23 @@
"paymentMethods": {
"description": "Order.ShipTos level payment method details",
"type": ["array", "null"],
- "items": {"$ref": "parts/PaymentMethod.json"},
+ "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"]
+ },
"examples": [
[
{
@@ -202,7 +485,88 @@
"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"],
- "items": {"$ref": "parts/ShipToFromNewOrderRequest.json"},
+ "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",
+ "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" }
+ },
+ "required": ["key"]
+ },
+ {
+ "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" }
+ }
+ }
+ ],
+ "required": ["key"]
+ },
"minItems": 1,
"uniqueItems": false,
"examples": [
diff --git a/schema/Api/OrderBroker/UpdateFulfillmentOrderParameters.json b/schema/Api/OrderBroker/UpdateFulfillmentOrderParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/OrderBroker/UpdateFulfillmentOrderParameters.json
+++ b/schema/Api/OrderBroker/UpdateFulfillmentOrderParameters.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/OrderBroker/UpdateFulfillmentOrderRequest.json b/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
index e145395..6ed724c 100644
--- a/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
+++ b/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
@@ -1,7 +1,260 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "UpdateFulfillmentOrderRequest.json",
- "$ref": "parts/FulfillmentOrder.json",
+ "$id": "FulfillmentOrder.json",
"type": "object",
- "additionalProperties": false
+ "properties": {
+ "customerId": { "type": ["string", "null"] },
+ "fulfillmentOrderId": {"type": "string"},
+ "fulfillmentSystemCustomerId": { "type": ["string", "null"] },
+ "fulfillmentSystemId": { "type": ["string", "null"] },
+ "fulfillmentSystemLocationId": { "type": ["string", "null"] },
+ "fulfillmentSystemOrderId": { "type": ["string", "null"] },
+ "referenceId": { "type": ["string", "null"] },
+ "billTo": {
+ "description": "Bill to addresses array for Order",
+ "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"]
+ }
+ ]
+ }
+ ]
+ },
+ "createDateTime": { "type": ["string", "null"] },
+ "defaultShipToKey": {"type": "integer", "format": "int32"},
+ "dueDate": { "type": ["string", "null"] },
+ "orderIds": { "type": ["array", "null"], "items": {"type": "string"} },
+ "orderVariables": { "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"]
+ }
+ },
+ "poNumber": { "type": ["string", "null"] },
+ "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"]
+ }
+ },
+ "status": { "type": ["string", "null"] }
+ }
+ }
+ ]
+ }
+ },
+ "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",
+ "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" }
+ },
+ "required": ["key"]
+ },
+ {
+ "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"] }
+ }
+ }
+ ]
+ }
+ },
+ "shipments": {
+ "type": ["array", "null"],
+ "items": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "Shipment.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "shipmentId": {"type": "string"},
+ "carrier": { "type": ["string", "null"] },
+ "freight": {"type": "number", "format": "double"},
+ "masterTrackingNumber": { "type": ["string", "null"] },
+ "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"} },
+ "required": ["packageNumber", "trackingNumber"]
+ }
+ },
+ "packingSlipNumber": { "type": ["string", "null"] },
+ "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": {
+ "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"]
+ }
+ },
+ "required": ["shipmentId", "service", "shipDateUtc", "freight"]
+ }
+ }
+ },
+ "required": ["fulfillmentOrderId"]
}
diff --git a/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json b/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json
index 91ae19f..ae48ec1 100644
--- a/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json
+++ b/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json
@@ -1,21 +1,18 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "UpdateFulfillmentOrderResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
+ "properties": {
+ "data": {
"type": "object",
+ "additionalProperties": false,
"properties": {
- "data": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "failureMessages": { "type": ["array", "null"], "items": {"type": "string"} },
- "informationalMessages": { "type": ["array", "null"], "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean", "readOnly": true}
- }
- }
+ "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"}
+ }
}
diff --git a/schema/Api/OrderBroker/parts/AdditionalProperty.json b/schema/Api/OrderBroker/parts/AdditionalProperty.json
deleted file mode 100644
index 80d66e6..0000000
--- a/schema/Api/OrderBroker/parts/AdditionalProperty.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "AdditionalProperty.json",
- "description": "Order.LineItems level additional properties details",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "key" : { "type": ["string", "null"] },
- "value": { "type": ["string", "null"] }
- },
- "required": ["key", "value"]
-}
diff --git a/schema/Api/OrderBroker/parts/BillTo.json b/schema/Api/OrderBroker/parts/BillTo.json
deleted file mode 100644
index 98d323e..0000000
--- a/schema/Api/OrderBroker/parts/BillTo.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "$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"]
-}
diff --git a/schema/Api/OrderBroker/parts/BillToFromNewOrderRequest.json b/schema/Api/OrderBroker/parts/BillToFromNewOrderRequest.json
deleted file mode 100644
index 37c6546..0000000
--- a/schema/Api/OrderBroker/parts/BillToFromNewOrderRequest.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "BillToFromNewOrderRequest.json",
- "type": "object",
- "allOf": [
- {"$ref": "BillTo.json"},
- {
- "type": "object",
- "properties": { "key": {"type": "integer", "format": "int32"} }
- }
- ],
- "required": ["key"]
-}
diff --git a/schema/Api/OrderBroker/parts/BillToFromUpdateFulfillmentOrderRequest.json b/schema/Api/OrderBroker/parts/BillToFromUpdateFulfillmentOrderRequest.json
deleted file mode 100644
index 4f4f759..0000000
--- a/schema/Api/OrderBroker/parts/BillToFromUpdateFulfillmentOrderRequest.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "BillToFromUpdateFulfillmentOrderRequest.json",
- "type": "object",
- "allOf": [ {"$ref": "BillTo.json"} ]
-}
diff --git a/schema/Api/OrderBroker/parts/Component.json b/schema/Api/OrderBroker/parts/Component.json
deleted file mode 100644
index 047a8ce..0000000
--- a/schema/Api/OrderBroker/parts/Component.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "$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"]
-}
diff --git a/schema/Api/OrderBroker/parts/FulfillmentOrder.json b/schema/Api/OrderBroker/parts/FulfillmentOrder.json
deleted file mode 100644
index 37382a8..0000000
--- a/schema/Api/OrderBroker/parts/FulfillmentOrder.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "FulfillmentOrder.json",
- "type": "object",
- "properties": {
- "customerId": { "type": ["string", "null"] },
- "fulfillmentOrderId": {"type": "string"},
- "fulfillmentSystemCustomerId": { "type": ["string", "null"] },
- "fulfillmentSystemId": { "type": ["string", "null"] },
- "fulfillmentSystemLocationId": { "type": ["string", "null"] },
- "fulfillmentSystemOrderId": { "type": ["string", "null"] },
- "referenceId": { "type": ["string", "null"] },
- "billTo": {
- "description": "Bill to addresses array for Order",
- "oneOf": [ {"type": "null"}, {"$ref": "BillToFromUpdateFulfillmentOrderRequest.json"} ]
- },
- "createDateTime": { "type": ["string", "null"] },
- "defaultShipToKey": {"type": "integer", "format": "int32"},
- "dueDate": { "type": ["string", "null"] },
- "orderIds": { "type": ["array", "null"], "items": {"type": "string"} },
- "orderVariables": { "type": ["string", "null"] },
- "paymentMethods": { "type": ["array", "null"], "items": {"$ref": "PaymentMethod.json"} },
- "poNumber": { "type": ["string", "null"] },
- "products": {
- "type": ["array", "null"],
- "items": {"$ref": "ProductFromUpdateFulfillmentOrderRequest.json"}
- },
- "rushOrder": { "type": ["string", "null"] },
- "shipTos": {
- "type": ["array", "null"],
- "items": {"$ref": "ShipToFromUpdateFulfillmentOrderRequest.json"}
- },
- "shipments": { "type": ["array", "null"], "items": {"$ref": "Shipment.json"} }
- },
- "required": ["fulfillmentOrderId"]
-}
diff --git a/schema/Api/OrderBroker/parts/LineItem.json b/schema/Api/OrderBroker/parts/LineItem.json
deleted file mode 100644
index c6545be..0000000
--- a/schema/Api/OrderBroker/parts/LineItem.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "LineItem.json",
- "description": "Order level line item details",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "offerId": {
- "description": "Unique ID for offer within Integration Broker",
- "type": "string"
- },
- "referenceId": { "type": ["string", "null"] },
- "variableTemplatePrintId": {
- "description": "Unique ID for variable template file associated to offer on individual line item",
- "type": ["string", "null"]
- },
- "additionalProperties": {
- "description": "Additional properties details for Order LineItems",
- "type": ["array", "null"],
- "items": {"$ref": "AdditionalProperty.json"}
- },
- "billToKey": {
- "description": "Unique ID for Order.BillTos.Key property associated to individual line item (NOTE: If top-level DefaultBillToKey is not set, this must be.)",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "comment": {
- "description": "Manually entered comment for individual line item",
- "type": ["string", "null"]
- },
- "costCenter": { "type": ["string", "null"] },
- "dueDate": {
- "description": "Datetime of expected due date for individual line item",
- "type": ["string", "null"]
- },
- "lineItemFee": {
- "description": "Fee applied to individual line item",
- "type": "number",
- "format": "double"
- },
- "offerDescription": {
- "description": "Description for offer within product management system (system where ordered line item products will be managed)",
- "type": ["string", "null"]
- },
- "offerLineNumber": {
- "description": "Unique ID for individual line item",
- "type": ["string", "null"]
- },
- "offerNumber": {
- "description": "Name for offer within product management system (system where ordered line item products will be managed)",
- "type": ["string", "null"]
- },
- "orderedByKey": {
- "description": "Unique ID for Order.OrderedBy.Key property associated to individual line item",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "poNumber": {
- "description": "Purchase order number for individual line item",
- "type": ["string", "null"]
- },
- "price": {
- "description": "Total offer price of individual line item",
- "type": "number",
- "format": "double"
- },
- "products": {
- "type": ["array", "null"],
- "items": {"$ref": "ProductFromNewOrderRequest.json"}
- },
- "quantityOrdered": {
- "description": "Amount of offer ordered for individual line item",
- "type": "integer",
- "format": "int32"
- },
- "rushOrder": {
- "description": "True/false indicator if individual line item is expedited",
- "type": ["boolean", "null"]
- },
- "shipToKey": {
- "description": "Unique ID for Order.ShipTos.Key property associated to individual line item (NOTE: If top-level DefaultShipToKey is not set, this must be.)",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "taxAmount": {
- "description": "Total tax amount applied to individual line item",
- "type": ["number", "null"],
- "format": "double"
- }
- },
- "required": ["offerId", "lineItemFee", "price", "quantityOrdered"]
-}
diff --git a/schema/Api/OrderBroker/parts/OrderVariable.json b/schema/Api/OrderBroker/parts/OrderVariable.json
deleted file mode 100644
index 746ab85..0000000
--- a/schema/Api/OrderBroker/parts/OrderVariable.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "$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},
- {"$ref": "AdditionalProperty.json"}
- ]
-}
diff --git a/schema/Api/OrderBroker/parts/OrderedBy.json b/schema/Api/OrderBroker/parts/OrderedBy.json
deleted file mode 100644
index 03a614e..0000000
--- a/schema/Api/OrderBroker/parts/OrderedBy.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OrderedBy.json",
- "description": "Bill to address object for Order",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "address1": {"description": "Address line 1 for address", "type": "string"},
- "address2": { "description": "Address line 2 for address", "type": ["string", "null"] },
- "address3": { "description": "Address line 3 for address", "type": ["string", "null"] },
- "city": {"description": "City name for address", "type": "string"},
- "company": { "description": "Company name for address", "type": ["string", "null"] },
- "country": {"description": "Country name for address", "type": "string"},
- "emailAddress": {
- "description": "Contact email address for address",
- "type": ["string", "null"]
- },
- "faxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
- "key": {
- "description": "Unique ID for individual contact",
- "type": "integer",
- "format": "int32"
- },
- "name": {"type": "string"},
- "phoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
- "postalCode": {"description": "Postal code for address", "type": "string"},
- "stateProvince": {"description": "State or province name for address", "type": "string"}
- },
- "required": ["address1", "city", "country", "name", "postalCode", "stateProvince"]
-}
diff --git a/schema/Api/OrderBroker/parts/Package.json b/schema/Api/OrderBroker/parts/Package.json
deleted file mode 100644
index ab8dad5..0000000
--- a/schema/Api/OrderBroker/parts/Package.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Package.json",
- "type": "object",
- "additionalProperties": false,
- "properties": { "packageNumber": {"type": "string"}, "trackingNumber": {"type": "string"} },
- "required": ["packageNumber", "trackingNumber"]
-}
diff --git a/schema/Api/OrderBroker/parts/PaymentMethod.json b/schema/Api/OrderBroker/parts/PaymentMethod.json
deleted file mode 100644
index 111f70d..0000000
--- a/schema/Api/OrderBroker/parts/PaymentMethod.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "$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"]
-}
diff --git a/schema/Api/OrderBroker/parts/Product.json b/schema/Api/OrderBroker/parts/Product.json
deleted file mode 100644
index 5b52e8d..0000000
--- a/schema/Api/OrderBroker/parts/Product.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "$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"]
-}
diff --git a/schema/Api/OrderBroker/parts/ProductFromNewOrderRequest.json b/schema/Api/OrderBroker/parts/ProductFromNewOrderRequest.json
deleted file mode 100644
index 064562f..0000000
--- a/schema/Api/OrderBroker/parts/ProductFromNewOrderRequest.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductFromNewOrderRequest.json",
- "type": "object",
- "allOf": [
- {"$ref": "Product.json"},
- {
- "type": "object",
- "properties": {
- "color": { "type": ["string", "null"] },
- "components": { "type": ["array", "null"], "items": {"$ref": "Component.json"} },
- "productDescription": { "type": ["string", "null"] },
- "productLineNumber": { "type": ["string", "null"] },
- "productNumber": { "type": ["string", "null"] },
- "productOwner": { "type": ["string", "null"] },
- "size": { "type": ["string", "null"] }
- }
- }
- ],
- "required": ["productId"]
-}
diff --git a/schema/Api/OrderBroker/parts/ProductFromUpdateFulfillmentOrderRequest.json b/schema/Api/OrderBroker/parts/ProductFromUpdateFulfillmentOrderRequest.json
deleted file mode 100644
index 62bf42b..0000000
--- a/schema/Api/OrderBroker/parts/ProductFromUpdateFulfillmentOrderRequest.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductFromUpdateFulfillmentOrderRequest.json",
- "type": "object",
- "allOf": [
- {"$ref": "Product.json"},
- {
- "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": {"$ref": "ShipmentPackage.json"} },
- "status": { "type": ["string", "null"] }
- }
- }
- ]
-}
diff --git a/schema/Api/OrderBroker/parts/ShipTo.json b/schema/Api/OrderBroker/parts/ShipTo.json
deleted file mode 100644
index 679c349..0000000
--- a/schema/Api/OrderBroker/parts/ShipTo.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipTo.json",
- "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" }
- },
- "required": ["key"]
-}
diff --git a/schema/Api/OrderBroker/parts/ShipToAddress.json b/schema/Api/OrderBroker/parts/ShipToAddress.json
deleted file mode 100644
index 9e0fe63..0000000
--- a/schema/Api/OrderBroker/parts/ShipToAddress.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "$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"]
-}
diff --git a/schema/Api/OrderBroker/parts/ShipToFromNewOrderRequest.json b/schema/Api/OrderBroker/parts/ShipToFromNewOrderRequest.json
deleted file mode 100644
index 29440a1..0000000
--- a/schema/Api/OrderBroker/parts/ShipToFromNewOrderRequest.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipToFromNewOrderRequest.json",
- "type": "object",
- "allOf": [
- {"$ref": "ShipTo.json"},
- {
- "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": {"$ref": "PaymentMethod.json"} },
- "pickPackHandlingFee": { "type": ["number", "null"], "format": "double" },
- "shipToAddress": {"$ref": "ShipToAddress.json"},
- "shippingHandlingTax": { "type": ["number", "null"], "format": "double" },
- "totalOrderFee": { "type": ["number", "null"], "format": "double" }
- }
- }
- ],
- "required": ["key"]
-}
diff --git a/schema/Api/OrderBroker/parts/ShipToFromUpdateFulfillmentOrderRequest.json b/schema/Api/OrderBroker/parts/ShipToFromUpdateFulfillmentOrderRequest.json
deleted file mode 100644
index 5b5412b..0000000
--- a/schema/Api/OrderBroker/parts/ShipToFromUpdateFulfillmentOrderRequest.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipToFromUpdateFulfillmentOrderRequest.json",
- "type": "object",
- "allOf": [
- {"$ref": "ShipTo.json"},
- {
- "type": "object",
- "properties": {
- "fulfillmentSystemShippingMethodId": { "type": ["string", "null"] },
- "paymentMethods": { "type": ["array", "null"], "items": {"$ref": "PaymentMethod.json"} },
- "shipToAddress": {"$ref": "ShipToAddress.json"},
- "shippingCarrier": { "type": ["string", "null"] },
- "shippingService": { "type": ["string", "null"] },
- "status": { "type": ["string", "null"] }
- }
- }
- ]
-}
diff --git a/schema/Api/OrderBroker/parts/Shipment.json b/schema/Api/OrderBroker/parts/Shipment.json
deleted file mode 100644
index 32016eb..0000000
--- a/schema/Api/OrderBroker/parts/Shipment.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Shipment.json",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "shipmentId": {"type": "string"},
- "carrier": { "type": ["string", "null"] },
- "freight": {"type": "number", "format": "double"},
- "masterTrackingNumber": { "type": ["string", "null"] },
- "packages": { "type": ["array", "null"], "items": {"$ref": "Package.json"} },
- "packingSlipNumber": { "type": ["string", "null"] },
- "service": {"type": "string"},
- "shipDateUtc": {"type": "string"},
- "shipToAddress": {"$ref": "ShipToAddress.json"}
- },
- "required": ["shipmentId", "service", "shipDateUtc", "freight"]
-}
diff --git a/schema/Api/OrderBroker/parts/ShipmentPackage.json b/schema/Api/OrderBroker/parts/ShipmentPackage.json
deleted file mode 100644
index 7267571..0000000
--- a/schema/Api/OrderBroker/parts/ShipmentPackage.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "$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"]
-}
diff --git a/schema/Api/ProductBroker/GetAllProductsParameters.json b/schema/Api/ProductBroker/GetAllProductsParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/ProductBroker/GetAllProductsParameters.json
+++ b/schema/Api/ProductBroker/GetAllProductsParameters.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/GetAllProductsResponse.json b/schema/Api/ProductBroker/GetAllProductsResponse.json
index bc83237..eeb7030 100644
--- a/schema/Api/ProductBroker/GetAllProductsResponse.json
+++ b/schema/Api/ProductBroker/GetAllProductsResponse.json
@@ -1,13 +1,43 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetAllProductsResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": {
- "data": { "type": ["array", "null"], "items": {"$ref": "parts/Product.json"} }
+ "properties": {
+ "data": {
+ "type": ["array", "null"],
+ "items": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "Product.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "ProductId": {
+ "description": "Unique ID for component product within Integration Broker",
+ "type": "string"
+ },
+ "Color": { "description": "Color of product", "type": ["string", "null"] },
+ "LastUpdateDateTimeUtc": {
+ "description": "Date and time product was last updated in product management system (system where ordered line item products will be managed)",
+ "type": "string"
+ },
+ "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"
+ },
+ "ProductOwner": { "description": "Owner of component product", "type": ["string", "null"] },
+ "ProductType": {"type": "string"},
+ "Size": { "description": "Size of component product", "type": ["string", "null"] },
+ "Status": {"type": "string"},
+ "UnitOfMeasure": { "type": ["string", "null"] }
+ },
+ "required": ["LastUpdateDateTimeUtc", "ProductId", "ProductNumber", "ProductType", "Status"]
}
- }
- ]
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ }
}
diff --git a/schema/Api/ProductBroker/GetProductInventoryParameters.json b/schema/Api/ProductBroker/GetProductInventoryParameters.json
index 3ed2a56..bcd83fc 100644
--- a/schema/Api/ProductBroker/GetProductInventoryParameters.json
+++ b/schema/Api/ProductBroker/GetProductInventoryParameters.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/GetProductInventoryResponse.json b/schema/Api/ProductBroker/GetProductInventoryResponse.json
index 1fe2645..89b2537 100644
--- a/schema/Api/ProductBroker/GetProductInventoryResponse.json
+++ b/schema/Api/ProductBroker/GetProductInventoryResponse.json
@@ -1,13 +1,29 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetProductInventoryResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": {
- "data": { "oneOf": [ {"type": "null"}, {"$ref": "parts/ProductInventory.json"} ] }
- }
- }
- ]
+ "properties": {
+ "data": {
+ "oneOf": [
+ {"type": "null"},
+ {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "ProductInventory.json",
+ "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"]
+ }
+ ]
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ }
}
diff --git a/schema/Api/ProductBroker/parts/Product.json b/schema/Api/ProductBroker/parts/Product.json
deleted file mode 100644
index edd373b..0000000
--- a/schema/Api/ProductBroker/parts/Product.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Product.json",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "ProductId": {
- "description": "Unique ID for component product within Integration Broker",
- "type": "string"
- },
- "Color": { "description": "Color of product", "type": ["string", "null"] },
- "LastUpdateDateTimeUtc": {
- "description": "Date and time product was last updated in product management system (system where ordered line item products will be managed)",
- "type": "string"
- },
- "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"
- },
- "ProductOwner": { "description": "Owner of component product", "type": ["string", "null"] },
- "ProductType": {"type": "string"},
- "Size": { "description": "Size of component product", "type": ["string", "null"] },
- "Status": {"type": "string"},
- "UnitOfMeasure": { "type": ["string", "null"] }
- },
- "required": ["LastUpdateDateTimeUtc", "ProductId", "ProductNumber", "ProductType", "Status"]
-}
diff --git a/schema/Api/ProductBroker/parts/ProductInventory.json b/schema/Api/ProductBroker/parts/ProductInventory.json
deleted file mode 100644
index d43f29b..0000000
--- a/schema/Api/ProductBroker/parts/ProductInventory.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductInventory.json",
- "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"]
-}
diff --git a/schema/Api/ShippingBroker/GetShippingratesParameters.json b/schema/Api/ShippingBroker/GetShippingratesParameters.json
index 011b51c..6b5e6cb 100644
--- a/schema/Api/ShippingBroker/GetShippingratesParameters.json
+++ b/schema/Api/ShippingBroker/GetShippingratesParameters.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/ShippingBroker/GetShippingratesRequest.json b/schema/Api/ShippingBroker/GetShippingratesRequest.json
index 79d558c..4312272 100644
--- a/schema/Api/ShippingBroker/GetShippingratesRequest.json
+++ b/schema/Api/ShippingBroker/GetShippingratesRequest.json
@@ -8,7 +8,27 @@
"SourceSystemId": {"type": "integer", "format": "int32"},
"OfferIds": { "type": ["array", "null"], "items": {"type": "string"} },
"PackageWeight": {"type": "number", "format": "float"},
- "ShipToAddress": {"$ref": "parts/ShipToAddress.json"},
+ "ShipToAddress": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "ShipToAddress.json",
+ "type": "object",
+ "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"] }
+ }
+ },
"SourceSystemShippingMethods": { "type": ["array", "null"], "items": {"type": "string"} }
}
}
diff --git a/schema/Api/ShippingBroker/GetShippingratesResponse.json b/schema/Api/ShippingBroker/GetShippingratesResponse.json
index 317ad32..1de7514 100644
--- a/schema/Api/ShippingBroker/GetShippingratesResponse.json
+++ b/schema/Api/ShippingBroker/GetShippingratesResponse.json
@@ -1,13 +1,20 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetShippingratesResponse.json",
- "allOf": [
- {"$ref": "../../Common/ApiResponseBase.json"},
- {
- "type": "object",
- "properties": {
- "data": { "oneOf": [ {"type": "null"}, {"$ref": "parts/Shippingrate.json"} ] }
- }
- }
- ]
+ "properties": {
+ "data": {
+ "oneOf": [
+ {"type": "null"},
+ {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "Shippingrate.json",
+ "type": "object",
+ "additionalProperties": false
+ }
+ ]
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ }
}
diff --git a/schema/Api/ShippingBroker/parts/ShipToAddress.json b/schema/Api/ShippingBroker/parts/ShipToAddress.json
deleted file mode 100644
index 782a12a..0000000
--- a/schema/Api/ShippingBroker/parts/ShipToAddress.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipToAddress.json",
- "type": "object",
- "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"] }
- }
-}
diff --git a/schema/Api/ShippingBroker/parts/Shippingrate.json b/schema/Api/ShippingBroker/parts/Shippingrate.json
deleted file mode 100644
index 01a8ebf..0000000
--- a/schema/Api/ShippingBroker/parts/Shippingrate.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Shippingrate.json",
- "type": "object",
- "additionalProperties": false
-}
diff --git a/schema/Event/FulfillmentOrder/parts/BillTo.json b/schema/Event/FulfillmentOrder/parts/BillTo.json
deleted file mode 100644
index b5eedf7..0000000
--- a/schema/Event/FulfillmentOrder/parts/BillTo.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "BillTo.json",
- "description": "Bill to address object for Order",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "Address1": { "description": "Address line 1 for address", "type": ["string", "null"] },
- "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", "null"] },
- "Company": { "description": "Company name for address", "type": ["string", "null"] },
- "Country": { "description": "Country name for address", "type": ["string", "null"] },
- "EmailAddress": {
- "description": "Contact email address for address",
- "type": ["string", "null"]
- },
- "FaxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
- "Key": {
- "description": "Unique ID for individual contact",
- "type": "integer",
- "format": "int32"
- },
- "Name": { "description": "Contact name for this address", "type": ["string", "null"] },
- "PhoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
- "PostalCode": { "description": "Postal code for address", "type": ["string", "null"] },
- "StateProvince": {
- "description": "State or province name for address",
- "type": ["string", "null"]
- }
- },
- "required": ["Address1", "City", "Country", "Name", "PostalCode", "StateProvince"],
- "examples": [
- {
- "Address1": "106 Tyler Street Suite 175",
- "Address2": "3181 George Vista",
- "Address3": "",
- "City": "West Savannahside",
- "Company": "Matthews, Mclean and Huynh",
- "Country": "USA",
- "EmailAddress": "ghunt@example.com",
- "FaxNumber": "",
- "Key": 0,
- "Name": "Kristin Tyler",
- "PhoneNumber": "001-990-377-8647x21426",
- "PostalCode": "69532",
- "StateProvince": "Idaho"
- }
- ]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/FOProduct.json b/schema/Event/FulfillmentOrder/parts/FOProduct.json
deleted file mode 100644
index f71f404..0000000
--- a/schema/Event/FulfillmentOrder/parts/FOProduct.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "FOProduct.json",
- "description": "FulfillmentOrder.Products level details",
- "type": "object",
- "title": "ApiFulfillmentOrderProduct",
- "properties": {
- "FulfillmentSystemId": {
- "description": "System used to fulfill the product. This should match the FulfillmentSystemId directly under FulfillmentOrder.",
- "type": ["string", "null"]
- },
- "FulfillmentSystemProductId": {
- "description": "Product ID in fulfillment system",
- "type": ["string", "null"]
- },
- "ProductId": {
- "description": "Unique ID for product within Integration Broker",
- "type": ["string", "null"]
- },
- "ProductLineId": {
- "description": "Identifier for product line within fulfillment order. Format: {fulfillmentSystemId}-{customerId}-{fulfillmentSystemProductId}",
- "type": ["string", "null"]
- },
- "AssociatedFileName": {
- "description": "Name of file associated to product (if applicable)",
- "type": ["string", "null"]
- },
- "Comment": { "description": "Comment for product", "type": ["string", "null"] },
- "IsDeleted": {
- "description": "Flag to indicate the product line item is deleted",
- "type": ["boolean", "null"]
- },
- "PageCount": {
- "description": "Number of pages in the product (if applicable)",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "Price": { "description": "Price of product line item", "type": ["number", "null"] },
- "QuantityOrdered": {"description": "Amount of product ordered", "type": "integer"},
- "ShipToKey": {"description": "ShipTo key for shipping this product", "type": "integer"},
- "ShipmentPackages": {
- "description": "Shipment packages associated with this product line item",
- "type": ["array", "null"],
- "items": {"$ref": "ShipmentPackage.json"},
- "examples": [ {"ShipmentId": "ShipmentId123", "PackageNumber": "1", "ShipQuantity": 2} ]
- },
- "Status": { "description": "Status of product line item", "type": ["string", "null"] }
- },
- "required": ["ProductLineId", "QuantityOrdered", "FulfillmentSystemProductId", "Price"],
- "examples": [
- {
- "FulfillmentSystemId": "6",
- "FulfillmentSystemProductId": "123456",
- "ProductId": "77beb98f-d8c6-bf90-1456-a6e7504d678a-c0e6d4d7-a458-8dab-191a-87467ed2388c-cc96a6c8-dcea-204c-11c2-e4741262be75",
- "ProductLineId": "69835a29-20fd-df3a-5f2a-915b9455fcf8|721917346|1761063354",
- "AssociatedFileName": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
- "Comment": "This is a comment for 123456",
- "IsDeleted": null,
- "PageCount": 10,
- "Price": 0.13,
- "QuantityOrdered": 250,
- "ShipToKey": 0,
- "Status": null
- },
- {
- "FulfillmentSystemId": "6",
- "FulfillmentSystemProductId": "123456_2",
- "ProductId": "f03e85a9-3478-78bf-a214-b3eab2c643ba-3ae01e39-3493-5fce-12ef-dc8bb593950f-f25e49d2-1f8f-b80d-7cd9-bc41047d7464",
- "ProductLineId": "d69e99b8-7a5c-20d5-1aa9-1d9080bb9be5|2794780662|1752188148",
- "AssociatedFileName": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
- "Comment": "This is a comment for 123456_2",
- "IsDeleted": null,
- "PageCount": 20,
- "Price": 0.13,
- "QuantityOrdered": 375,
- "ShipToKey": 1,
- "Status": null
- }
- ]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/FOShipTo.json b/schema/Event/FulfillmentOrder/parts/FOShipTo.json
deleted file mode 100644
index 075f34b..0000000
--- a/schema/Event/FulfillmentOrder/parts/FOShipTo.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "FOShipTo.json",
- "description": "Fulfillment Order level ship to details",
- "type": "object",
- "title": "ApiFulfillmentOrderShipTo",
- "properties": {
- "FulfillmentSystemShippingMethodId": {
- "description": "Shipping method ID in fulfillment system",
- "type": ["string", "null"]
- },
- "ReferenceId": { "type": ["string", "null"] },
- "Comment": {
- "description": "Manually entered comment for individual Order.ShipTos",
- "type": ["string", "null"]
- },
- "DueDate": {
- "description": "Datetime of expected due date for individual Order.ShipTos",
- "type": ["string", "null"]
- },
- "IsDeleted": {
- "description": "Flag to indicate the ship to is deleted",
- "type": ["boolean", "null"]
- },
- "Key": {"description": "Unique ID for individual ship to", "type": "integer"},
- "PONumber": {
- "description": "Purchase order number for individual Order.ShipTos",
- "type": ["string", "null"]
- },
- "PaymentMethods": { "type": ["array", "null"], "items": {"$ref": "PaymentMethod.json"} },
- "RushOrder": {
- "description": "True/false indicator if individual Order.ShipTos is expedited",
- "type": ["boolean", "null"]
- },
- "ShipToAddress": {
- "$ref": "ShipToAddress.json",
- "description": "Ship to addresses array for Order",
- "examples": [
- {
- "Address1": "106 Tyler Street Suite 175",
- "Address2": "3181 George Vista",
- "Address3": "",
- "City": "West Savannahside",
- "Company": "Matthews, Mclean and Huynh",
- "Country": "USA",
- "EmailAddress": "ghunt@example.com",
- "FaxNumber": "",
- "Key": 0,
- "PhoneNumber": "001-990-377-8647x21426",
- "PostalCode": "02019",
- "StateProvince": "Idaho"
- }
- ]
- },
- "ShippingCarrier": { "description": "Shipping carrier", "type": ["string", "null"] },
- "ShippingCost": {
- "description": "Shipping cost for individual Order.ShipTos",
- "type": ["number", "null"]
- },
- "ShippingService": { "description": "Shipping service", "type": ["string", "null"] },
- "Status": { "description": "status", "type": ["string", "null"] }
- },
- "required": ["FulfillmentSystemShippingMethodId"],
- "examples": [
- {
- "FulfillmentSystemShippingMethodId": "FedEx Ground",
- "ReferenceId": null,
- "Comment": null,
- "DueDate": null,
- "Key": 0,
- "PONumber": null,
- "PaymentMethods": null,
- "RushOrder": null,
- "ShipToAddress": {
- "Address1": "11832 Simonis Prairie",
- "Address2": null,
- "Address3": null,
- "City": "Casperhaven",
- "Company": null,
- "Country": "United States",
- "EmailAddress": "Gia_Mills@gmail.com",
- "FaxNumber": "(739) 615-3707 x390",
- "Name": "Ansel Leannon",
- "PhoneNumber": "1-564-490-0380 x494",
- "PostalCode": "90673-3604",
- "StateProvince": "NV"
- },
- "ShippingCarrier": null,
- "ShippingCost": 10.0,
- "ShippingService": null,
- "Status": null
- }
- ]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/OrderVariable.json b/schema/Event/FulfillmentOrder/parts/OrderVariable.json
deleted file mode 100644
index 0ab44a4..0000000
--- a/schema/Event/FulfillmentOrder/parts/OrderVariable.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OrderVariable.json",
- "description": "Additional order variables",
- "type": "object"
-}
diff --git a/schema/Event/FulfillmentOrder/parts/Package.json b/schema/Event/FulfillmentOrder/parts/Package.json
deleted file mode 100644
index fcac931..0000000
--- a/schema/Event/FulfillmentOrder/parts/Package.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Package.json",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "IsDeleted": {
- "description": "Flag to indicate the package is deleted",
- "type": ["boolean", "null"]
- },
- "PackageNumber": { "type": ["string", "null"] },
- "TrackingNumber": { "type": ["string", "null"] }
- },
- "required": ["PackageNumber", "TrackingNumber"]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/PaymentMethod.json b/schema/Event/FulfillmentOrder/parts/PaymentMethod.json
deleted file mode 100644
index 0c509ef..0000000
--- a/schema/Event/FulfillmentOrder/parts/PaymentMethod.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PaymentMethod.json",
- "type": "object",
- "properties": { "Amount": {"type": "number"}, "MethodName": {"type": "string"} },
- "required": ["MethodName", "Amount"]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/ShipToAddress.json b/schema/Event/FulfillmentOrder/parts/ShipToAddress.json
deleted file mode 100644
index 133ab9c..0000000
--- a/schema/Event/FulfillmentOrder/parts/ShipToAddress.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipToAddress.json",
- "description": "Ship to addresses array for Order",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "Address1": { "description": "Address line 1 for address", "type": ["string", "null"] },
- "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", "null"] },
- "Company": { "description": "Company name for address", "type": ["string", "null"] },
- "Country": { "description": "Country name for address", "type": ["string", "null"] },
- "EmailAddress": {
- "description": "Contact email address for address",
- "type": ["string", "null"]
- },
- "FaxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
- "Key": {"description": "Unique ID for individual contact"},
- "Name": { "type": ["string", "null"] },
- "PhoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
- "PostalCode": { "description": "Postal code for address", "type": ["string", "null"] },
- "StateProvince": {
- "description": "State or province name for address",
- "type": ["string", "null"]
- }
- },
- "required": ["Address1", "City", "Country", "Name", "PostalCode", "StateProvince"],
- "examples": [
- {
- "Address1": "106 Tyler Street Suite 175",
- "Address2": "3181 George Vista",
- "Address3": "",
- "City": "West Savannahside",
- "Company": "Matthews, Mclean and Huynh",
- "Country": "USA",
- "EmailAddress": "ghunt@example.com",
- "FaxNumber": "",
- "Key": 0,
- "Name": "Kristin Tyler",
- "PhoneNumber": "001-990-377-8647x21426",
- "PostalCode": "02019",
- "StateProvince": "Idaho"
- }
- ]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/Shipment.json b/schema/Event/FulfillmentOrder/parts/Shipment.json
deleted file mode 100644
index 253f0bf..0000000
--- a/schema/Event/FulfillmentOrder/parts/Shipment.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Shipment.json",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "ShipmentId": { "type": ["string", "null"] },
- "Carrier": { "type": ["string", "null"] },
- "Freight": { "type": ["number", "null"], "format": "double" },
- "IsDeleted": {
- "description": "Flag to indicate the shipment is deleted",
- "type": ["boolean", "null"]
- },
- "MasterTrackingNumber": { "type": ["string", "null"] },
- "Packages": {
- "type": ["array", "null"],
- "items": {"$ref": "Package.json"},
- "examples": [
- {
- "IsDeleted": null,
- "PackageNumber": "1",
- "TrackingNumber": "TrackingNumber123123"
- }
- ]
- },
- "PackingSlipNumber": { "type": ["string", "null"] },
- "Service": { "type": ["string", "null"] },
- "ShipDateUtc": { "type": ["string", "null"] },
- "ShipToAddress": {
- "$ref": "ShipToAddress.json",
- "examples": [
- {
- "Address1": "377 Mireille Causeway",
- "Address2": "Suite 048",
- "Address3": "",
- "City": "North Fridamouth",
- "Company": "Kidde Residential/Commercial Division",
- "Country": "United States",
- "EmailAddress": null,
- "FaxNumber": null,
- "Name": "Amya Kreiger",
- "PhoneNumber": "(984) 633-1221 x3373",
- "PostalCode": "76996",
- "StateProvince": "WA"
- }
- ]
- }
- },
- "required": ["ShipmentId", "Service", "ShipDateUtc", "Freight"]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/ShipmentPackage.json b/schema/Event/FulfillmentOrder/parts/ShipmentPackage.json
deleted file mode 100644
index c09c8af..0000000
--- a/schema/Event/FulfillmentOrder/parts/ShipmentPackage.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipmentPackage.json",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "ShipmentId": { "type": ["string", "null"] },
- "IsDeleted": {
- "description": "Flag to indicate the shipment package is deleted",
- "type": ["boolean", "null"]
- },
- "PackageNumber": { "type": ["string", "null"] },
- "ShipQuantity": { "type": ["number", "null"], "format": "double" }
- },
- "required": ["ShipmentId", "PackageNumber", "ShipQuantity"]
-}
diff --git a/schema/Event/Offer/parts/AdditionalPropertiesRequiredOnOrder.json b/schema/Event/Offer/parts/AdditionalPropertiesRequiredOnOrder.json
deleted file mode 100644
index 6b076df..0000000
--- a/schema/Event/Offer/parts/AdditionalPropertiesRequiredOnOrder.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "AdditionalPropertiesRequiredOnOrder.json",
- "type": "object",
- "properties": {
- "IsDeleted": {
- "description": "Flag to indicate the property has been removed from the line item.",
- "type": ["boolean", "null"]
- },
- "Name": {"description": "Name of required property", "type": "string"},
- "Type": {"description": "Type of property", "type": "string"}
- },
- "required": ["Name"]
-}
diff --git a/schema/Event/Offer/parts/PriceClass.json b/schema/Event/Offer/parts/PriceClass.json
deleted file mode 100644
index f1b3a85..0000000
--- a/schema/Event/Offer/parts/PriceClass.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PriceClass.json",
- "type": "object",
- "properties": {
- "AccessGroup": {
- "description": "Name of access group this pricing applies to",
- "type": "string"
- },
- "IsDeleted": {
- "description": "Flag to indicate the property has been removed from the line item.",
- "type": ["boolean", "null"]
- },
- "Price": {
- "description": "Default price for the access group if not covered by price tiers",
- "type": "number"
- },
- "PriceTiers": {
- "description": "Pricing tiered by quantity being ordered",
- "type": "array",
- "items": {"$ref": "PriceTier.json"}
- }
- }
-}
diff --git a/schema/Event/Offer/parts/PriceTier.json b/schema/Event/Offer/parts/PriceTier.json
deleted file mode 100644
index f17c3aa..0000000
--- a/schema/Event/Offer/parts/PriceTier.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PriceTier.json",
- "type": "object",
- "properties": {
- "MaximumQuantity": {"description": "Ending quantity of the range for this price", "type": "number"},
- "MinimumQuantity": {
- "description": "Starting quantity of the range for this price",
- "type": "number"
- },
- "Price": {
- "description": "The price of the offer within this quantity range",
- "type": "number"
- }
- }
-}
diff --git a/schema/Event/Offer/parts/ProductCluster.json b/schema/Event/Offer/parts/ProductCluster.json
deleted file mode 100644
index b298f9c..0000000
--- a/schema/Event/Offer/parts/ProductCluster.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductCluster.json",
- "type": "object",
- "properties": {
- "ClusterId": {"description": "SOB unique ID for the cluster", "type": "string"},
- "IsDeleted": {
- "description": "Flag to indicate the property has been removed from the line item.",
- "type": ["boolean", "null"]
- },
- "ProductQuantityInOffer": {
- "description": "Indicates the quantity of the selected cluster item included in the offer",
- "type": "integer"
- }
- },
- "required": ["ClusterId", "ProductQuantityInOffer"]
-}
diff --git a/schema/Event/Order/parts/AdditionalProperty.json b/schema/Event/Order/parts/AdditionalProperty.json
deleted file mode 100644
index a33efb2..0000000
--- a/schema/Event/Order/parts/AdditionalProperty.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "AdditionalProperty.json",
- "description": "Order.LineItems level additional properties details",
- "type": "object",
- "properties": {
- "IsDeleted": {
- "description": "Flag to indicate the property has been removed from the line item.",
- "type": ["boolean", "null"]
- },
- "Key": { "type": ["string", "null"] },
- "Value": { "type": ["string", "null"] }
- },
- "required": ["Key", "Value"],
- "examples": [
- {
- "Key": "SingleMailing_File",
- "Value": "https://example.onetouchpoint.com/some-file.pdf"
- }
- ]
-}
diff --git a/schema/Event/Order/parts/BillTo.json b/schema/Event/Order/parts/BillTo.json
deleted file mode 100644
index 24056e0..0000000
--- a/schema/Event/Order/parts/BillTo.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "$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", "null"] },
- "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", "null"] },
- "Company": { "description": "Company name for address", "type": ["string", "null"] },
- "Country": { "description": "Country name for address", "type": ["string", "null"] },
- "EmailAddress": {
- "description": "Contact email address for address",
- "type": ["string", "null"]
- },
- "FaxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
- "Key": {
- "description": "Unique ID for individual contact",
- "type": "integer",
- "format": "int32"
- },
- "Name": { "description": "Contact name for this address", "type": ["string", "null"] },
- "PhoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
- "PostalCode": { "description": "Postal code for address", "type": ["string", "null"] },
- "StateProvince": {
- "description": "State or province name for address",
- "type": ["string", "null"]
- }
- },
- "required": ["Address1", "City", "Country", "Name", "PostalCode", "StateProvince"],
- "examples": [
- {
- "Address1": "106 Tyler Street Suite 175",
- "Address2": "3181 George Vista",
- "Address3": "",
- "City": "West Savannahside",
- "Company": "Matthews, Mclean and Huynh",
- "Country": "USA",
- "EmailAddress": "ghunt@example.com",
- "FaxNumber": "",
- "Key": 0,
- "Name": "Kristin Tyler",
- "PhoneNumber": "001-990-377-8647x21426",
- "PostalCode": "02019",
- "StateProvince": "Idaho"
- }
- ]
-}
diff --git a/schema/Event/Order/parts/Component.json b/schema/Event/Order/parts/Component.json
deleted file mode 100644
index 7095f1b..0000000
--- a/schema/Event/Order/parts/Component.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Component.json",
- "description": "Order.LineItems.Products level component details",
- "type": "object",
- "properties": {
- "ProductId": {
- "description": "Unique ID for component product within Integration Broker",
- "type": ["string", "null"]
- },
- "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"]
- },
- "OfferLineNumber": { "description": "Unique ID for parent line item", "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"]
- },
- "ProductLineNumber": {
- "description": "Unique ID for parent product within parent line item",
- "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"]
-}
diff --git a/schema/Event/Order/parts/LineItem.json b/schema/Event/Order/parts/LineItem.json
deleted file mode 100644
index 642d222..0000000
--- a/schema/Event/Order/parts/LineItem.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "LineItem.json",
- "description": "Order level line item details",
- "type": "object",
- "properties": {
- "OfferId": {
- "description": "Unique ID for offer within Integration Broker",
- "type": ["string", "null"]
- },
- "ProductManagementSystemCustomerId": { "type": ["string", "null"] },
- "ProductManagementSystemId": {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ProductManagementSystemId.json",
- "description": "Identifier for a product management system that can be an integer, string, or null",
- "type": ["integer", "string", "null"]
- },
- "ReferenceId": { "type": ["string", "null"] },
- "VariableTemplatePrintId": {
- "description": "Unique ID for variable template file associated to offer on individual line item",
- "type": ["string", "null"]
- },
- "AdditionalProperties": {
- "description": "Additional properties details for Order LineItems",
- "type": "array",
- "items": {"$ref": "AdditionalProperty.json"}
- },
- "BillToKey": {
- "description": "Unique ID for Order.BillTos.Key property associated to individual line item (NOTE: If top-level DefaultBillToKey is not set, this must be.)",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "Comment": {
- "description": "Manually entered comment for individual line item",
- "type": ["string", "null"]
- },
- "CostCenter": { "type": ["string", "null"] },
- "DueDate": {
- "description": "Datetime of expected due date for individual line item",
- "type": ["string", "null"]
- },
- "LineItemFee": {
- "description": "Fee applied to individual line item",
- "type": ["number", "null"],
- "format": "double"
- },
- "OfferDescription": {
- "description": "Description for offer within product management system (system where ordered line item products will be managed)",
- "type": ["string", "null"]
- },
- "OfferLineNumber": {
- "description": "Unique ID for individual line item",
- "type": ["string", "null"]
- },
- "OfferNumber": {
- "description": "Name for offer within product management system (system where ordered line item products will be managed)",
- "type": ["string", "null"]
- },
- "OrderedByKey": {
- "description": "Unique ID for Order.OrderedBy.Key property associated to individual line item",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "PONumber": {
- "description": "Purchase order number for individual line item",
- "type": ["string", "null"]
- },
- "Price": {
- "description": "Total offer price of individual line item",
- "type": ["number", "null"],
- "format": "double"
- },
- "Products": {
- "description": "Order.LineItems level product details",
- "type": ["array", "null"],
- "items": {"$ref": "Product.json"}
- },
- "QuantityCanceled": { "type": ["integer", "null"] },
- "QuantityOrdered": {
- "description": "Amount of offer ordered for individual line item",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "RushOrder": {
- "description": "True/false indicator if individual line item is expedited",
- "type": ["boolean", "null"]
- },
- "ShipToKey": {
- "description": "Unique ID for Order.ShipTos.Key property associated to individual line item (NOTE: If top-level DefaultShipToKey is not set, this must be.)",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "Status": { "type": ["string", "null"] },
- "TaxAmount": {
- "description": "Total tax amount applied to individual line item",
- "type": ["number", "null"],
- "format": "double"
- }
- },
- "required": ["LineItemFee", "OfferId", "Price", "QuantityOrdered", "TaxAmount"],
- "examples": [
- {
- "OfferId": "8-998608-269",
- "ProductManagementSystemCustomerId": "455163",
- "ProductManagementSystemId": 1,
- "ReferenceId": null,
- "VariableTemplatePrintId": null,
- "Comment": "HPD-PNP-DRS-TEACONT-0322:",
- "CostCenter": null,
- "DueDate": null,
- "LineItemFee": 1,
- "OfferDescription": "Tea Container Sticker",
- "OfferLineNumber": "1",
- "OfferNumber": "HPD-PNP-DRS-TEACONT-0322",
- "PONumber": null,
- "Price": 4.57,
- "QuantityCanceled": null,
- "QuantityOrdered": 1,
- "RushOrder": null,
- "Status": null,
- "TaxAmount": 2.92
- }
- ]
-}
diff --git a/schema/Event/Order/parts/OrderVariable.json b/schema/Event/Order/parts/OrderVariable.json
deleted file mode 100644
index 034800b..0000000
--- a/schema/Event/Order/parts/OrderVariable.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "$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)",
- "type": ["object", "null"],
- "additionalProperties": true
-}
diff --git a/schema/Event/Order/parts/OrderedBy.json b/schema/Event/Order/parts/OrderedBy.json
deleted file mode 100644
index 8800822..0000000
--- a/schema/Event/Order/parts/OrderedBy.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OrderedBy.json",
- "description": "Bill to address object for Order",
- "type": "object",
- "properties": {
- "Address1": { "description": "Address line 1 for address", "type": ["string", "null"] },
- "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", "null"] },
- "Company": { "description": "Company name for address", "type": ["string", "null"] },
- "Country": { "description": "Country name for address", "type": ["string", "null"] },
- "EmailAddress": {
- "description": "Contact email address for address",
- "type": ["string", "null"]
- },
- "FaxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
- "Key": {
- "description": "Unique ID for individual contact",
- "type": "integer",
- "format": "int32"
- },
- "PhoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
- "PostalCode": { "description": "Postal code for address", "type": ["string", "null"] },
- "StateProvince": {
- "description": "State or province name for address",
- "type": ["string", "null"]
- }
- },
- "required": ["Address1", "City", "Country", "PostalCode", "StateProvince"],
- "examples": [
- {
- "Address1": "106 Tyler Street Suite 175",
- "Address2": "3181 George Vista",
- "Address3": "",
- "City": "West Savannahside",
- "Company": "Matthews, Mclean and Huynh",
- "Country": "USA",
- "EmailAddress": "ghunt@example.com",
- "FaxNumber": "",
- "Key": 0,
- "PhoneNumber": "001-990-377-8647x21426",
- "PostalCode": "02019",
- "StateProvince": "Idaho"
- }
- ]
-}
diff --git a/schema/Event/Order/parts/PaymentMethod.json b/schema/Event/Order/parts/PaymentMethod.json
deleted file mode 100644
index df203a1..0000000
--- a/schema/Event/Order/parts/PaymentMethod.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "PaymentMethod.json",
- "type": "object",
- "properties": {
- "Amount": {
- "description": "Total amount applied to payment method",
- "type": ["number", "null"],
- "format": "double"
- },
- "MethodName": { "description": "Name of payment method", "type": ["string", "null"] }
- },
- "required": ["Amount", "MethodName"]
-}
diff --git a/schema/Event/Order/parts/Product.json b/schema/Event/Order/parts/Product.json
deleted file mode 100644
index c7c0f61..0000000
--- a/schema/Event/Order/parts/Product.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Product.json",
- "description": "Order.LineItems level product details",
- "type": "object",
- "properties": {
- "FulfillmentSystemCustomerId": { "type": ["string", "null"] },
- "FulfillmentSystemId": { "type": ["integer", "null"] },
- "ProductId": {
- "description": "Unique ID for product within Integration Broker",
- "type": ["string", "null"]
- },
- "AssociatedFileName": {
- "description": "Name of file associated to product (if applicable)",
- "type": ["string", "null"]
- },
- "Color": { "description": "Color of product", "type": ["string", "null"] },
- "Comment": {
- "description": "Manually entered comment for product",
- "type": ["string", "null"]
- },
- "Components": {
- "description": "Components array for Order LineItems Products",
- "type": ["array", "null"],
- "items": {"$ref": "Component.json"}
- },
- "OfferLineNumber": { "description": "Unique ID for parent line item", "type": ["string", "null"] },
- "PageCount": {
- "description": "Number of pages in the product (if applicable)",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "ProductDescription": {
- "description": "Description for product within product management system (system where ordered line item products will be managed)",
- "type": ["string", "null"]
- },
- "ProductLineNumber": {
- "description": "Unique ID for product within parent line item",
- "type": ["string", "null"]
- },
- "ProductNumber": {
- "description": "Name for product within product management system (system where ordered line item products will be managed)",
- "type": ["string", "null"]
- },
- "ProductOwner": { "description": "Owner of product", "type": ["string", "null"] },
- "QuantityBackordered": { "type": ["integer", "null"] },
- "QuantityOrdered": {
- "description": "Amount of product ordered within parent line item",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "Size": { "description": "Size of product", "type": ["string", "null"] }
- },
- "required": ["ProductId"],
- "examples": [
- {
- "FulfillmentSystemCustomerId": 16936,
- "FulfillmentSystemId": 1,
- "ProductId": "JGI-BTU-BFUI-5022-9773",
- "AssociatedFileName": "https://example.onetouchpoint.com/some-file.pdf",
- "Color": "Black",
- "Comment": null,
- "Components": [],
- "OfferLineNumber": "1",
- "PageCount": 16,
- "ProductDescription": "ToGo Labels - Double Bacon Jam (Roll of 500)",
- "ProductLineNumber": "7807",
- "ProductNumber": "HPD-PNP-TOGO-2600-0322",
- "ProductOwner": "Davis-Avila",
- "QuantityBackordered": 1000,
- "QuantityOrdered": 1,
- "Size": "Medium"
- }
- ]
-}
diff --git a/schema/Event/Order/parts/ShipTo.json b/schema/Event/Order/parts/ShipTo.json
deleted file mode 100644
index 30b47f9..0000000
--- a/schema/Event/Order/parts/ShipTo.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipTo.json",
- "description": "Order level ship to details",
- "type": "object",
- "properties": {
- "AffiliateId": {
- "description": "Unique ID for affiliate within source system (system where order was originally placed)",
- "type": ["string", "null"]
- },
- "OmsShippingMethodId": { "type": ["string", "null"] },
- "ReferenceId": { "type": ["string", "null"] },
- "SourceSystemShippingMethodId": {
- "description": "Unique ID for shipping method within source system (system where order was originally placed)",
- "type": ["string", "null"]
- },
- "AffiliateName": {
- "description": "Name for affiliate within source system (system where order was originally placed)",
- "type": ["string", "null"]
- },
- "Comment": {
- "description": "Manually entered comment for individual Order.ShipTos",
- "type": ["string", "null"]
- },
- "CostCenter": { "type": ["string", "null"] },
- "CreditCardFee": {
- "description": "Credit card transaction fee applied for individual Order.ShipTos",
- "type": ["number", "null"],
- "format": "double"
- },
- "DueDate": {
- "description": "Datetime of expected due date for individual Order.ShipTos",
- "type": ["string", "null"]
- },
- "IsDeleted": {
- "description": "Flag to indicate the property has been removed from the line item.",
- "type": ["boolean", "null"]
- },
- "Key": {
- "description": "Unique ID for individual ship to",
- "type": "integer",
- "format": "int32"
- },
- "OrderFee": {
- "description": "Fee applied to Order",
- "type": ["number", "null"],
- "format": "double"
- },
- "PONumber": {
- "description": "Purchase order number for individual Order.ShipTos",
- "type": ["string", "null"]
- },
- "PaymentMethods": {
- "description": "Order.ShipTos level payment method details",
- "type": ["array", "null"],
- "items": {"$ref": "PaymentMethod.json"}
- },
- "PickPackHandlingFee": {
- "description": "Pick & pack handling fees for individual Order.ShipTos",
- "type": ["number", "null"],
- "format": "double"
- },
- "RushOrder": {
- "description": "True/false indicator if individual Order.ShipTos is expedited",
- "type": ["boolean", "null"]
- },
- "ShipToAddress": {"$ref": "ShipToAddress.json"},
- "ShippingCarrier": { "type": ["string", "null"] },
- "ShippingCost": {
- "description": "Shipping cost for individual Order.ShipTos",
- "type": ["number", "null"],
- "format": "double"
- },
- "ShippingHandlingTax": {
- "description": "Shipping & handling taxes for individual Order.ShipTos",
- "type": ["number", "null"],
- "format": "double"
- },
- "ShippingService": { "type": ["string", "null"] },
- "Status": { "type": ["string", "null"] },
- "TotalOrderFee": {
- "description": "Sum of OrderFee",
- "type": ["number", "null"],
- "format": "double"
- }
- },
- "required": [
- "Key", "ShipToAddress", "ShippingCost", "ShippingHandlingTax",
- "SourceSystemShippingMethodId"
- ],
- "examples": [
- {
- "AffiliateId": null,
- "OmsShippingMethodId": null,
- "ReferenceId": "BQJ efg Deebjplybqjtgr ",
- "SourceSystemShippingMethodId": "vos_vrzuqz",
- "AffiliateName": null,
- "CostCenter": "6342091000- IN Medicaid Case Mgmt",
- "CreditCardFee": null,
- "DueDate": null,
- "Key": 0,
- "OrderFee": 5,
- "PickPackHandlingFee": 21,
- "ShippingCarrier": null,
- "ShippingCost": 20.22,
- "ShippingHandlingTax": 2.15,
- "ShippingService": "Ground",
- "TotalOrderFee": 5
- }
- ]
-}
diff --git a/schema/Event/Order/parts/ShipToAddress.json b/schema/Event/Order/parts/ShipToAddress.json
deleted file mode 100644
index f7be28b..0000000
--- a/schema/Event/Order/parts/ShipToAddress.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "$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", "null"] },
- "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", "null"] },
- "Company": { "description": "Company name for address", "type": ["string", "null"] },
- "Country": { "description": "Country name for address", "type": ["string", "null"] },
- "EmailAddress": {
- "description": "Contact email address for address",
- "type": ["string", "null"]
- },
- "FaxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
- "Key": {
- "description": "Unique ID for individual contact",
- "type": "integer",
- "format": "int32"
- },
- "PhoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
- "PostalCode": { "description": "Postal code for address", "type": ["string", "null"] },
- "StateProvince": {
- "description": "State or province name for address",
- "type": ["string", "null"]
- }
- },
- "required": ["Address1", "City", "Country", "PostalCode", "StateProvince"],
- "examples": [
- {
- "Address1": "106 Tyler Street Suite 175",
- "Address2": "3181 George Vista",
- "Address3": "",
- "City": "West Savannahside",
- "Company": "Matthews, Mclean and Huynh",
- "Country": "USA",
- "EmailAddress": "ghunt@example.com",
- "FaxNumber": "",
- "Key": 0,
- "PhoneNumber": "001-990-377-8647x21426",
- "PostalCode": "02019",
- "StateProvince": "Idaho"
- }
- ]
-}