Schema Changes - 2025-11-20
This document contains the changes to the schema files compared to the main branch.
Changes
diff --git a/schema/Api/CustomerBroker/CreateCustomerRequest.json b/schema/Api/CustomerBroker/CreateCustomerRequest.json
index 432f19e..74c1bab 100644
--- a/schema/Api/CustomerBroker/CreateCustomerRequest.json
+++ b/schema/Api/CustomerBroker/CreateCustomerRequest.json
@@ -7,7 +7,7 @@
"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",
+ "type": ["string", "null"],
"minLength": 1
},
"xmlSenderId": {
@@ -24,17 +24,20 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "id": {"description": "Required. Billing entity identifier.", "type": "string"},
+ "id": {
+ "description": "Required. Billing entity identifier.",
+ "type": ["string", "null"]
+ },
"xmlSenderId": { "description": "Optional. XmlSenderId override.", "type": ["string", "null"] },
"addresses": {
"description": "Required. Child addresses. Must be an empty array [] for create operations (business rule override).",
- "type": "array",
+ "type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"xmlSenderId": { "description": "Optional. XmlSenderId." , "type": ["string", "null"] },
- "code" : { "description": "Required. Code for the address.", "type": "string" }
+ "code" : { "description": "Required. Code for the address.", "type": ["string", "null"] }
},
"required": ["code"]
},
@@ -48,34 +51,41 @@
"required": ["id", "isDefaultForCustomer", "addresses"]
}
},
- "brokerScopes": { "type": "array", "items": {"type": "string"} },
+ "brokerScopes": {
+ "description": "Optional. List of broker scopes.",
+ "type": ["array", "null"],
+ "items": {"type": "string"}
+ },
"contactAddress": {
- "type": ["object", "null"],
+ "type": "object",
"additionalProperties": false,
"properties": {
"address1": {
"description": "Required if contactAddress is present. Address line 1. Must not be empty.",
- "type": "string"
+ "type": ["string", "null"]
},
"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"
+ "type": ["string", "null"]
},
"company": { "description": "Optional. Company name.", "type": ["string", "null"] },
"country": {
"description": "Required if contactAddress is present. Country. Must not be empty.",
- "type": "string"
+ "type": ["string", "null"]
},
"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"
+ "type": ["string", "null"]
},
- "stateProvince": {"description": "Required. State or province.", "type": "string"}
+ "stateProvince": {
+ "description": "Required if contactAddress is present. State or province. Must not be empty.",
+ "type": ["string", "null"]
+ }
},
"required": ["address1", "city", "country", "postalCode", "stateProvince"]
},
@@ -88,6 +98,7 @@
"description": "Optional. Creation date/time in UTC. Must not be in the future if provided.",
"type": ["string", "null"]
},
+ "directMailProvider": { "description": "Optional. Direct mail provider.", "type": ["string", "null"] },
"doValidateOrderPrice": {
"description": "Required. Indicates whether order price validation is performed on order placement for the Sales Order.",
"type": "boolean"
@@ -101,26 +112,45 @@
"properties": {
"emailNotificationTemplateId": {
"description": "Required. Email notification template identifier.",
- "type": "string"
+ "type": ["string", "null"]
},
"emailAddresses": {
"description": "Required. Array of email addresses.",
- "type": "array",
+ "type": ["array", "null"],
"items": {"type": "string"}
}
},
"required": ["emailNotificationTemplateId", "emailAddresses"]
}
},
+ "emailServiceProvider": {
+ "description": "Optional. Email service provider.",
+ "type": ["string", "null"]
+ },
+ "inheritParentOffers": {
+ "description": "Optional. Indicates whether the customer inherits offers from parent customer.",
+ "type": "boolean"
+ },
"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"] },
+ "mailingFileLocation": {
+ "description": "Optional. Mailing file location.",
+ "type": ["string", "null"]
+ },
+ "name": {
+ "description": "Required. Customer name.",
+ "type": ["string", "null"],
+ "minLength": 1
+ },
+ "offerRevisionDelimiter": {
+ "description": "Optional. Customer-based offer number revision delimiter.",
+ "type": ["string", "null"]
+ },
"parent": {
- "type": ["object", "null"],
+ "type": "object",
"additionalProperties": false,
"properties": {
"id": {
@@ -131,18 +161,15 @@
},
"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"],
@@ -152,15 +179,15 @@
"properties": {
"ratesProviderShipMethodId": {
"description": "Required. Rates provider ship method identifier.",
- "type": "string"
+ "type": ["string", "null"]
},
"sourceSystemShipMethodId": {
"description": "Required. Source system ship method identifier.",
- "type": "string"
+ "type": ["string", "null"]
},
"fulfillmentSystemShipMethods": {
"description": "Required. Fulfillment system ship methods.",
- "type": "array",
+ "type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
@@ -168,11 +195,11 @@
"fulfillmentSystemId": {
"description": "Required. Fulfillment system identifier.",
"type": "integer",
- "format": "int64"
+ "format": "int32"
},
"fulfillmentSystemShipMethodId": {
"description": "Required. Fulfillment system ship method identifier.",
- "type": "string"
+ "type": ["string", "null"]
}
},
"required": ["fulfillmentSystemId", "fulfillmentSystemShipMethodId"]
@@ -196,18 +223,16 @@
"id": {
"description": "Required. Source system identifier.",
"type": "integer",
- "format": "int64"
+ "format": "int32"
},
"sourceSystemCustomerId": {
"description": "Required. Source system customer identifier.",
- "type": "string"
+ "type": ["string", "null"]
}
},
"required": ["id", "sourceSystemCustomerId"]
}
- },
- "subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
- "website": { "description": "Optional. Website URL.", "type": ["string", "null"] }
+ }
},
"required": ["id", "name", "doValidateOrderPrice", "billToCodeRequiredOnOrder"]
}
diff --git a/schema/Api/CustomerBroker/GetBillingEntitiesResponse.json b/schema/Api/CustomerBroker/GetBillingEntitiesResponse.json
index 60854ed..49e60fb 100644
--- a/schema/Api/CustomerBroker/GetBillingEntitiesResponse.json
+++ b/schema/Api/CustomerBroker/GetBillingEntitiesResponse.json
@@ -11,10 +11,7 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "id": {
- "description": "Unique billing entity identifier.",
- "type": ["string", "null"]
- },
+ "id": {"description": "Required. Unique billing entity identifier.", "type": "string"},
"defaultBillToAddress": {
"description": "Optional. Default billing address for this entity.",
"type": ["object", "null"],
@@ -29,12 +26,12 @@
"country" : { "description": "Required. Country." , "type": "string" },
"emailAddress" : { "description": "Optional. Email address." , "type": ["string", "null"] },
"faxNumber" : { "description": "Optional. Fax number." , "type": ["string", "null"] },
- "name" : { "description": "Required. Address name." , "type": "string" },
+ "name" : { "description": "Optional. Address name." , "type": ["string", "null"] },
"phoneNumber" : { "description": "Optional. Phone number." , "type": ["string", "null"] },
"postalCode" : { "description": "Required. Postal code." , "type": "string" },
"stateProvince": { "description": "Required. State or province." , "type": "string" }
},
- "required": ["code", "name", "address1", "city", "country", "stateProvince", "postalCode"]
+ "required": ["code", "address1", "city", "country", "stateProvince", "postalCode"]
},
"defaultShipToAddress": {
"description": "Optional. Default shipping address for this entity.",
@@ -50,14 +47,14 @@
"country" : { "description": "Required. Country." , "type": "string" },
"emailAddress" : { "description": "Optional. Email address." , "type": ["string", "null"] },
"faxNumber" : { "description": "Optional. Fax number." , "type": ["string", "null"] },
- "name" : { "description": "Required. Address name." , "type": "string" },
+ "name" : { "description": "Optional. Address name." , "type": ["string", "null"] },
"phoneNumber" : { "description": "Optional. Phone number." , "type": ["string", "null"] },
"postalCode" : { "description": "Required. Postal code." , "type": "string" },
"stateProvince": { "description": "Required. State or province." , "type": "string" }
},
- "required": ["code", "name", "address1", "city", "country", "stateProvince", "postalCode"]
+ "required": ["code", "address1", "city", "country", "stateProvince", "postalCode"]
},
- "name": { "description": "Billing entity name.", "type": ["string", "null"] }
+ "name": {"description": "Required. Billing entity name.", "type": "string"}
},
"required": ["id", "name"]
}
diff --git a/schema/Api/CustomerBroker/GetBillingEntityDetailsResponse.json b/schema/Api/CustomerBroker/GetBillingEntityDetailsResponse.json
index 3b27eb2..fdf7bac 100644
--- a/schema/Api/CustomerBroker/GetBillingEntityDetailsResponse.json
+++ b/schema/Api/CustomerBroker/GetBillingEntityDetailsResponse.json
@@ -10,54 +10,55 @@
"additionalProperties": false,
"properties": {
"id": {
- "description": "Unique billing entity identifier.",
+ "description": "Optional. Unique billing entity identifier.",
"type": ["string", "null"]
},
- "defaultBillToAddress": {
- "description": "Optional. Default billing address for this entity.",
- "type": ["object", "null"],
- "additionalProperties": false,
- "properties": {
- "address1" : { "description": "Required. Address line 1." , "type": "string" },
- "address2" : { "description": "Optional. Address line 2." , "type": ["string", "null"] },
- "address3" : { "description": "Optional. Address line 3." , "type": ["string", "null"] },
- "city" : { "description": "Required. City." , "type": "string" },
- "code" : { "description": "Required. Code for the address.", "type": "string" },
- "company" : { "description": "Optional. Company name." , "type": ["string", "null"] },
- "country" : { "description": "Required. Country." , "type": "string" },
- "emailAddress" : { "description": "Optional. Email address." , "type": ["string", "null"] },
- "faxNumber" : { "description": "Optional. Fax number." , "type": ["string", "null"] },
- "name" : { "description": "Required. Address name." , "type": "string" },
- "phoneNumber" : { "description": "Optional. Phone number." , "type": ["string", "null"] },
- "postalCode" : { "description": "Required. Postal code." , "type": "string" },
- "stateProvince": { "description": "Required. State or province." , "type": "string" }
- },
- "required": ["code", "name", "address1", "city", "country", "stateProvince", "postalCode"]
+ "parentId": {
+ "description": "Optional. Parent billing entity identifier.",
+ "type": ["string", "null"]
},
- "defaultShipToAddress": {
- "description": "Optional. Default shipping address for this entity.",
- "type": ["object", "null"],
- "additionalProperties": false,
- "properties": {
- "address1" : { "description": "Required. Address line 1." , "type": "string" },
- "address2" : { "description": "Optional. Address line 2." , "type": ["string", "null"] },
- "address3" : { "description": "Optional. Address line 3." , "type": ["string", "null"] },
- "city" : { "description": "Required. City." , "type": "string" },
- "code" : { "description": "Required. Code for the address.", "type": "string" },
- "company" : { "description": "Optional. Company name." , "type": ["string", "null"] },
- "country" : { "description": "Required. Country." , "type": "string" },
- "emailAddress" : { "description": "Optional. Email address." , "type": ["string", "null"] },
- "faxNumber" : { "description": "Optional. Fax number." , "type": ["string", "null"] },
- "name" : { "description": "Required. Address name." , "type": "string" },
- "phoneNumber" : { "description": "Optional. Phone number." , "type": ["string", "null"] },
- "postalCode" : { "description": "Required. Postal code." , "type": "string" },
- "stateProvince": { "description": "Required. State or province." , "type": "string" }
- },
- "required": ["code", "name", "address1", "city", "country", "stateProvince", "postalCode"]
+ "addresses": {
+ "description": "Optional. Array of addresses associated with this billing entity.",
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "address1" : { "description": "Optional. Address line 1." , "type": ["string", "null"] },
+ "address2" : { "description": "Optional. Address line 2." , "type": ["string", "null"] },
+ "address3" : { "description": "Optional. Address line 3." , "type": ["string", "null"] },
+ "city" : { "description": "Optional. City." , "type": ["string", "null"] },
+ "code" : { "description": "Optional. Code for the address.", "type": ["string", "null"] },
+ "company" : { "description": "Optional. Company name." , "type": ["string", "null"] },
+ "country" : { "description": "Optional. Country." , "type": ["string", "null"] },
+ "emailAddress" : { "description": "Optional. Email address." , "type": ["string", "null"] },
+ "faxNumber" : { "description": "Optional. Fax number." , "type": ["string", "null"] },
+ "name" : { "description": "Optional. Address name." , "type": ["string", "null"] },
+ "phoneNumber" : { "description": "Optional. Phone number." , "type": ["string", "null"] },
+ "postalCode" : { "description": "Optional. Postal code." , "type": ["string", "null"] },
+ "stateProvince": { "description": "Optional. State or province." , "type": ["string", "null"] }
+ }
+ }
+ },
+ "customerSince": {
+ "description": "Required. Date when the entity became a customer.",
+ "type": "string"
+ },
+ "defaultBillToAddressCode": {
+ "description": "Optional. Code for the default billing address.",
+ "type": ["string", "null"]
},
- "name": { "description": "Billing entity name.", "type": ["string", "null"] }
+ "defaultShipToAddressCode": {
+ "description": "Optional. Code for the default shipping address.",
+ "type": ["string", "null"]
+ },
+ "name": { "description": "Optional. Billing entity name.", "type": ["string", "null"] },
+ "status": {
+ "description": "Optional. Status of the billing entity.",
+ "type": ["string", "null"]
+ }
},
- "required": ["id", "name"]
+ "required": ["customerSince"]
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
@@ -68,25 +69,44 @@
{
"data": {
"id": "BE-001",
- "defaultBillToAddress": {
- "address1": "123 Main St",
- "city": "Springfield",
- "code": "MAIN",
- "country": "US",
- "name": "Main Office",
- "postalCode": "12345",
- "stateProvince": "IL"
- },
- "defaultShipToAddress": {
- "address1": "456 Ship St",
- "city": "Springfield",
- "code": "SHIP",
- "country": "US",
- "name": "Shipping Warehouse",
- "postalCode": "12346",
- "stateProvince": "IL"
- },
- "name": "Main Billing Entity"
+ "parentId": null,
+ "addresses": [
+ {
+ "address1": "123 Main St",
+ "address2": "Suite 100",
+ "address3": null,
+ "city": "Springfield",
+ "code": "MAIN",
+ "company": "Acme Corporation",
+ "country": "US",
+ "emailAddress": "billing@acme.com",
+ "faxNumber": null,
+ "name": "Main Office",
+ "phoneNumber": "555-1234",
+ "postalCode": "12345",
+ "stateProvince": "IL"
+ },
+ {
+ "address1": "456 Ship St",
+ "address2": null,
+ "address3": null,
+ "city": "Springfield",
+ "code": "SHIP",
+ "company": null,
+ "country": "US",
+ "emailAddress": null,
+ "faxNumber": null,
+ "name": "Shipping Warehouse",
+ "phoneNumber": "555-5678",
+ "postalCode": "12346",
+ "stateProvince": "IL"
+ }
+ ],
+ "customerSince": "2020-01-15T00:00:00Z",
+ "defaultBillToAddressCode": "MAIN",
+ "defaultShipToAddressCode": "SHIP",
+ "name": "Main Billing Entity",
+ "status": "Active"
},
"failureMessages": [],
"informationalMessages": [],
diff --git a/schema/Api/CustomerBroker/GetCustomerResponse.json b/schema/Api/CustomerBroker/GetCustomerResponse.json
index a43fa53..01cf569 100644
--- a/schema/Api/CustomerBroker/GetCustomerResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomerResponse.json
@@ -10,9 +10,8 @@
"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", "null"],
- "minLength": 1
+ "description": "Optional. Unique customer identifier.",
+ "type": ["string", "null"]
},
"xmlSenderId": {
"description": "Optional. XML sender identifier.",
@@ -28,23 +27,26 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "id": {"description": "Required. Billing entity identifier.", "type": "string"},
+ "id": {
+ "description": "Required. Billing entity identifier.",
+ "type": ["string", "null"]
+ },
"xmlSenderId": { "description": "Optional. XmlSenderId override.", "type": ["string", "null"] },
"addresses": {
"description": "Required. Addresses linked to this billing entity.",
- "type": "array",
+ "type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"xmlSenderId": { "description": "Optional. XmlSenderId.", "type": ["string", "null"] },
- "address1": {"description": "Required. Address line 1.", "type": "string"},
+ "address1": { "description": "Required. Address line 1.", "type": ["string", "null"] },
"address2": { "description": "Optional. Address line 2.", "type": ["string", "null"] },
"address3": { "description": "Optional. Address line 3.", "type": ["string", "null"] },
- "city": {"description": "Required. City.", "type": "string"},
- "code": {"description": "Required. Code for the address.", "type": "string"},
+ "city": { "description": "Required. City.", "type": ["string", "null"] },
+ "code": { "description": "Required. Code for the address.", "type": ["string", "null"] },
"company": { "description": "Optional. Company name.", "type": ["string", "null"] },
- "country": {"description": "Required. Country.", "type": "string"},
+ "country": { "description": "Required. Country.", "type": ["string", "null"] },
"emailAddress": { "description": "Optional. Email address.", "type": ["string", "null"] },
"faxNumber": { "description": "Optional. Fax number.", "type": ["string", "null"] },
"isBillToDefault": {
@@ -55,10 +57,10 @@
"description": "Required. Indicates whether this is the default ship-to address.",
"type": "boolean"
},
- "name": {"description": "Required. Address name.", "type": "string"},
+ "name": { "description": "Required. Address name.", "type": ["string", "null"] },
"phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
- "postalCode": {"description": "Required. Postal code.", "type": "string"},
- "stateProvince": {"description": "Required. State or province.", "type": "string"}
+ "postalCode": { "description": "Required. Postal code.", "type": ["string", "null"] },
+ "stateProvince": { "description": "Required. State or province.", "type": ["string", "null"] }
},
"required": [
"code", "name", "address1", "city", "country", "stateProvince", "postalCode",
@@ -74,34 +76,41 @@
"required": ["id", "isDefaultForCustomer", "addresses"]
}
},
- "brokerScopes": { "type": "array", "items": {"type": "string"} },
+ "brokerScopes": {
+ "description": "Optional. List of broker scopes.",
+ "type": ["array", "null"],
+ "items": {"type": "string"}
+ },
"contactAddress": {
- "type": ["object", "null"],
+ "type": "object",
"additionalProperties": false,
"properties": {
"address1": {
"description": "Required if contactAddress is present. Address line 1. Must not be empty.",
- "type": "string"
+ "type": ["string", "null"]
},
"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"
+ "type": ["string", "null"]
},
"company": { "description": "Optional. Company name.", "type": ["string", "null"] },
"country": {
"description": "Required if contactAddress is present. Country. Must not be empty.",
- "type": "string"
+ "type": ["string", "null"]
},
"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"
+ "type": ["string", "null"]
},
- "stateProvince": {"description": "Required. State or province.", "type": "string"}
+ "stateProvince": {
+ "description": "Required if contactAddress is present. State or province. Must not be empty.",
+ "type": ["string", "null"]
+ }
},
"required": ["address1", "city", "country", "postalCode", "stateProvince"]
},
@@ -110,6 +119,7 @@
"type": ["string", "null"],
"format": "email"
},
+ "directMailProvider": { "description": "Optional. Direct mail provider.", "type": ["string", "null"] },
"doValidateOrderPrice": {
"description": "Required. Indicates whether order price validation is performed on order placement for the Sales Order.",
"type": "boolean"
@@ -123,26 +133,41 @@
"properties": {
"emailNotificationTemplateId": {
"description": "Required. Email notification template identifier.",
- "type": "string"
+ "type": ["string", "null"]
},
"emailAddresses": {
"description": "Required. Array of email addresses.",
- "type": "array",
+ "type": ["array", "null"],
"items": {"type": "string"}
}
},
"required": ["emailNotificationTemplateId", "emailAddresses"]
}
},
+ "emailServiceProvider": {
+ "description": "Optional. Email service provider.",
+ "type": ["string", "null"]
+ },
+ "inheritParentOffers": {
+ "description": "Optional. Indicates whether the customer inherits offers from parent customer.",
+ "type": "boolean"
+ },
"invoiceEmailAddress": {
"description": "Optional. Invoice email address. Must be a valid email if provided.",
"type": ["string", "null"],
"format": "email"
},
- "name": { "type": ["string", "null"] },
- "offerRevisionDelimiter": { "type": ["string", "null"] },
+ "mailingFileLocation": {
+ "description": "Optional. Mailing file location.",
+ "type": ["string", "null"]
+ },
+ "name": { "description": "Optional. Customer name.", "type": ["string", "null"] },
+ "offerRevisionDelimiter": {
+ "description": "Optional. Customer-based offer number revision delimiter.",
+ "type": ["string", "null"]
+ },
"parent": {
- "type": ["object", "null"],
+ "type": "object",
"additionalProperties": false,
"properties": {
"id": {
@@ -153,18 +178,15 @@
},
"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"],
@@ -174,15 +196,15 @@
"properties": {
"ratesProviderShipMethodId": {
"description": "Required. Rates provider ship method identifier.",
- "type": "string"
+ "type": ["string", "null"]
},
"sourceSystemShipMethodId": {
"description": "Required. Source system ship method identifier.",
- "type": "string"
+ "type": ["string", "null"]
},
"fulfillmentSystemShipMethods": {
"description": "Required. Fulfillment system ship methods.",
- "type": "array",
+ "type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
@@ -190,13 +212,16 @@
"fulfillmentSystemId": {
"description": "Required. Fulfillment system identifier.",
"type": "integer",
- "format": "int64"
+ "format": "int32"
},
"fulfillmentSystemShipMethodId": {
"description": "Required. Fulfillment system ship method identifier.",
- "type": "string"
+ "type": ["string", "null"]
},
- "fulfillmentSystemName": {"description": "Required. Fulfillment system name.", "type": "string"}
+ "fulfillmentSystemName": {
+ "description": "Required. Fulfillment system name.",
+ "type": ["string", "null"]
+ }
},
"required": [
"fulfillmentSystemId", "fulfillmentSystemName", "fulfillmentSystemShipMethodId"
@@ -225,7 +250,7 @@
"id": {
"description": "Required. Source system identifier.",
"type": "integer",
- "format": "int64"
+ "format": "int32"
},
"sourceSystemCustomerId": {
"description": "Optional. Source system customer identifier.",
@@ -239,9 +264,7 @@
},
"required": ["id"]
}
- },
- "subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
- "website": { "description": "Optional. Website URL.", "type": ["string", "null"] }
+ }
}
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
diff --git a/schema/Api/CustomerBroker/InternalGetOfferCatalogFamilyParameters.json b/schema/Api/CustomerBroker/InternalGetOfferCatalogFamilyParameters.json
new file mode 100644
index 0000000..df3a87a
--- /dev/null
+++ b/schema/Api/CustomerBroker/InternalGetOfferCatalogFamilyParameters.json
@@ -0,0 +1,9 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "CustomerId": {
+ "in": "path",
+ "name": "customerId",
+ "schema": {"type": "string"},
+ "required": true
+ }
+}
diff --git a/schema/Api/CustomerBroker/InternalGetOfferCatalogFamilyResponse.json b/schema/Api/CustomerBroker/InternalGetOfferCatalogFamilyResponse.json
new file mode 100644
index 0000000..3fc569e
--- /dev/null
+++ b/schema/Api/CustomerBroker/InternalGetOfferCatalogFamilyResponse.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "InternalGetOfferCatalogFamilyResponse.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": {
+ "ancestors": {
+ "description": "Required. Array of customer IDs representing ancestor customers in the offer catalog family tree.",
+ "type": "array",
+ "items": {"type": "string"}
+ },
+ "descendants": {
+ "description": "Required. Array of customer IDs representing descendant customers in the offer catalog family tree.",
+ "type": "array",
+ "items": {"type": "string"}
+ }
+ },
+ "required": ["ancestors", "descendants"]
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"],
+ "examples": [
+ {
+ "data": {
+ "ancestors" : [ "PARENT-001", "GRANDPARENT-001" ],
+ "descendants": [ "CHILD-001" , "CHILD-002" ]
+ },
+ "failureMessages": [],
+ "informationalMessages": [],
+ "operationWasSuccessful": true
+ },
+ {
+ "data": {"ancestors": [], "descendants": []},
+ "failureMessages": [],
+ "informationalMessages": [],
+ "operationWasSuccessful": true
+ },
+ {
+ "data": null,
+ "failureMessages": ["Customer not found"],
+ "informationalMessages": [],
+ "operationWasSuccessful": false
+ }
+ ]
+}
diff --git a/schema/Api/CustomerBroker/UpdateCustomerRequest.json b/schema/Api/CustomerBroker/UpdateCustomerRequest.json
index 3a78269..203735a 100644
--- a/schema/Api/CustomerBroker/UpdateCustomerRequest.json
+++ b/schema/Api/CustomerBroker/UpdateCustomerRequest.json
@@ -7,7 +7,7 @@
"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",
+ "type": ["string", "null"],
"minLength": 1
},
"xmlSenderId": {
@@ -24,17 +24,20 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "id": {"description": "Required. Billing entity identifier.", "type": "string"},
+ "id": {
+ "description": "Required. Billing entity identifier.",
+ "type": ["string", "null"]
+ },
"xmlSenderId": { "description": "Optional. XmlSenderId override.", "type": ["string", "null"] },
"addresses": {
"description": "Required. Addresses linked to this billing entity.",
- "type": "array",
+ "type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"xmlSenderId": { "description": "Optional. XmlSenderId." , "type": ["string", "null"] },
- "code" : { "description": "Required. Code for the address.", "type": "string" }
+ "code" : { "description": "Required. Code for the address.", "type": ["string", "null"] }
},
"required": ["code"]
}
@@ -47,34 +50,41 @@
"required": ["id", "isDefaultForCustomer", "addresses"]
}
},
- "brokerScopes": { "type": "array", "items": {"type": "string"} },
+ "brokerScopes": {
+ "description": "Optional. List of broker scopes.",
+ "type": ["array", "null"],
+ "items": {"type": "string"}
+ },
"contactAddress": {
- "type": ["object", "null"],
+ "type": "object",
"additionalProperties": false,
"properties": {
"address1": {
"description": "Required if contactAddress is present. Address line 1. Must not be empty.",
- "type": "string"
+ "type": ["string", "null"]
},
"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"
+ "type": ["string", "null"]
},
"company": { "description": "Optional. Company name.", "type": ["string", "null"] },
"country": {
"description": "Required if contactAddress is present. Country. Must not be empty.",
- "type": "string"
+ "type": ["string", "null"]
},
"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"
+ "type": ["string", "null"]
},
- "stateProvince": {"description": "Required. State or province.", "type": "string"}
+ "stateProvince": {
+ "description": "Required if contactAddress is present. State or province. Must not be empty.",
+ "type": ["string", "null"]
+ }
},
"required": ["address1", "city", "country", "postalCode", "stateProvince"]
},
@@ -83,6 +93,7 @@
"type": ["string", "null"],
"format": "email"
},
+ "directMailProvider": { "description": "Optional. Direct mail provider.", "type": ["string", "null"] },
"doValidateOrderPrice": {
"description": "Required. Indicates whether order price validation is performed on order placement for the Sales Order.",
"type": "boolean"
@@ -96,26 +107,45 @@
"properties": {
"emailNotificationTemplateId": {
"description": "Required. Email notification template identifier.",
- "type": "string"
+ "type": ["string", "null"]
},
"emailAddresses": {
"description": "Required. Array of email addresses.",
- "type": "array",
+ "type": ["array", "null"],
"items": {"type": "string"}
}
},
"required": ["emailNotificationTemplateId", "emailAddresses"]
}
},
+ "emailServiceProvider": {
+ "description": "Optional. Email service provider.",
+ "type": ["string", "null"]
+ },
+ "inheritParentOffers": {
+ "description": "Optional. Indicates whether the customer inherits offers from parent customer.",
+ "type": "boolean"
+ },
"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"] },
+ "mailingFileLocation": {
+ "description": "Optional. Mailing file location.",
+ "type": ["string", "null"]
+ },
+ "name": {
+ "description": "Required. Customer name.",
+ "type": ["string", "null"],
+ "minLength": 1
+ },
+ "offerRevisionDelimiter": {
+ "description": "Optional. Customer-based offer number revision delimiter.",
+ "type": ["string", "null"]
+ },
"parent": {
- "type": ["object", "null"],
+ "type": "object",
"additionalProperties": false,
"properties": {
"id": {
@@ -126,18 +156,15 @@
},
"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"],
@@ -147,15 +174,15 @@
"properties": {
"ratesProviderShipMethodId": {
"description": "Required. Rates provider ship method identifier.",
- "type": "string"
+ "type": ["string", "null"]
},
"sourceSystemShipMethodId": {
"description": "Required. Source system ship method identifier.",
- "type": "string"
+ "type": ["string", "null"]
},
"fulfillmentSystemShipMethods": {
"description": "Required. Fulfillment system ship methods.",
- "type": "array",
+ "type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
@@ -163,11 +190,11 @@
"fulfillmentSystemId": {
"description": "Required. Fulfillment system identifier.",
"type": "integer",
- "format": "int64"
+ "format": "int32"
},
"fulfillmentSystemShipMethodId": {
"description": "Required. Fulfillment system ship method identifier.",
- "type": "string"
+ "type": ["string", "null"]
}
},
"required": ["fulfillmentSystemId", "fulfillmentSystemShipMethodId"]
@@ -191,22 +218,20 @@
"id": {
"description": "Required. Source system identifier.",
"type": "integer",
- "format": "int64"
+ "format": "int32"
},
"sourceSystemCustomerId": {
"description": "Required. Source system customer identifier.",
- "type": "string"
+ "type": ["string", "null"]
}
},
"required": ["id", "sourceSystemCustomerId"]
}
},
- "subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
"updateDateTimeUtc": {
"description": "Optional. Update date/time in UTC. Must not be in the future if provided.",
"type": ["string", "null"]
- },
- "website": { "description": "Optional. Website URL.", "type": ["string", "null"] }
+ }
},
"required": ["id", "name", "doValidateOrderPrice", "billToCodeRequiredOnOrder"]
}
diff --git a/schema/Api/OfferBroker/CreateCategoryRequest.json b/schema/Api/OfferBroker/CreateCategoryRequest.json
index 7e5481a..fd3824f 100644
--- a/schema/Api/OfferBroker/CreateCategoryRequest.json
+++ b/schema/Api/OfferBroker/CreateCategoryRequest.json
@@ -6,7 +6,7 @@
"properties": {
"parentId" : { "type": ["string", "null"] },
"lastUpdatedDateTimeUtc": { "type": ["string", "null"] },
- "name" : { "type": "string" }
+ "name" : { "type": ["string", "null"] }
},
"required": ["name"]
}
diff --git a/schema/Api/OfferBroker/CreateOfferRequest.json b/schema/Api/OfferBroker/CreateOfferRequest.json
index 7712be2..33820b4 100644
--- a/schema/Api/OfferBroker/CreateOfferRequest.json
+++ b/schema/Api/OfferBroker/CreateOfferRequest.json
@@ -27,13 +27,13 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "type": {"type": "string", "default": "string"},
+ "type": { "type": ["string", "null"], "default": "string" },
"hint": { "type": ["string", "null"] },
"label": { "type": ["string", "null"] },
- "name": {"type": "string"},
+ "name": { "type": ["string", "null"] },
"value": { "type": ["string", "null"] }
},
- "required": ["name"]
+ "required": []
}
},
"availableEndDate": {
@@ -63,12 +63,12 @@
},
"number": {
"description": "Required. Offer number. Must not be empty.",
- "type": "string",
+ "type": ["string", "null"],
"minLength": 1
},
"offerType": {
"description": "Required. Must be one of: Direct Mail, Download, Drop Ship, Email, Omnichannel, Product List, VDM.",
- "type": "string",
+ "type": ["string", "null"],
"enum": [
"Direct Mail", "Download", "Drop Ship", "Email", "Omnichannel", "Product List",
"VDM"
@@ -76,7 +76,7 @@
"minLength": 1
},
"omniChannel": {
- "type": ["object", "null"],
+ "type": "object",
"additionalProperties": false,
"properties": {
"offers": {
@@ -102,7 +102,7 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "name": {"type": "string"},
+ "name": { "type": ["string", "null"] },
"price": { "type": ["number", "null"], "format": "double" },
"priceTiers": {
"type": ["array", "null"],
@@ -126,7 +126,7 @@
},
"price": {"type": "number", "format": "double"}
},
- "required": ["price"]
+ "required": []
}
}
}
@@ -146,13 +146,13 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "productId" : { "type": "string" },
+ "productId" : { "type": ["string", "null"] },
"associatedFileName" : { "type": ["string", "null"] },
"pageCount" : { "type": ["integer", "null"], "format": "int32" },
"productQuantityInOffer": { "type": "integer" , "format": "int32" },
"surcharge" : { "type": ["number", "null"] , "format": "double" }
},
- "required": ["productId", "productQuantityInOffer"]
+ "required": ["productQuantityInOffer"]
},
"minItems": 1
}
diff --git a/schema/Api/OfferBroker/DeleteCategoryRequest.json b/schema/Api/OfferBroker/DeleteCategoryRequest.json
index aa3f059..cb035c9 100644
--- a/schema/Api/OfferBroker/DeleteCategoryRequest.json
+++ b/schema/Api/OfferBroker/DeleteCategoryRequest.json
@@ -3,6 +3,6 @@
"$id": "DeleteCategoryRequest.json",
"type": "object",
"additionalProperties": false,
- "properties": { "id": {"type": "string"} },
+ "properties": { "id": { "type": ["string", "null"] } },
"required": ["id"]
}
diff --git a/schema/Api/ProductBroker/GetProductsInventoryParameters.json b/schema/Api/OfferBroker/GetCalculateOfferPricingParameters.json
similarity index 79%
rename from schema/Api/ProductBroker/GetProductsInventoryParameters.json
rename to schema/Api/OfferBroker/GetCalculateOfferPricingParameters.json
index b5de110..6b5e6cb 100644
--- a/schema/Api/ProductBroker/GetProductsInventoryParameters.json
+++ b/schema/Api/OfferBroker/GetCalculateOfferPricingParameters.json
@@ -6,6 +6,5 @@
"name": "x-correlation-id",
"schema": {"type": "string"},
"required": false
- },
- "ProductIds": { "in": "query", "name": "productIds", "schema": {"type": "string"} }
+ }
}
diff --git a/schema/Api/OfferBroker/GetCalculateOfferPricingRequest.json b/schema/Api/OfferBroker/GetCalculateOfferPricingRequest.json
new file mode 100644
index 0000000..10ca2cb
--- /dev/null
+++ b/schema/Api/OfferBroker/GetCalculateOfferPricingRequest.json
@@ -0,0 +1,48 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "GetCalculateOfferPricingRequest.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "offers": {
+ "description": "List of offers to calculate pricing for. At least one offer must be provided.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "offerId": {
+ "description": "Offer ID. Required, must not be empty.",
+ "type": "string",
+ "minLength": 1
+ },
+ "pageCount": {
+ "description": "Page count (used only if tiers and page count tiers exist). Must be >= 1 when provided.",
+ "type": ["integer", "null"],
+ "format": "int32",
+ "minimum": 1
+ },
+ "productIds": {
+ "description": "Optional product IDs for product-list type offers.",
+ "type": ["array", "null"],
+ "items": {"type": "string"}
+ },
+ "quantity": {
+ "description": "Quantity to order. Must be >= 0.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0
+ }
+ },
+ "required": ["offerId", "quantity"]
+ },
+ "minItems": 1
+ },
+ "priceClasses": {
+ "description": "Preferred price classes (priority order). Nullable.",
+ "type": ["array", "null"],
+ "items": {"type": "string"}
+ }
+ },
+ "required": ["offers"]
+}
diff --git a/schema/Api/OfferBroker/GetCalculateOfferPricingResponse.json b/schema/Api/OfferBroker/GetCalculateOfferPricingResponse.json
new file mode 100644
index 0000000..d8dcc65
--- /dev/null
+++ b/schema/Api/OfferBroker/GetCalculateOfferPricingResponse.json
@@ -0,0 +1,69 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "GetCalculateOfferPricingResponse.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "description": "Response data containing calculated pricing.",
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": {
+ "customerId": {"description": "Customer ID used for pricing calculation.", "type": "string"},
+ "offers": {
+ "description": "List of calculated offer pricing details.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "offerId": {"description": "Offer ID.", "type": "string", "minLength": 1},
+ "extendedPrice": {
+ "description": "Extended price (unit price * quantity + surcharges).",
+ "type": "number",
+ "format": "double",
+ "minimum": 0
+ },
+ "pageCount": {
+ "description": "Page count used for pricing.",
+ "type": ["integer", "null"],
+ "format": "int32",
+ "minimum": 1
+ },
+ "priceClass": { "description": "Price class applied.", "type": ["string", "null"] },
+ "productIds": {
+ "description": "Product IDs included in pricing.",
+ "type": ["array", "null"],
+ "items": {"type": "string"}
+ },
+ "quantity": {
+ "description": "Quantity ordered.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1
+ },
+ "unitPrice": {
+ "description": "Unit price per item.",
+ "type": "number",
+ "format": "double",
+ "minimum": 0
+ }
+ },
+ "required": ["offerId", "quantity", "unitPrice", "extendedPrice"]
+ }
+ },
+ "totalExtendedPrice": {
+ "description": "Total extended price for all offers.",
+ "type": "number",
+ "format": "double",
+ "minimum": 0
+ }
+ },
+ "required": ["customerId", "offers", "totalExtendedPrice"]
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
+}
diff --git a/schema/Api/OfferBroker/GetOfferCategoriesResponse.json b/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
index 306ab38..875a87f 100644
--- a/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
+++ b/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
@@ -10,12 +10,12 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "id": {"type": "string"},
- "categoryKey": {"type": "string"},
+ "id": { "type": ["string", "null"] },
+ "categoryKey": { "type": ["string", "null"] },
"categoryLevel": { "type": ["integer", "null"], "format": "int32" },
- "categoryName": {"type": "string"},
+ "categoryName": { "type": ["string", "null"] },
"subCategories": {
- "type": "array",
+ "type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
diff --git a/schema/Api/OfferBroker/GetOfferInventoryResponse.json b/schema/Api/OfferBroker/GetOfferInventoryResponse.json
index 5a4e31d..34aed86 100644
--- a/schema/Api/OfferBroker/GetOfferInventoryResponse.json
+++ b/schema/Api/OfferBroker/GetOfferInventoryResponse.json
@@ -5,12 +5,12 @@
"additionalProperties": false,
"properties": {
"data": {
- "type": "array",
+ "type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
- "offerId" : { "type": "string" },
+ "offerId" : { "type": ["string", "null"] },
"currentAvailableQty": { "type": "integer" , "format": "int32" },
"currentOnHandQty" : { "type": "integer" , "format": "int32" },
"expected" : { "type": ["integer", "null"], "format": "int32" },
diff --git a/schema/Api/OfferBroker/GetOfferResponse.json b/schema/Api/OfferBroker/GetOfferResponse.json
index 5787a52..29b8af5 100644
--- a/schema/Api/OfferBroker/GetOfferResponse.json
+++ b/schema/Api/OfferBroker/GetOfferResponse.json
@@ -8,10 +8,10 @@
"type": ["object", "null"],
"additionalProperties": false,
"properties": {
- "id": {"type": "string"},
+ "id": { "type": ["string", "null"] },
"omsOfferId": {
"description": "Required. Unique offer identifier. Must not be empty.",
- "type": "string",
+ "type": ["string", "null"],
"minLength": 1
},
"xmPieTemplateId": { "type": ["string", "null"] },
@@ -47,7 +47,10 @@
"items": {
"type": "object",
"additionalProperties": false,
- "properties": { "categoryKey": {"type": "string"}, "name": {"type": "string"} },
+ "properties": {
+ "categoryKey": { "type": ["string", "null"] },
+ "name" : { "type": ["string", "null"] }
+ },
"required": ["categoryKey", "name"]
}
},
@@ -58,29 +61,26 @@
"doSuppressShippingAndHandling": {"type": "boolean"},
"fixedOrderQuantities": { "type": ["array", "null"], "items": {"type": "integer", "format": "int32"} },
"fullImageUrl": { "type": ["string", "null"] },
- "integrationBrokerLastUpdatedDateTimeUtc": { "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", "null"]
- },
+ "lastUpdatedDateTimeUTC": {"description": "If provided, must not be in the future.", "type": "string"},
"number": {
"description": "Required. Offer number. Must not be empty.",
- "type": "string",
+ "type": ["string", "null"],
"minLength": 1
},
"offerType": {
"description": "Required. Must be one of: Product List, Drop Ship, Download, VDM, Omnichannel.",
- "type": "string",
+ "type": ["string", "null"],
"enum": ["Product List", "Drop Ship", "Download", "VDM", "Omnichannel"],
"minLength": 1
},
"omniChannel": {
- "type": ["object", "null"],
+ "type": "object",
"additionalProperties": false,
"properties": {
"offers": {
@@ -144,7 +144,7 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "id": {"type": "string"},
+ "id": { "type": ["string", "null"] },
"products": {
"type": ["array", "null"],
"items": {
@@ -170,7 +170,7 @@
}
},
"requiresApproval": { "type": ["boolean", "null"] },
- "schemaVersion": {"type": "string"},
+ "schemaVersion": { "type": ["string", "null"] },
"secureEmailBody": { "type": ["string", "null"] },
"secureEmailSubject": { "type": ["string", "null"] },
"surcharge": {"type": "number", "format": "double"},
diff --git a/schema/Api/OfferBroker/GetOffersResponse.json b/schema/Api/OfferBroker/GetOffersResponse.json
index 5d52a32..236a612 100644
--- a/schema/Api/OfferBroker/GetOffersResponse.json
+++ b/schema/Api/OfferBroker/GetOffersResponse.json
@@ -10,10 +10,10 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "id": {"type": "string"},
+ "id": { "type": ["string", "null"] },
"omsOfferId": {
"description": "Required. Unique offer identifier. Must not be empty.",
- "type": "string",
+ "type": ["string", "null"],
"minLength": 1
},
"xmPieTemplateId": { "type": ["string", "null"] },
@@ -49,7 +49,10 @@
"items": {
"type": "object",
"additionalProperties": false,
- "properties": { "categoryKey": {"type": "string"}, "name": {"type": "string"} },
+ "properties": {
+ "categoryKey": { "type": ["string", "null"] },
+ "name" : { "type": ["string", "null"] }
+ },
"required": ["categoryKey", "name"]
}
},
@@ -60,29 +63,26 @@
"doSuppressShippingAndHandling": {"type": "boolean"},
"fixedOrderQuantities": { "type": ["array", "null"], "items": {"type": "integer", "format": "int32"} },
"fullImageUrl": { "type": ["string", "null"] },
- "integrationBrokerLastUpdatedDateTimeUtc": { "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", "null"]
- },
+ "lastUpdatedDateTimeUTC": {"description": "If provided, must not be in the future.", "type": "string"},
"number": {
"description": "Required. Offer number. Must not be empty.",
- "type": "string",
+ "type": ["string", "null"],
"minLength": 1
},
"offerType": {
"description": "Required. Must be one of: Product List, Drop Ship, Download, VDM, Omnichannel.",
- "type": "string",
+ "type": ["string", "null"],
"enum": ["Product List", "Drop Ship", "Download", "VDM", "Omnichannel"],
"minLength": 1
},
"omniChannel": {
- "type": ["object", "null"],
+ "type": "object",
"additionalProperties": false,
"properties": {
"offers": {
@@ -146,7 +146,7 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "id": {"type": "string"},
+ "id": { "type": ["string", "null"] },
"products": {
"type": ["array", "null"],
"items": {
@@ -173,7 +173,7 @@
}
},
"requiresApproval": { "type": ["boolean", "null"] },
- "schemaVersion": {"type": "string"},
+ "schemaVersion": { "type": ["string", "null"] },
"secureEmailBody": { "type": ["string", "null"] },
"secureEmailSubject": { "type": ["string", "null"] },
"surcharge": {"type": "number", "format": "double"},
diff --git a/schema/Api/OfferBroker/InternalCalculateOfferPricingParameters.json b/schema/Api/OfferBroker/InternalCalculateOfferPricingParameters.json
new file mode 100644
index 0000000..1112be9
--- /dev/null
+++ b/schema/Api/OfferBroker/InternalCalculateOfferPricingParameters.json
@@ -0,0 +1,10 @@
+{
+ "$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",
+ "name": "x-correlation-id",
+ "schema": {"type": "string", "format": "uuid"},
+ "required": false
+ }
+}
diff --git a/schema/Api/OfferBroker/InternalCalculateOfferPricingRequest.json b/schema/Api/OfferBroker/InternalCalculateOfferPricingRequest.json
new file mode 100644
index 0000000..e7f5ff5
--- /dev/null
+++ b/schema/Api/OfferBroker/InternalCalculateOfferPricingRequest.json
@@ -0,0 +1,53 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "InternalCalculateOfferPricingRequest.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "customerId": {
+ "description": "Customer ID. Required for internal endpoint.",
+ "type": "string",
+ "minLength": 1
+ },
+ "offers": {
+ "description": "List of offers to calculate pricing for. At least one offer must be provided.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "offerId": {
+ "description": "Offer ID. Required, must not be empty.",
+ "type": "string",
+ "minLength": 1
+ },
+ "pageCount": {
+ "description": "Page count (used only if tiers and page count tiers exist). Must be >= 1 when provided.",
+ "type": ["integer", "null"],
+ "format": "int32",
+ "minimum": 1
+ },
+ "productIds": {
+ "description": "Optional product IDs for product-list type offers.",
+ "type": ["array", "null"],
+ "items": {"type": "string"}
+ },
+ "quantity": {
+ "description": "Quantity to order. Must be >= 0.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0
+ }
+ },
+ "required": ["offerId", "quantity"]
+ },
+ "minItems": 1
+ },
+ "priceClasses": {
+ "description": "Preferred price classes (priority order). Nullable.",
+ "type": ["array", "null"],
+ "items": {"type": "string"}
+ }
+ },
+ "required": ["customerId", "offers"]
+}
diff --git a/schema/Api/OfferBroker/InternalCalculateOfferPricingResponse.json b/schema/Api/OfferBroker/InternalCalculateOfferPricingResponse.json
new file mode 100644
index 0000000..c6b5495
--- /dev/null
+++ b/schema/Api/OfferBroker/InternalCalculateOfferPricingResponse.json
@@ -0,0 +1,69 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "InternalCalculateOfferPricingResponse.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "description": "Response data containing calculated pricing.",
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": {
+ "customerId": {"description": "Customer ID used for pricing calculation.", "type": "string"},
+ "offers": {
+ "description": "List of calculated offer pricing details.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "offerId": {"description": "Offer ID.", "type": "string", "minLength": 1},
+ "extendedPrice": {
+ "description": "Extended price (unit price * quantity + surcharges).",
+ "type": "number",
+ "format": "double",
+ "minimum": 0
+ },
+ "pageCount": {
+ "description": "Page count used for pricing.",
+ "type": ["integer", "null"],
+ "format": "int32",
+ "minimum": 1
+ },
+ "priceClass": { "description": "Price class applied.", "type": ["string", "null"] },
+ "productIds": {
+ "description": "Product IDs included in pricing.",
+ "type": ["array", "null"],
+ "items": {"type": "string"}
+ },
+ "quantity": {
+ "description": "Quantity ordered.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1
+ },
+ "unitPrice": {
+ "description": "Unit price per item.",
+ "type": "number",
+ "format": "double",
+ "minimum": 0
+ }
+ },
+ "required": ["offerId", "quantity", "unitPrice", "extendedPrice"]
+ }
+ },
+ "totalExtendedPrice": {
+ "description": "Total extended price for all offers.",
+ "type": "number",
+ "format": "double",
+ "minimum": 0
+ }
+ },
+ "required": ["customerId", "offers", "totalExtendedPrice"]
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
+}
diff --git a/schema/Api/OfferBroker/InternalGetOffersResponse.json b/schema/Api/OfferBroker/InternalGetOffersResponse.json
index 3fa7b43..a067d40 100644
--- a/schema/Api/OfferBroker/InternalGetOffersResponse.json
+++ b/schema/Api/OfferBroker/InternalGetOffersResponse.json
@@ -10,10 +10,10 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "id": {"type": "string"},
+ "id": { "type": ["string", "null"] },
"omsOfferId": {
"description": "Required. Unique offer identifier. Must not be empty.",
- "type": "string",
+ "type": ["string", "null"],
"minLength": 1
},
"xmPieTemplateId": { "type": ["string", "null"] },
@@ -49,7 +49,10 @@
"items": {
"type": "object",
"additionalProperties": false,
- "properties": { "categoryKey": {"type": "string"}, "name": {"type": "string"} },
+ "properties": {
+ "categoryKey": { "type": ["string", "null"] },
+ "name" : { "type": ["string", "null"] }
+ },
"required": ["categoryKey", "name"]
}
},
@@ -60,29 +63,26 @@
"doSuppressShippingAndHandling": {"type": "boolean"},
"fixedOrderQuantities": { "type": ["array", "null"], "items": {"type": "integer", "format": "int32"} },
"fullImageUrl": { "type": ["string", "null"] },
- "integrationBrokerLastUpdatedDateTimeUtc": { "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", "null"]
- },
+ "lastUpdatedDateTimeUTC": {"description": "If provided, must not be in the future.", "type": "string"},
"number": {
"description": "Required. Offer number. Must not be empty.",
- "type": "string",
+ "type": ["string", "null"],
"minLength": 1
},
"offerType": {
"description": "Required. Must be one of: Product List, Drop Ship, Download, VDM, Omnichannel.",
- "type": "string",
+ "type": ["string", "null"],
"enum": ["Product List", "Drop Ship", "Download", "VDM", "Omnichannel"],
"minLength": 1
},
"omniChannel": {
- "type": ["object", "null"],
+ "type": "object",
"additionalProperties": false,
"properties": {
"offers": {
@@ -141,12 +141,12 @@
},
"productClusters": {
"description": "Must contain at least one Product with a non-empty productId and pageCount >= 1 if provided.",
- "type": "array",
+ "type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
- "id": {"type": "string"},
+ "id": { "type": ["string", "null"] },
"products": {
"type": ["array", "null"],
"items": {
@@ -173,7 +173,7 @@
}
},
"requiresApproval": { "type": ["boolean", "null"] },
- "schemaVersion": {"type": "string"},
+ "schemaVersion": { "type": ["string", "null"] },
"secureEmailBody": { "type": ["string", "null"] },
"secureEmailSubject": { "type": ["string", "null"] },
"surcharge": {"type": "number", "format": "double"},
diff --git a/schema/Api/OfferBroker/UpdateCategoryRequest.json b/schema/Api/OfferBroker/UpdateCategoryRequest.json
index 725ffbd..03e1595 100644
--- a/schema/Api/OfferBroker/UpdateCategoryRequest.json
+++ b/schema/Api/OfferBroker/UpdateCategoryRequest.json
@@ -4,10 +4,10 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "id" : { "type": "string" },
+ "id" : { "type": ["string", "null"] },
"parentId" : { "type": ["string", "null"] },
"lastUpdatedDateTimeUtc": { "type": ["string", "null"] },
- "name" : { "type": "string" }
+ "name" : { "type": ["string", "null"] }
},
"required": ["id", "name"]
}
diff --git a/schema/Api/OfferBroker/UpdateCategoryResponse.json b/schema/Api/OfferBroker/UpdateCategoryResponse.json
index 2e830e9..14934c4 100644
--- a/schema/Api/OfferBroker/UpdateCategoryResponse.json
+++ b/schema/Api/OfferBroker/UpdateCategoryResponse.json
@@ -4,10 +4,10 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "id" : { "type": "string" },
- "failureMessages" : { "type": "array" , "items": {"type": "string"} },
- "informationalMessages" : { "type": "array" , "items": {"type": "string"} },
- "operationWasSuccessful": { "type": "boolean" }
+ "id" : { "type": ["string", "null"] },
+ "failureMessages" : { "type": "array" , "items": {"type": "string"} },
+ "informationalMessages" : { "type": "array" , "items": {"type": "string"} },
+ "operationWasSuccessful": { "type": "boolean" }
},
"required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "id"]
}
diff --git a/schema/Api/OfferBroker/UpdateOfferRequest.json b/schema/Api/OfferBroker/UpdateOfferRequest.json
index e5bf207..1aef15f 100644
--- a/schema/Api/OfferBroker/UpdateOfferRequest.json
+++ b/schema/Api/OfferBroker/UpdateOfferRequest.json
@@ -31,7 +31,7 @@
"type" : { "type": ["string", "null"] },
"hint" : { "type": ["string", "null"] },
"label": { "type": ["string", "null"] },
- "name" : { "type": "string" },
+ "name" : { "type": ["string", "null"] },
"value": { "type": ["string", "null"] }
},
"required": ["name"]
@@ -47,15 +47,6 @@
"type": ["string", "null"],
"examples": ["2025-06-06T00:00:00Z"]
},
- "categories": {
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "additionalProperties": false,
- "properties": { "categoryKey": {"type": "string"}, "name": {"type": "string"} },
- "required": ["categoryKey", "name"]
- }
- },
"categoryIds": { "type": ["array", "null"], "items": {"type": "string"} },
"comments": { "type": ["string", "null"] },
"defaultPrice": { "type": ["number", "null"], "format": "double" },
@@ -63,7 +54,6 @@
"doSuppressShippingAndHandling": { "type": ["boolean", "null"] },
"fixedOrderQuantities": { "type": ["array", "null"], "items": {"type": "integer", "format": "int32"} },
"fullImageUrl": { "type": ["string", "null"] },
- "integrationBrokerLastUpdatedDateTimeUtc": { "type": ["string", "null"] },
"isActive": { "type": ["boolean", "null"] },
"isAvailableViaCoopFunds": { "type": ["boolean", "null"] },
"isDeleted": { "type": ["boolean", "null"] },
@@ -75,17 +65,17 @@
},
"number": {
"description": "Required. Offer number. Must not be empty.",
- "type": "string",
+ "type": ["string", "null"],
"minLength": 1
},
"offerType": {
"description": "Required. Must be one of: Product List, Drop Ship, Download, VDM, Omnichannel.",
- "type": "string",
+ "type": ["string", "null"],
"enum": ["Product List", "Drop Ship", "Download", "VDM", "Omnichannel"],
"minLength": 1
},
"omniChannel": {
- "type": ["object", "null"],
+ "type": "object",
"additionalProperties": false,
"properties": {
"offers": {
@@ -101,8 +91,6 @@
}
}
},
- "omsIdentifier": { "type": ["string", "null"] },
- "omsRootSystemName": { "type": ["string", "null"] },
"onlyShipMethodsAvailable": { "type": ["array", "null"], "items": {"type": "string"} },
"orderMaximum": { "type": ["integer", "null"], "format": "int32", "minimum": 1 },
"orderMinimum": { "type": ["integer", "null"], "format": "int32", "minimum": 1 },
@@ -150,14 +138,14 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "id": {"type": "string"},
+ "id": { "type": ["string", "null"] },
"products": {
"type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
- "productId" : { "type": "string" },
+ "productId" : { "type": ["string", "null"] },
"pageCount" : { "type": ["integer", "null"], "format": "int32" },
"productQuantityInOffer": { "type": "integer" , "format": "int32" }
},
@@ -170,10 +158,6 @@
}
},
"requiresApproval": { "type": ["boolean", "null"] },
- "schemaVersion": {
- "description": "Required. Schema version for the offer data structure.",
- "type": "string"
- },
"secureEmailBody": { "type": ["string", "null"] },
"secureEmailSubject": { "type": ["string", "null"] },
"surcharge": { "type": ["number", "null"], "format": "double" },
@@ -181,5 +165,5 @@
"unitOfMeasure": { "type": ["string", "null"] },
"weightInPounds": { "type": ["number", "null"], "format": "float" }
},
- "required": ["number", "offerType", "schemaVersion"]
+ "required": ["number", "offerType"]
}
diff --git a/schema/Api/OrderBroker/GetOrderResponse.json b/schema/Api/OrderBroker/GetOrderResponse.json
index 38b23d4..55206b0 100644
--- a/schema/Api/OrderBroker/GetOrderResponse.json
+++ b/schema/Api/OrderBroker/GetOrderResponse.json
@@ -9,6 +9,11 @@
"type": ["object", "null"],
"additionalProperties": false,
"properties": {
+ "billingEntityId": {
+ "description": "Optional. Billing entity identifier.",
+ "type": ["string", "null"]
+ },
+ "customerId": { "description": "Optional. Customer identifier.", "type": ["string", "null"] },
"omsCustomerId": {
"description": "Unique customer ID in the order management system (system where order lifecycle will be managed)",
"type": ["string", "null"],
@@ -26,14 +31,14 @@
},
"orderId": {
"description": "Unique ID for order within order management system (system where order lifecycle will be managed). Required, must not be null or empty.",
- "type": "string",
+ "type": ["string", "null"],
"maxLength": 100,
"minLength": 1
},
"referenceId": { "type": ["string", "null"], "maxLength": 255 },
"sourceSystemCustomerId": {
"description": "Unique customer ID in the source system. Required, must not be null or empty.",
- "type": "string",
+ "type": ["string", "null"],
"maxLength": 100,
"minLength": 1
},
@@ -60,45 +65,40 @@
},
"billTos": {
"description": "Bill to addresses array for Order. Required, must not be empty. Each item must have required address fields and a non-null key.",
- "oneOf": [
- {"type": "null"},
- {
- "type": "array",
- "items": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "address1": {"description": "Address line 1 for address", "type": "string"},
- "address2": { "description": "Address line 2 for address", "type": ["string", "null"] },
- "address3": { "description": "Address line 3 for address", "type": ["string", "null"] },
- "addressCode": { "description": "Address code 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"] },
- "isDeleted": {
- "description": "Flag indicating if this bill to address has been deleted",
- "type": ["boolean", "null"]
- },
- "key": {
- "description": "Unique ID for individual contact",
- "type": "string",
- "pattern": "^[0-9]+$"
- },
- "name": {"description": "Contact name for this address", "type": "string"},
- "phoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
- "postalCode": {"description": "Postal code for address", "type": "string"},
- "stateProvince": {"description": "State or province name for address", "type": "string"}
- },
- "required": ["address1", "city", "country", "key", "name", "postalCode", "stateProvince"]
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "address1": {"description": "Address line 1 for address", "type": "string"},
+ "address2": { "description": "Address line 2 for address", "type": ["string", "null"] },
+ "address3": { "description": "Address line 3 for address", "type": ["string", "null"] },
+ "addressCode": { "description": "Address code 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"]
},
- "minItems": 1
- }
- ]
+ "faxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
+ "isDeleted": {
+ "description": "Flag indicating if this bill to address has been deleted",
+ "type": ["boolean", "null"]
+ },
+ "key": {
+ "description": "Unique ID for individual contact",
+ "type": "string",
+ "pattern": "^[0-9]+$"
+ },
+ "name": {"description": "Contact name for this address", "type": "string"},
+ "phoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
+ "postalCode": {"description": "Postal code for address", "type": "string"},
+ "stateProvince": {"description": "State or province name for address", "type": "string"}
+ },
+ "required": ["address1", "city", "country", "key", "name", "postalCode", "stateProvince"]
+ },
+ "minItems": 1
},
"costCenter": { "type": ["string", "null"], "maxLength": 255 },
"createDateTime": {
@@ -134,7 +134,7 @@
},
"lineItems": {
"description": "Order level line item details. Required, must not be empty. Each item must have offerId, quantityOrdered > 0, price >= 0, taxAmount >= 0, lineItemFee >= 0. If defaultBillToKey, defaultOrderedByKey, or defaultShipToKey are null, corresponding keys must be set on each line item.",
- "type": ["array"],
+ "type": ["array", "null"],
"items": {
"description": "Order level line item details",
"type": "object",
@@ -142,7 +142,7 @@
"properties": {
"offerId": {
"description": "Unique ID for offer within Integration Broker",
- "type": "string"
+ "type": ["string", "null"]
},
"productManagementSystemCustomerId": {
"description": "Unique customer ID in the product management system (system where ordered line item products will be managed)",
@@ -193,7 +193,7 @@
},
"lineItemFee": {
"description": "Fee applied to individual line item",
- "type": "number",
+ "type": ["number", "null"],
"format": "double"
},
"offerDescription": {
@@ -219,7 +219,7 @@
},
"price": {
"description": "Total offer price of individual line item",
- "type": "number",
+ "type": ["number", "null"],
"format": "double"
},
"products": {
@@ -238,7 +238,7 @@
"type": ["string", "null"],
"maxLength": 100
},
- "productId": {"type": "string"},
+ "productId": { "type": ["string", "null"] },
"associatedFileName": { "type": ["string", "null"] },
"color": { "type": ["string", "null"] },
"comment": { "type": ["string", "null"] },
@@ -364,46 +364,41 @@
},
"orderVariables": {
"description": "Manually entered variables for order within order management system (system where order lifecycle will be managed in)",
- "oneOf": [ {"type": "null"}, {"type": "object"} ]
+ "type": ["object", "null"]
},
"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.",
- "oneOf": [
- {"type": "null"},
- {
- "type": "array",
- "items": {
- "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"] },
- "addressCode": { "description": "Address code 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": "string",
- "pattern": "^[0-9]+$"
- },
- "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"]
+ "type": ["array", "null"],
+ "items": {
+ "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"] },
+ "addressCode": { "description": "Address code 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"]
},
- "minItems": 1
- }
- ]
+ "faxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
+ "key": {
+ "description": "Unique ID for individual contact",
+ "type": "string",
+ "pattern": "^[0-9]+$"
+ },
+ "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
},
"paymentMethods": {
"description": "Order.ShipTos level payment method details",
@@ -414,12 +409,12 @@
"properties": {
"amount": {
"description": "Total Amount. Required if MethodName specified",
- "type": "number",
+ "type": ["number", "null"],
"format": "double"
},
"methodName": {
"description": "Name of payment method. Required if Payment Amount specified",
- "type": "string"
+ "type": ["string", "null"]
}
},
"required": ["amount", "methodName"]
@@ -462,7 +457,7 @@
"dueDate": { "type": ["string", "null"] },
"key": {
"description": "Unique ID for individual ship to address",
- "type": "string",
+ "type": ["string", "null"],
"pattern": "^[0-9]+$"
},
"orderFee": { "type": ["number", "null"], "format": "double" },
@@ -479,7 +474,7 @@
},
"methodName": {
"description": "Name of payment method. Required if Payment Amount specified",
- "type": "string"
+ "type": ["string", "null"]
}
},
"required": ["amount", "methodName"]
@@ -499,22 +494,25 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "address1": {"description": "Address line 1 for address", "type": "string"},
+ "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"] },
"addressCode": { "description": "Address code for address", "type": ["string", "null"] },
- "city": {"description": "City name for address", "type": "string"},
+ "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"},
+ "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"] },
- "name": {"type": "string"},
+ "name": { "type": ["string", "null"] },
"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"}
+ "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"]
},
@@ -533,9 +531,14 @@
"minItems": 1,
"uniqueItems": false
},
+ "shipments": {
+ "description": "Optional. Array of shipments associated with the order.",
+ "type": ["array", "null"],
+ "items": {"description": "Shipment information", "type": "object"}
+ },
"shippingHandlingTax": {
"description": "Sum of shipping & handling taxes for all Order.ShipTos. Required, must not be null.",
- "type": "number",
+ "type": ["number", "null"],
"format": "double",
"minimum": 0
},
diff --git a/schema/Api/OrderBroker/InternalGetOrderResponse.json b/schema/Api/OrderBroker/InternalGetOrderResponse.json
index e6a9afd..a89a99b 100644
--- a/schema/Api/OrderBroker/InternalGetOrderResponse.json
+++ b/schema/Api/OrderBroker/InternalGetOrderResponse.json
@@ -9,6 +9,11 @@
"type": ["object", "null"],
"additionalProperties": false,
"properties": {
+ "billingEntityId": {
+ "description": "Optional. Billing entity identifier.",
+ "type": ["string", "null"]
+ },
+ "customerId": { "description": "Customer ID", "type": ["string", "null"], "maxLength": 100 },
"omsCustomerId": {
"description": "Unique customer ID in the order management system (system where order lifecycle will be managed)",
"type": ["string", "null"],
@@ -39,7 +44,7 @@
},
"sourceSystemId": {
"description": "Source system ID. Required, must not be null.",
- "type": ["integer", "null"],
+ "type": "integer",
"format": "int32"
},
"sourceSystemOrderId": {
@@ -128,9 +133,7 @@
},
"dueDate": {
"description": "Datetime of expected due date for Order. If present, must be a valid date and not in the past (enforced in backend).",
- "type": ["string", "null"],
- "pattern": "^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}|\\d{8}|\\d{2}[-/]\\d{2}[-/]\\d{4}(\\s\\d{2}:\\d{2}:\\d{2})?)$",
- "examples": ["2024-04-20T10:30:00", "20240420", "04/20/2024 10:30:00"]
+ "type": ["string", "null"]
},
"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.",
@@ -533,6 +536,85 @@
"minItems": 1,
"uniqueItems": false
},
+ "shipments": {
+ "description": "Shipment details for the order",
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "fulfillmentSystemId": {
+ "description": "Fulfillment system ID",
+ "type": ["string", "null"],
+ "maxLength": 100
+ },
+ "fulfillmentSystemLocationId": {
+ "description": "Fulfillment system location ID",
+ "type": ["string", "null"],
+ "maxLength": 100
+ },
+ "shipmentId": { "description": "Shipment ID", "type": ["string", "null"] },
+ "carrier": { "description": "Shipping carrier", "type": ["string", "null"] },
+ "freight": {
+ "description": "Freight cost",
+ "type": ["number", "null"],
+ "format": "double"
+ },
+ "masterTrackingNumber": { "description": "Master tracking number", "type": ["string", "null"] },
+ "packages": {
+ "description": "Packages in this shipment",
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "packageNumber": { "description": "Package number", "type": ["string", "null"] },
+ "products": {
+ "description": "Products in this package",
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "productLineId": { "description": "Product line ID", "type": ["string", "null"] },
+ "shipQuantity": {
+ "description": "Quantity shipped",
+ "type": ["number", "null"],
+ "format": "double"
+ }
+ }
+ }
+ },
+ "trackingNumber": { "description": "Tracking number", "type": ["string", "null"] }
+ }
+ }
+ },
+ "packingSlipNumber": { "description": "Packing slip number", "type": ["string", "null"] },
+ "service": { "description": "Shipping service", "type": ["string", "null"] },
+ "shipDateUtc": { "description": "Ship date in UTC", "type": ["string", "null"] },
+ "shipToAddress": {
+ "description": "Ship to address",
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": {
+ "address1" : { "description": "Address line 1" , "type": ["string", "null"] },
+ "address2" : { "description": "Address line 2" , "type": ["string", "null"] },
+ "address3" : { "description": "Address line 3" , "type": ["string", "null"] },
+ "addressCode" : { "description": "Address code" , "type": ["string", "null"] },
+ "city" : { "description": "City" , "type": ["string", "null"] },
+ "company" : { "description": "Company name" , "type": ["string", "null"] },
+ "country" : { "description": "Country" , "type": ["string", "null"] },
+ "emailAddress" : { "description": "Email address" , "type": ["string", "null"] },
+ "faxNumber" : { "description": "Fax number" , "type": ["string", "null"] },
+ "name" : { "description": "Contact name" , "type": ["string", "null"] },
+ "phoneNumber" : { "description": "Phone number" , "type": ["string", "null"] },
+ "postalCode" : { "description": "Postal code" , "type": ["string", "null"] },
+ "stateProvince": { "description": "State or province", "type": ["string", "null"] }
+ }
+ }
+ }
+ }
+ },
"shippingHandlingTax": {
"description": "Sum of shipping & handling taxes for all Order.ShipTos. Required, must not be null.",
"type": "number",
diff --git a/schema/Api/OrderBroker/InternalNewOrderRequest.json b/schema/Api/OrderBroker/InternalNewOrderRequest.json
index 68c3a41..e0f84e4 100644
--- a/schema/Api/OrderBroker/InternalNewOrderRequest.json
+++ b/schema/Api/OrderBroker/InternalNewOrderRequest.json
@@ -5,6 +5,10 @@
"type": "object",
"additionalProperties": false,
"properties": {
+ "billingEntityId": {
+ "description": "Optional. Billing entity identifier for the order. If not provided, the default billing entity for the customer will be used.",
+ "type": ["string", "null"]
+ },
"orderId": {
"description": "Unique ID for order within order management system (system where order lifecycle will be managed). Required, must not be null or empty.",
"type": "string",
@@ -268,7 +272,8 @@
"quantityOrdered": {
"description": "Amount of offer ordered for individual line item",
"type": "integer",
- "format": "int32"
+ "format": "int32",
+ "minimum": 1
},
"rushOrder": {
"description": "True/false indicator if individual line item is expedited",
@@ -283,6 +288,12 @@
"description": "Total tax amount applied to individual line item",
"type": ["number", "null"],
"format": "double"
+ },
+ "unitPrice": {
+ "description": "Unit price for individual line item. Used for pricing validation logic.",
+ "type": ["number", "null"],
+ "format": "double",
+ "minimum": 0
}
},
"required": ["lineItemFee", "price", "quantityOrdered", "taxAmount"]
@@ -370,6 +381,11 @@
"type": ["string", "null"],
"maxLength": 20
},
+ "priceClasses": {
+ "description": "Optional. Preferred price classes in priority order for pricing validation.",
+ "type": ["array", "null"],
+ "items": {"type": "string"}
+ },
"rushOrder": {
"description": "True/false indicator if Order is expedited",
"type": ["boolean", "null"]
@@ -469,34 +485,11 @@
"minimum": 0
}
},
- "required": ["orderId", "createDateTime", "lineItems", "billTos", "shipTos"],
+ "required": [
+ "orderId", "createDateTime", "shippingHandlingTax", "lineItems", "billTos",
+ "shipTos"
+ ],
"allOf": [
- {
- "description": "Either a defaultBillToKey must be provided, or the billTos array must be populated.",
- "oneOf": [
- {
- "properties": { "defaultBillToKey": {"type": "string"} },
- "required": ["defaultBillToKey"]
- },
- {
- "properties": { "billTos": {"type": "array", "minItems": 1} },
- "required": ["billTos"]
- }
- ]
- },
- {
- "description": "Either a defaultShipToKey must be provided, or the shipTos array must be populated.",
- "oneOf": [
- {
- "properties": { "defaultShipToKey": {"type": "string"} },
- "required": ["defaultShipToKey"]
- },
- {
- "properties": { "shipTos": {"type": "array", "minItems": 1} },
- "required": ["shipTos"]
- }
- ]
- },
{
"description": "If a defaultBillToKey is not provided at the root, each line item must specify a billToKey.",
"oneOf": [
@@ -579,8 +572,6 @@
{
"orderId": "7-mkkutsde-3-K-5649-4005-64",
"referenceId": "OWMR WSKFA - LNSSZT XBUUJ & MS XXQ QCHX",
- "sourceSystemCustomerId": "CustomerName",
- "sourceSystemId": 2,
"accessGroups": ["TS-Retail", "CDM Tuff Shed", "Tuff shed Act on behalf and see all orders"],
"affiliateIdentifier": "QJ-987",
"affiliateName": "UJ-143-ABWJINHFVL, QD",
@@ -721,8 +712,6 @@
{
"orderId": "1-qrhjtpek-8-Q-0286-8859-25",
"referenceId": "WUQD HWKPE - XIWHAC BTVOM & BH WAK DXRI",
- "sourceSystemCustomerId": "CustomerName",
- "sourceSystemId": 2,
"accessGroups": ["TS-Retail", "CDM Tuff Shed", "Tuff shed Act on behalf and see all orders"],
"affiliateIdentifier": "VJ-268",
"affiliateName": "GZ-589-WUOFETGVLG, RM",
diff --git a/schema/Api/OrderBroker/UpdateOrderResponse.json b/schema/Api/OrderBroker/InternalNewOrderResponse.json
similarity index 58%
rename from schema/Api/OrderBroker/UpdateOrderResponse.json
rename to schema/Api/OrderBroker/InternalNewOrderResponse.json
index f3ad4ef..caed1c5 100644
--- a/schema/Api/OrderBroker/UpdateOrderResponse.json
+++ b/schema/Api/OrderBroker/InternalNewOrderResponse.json
@@ -1,17 +1,14 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "UpdateOrderResponse.json",
+ "$id": "InternalNewOrderResponse.json",
+ "description": "Response returned from the internal new order endpoint",
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": ["object", "null"],
"additionalProperties": false,
- "properties": {
- "omsOrderId" : { "description": "OMS order ID" , "type": ["string", "null"] },
- "omsIdentifier" : { "description": "OMS identifier" , "type": ["string", "null"] },
- "omsRootSystemName": { "description": "OMS root system name", "type": ["string", "null"] }
- }
+ "properties": { "otpOrderId": {"description": "Order identifier", "type": "string"} }
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
diff --git a/schema/Api/OrderBroker/InternalUpdateOrderParameters.json b/schema/Api/OrderBroker/InternalUpdateOrderParameters.json
new file mode 100644
index 0000000..b6c6720
--- /dev/null
+++ b/schema/Api/OrderBroker/InternalUpdateOrderParameters.json
@@ -0,0 +1,17 @@
+{
+ "$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",
+ "name": "x-correlation-id",
+ "schema": {"type": "string", "format": "uuid"},
+ "required": false
+ },
+ "UserId": {
+ "description": "User ID of the person making the update request. This header is required for audit and authorization purposes.",
+ "in": "header",
+ "name": "x-user-id",
+ "schema": {"type": "string"},
+ "required": true
+ }
+}
diff --git a/schema/Api/OrderBroker/InternalUpdateOrderRequest.json b/schema/Api/OrderBroker/InternalUpdateOrderRequest.json
index c112044..f9cf627 100644
--- a/schema/Api/OrderBroker/InternalUpdateOrderRequest.json
+++ b/schema/Api/OrderBroker/InternalUpdateOrderRequest.json
@@ -93,7 +93,8 @@
"lineItemFee": {
"description": "Line item fee",
"type": ["number", "null"],
- "format": "decimal"
+ "format": "decimal",
+ "minimum": 0
},
"offerDescription": { "description": "Offer description", "type": ["string", "null"] },
"offerLineNumber": {
@@ -108,7 +109,12 @@
"pattern": "^[0-9]+$"
},
"pONumber": { "description": "Purchase order number", "type": ["string", "null"] },
- "price": { "description": "Price", "type": ["number", "null"], "format": "decimal" },
+ "price": {
+ "description": "Price",
+ "type": ["number", "null"],
+ "format": "decimal",
+ "minimum": 0
+ },
"products": {
"description": "Products",
"type": ["array", "null"],
@@ -151,7 +157,12 @@
}
}
},
- "pageCount": { "description": "Page count", "type": ["integer", "null"], "format": "int32" },
+ "pageCount": {
+ "description": "Page count",
+ "type": ["integer", "null"],
+ "format": "int32",
+ "minimum": 1
+ },
"productDescription": { "description": "Product description", "type": ["string", "null"] },
"productLineNumber": {
"description": "Product line number",
@@ -173,7 +184,8 @@
"quantityOrdered": {
"description": "Quantity ordered",
"type": ["integer", "null"],
- "format": "int32"
+ "format": "int32",
+ "minimum": 1
},
"rushOrder": { "description": "Rush order flag", "type": ["boolean", "null"] },
"shipToKey": {
@@ -181,7 +193,12 @@
"type": ["string", "null"],
"pattern": "^[0-9]+$"
},
- "taxAmount": { "description": "Tax amount", "type": ["number", "null"], "format": "decimal" },
+ "taxAmount": {
+ "description": "Tax amount",
+ "type": ["number", "null"],
+ "format": "decimal",
+ "minimum": 0
+ },
"unitPrice": { "description": "Unit price", "type": ["number", "null"], "format": "decimal" }
},
"required": ["quantityOrdered", "price", "taxAmount", "lineItemFee"]
@@ -284,7 +301,12 @@
"type": ["number", "null"],
"format": "decimal"
},
- "rushFee": { "description": "Rush fee", "type": ["number", "null"], "format": "decimal" },
+ "rushFee": {
+ "description": "Rush fee",
+ "type": ["number", "null"],
+ "format": "decimal",
+ "minimum": 0
+ },
"rushOrder": { "description": "Rush order flag", "type": ["boolean", "null"] },
"shipToAddress": {
"description": "Ship to address",
@@ -309,12 +331,14 @@
"shippingCost": {
"description": "Shipping cost",
"type": ["number", "null"],
- "format": "decimal"
+ "format": "decimal",
+ "minimum": 0
},
"shippingHandlingTax": {
"description": "Shipping handling tax",
"type": ["number", "null"],
- "format": "decimal"
+ "format": "decimal",
+ "minimum": 0
},
"totalOrderFee": {
"description": "Total order fee",
@@ -347,6 +371,6 @@
},
"required": [
"sourceSystemCustomerId", "sourceSystemId", "orderId", "shippingHandlingTax",
- "billTos", "shipTos"
+ "billTos", "shipTos", "rushOrder"
]
}
diff --git a/schema/Api/OrderBroker/NewOrderRequest.json b/schema/Api/OrderBroker/NewOrderRequest.json
index 7cca018..4e57689 100644
--- a/schema/Api/OrderBroker/NewOrderRequest.json
+++ b/schema/Api/OrderBroker/NewOrderRequest.json
@@ -5,6 +5,10 @@
"type": "object",
"additionalProperties": false,
"properties": {
+ "billingEntityId": {
+ "description": "Optional. Billing entity identifier for the order. If not provided, the default billing entity for the customer will be used.",
+ "type": ["string", "null"]
+ },
"orderId": {
"description": "Unique ID for order within order management system (system where order lifecycle will be managed). Required, must not be null or empty.",
"type": "string",
@@ -192,7 +196,7 @@
"components": {
"type": ["array", "null"],
"items": {
- "description": "Product component details",
+ "description": "Order.LineItems.Products level component details",
"type": "object",
"additionalProperties": false,
"properties": {
@@ -256,7 +260,8 @@
"quantityOrdered": {
"description": "Amount of offer ordered for individual line item",
"type": "integer",
- "format": "int32"
+ "format": "int32",
+ "minimum": 1
},
"rushOrder": {
"description": "True/false indicator if individual line item is expedited",
@@ -271,6 +276,12 @@
"description": "Total tax amount applied to individual line item",
"type": ["number", "null"],
"format": "double"
+ },
+ "unitPrice": {
+ "description": "Unit price for individual line item. Used for pricing validation logic.",
+ "type": ["number", "null"],
+ "format": "double",
+ "minimum": 0
}
},
"required": ["lineItemFee", "price", "quantityOrdered", "taxAmount"]
@@ -358,6 +369,11 @@
"type": ["string", "null"],
"maxLength": 20
},
+ "priceClasses": {
+ "description": "Optional. Preferred price classes in priority order for pricing validation.",
+ "type": ["array", "null"],
+ "items": {"type": "string"}
+ },
"rushOrder": {
"description": "True/false indicator if Order is expedited",
"type": ["boolean", "null"]
@@ -433,7 +449,7 @@
"shippingHandlingTax": { "type": ["number", "null"], "format": "double" },
"totalOrderFee": { "type": ["number", "null"], "format": "double" }
},
- "required": ["key"]
+ "required": ["key", "sourceSystemShippingMethodId", "shipToAddress"]
},
"minItems": 1,
"uniqueItems": false
@@ -457,34 +473,11 @@
"minimum": 0
}
},
- "required": ["orderId", "createDateTime", "lineItems", "billTos", "shipTos"],
+ "required": [
+ "orderId", "createDateTime", "shippingHandlingTax", "lineItems", "billTos",
+ "shipTos"
+ ],
"allOf": [
- {
- "description": "Either a defaultBillToKey must be provided, or the billTos array must be populated.",
- "oneOf": [
- {
- "properties": { "defaultBillToKey": {"type": "string"} },
- "required": ["defaultBillToKey"]
- },
- {
- "properties": { "billTos": {"type": "array", "minItems": 1} },
- "required": ["billTos"]
- }
- ]
- },
- {
- "description": "Either a defaultShipToKey must be provided, or the shipTos array must be populated.",
- "oneOf": [
- {
- "properties": { "defaultShipToKey": {"type": "string"} },
- "required": ["defaultShipToKey"]
- },
- {
- "properties": { "shipTos": {"type": "array", "minItems": 1} },
- "required": ["shipTos"]
- }
- ]
- },
{
"description": "If a defaultBillToKey is not provided at the root, each line item must specify a billToKey.",
"oneOf": [
@@ -567,6 +560,8 @@
{
"orderId": "7-mkkutsde-3-K-5649-4005-64",
"referenceId": "OWMR WSKFA - LNSSZT XBUUJ & MS XXQ QCHX",
+ "sourceSystemCustomerId": "CustomerName",
+ "sourceSystemId": 2,
"accessGroups": ["TS-Retail", "CDM Tuff Shed", "Tuff shed Act on behalf and see all orders"],
"affiliateIdentifier": "QJ-987",
"affiliateName": "UJ-143-ABWJINHFVL, QD",
@@ -707,6 +702,8 @@
{
"orderId": "1-qrhjtpek-8-Q-0286-8859-25",
"referenceId": "WUQD HWKPE - XIWHAC BTVOM & BH WAK DXRI",
+ "sourceSystemCustomerId": "CustomerName",
+ "sourceSystemId": 2,
"accessGroups": ["TS-Retail", "CDM Tuff Shed", "Tuff shed Act on behalf and see all orders"],
"affiliateIdentifier": "VJ-268",
"affiliateName": "GZ-589-WUOFETGVLG, RM",
diff --git a/schema/Api/OrderBroker/NewOrderResponse.json b/schema/Api/OrderBroker/NewOrderResponse.json
new file mode 100644
index 0000000..a46f5bb
--- /dev/null
+++ b/schema/Api/OrderBroker/NewOrderResponse.json
@@ -0,0 +1,18 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "NewOrderResponse.json",
+ "description": "Response returned from the new order endpoint",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "type": ["object", "null"],
+ "additionalProperties": false,
+ "properties": { "otpOrderId": {"description": "Order identifier", "type": "string"} }
+ },
+ "failureMessages": { "type": "array", "items": {"type": "string"} },
+ "informationalMessages": { "type": "array", "items": {"type": "string"} },
+ "operationWasSuccessful": {"type": "boolean"}
+ },
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
+}
diff --git a/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json b/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
index e311185..f070b78 100644
--- a/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
+++ b/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
@@ -4,7 +4,7 @@
"type": "object",
"properties": {
"customerId": { "type": ["string", "null"] },
- "fulfillmentOrderId": {"type": "string"},
+ "fulfillmentOrderId": { "type": ["string", "null"] },
"fulfillmentSystemCustomerId": { "type": ["string", "null"] },
"fulfillmentSystemId": { "type": ["string", "null"] },
"fulfillmentSystemLocationId": { "type": ["string", "null"] },
@@ -12,32 +12,26 @@
"referenceId": { "type": ["string", "null"] },
"billTo": {
"description": "Bill to addresses array for Order",
- "oneOf": [
- {"type": "null"},
- {
- "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"] },
- "addressCode": { "description": "Address code 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", "null"],
+ "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"] },
+ "addressCode": { "description": "Address code 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": {
@@ -73,7 +67,7 @@
"type": "object",
"properties": {
"fulfillmentSystemProductId": { "type": ["string", "null"] },
- "productId": {"type": "string"},
+ "productId": { "type": ["string", "null"] },
"productLineId": { "type": ["string", "null"] },
"associatedFileName": { "type": ["string", "null"] },
"comment": { "type": ["string", "null"] },
@@ -87,7 +81,7 @@
},
"status": { "type": ["string", "null"] }
},
- "required": ["productId", "productLineId", "fulfillmentSystemProductId"]
+ "required": ["productLineId", "fulfillmentSystemProductId"]
}
},
"rushOrder": { "type": ["boolean", "null"] },
@@ -103,7 +97,7 @@
"dueDate": { "type": ["string", "null"] },
"key": {
"description": "Unique identifier for the ship to address",
- "type": "string",
+ "type": ["string", "null"],
"pattern": "^[0-9]+$"
},
"paymentMethods": {
@@ -113,12 +107,12 @@
"properties": {
"amount": {
"description": "Total Amount. Required if MethodName specified",
- "type": "number",
+ "type": ["number", "null"],
"format": "double"
},
"methodName": {
"description": "Name of payment method. Required if Payment Amount specified",
- "type": "string"
+ "type": ["string", "null"]
}
},
"required": ["amount", "methodName"]
@@ -130,22 +124,25 @@
"description": "Ship to addresses array for Order",
"type": "object",
"properties": {
- "address1": {"description": "Address line 1 for address", "type": "string"},
+ "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"] },
"addressCode": { "description": "Address code for address", "type": ["string", "null"] },
- "city": {"description": "City name for address", "type": "string"},
+ "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"},
+ "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"] },
- "name": {"type": "string"},
+ "name": { "type": ["string", "null"] },
"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"}
+ "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"]
},
@@ -165,9 +162,9 @@
"properties": {
"fulfillmentSystemId": { "type": ["string", "null"] },
"fulfillmentSystemLocationId": { "type": ["string", "null"] },
- "shipmentId": {"type": "string"},
+ "shipmentId": { "type": ["string", "null"] },
"carrier": { "type": ["string", "null"] },
- "freight": {"type": "number", "format": "double"},
+ "freight": { "type": ["number", "null"], "format": "double" },
"masterTrackingNumber": { "type": ["string", "null"] },
"packages": {
"type": ["array", "null"],
@@ -175,7 +172,7 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "packageNumber": {"type": "string"},
+ "packageNumber": { "type": ["string", "null"] },
"products": {
"type": ["array", "null"],
"items": {
@@ -186,34 +183,37 @@
}
}
},
- "trackingNumber": {"type": "string"}
+ "trackingNumber": { "type": ["string", "null"] }
},
"required": ["packageNumber", "trackingNumber"]
}
},
"packingSlipNumber": { "type": ["string", "null"] },
- "service": {"type": "string"},
- "shipDateUtc": {"type": "string"},
+ "service": { "type": ["string", "null"] },
+ "shipDateUtc": { "type": ["string", "null"] },
"shipToAddress": {
"description": "Ship to addresses array for Order",
"type": "object",
"properties": {
- "address1": {"description": "Address line 1 for address", "type": "string"},
+ "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"] },
"addressCode": { "description": "Address code for address", "type": ["string", "null"] },
- "city": {"description": "City name for address", "type": "string"},
+ "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"},
+ "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"] },
- "name": {"type": "string"},
+ "name": { "type": ["string", "null"] },
"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"}
+ "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"]
}
diff --git a/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json b/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json
index 50f37b3..11ce44e 100644
--- a/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json
+++ b/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json
@@ -4,10 +4,9 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "data": { "description": "Updated fulfillment order data", "type": ["object", "null"] },
- "failureMessages": { "type": "array", "items": {"type": "string"} },
- "informationalMessages": { "type": "array", "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean"}
+ "failureMessages" : { "type": "array" , "items": {"type": "string"} },
+ "informationalMessages" : { "type": "array" , "items": {"type": "string"} },
+ "operationWasSuccessful": { "type": "boolean" }
},
- "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
+ "required": ["failureMessages", "informationalMessages", "operationWasSuccessful"]
}
diff --git a/schema/Api/OrderBroker/UpdateOrderRequest.json b/schema/Api/OrderBroker/UpdateOrderRequest.json
deleted file mode 100644
index 2bfa717..0000000
--- a/schema/Api/OrderBroker/UpdateOrderRequest.json
+++ /dev/null
@@ -1,345 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "UpdateOrderRequest.json",
- "type": "object",
- "properties": {
- "billingEntityId": { "description": "Billing entity ID", "type": ["string", "null"] },
- "orderId": { "description": "Order ID", "type": ["string", "null"] },
- "referenceId": { "description": "Reference ID", "type": ["string", "null"] },
- "sourceSystemCustomerId": { "description": "Source system customer ID", "type": ["string", "null"] },
- "sourceSystemId": {"description": "Source system ID", "type": "integer", "format": "int32"},
- "accessGroups": {
- "description": "Access groups",
- "type": ["array", "null"],
- "items": {"type": "string"}
- },
- "affiliateIdentifier": { "description": "Affiliate identifier", "type": ["string", "null"] },
- "affiliateName": { "description": "Affiliate name", "type": ["string", "null"] },
- "billTos": {
- "description": "Bill to addresses",
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "properties": {
- "address1": { "description": "Address line 1", "type": ["string", "null"] },
- "address2": { "description": "Address line 2", "type": ["string", "null"] },
- "address3": { "description": "Address line 3", "type": ["string", "null"] },
- "addressCode": { "description": "Address code", "type": ["string", "null"] },
- "city": { "description": "City", "type": ["string", "null"] },
- "company": { "description": "Company name", "type": ["string", "null"] },
- "country": { "description": "Country", "type": ["string", "null"] },
- "emailAddress": { "description": "Email address", "type": ["string", "null"] },
- "faxNumber": { "description": "Fax number", "type": ["string", "null"] },
- "isDeleted": { "description": "Is deleted flag", "type": ["boolean", "null"] },
- "key": {"description": "Bill to key", "type": "string", "pattern": "^[0-9]+$"},
- "name": { "description": "Contact name", "type": ["string", "null"] },
- "phoneNumber": { "description": "Phone number", "type": ["string", "null"] },
- "postalCode": { "description": "Postal code", "type": ["string", "null"] },
- "stateProvince": { "description": "State or province", "type": ["string", "null"] }
- },
- "required": ["key"]
- }
- },
- "costCenter": { "description": "Cost center", "type": ["string", "null"] },
- "creditCardFee": {
- "description": "Credit card fee",
- "type": ["number", "null"],
- "format": "decimal"
- },
- "defaultBillToKey": {
- "description": "Default bill to key",
- "type": ["string", "null"],
- "pattern": "^[0-9]+$"
- },
- "defaultOrderedByKey": {
- "description": "Default ordered by key",
- "type": ["string", "null"],
- "pattern": "^[0-9]+$"
- },
- "defaultShipToKey": {
- "description": "Default ship to key",
- "type": ["string", "null"],
- "pattern": "^[0-9]+$"
- },
- "dueDate": { "description": "Due date", "type": ["string", "null"] },
- "lineItems": {
- "description": "Line items",
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "properties": {
- "offerId": { "description": "Offer ID", "type": ["string", "null"] },
- "referenceId": { "description": "Reference ID", "type": ["string", "null"] },
- "variableTemplatePrintId": { "description": "Variable template print ID", "type": ["string", "null"] },
- "additionalProperties": {
- "description": "Additional properties",
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "properties": {
- "key" : { "description": "Property key" , "type": ["string", "null"] },
- "value": { "description": "Property value", "type": ["string", "null"] }
- }
- }
- },
- "billToKey": {
- "description": "Bill to key",
- "type": ["string", "null"],
- "pattern": "^[0-9]+$"
- },
- "comment": { "description": "Comment", "type": ["string", "null"] },
- "costCenter": { "description": "Cost center", "type": ["string", "null"] },
- "dueDate": { "description": "Due date", "type": ["string", "null"] },
- "lineItemFee": {
- "description": "Line item fee",
- "type": ["number", "null"],
- "format": "decimal"
- },
- "offerDescription": { "description": "Offer description", "type": ["string", "null"] },
- "offerLineNumber": {
- "description": "Offer line number",
- "type": ["string", "null"],
- "pattern": "^[0-9]+$"
- },
- "offerNumber": { "description": "Offer number", "type": ["string", "null"] },
- "orderedByKey": {
- "description": "Ordered by key",
- "type": ["string", "null"],
- "pattern": "^[0-9]+$"
- },
- "pONumber": { "description": "Purchase order number", "type": ["string", "null"] },
- "price": { "description": "Price", "type": ["number", "null"], "format": "decimal" },
- "products": {
- "description": "Products",
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "properties": {
- "productId": { "description": "Product ID", "type": ["string", "null"] },
- "associatedFileName": { "description": "Associated file name", "type": ["string", "null"] },
- "color": { "description": "Product color", "type": ["string", "null"] },
- "comment": { "description": "Comment", "type": ["string", "null"] },
- "components": {
- "description": "Product components",
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "properties": {
- "productId": { "description": "Component product ID", "type": ["string", "null"] },
- "associatedFileName": { "description": "Component associated file name", "type": ["string", "null"] },
- "color": { "description": "Component color", "type": ["string", "null"] },
- "comment": { "description": "Component comment", "type": ["string", "null"] },
- "componentLineNumber": {
- "description": "Component line number",
- "type": ["string", "null"],
- "pattern": "^[0-9]+$"
- },
- "productDescription": { "description": "Component product description", "type": ["string", "null"] },
- "productNumber": { "description": "Component product number", "type": ["string", "null"] },
- "productOwner": { "description": "Component product owner", "type": ["string", "null"] },
- "quantityBackordered": {
- "description": "Component quantity backordered",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "quantityOrdered": {
- "description": "Component quantity ordered",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "size": { "description": "Component size", "type": ["string", "null"] }
- }
- }
- },
- "pageCount": { "description": "Page count", "type": ["integer", "null"], "format": "int32" },
- "productDescription": { "description": "Product description", "type": ["string", "null"] },
- "productLineNumber": {
- "description": "Product line number",
- "type": ["string", "null"],
- "pattern": "^[0-9]+$"
- },
- "productNumber": { "description": "Product number", "type": ["string", "null"] },
- "productOwner": { "description": "Product owner", "type": ["string", "null"] },
- "quantityOrdered": {
- "description": "Quantity ordered",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "size": { "description": "Product size", "type": ["string", "null"] }
- }
- }
- },
- "quantityOrdered": {
- "description": "Quantity ordered",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "rushOrder": { "description": "Rush order flag", "type": ["boolean", "null"] },
- "shipToKey": {
- "description": "Ship to key",
- "type": ["string", "null"],
- "pattern": "^[0-9]+$"
- },
- "taxAmount": { "description": "Tax amount", "type": ["number", "null"], "format": "decimal" }
- }
- }
- },
- "orderFee": { "description": "Order fee", "type": ["number", "null"], "format": "decimal" },
- "orderVariables": { "description": "Order variables", "type": ["object", "null"] },
- "orderedBys": {
- "description": "Ordered by addresses",
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "properties": {
- "address1": { "description": "Address line 1", "type": ["string", "null"] },
- "address2": { "description": "Address line 2", "type": ["string", "null"] },
- "address3": { "description": "Address line 3", "type": ["string", "null"] },
- "addressCode": { "description": "Address code", "type": ["string", "null"] },
- "city": { "description": "City", "type": ["string", "null"] },
- "company": { "description": "Company name", "type": ["string", "null"] },
- "country": { "description": "Country", "type": ["string", "null"] },
- "emailAddress": { "description": "Email address", "type": ["string", "null"] },
- "faxNumber": { "description": "Fax number", "type": ["string", "null"] },
- "isDeleted": { "description": "Is deleted flag", "type": ["boolean", "null"] },
- "key": {"description": "Ordered by key", "type": "string", "pattern": "^[0-9]+$"},
- "name": { "description": "Contact name", "type": ["string", "null"] },
- "phoneNumber": { "description": "Phone number", "type": ["string", "null"] },
- "postalCode": { "description": "Postal code", "type": ["string", "null"] },
- "stateProvince": { "description": "State or province", "type": ["string", "null"] }
- },
- "required": ["key"]
- }
- },
- "pONumber": {
- "description": "Purchase order number",
- "type": ["string", "null"],
- "maxLength": 20
- },
- "paymentMethods": {
- "description": "Payment methods",
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "properties": {
- "amount": {
- "description": "Payment amount",
- "type": ["number", "null"],
- "format": "decimal"
- },
- "methodName": { "description": "Payment method name", "type": ["string", "null"] }
- }
- }
- },
- "pickPackHandlingFee": {
- "description": "Pick pack handling fee",
- "type": ["number", "null"],
- "format": "decimal"
- },
- "rushOrder": {"description": "Rush order flag", "type": "boolean"},
- "shipTos": {
- "description": "Ship to addresses",
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "properties": {
- "affiliateId": { "description": "Affiliate ID", "type": ["string", "null"] },
- "referenceId": { "description": "Reference ID", "type": ["string", "null"] },
- "sourceSystemShippingMethodId": {
- "description": "Source system shipping method ID",
- "type": ["string", "null"]
- },
- "affiliateName": { "description": "Affiliate name", "type": ["string", "null"] },
- "comment": { "description": "Comment", "type": ["string", "null"] },
- "costCenter": { "description": "Cost center", "type": ["string", "null"] },
- "creditCardFee": {
- "description": "Credit card fee",
- "type": ["number", "null"],
- "format": "decimal"
- },
- "dueDate": { "description": "Due date", "type": ["string", "null"] },
- "key": {"description": "Ship to key", "type": "string", "pattern": "^[0-9]+$"},
- "orderFee": { "description": "Order fee", "type": ["number", "null"], "format": "decimal" },
- "pONumber": { "description": "Purchase order number", "type": ["string", "null"] },
- "paymentMethods": {
- "description": "Payment methods",
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "properties": {
- "amount": {
- "description": "Payment amount",
- "type": ["number", "null"],
- "format": "decimal"
- },
- "methodName": { "description": "Payment method name", "type": ["string", "null"] }
- }
- }
- },
- "pickPackHandlingFee": {
- "description": "Pick pack handling fee",
- "type": ["number", "null"],
- "format": "decimal"
- },
- "rushFee": { "description": "Rush fee", "type": ["number", "null"], "format": "decimal" },
- "rushOrder": { "description": "Rush order flag", "type": ["boolean", "null"] },
- "shipToAddress": {
- "description": "Ship to address",
- "type": ["object", "null"],
- "properties": {
- "address1" : { "description": "Address line 1" , "type": ["string", "null"] },
- "address2" : { "description": "Address line 2" , "type": ["string", "null"] },
- "address3" : { "description": "Address line 3" , "type": ["string", "null"] },
- "addressCode" : { "description": "Address code" , "type": ["string", "null"] },
- "city" : { "description": "City" , "type": ["string", "null"] },
- "company" : { "description": "Company name" , "type": ["string", "null"] },
- "country" : { "description": "Country" , "type": ["string", "null"] },
- "emailAddress" : { "description": "Email address" , "type": ["string", "null"] },
- "faxNumber" : { "description": "Fax number" , "type": ["string", "null"] },
- "name" : { "description": "Contact name" , "type": ["string", "null"] },
- "phoneNumber" : { "description": "Phone number" , "type": ["string", "null"] },
- "postalCode" : { "description": "Postal code" , "type": ["string", "null"] },
- "stateProvince": { "description": "State or province", "type": ["string", "null"] }
- }
- },
- "shippingCost": {
- "description": "Shipping cost",
- "type": ["number", "null"],
- "format": "decimal"
- },
- "shippingHandlingTax": {
- "description": "Shipping handling tax",
- "type": ["number", "null"],
- "format": "decimal"
- },
- "totalOrderFee": {
- "description": "Total order fee",
- "type": ["number", "null"],
- "format": "decimal"
- }
- },
- "required": ["key"]
- }
- },
- "shippingHandlingTax": {
- "description": "Shipping handling tax",
- "type": ["number", "null"],
- "format": "decimal"
- },
- "totalOrderFee": {
- "description": "Total order fee",
- "type": ["number", "null"],
- "format": "decimal"
- },
- "totalShippingCost": {
- "description": "Total shipping cost",
- "type": ["number", "null"],
- "format": "decimal"
- },
- "updateDateTime": { "description": "Update date time", "type": ["string", "null"] }
- },
- "required": [
- "sourceSystemCustomerId", "sourceSystemId", "orderId", "shippingHandlingTax",
- "billTos", "shipTos"
- ]
-}
diff --git a/schema/Api/ProductBroker/GetAllProductsResponse.json b/schema/Api/ProductBroker/GetAllProductsResponse.json
index 91bb7a0..5793c76 100644
--- a/schema/Api/ProductBroker/GetAllProductsResponse.json
+++ b/schema/Api/ProductBroker/GetAllProductsResponse.json
@@ -4,7 +4,7 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "data": {
+ "Data": {
"type": ["array", "null"],
"items": {
"type": "object",
@@ -36,9 +36,9 @@
"required": ["ProductId", "ProductNumber", "ProductType", "Status", "LastUpdateDateTimeUtc"]
}
},
- "failureMessages": { "type": "array", "items": {"type": "string"} },
- "informationalMessages": { "type": "array", "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean"}
+ "FailureMessages": { "type": "array", "items": {"type": "string"} },
+ "InformationalMessages": { "type": "array", "items": {"type": "string"} },
+ "OperationWasSuccessful": {"type": "boolean"}
},
- "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
+ "required": ["FailureMessages", "InformationalMessages", "OperationWasSuccessful", "Data"]
}
diff --git a/schema/Api/ProductBroker/GetProductsInventoryResponse.json b/schema/Api/ProductBroker/GetProductsInventoryResponse.json
deleted file mode 100644
index 5d69b75..0000000
--- a/schema/Api/ProductBroker/GetProductsInventoryResponse.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "GetProductsInventoryResponse.json",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "data": {
- "type": ["array", "null"],
- "items": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "ProductId": {
- "description": "Unique ID for component product within Integration Broker",
- "type": "string"
- },
- "CurrentAvailableQty": {
- "description": "Current available quantity for the product",
- "type": "integer",
- "format": "int32"
- },
- "CurrentOnHandQty": {
- "description": "Current quantity on hand for the product",
- "type": "integer",
- "format": "int32"
- },
- "Expected": {
- "description": "Expected quantity for the product",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "OnBackorder": {
- "description": "Quantity on backorder for the product",
- "type": ["integer", "null"],
- "format": "int32"
- },
- "Reserved": {
- "description": "Quantity reserved for the product",
- "type": "integer",
- "format": "int32"
- }
- },
- "required": ["ProductId", "CurrentOnHandQty", "CurrentAvailableQty", "Reserved"]
- }
- },
- "failureMessages": { "type": "array", "items": {"type": "string"} },
- "informationalMessages": { "type": "array", "items": {"type": "string"} },
- "operationWasSuccessful": {"type": "boolean"}
- },
- "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
-}
diff --git a/schema/Api/ProductBroker/GetProductsParameters.json b/schema/Api/ProductBroker/GetProductsParameters.json
new file mode 100644
index 0000000..e838ad7
--- /dev/null
+++ b/schema/Api/ProductBroker/GetProductsParameters.json
@@ -0,0 +1,21 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "GetProductsParameters.json",
+ "description": "Query parameters for retrieving products by their IDs. Used in GET /api/v3/products/GetProducts endpoint.",
+ "type": "object",
+ "additionalProperties": false,
+ "title": "GetProductsParameters",
+ "properties": {
+ "ProductIds": {
+ "description": "Array of product identifiers to retrieve. At least one product ID must be provided.",
+ "type": "array",
+ "items": {
+ "description": "Product identifier in the format expected by ProductBroker",
+ "type": "string"
+ },
+ "minItems": 1
+ }
+ },
+ "required": ["ProductIds"],
+ "examples": [ { "ProductIds": ["PROD-001", "PROD-002", "PROD-003"] } ]
+}
diff --git a/schema/Api/ProductBroker/GetProductsResponse.json b/schema/Api/ProductBroker/GetProductsResponse.json
new file mode 100644
index 0000000..ee9fb9e
--- /dev/null
+++ b/schema/Api/ProductBroker/GetProductsResponse.json
@@ -0,0 +1,48 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "GetProductsResponse.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "Data": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "BillingEntityId": {
+ "description": "Billing entity identifier associated with the product",
+ "type": ["string", "null"]
+ },
+ "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": {"description": "Type of the product", "type": "string"},
+ "Size": { "description": "Size of component product", "type": ["string", "null"] },
+ "Status": {"description": "Current status of the product", "type": "string"},
+ "UnitOfMeasure": { "description": "Unit of measure for the product", "type": ["string", "null"] }
+ },
+ "required": ["ProductId", "ProductNumber", "ProductType", "Status", "LastUpdateDateTimeUtc"]
+ }
+ },
+ "FailureMessages": { "type": "array", "items": {"type": "string"} },
+ "InformationalMessages": { "type": "array", "items": {"type": "string"} },
+ "OperationWasSuccessful": {"type": "boolean"}
+ },
+ "required": ["FailureMessages", "InformationalMessages", "OperationWasSuccessful", "Data"]
+}
diff --git a/schema/Api/ShippingBroker/GetShippingratesRequest.json b/schema/Api/ShippingBroker/GetShippingratesRequest.json
index 4358f9a..7baa762 100644
--- a/schema/Api/ShippingBroker/GetShippingratesRequest.json
+++ b/schema/Api/ShippingBroker/GetShippingratesRequest.json
@@ -4,7 +4,10 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "SourceSystemCustomerId": {"description": "Source system customer identifier", "type": "string"},
+ "SourceSystemCustomerId": {
+ "description": "Source system customer identifier",
+ "type": ["string", "null"]
+ },
"SourceSystemId": {
"description": "Source system identifier",
"type": "integer",
@@ -12,7 +15,7 @@
},
"OfferIds": {
"description": "List of offer identifiers",
- "type": "array",
+ "type": ["array", "null"],
"items": {"type": "string"}
},
"PackageWeight": {"description": "Package weight", "type": "number", "format": "float"},
@@ -21,37 +24,38 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "Address1": {"description": "Address line 1", "type": "string"},
- "Address2": {"description": "Address line 2", "type": "string"},
- "Address3": {"description": "Address line 3", "type": "string"},
- "City": {"description": "City", "type": "string"},
- "Company": {"description": "Company name", "type": "string"},
+ "Address1": { "description": "Address line 1", "type": ["string", "null"] },
+ "Address2": { "description": "Address line 2", "type": ["string", "null"] },
+ "Address3": { "description": "Address line 3", "type": ["string", "null"] },
+ "City": { "description": "City", "type": ["string", "null"] },
+ "Company": { "description": "Company name", "type": ["string", "null"] },
"Country": {
"description": "3-letter ISO country code",
- "type": "string",
+ "type": ["string", "null"],
"pattern": "^[A-Z]{3}$"
},
- "EmailAddress": {"description": "Email address", "type": "string", "format": "email"},
- "FaxNumber": {"description": "Fax number", "type": "string"},
- "IsResidential": {"description": "Whether the address is residential", "type": "boolean"},
- "Name": {"description": "Recipient name", "type": "string"},
- "PhoneNumber": {"description": "Phone number", "type": "string"},
- "PostalCode": {"description": "Postal code", "type": "string"},
- "StateProvince": {"description": "State or province", "type": "string"}
+ "EmailAddress": {
+ "description": "Email address",
+ "type": ["string", "null"],
+ "format": "email"
+ },
+ "FaxNumber": { "description": "Fax number", "type": ["string", "null"] },
+ "IsResidential": {
+ "description": "Whether the address is residential",
+ "type": ["boolean", "null"]
+ },
+ "Name": { "description": "Recipient name", "type": ["string", "null"] },
+ "PhoneNumber": { "description": "Phone number", "type": ["string", "null"] },
+ "PostalCode": { "description": "Postal code", "type": ["string", "null"] },
+ "StateProvince": { "description": "State or province", "type": ["string", "null"] }
},
- "required": [
- "Name", "Address1", "City", "StateProvince", "PostalCode", "EmailAddress",
- "Country", "IsResidential"
- ]
+ "required": []
},
"SourceSystemShippingMethods": {
"description": "List of source system shipping methods",
- "type": "array",
+ "type": ["array", "null"],
"items": {"type": "string"}
}
},
- "required": [
- "SourceSystemId", "SourceSystemCustomerId", "SourceSystemShippingMethods",
- "ShipToAddress", "PackageWeight", "OfferIds"
- ]
+ "required": ["SourceSystemId", "ShipToAddress", "PackageWeight"]
}
diff --git a/schema/Event/Customer/Customer.json b/schema/Event/Customer/Customer.json
index 9fddd7b..f57a6bd 100644
--- a/schema/Event/Customer/Customer.json
+++ b/schema/Event/Customer/Customer.json
@@ -80,6 +80,7 @@
"required": ["Address1", "City", "Country", "PostalCode", "StateProvince"]
},
"ContactEmailAddress": { "description": "Contact email address", "type": ["string", "null"] },
+ "DirectMailProvider": { "description": "Direct mail provider", "type": ["string", "null"] },
"DoValidateOrderPrice": {"description": "Whether to validate order price", "type": "boolean"},
"EmailNotificationSubscriptions": {
"description": "Email notification subscriptions",
@@ -97,7 +98,13 @@
"required": ["EmailNotificationTemplateId", "EmailAddresses"]
}
},
+ "EmailServiceProvider": { "description": "Email service provider", "type": ["string", "null"] },
+ "InheritParentOffers": {
+ "description": "Whether to inherit offers from parent customer",
+ "type": "boolean"
+ },
"InvoiceEmailAddress": { "description": "Invoice email address", "type": ["string", "null"] },
+ "MailingFileLocation": { "description": "Mailing file location", "type": ["string", "null"] },
"Name": {"description": "Customer name", "type": "string"},
"OfferRevisionDelimiter": { "description": "Offer revision delimiter", "type": ["string", "null"] },
"Parent": {
@@ -108,11 +115,8 @@
"Name": { "description": "Parent customer name", "type": ["string", "null"] }
}
},
- "Partner": { "description": "Partner", "type": ["string", "null"] },
"PaymentEmailAddress": { "description": "Payment email address", "type": ["string", "null"] },
- "PhoneNumber": { "description": "Phone number", "type": ["string", "null"] },
"ProductionFileLocation": { "description": "Production file location", "type": ["string", "null"] },
- "SalesRep": { "description": "Sales representative", "type": ["string", "null"] },
"ShipMethodMappings": {
"description": "Ship method mappings",
"type": ["array", "null"],
@@ -152,9 +156,10 @@
},
"required": ["Id", "SourceSystemCustomerId"]
}
- },
- "Subsidiary": { "description": "Subsidiary", "type": ["string", "null"] },
- "Website": { "description": "Website", "type": ["string", "null"] }
+ }
},
- "required": ["Id", "Name", "BillToCodeRequiredOnOrder", "DoValidateOrderPrice"]
+ "required": [
+ "Id", "Name", "BillToCodeRequiredOnOrder", "DoValidateOrderPrice",
+ "InheritParentOffers"
+ ]
}
diff --git a/schema/Event/Customer/CustomerEvent.json b/schema/Event/Customer/CustomerEvent.json
index 3e08530..d31c626 100644
--- a/schema/Event/Customer/CustomerEvent.json
+++ b/schema/Event/Customer/CustomerEvent.json
@@ -16,10 +16,7 @@
"EventName": {
"description": "Name of triggered event for Customer",
"type": "string",
- "enum": [
- "Customer Created", "Customer Updated", "Customer Status Changed",
- "Customer View Updated", "Customer View Refreshed"
- ]
+ "enum": ["Customer Created", "Customer Updated"]
}
}
}
diff --git a/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json b/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
index 05721b3..2a566ba 100644
--- a/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
+++ b/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
@@ -24,9 +24,9 @@
"description": "Name of triggered event for FulfillmentOrder",
"type": "string",
"enum": [
- "FulfillmentOrder Created", "FulfillmentOrder Updated",
- "FulfillmentOrder Status Changed", "FulfillmentOrder View Updated",
- "FulfillmentOrder View Refreshed"
+ "Fulfillment Order Created", "Fulfillment Order Submitted to Fulfillment System",
+ "Fulfillment Order Submission Failed", "Fulfillment Order Updated",
+ "Fulfillment Order Update Validation Failed"
]
}
}
diff --git a/schema/Event/Offer/OfferEvent.json b/schema/Event/Offer/OfferEvent.json
index 90a184a..d0d74ea 100644
--- a/schema/Event/Offer/OfferEvent.json
+++ b/schema/Event/Offer/OfferEvent.json
@@ -16,10 +16,7 @@
"EventName": {
"description": "Name of triggered event for Offer",
"type": "string",
- "enum": [
- "Offer Created", "Offer Updated", "Offer Deleted", "Offer Status Changed",
- "Offer View Updated", "Offer View Refreshed"
- ]
+ "enum": ["Offer Created", "Offer Updated", "Offer Deleted"]
}
}
}
diff --git a/schema/Event/OfferCategory/OfferCategory.json b/schema/Event/OfferCategory/OfferCategory.json
index 3b5d5dc..df866c4 100644
--- a/schema/Event/OfferCategory/OfferCategory.json
+++ b/schema/Event/OfferCategory/OfferCategory.json
@@ -10,7 +10,8 @@
"description": "SOB unique ID of the parent category, if there is one",
"type": ["string", "null"]
},
+ "SourceSystemCustomerId": {"description": "Source System unique ID of customer", "type": "string"},
"Name": {"description": "Name to identify category", "type": "string"}
},
- "required": ["OfferCategoryId", "CustomerId", "Name"]
+ "required": ["OfferCategoryId", "CustomerId", "SourceSystemCustomerId", "Name"]
}
diff --git a/schema/Event/OfferCategory/OfferCategoryEvent.json b/schema/Event/OfferCategory/OfferCategoryEvent.json
index 1e27dd2..03c39ef 100644
--- a/schema/Event/OfferCategory/OfferCategoryEvent.json
+++ b/schema/Event/OfferCategory/OfferCategoryEvent.json
@@ -37,6 +37,7 @@
"CustomerId": "customer-123",
"OfferCategoryId": "category-456",
"ParentId": null,
+ "SourceSystemCustomerId": "vc-customer-123",
"Name": "Electronics"
}
}
diff --git a/schema/Event/OrderView/OrderView.json b/schema/Event/OrderView/OrderView.json
index a5ae82a..029f2fa 100644
--- a/schema/Event/OrderView/OrderView.json
+++ b/schema/Event/OrderView/OrderView.json
@@ -33,6 +33,7 @@
"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"] },
+ "AddressCode": { "description": "Address code 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"] },
@@ -114,6 +115,10 @@
"description": "Datetime of expected due date for individual line item",
"type": ["string", "null"]
},
+ "IsDeleted": {
+ "description": "Whether the line item is deleted",
+ "type": ["boolean", "null"]
+ },
"LineItemFee": {
"description": "Fee applied to individual line item",
"type": ["number", "null"]
@@ -206,6 +211,10 @@
"TaxAmount": {
"description": "Total tax amount applied to individual line item",
"type": ["number", "null"]
+ },
+ "UnitPrice": {
+ "description": "Unit price for individual line item",
+ "type": ["number", "null"]
}
}
}
@@ -223,6 +232,7 @@
"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"] },
+ "AddressCode": { "description": "Address code 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"] },
@@ -315,6 +325,7 @@
"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"] },
+ "AddressCode": { "description": "Address code 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"] },
@@ -347,14 +358,62 @@
"items": {
"type": "object",
"properties": {
- "ShipmentId" : { "description": "Shipment ID" , "type": ["string", "null"] },
- "ActualDeliveryDate" : { "description": "Actual delivery date" , "type": ["string", "null"] },
- "Carrier" : { "description": "Shipping carrier" , "type": ["string", "null"] },
- "EstimatedDeliveryDate": { "description": "Estimated delivery date", "type": ["string", "null"] },
- "Service" : { "description": "Shipping service" , "type": ["string", "null"] },
- "ShipDate" : { "description": "Ship date" , "type": ["string", "null"] },
- "Status" : { "description": "Shipment status" , "type": ["string", "null"] },
- "TrackingNumber" : { "description": "Tracking number" , "type": ["string", "null"] }
+ "FulfillmentSystemId": { "description": "Fulfillment system ID", "type": ["string", "null"] },
+ "FulfillmentSystemLocationId": { "description": "Fulfillment system location ID", "type": ["string", "null"] },
+ "ShipmentId": { "description": "Shipment ID", "type": ["string", "null"] },
+ "Carrier": { "description": "Shipping carrier", "type": ["string", "null"] },
+ "Freight": { "description": "Freight cost", "type": ["number", "null"] },
+ "MasterTrackingNumber": { "description": "Master tracking number", "type": ["string", "null"] },
+ "Packages": {
+ "description": "Shipment packages",
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "properties": {
+ "PackageNumber": { "description": "Package number", "type": ["string", "null"] },
+ "Products": {
+ "description": "Products in package",
+ "type": ["array", "null"],
+ "items": {
+ "type": "object",
+ "properties": {
+ "ProductLineId": { "description": "Product line ID" , "type": ["string", "null"] },
+ "ShipQuantity" : { "description": "Quantity shipped", "type": ["number", "null"] }
+ }
+ }
+ },
+ "TrackingNumber": { "description": "Tracking number for package", "type": ["string", "null"] }
+ }
+ }
+ },
+ "PackingSlipNumber": { "description": "Packing slip number", "type": ["string", "null"] },
+ "Service": { "description": "Shipping service", "type": ["string", "null"] },
+ "ShipDateUtc": { "description": "Ship date in UTC", "type": ["string", "null"] },
+ "ShipToAddress": {
+ "description": "Ship to address for shipment",
+ "type": ["object", "null"],
+ "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"] },
+ "AddressCode": { "description": "Address code 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"] },
+ "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"]
+ }
+ }
+ }
}
}
},
diff --git a/schema/Event/OrderView/OrderViewEvent.json b/schema/Event/OrderView/OrderViewEvent.json
index 8355656..816d23c 100644
--- a/schema/Event/OrderView/OrderViewEvent.json
+++ b/schema/Event/OrderView/OrderViewEvent.json
@@ -1,145 +1,173 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "OrderViewEvent.json",
- "description": "OrderViewEvent schema",
+ "description": "OrderViewEvent schema - Note: OrderView properties are flattened at the data root level, unlike OrderEvent which wraps Order in an Order object",
"type": "object",
"allOf": [
- {"$ref": "../../Common/EventBase.json"},
- {
- "type": "object",
- "properties": { "OrderView": {"$ref": "OrderView.json"} },
- "required": ["OrderView"]
- },
{
"type": "object",
"properties": {
+ "AggregateId": {
+ "description": "Unique ID for order within Integration Broker",
+ "type": "string"
+ },
"EventName": {
"description": "Name of triggered event for OrderView",
"type": "string",
"enum": [
- "OrderView Created", "OrderView Updated", "OrderView Status Changed",
- "OrderView View Updated", "OrderView View Refreshed"
+ "Order Accepted By OMS", "Order Complete", "Order Received",
+ "Order Rejected by OMS", "Order Submitted to OMS", "Order Updated",
+ "Order Validated", "Order Validation Failed", "Fulfillment Order Created",
+ "Order Submitted to Fulfillment System",
+ "Order Failed to Submit to Fulfillment System", "Order Update Requested",
+ "Order Update Request Validated", "Order Update Request Validation Failed",
+ "Fulfillment Order Creation Failed",
+ "Update Failed Fulfillment System Validation"
]
+ },
+ "EventPublisherApp": {
+ "description": "Name of source application that published event",
+ "type": "string"
}
- }
- }
+ },
+ "required": ["EventName", "EventPublisherApp", "AggregateId"]
+ },
+ {"$ref": "OrderView.json"}
],
"examples": [
{
- "AggregateId": "2-gbdstorefrontcust-2-P-4692-3606-50",
- "CorrelationId": "ae7f8b49-f36a-4b6e-9444-8f22f11a6fe3",
- "_rid": "s7l1AJVVwJcLwwIAAAAAAA==",
- "id": "aa2ec6a5-baf9-43ff-9002-3d25892fbb2a",
+ "AggregateId": "2-tuffshed-2-P-7832-9710-34",
+ "BillingEntityId": null,
+ "CorrelationId": "e587d78a-6b33-4604-a64d-6917fa81e722",
+ "CustomerId": null,
+ "OmsCustomerId": "TSTEST",
+ "OmsId": "1",
+ "OmsOrderId": "2-tuffshed-2-P-7832-9710-34",
+ "OrderId": "2-tuffshed-2-P-7832-9710-34",
+ "ReferenceId": "2-P-7832-9710-34",
+ "SourceSystemCustomerId": null,
+ "SourceSystemId": null,
+ "SourceSystemOrderId": null,
+ "AccessGroups": [
+ "TS-Admin - Cart Level", "TS-Admin Limited", "TS-Retail", "TS-Wholesale",
+ "TS-All Catalogs", "General"
+ ],
+ "AffiliateIdentifier": "0001",
+ "AffiliateName": "Tuff Shed Test",
"AggregateType": "OrderView",
+ "BillTos": [
+ {
+ "Address1": "11730 W Shields Dr",
+ "Address2": "",
+ "Address3": "",
+ "AddressCode": null,
+ "City": "Franklin",
+ "Company": "",
+ "Country": "USA",
+ "EmailAddress": "steve.amstadt+tuffshed@1touchpoint.com",
+ "FaxNumber": "",
+ "Key": "0",
+ "Name": "Steve",
+ "PhoneNumber": "216-406-1238",
+ "PostalCode": "53132",
+ "StateProvince": "WI"
+ }
+ ],
+ "CostCenter": null,
+ "CreateDateTime": null,
+ "CreditCardFee": null,
+ "DefaultBillToKey": "0",
+ "DefaultOrderedByKey": "0",
+ "DefaultShipToKey": "0",
+ "DueDate": null,
"EventActionUser": null,
- "EventDateTimeUtc": "2024-11-20T20:26:38.55",
- "EventName": "OrderView Updated",
+ "EventDateTimeUtc": "2025-11-04T18:08:58.877",
+ "EventName": "Order Validated",
"EventNameValuePairs": null,
- "EventPublisherApp": "OrderBroker ViewOrder Event Publisher",
- "EventSchemaVersion": "1.6.1",
+ "EventPublisherApp": "IntegrationBroker.OrderBroker",
+ "EventSchemaVersion": "1.7.2",
"EventSource": "OrderBroker",
- "OrderView": {
- "OmsCustomerId": "001146",
- "OmsId": "1",
- "OmsOrderId": "2-gbdstorefrontcust-2-P-4692-3606-50",
- "OrderId": "2-gbdstorefrontcust-2-P-4692-3606-50",
- "ReferenceId": "2-P-4692-3606-50",
- "SourceSystemCustomerId": null,
- "SourceSystemId": null,
- "SourceSystemOrderId": null,
- "AccessGroups": ["IN"],
- "AffiliateIdentifier": 9,
- "AffiliateName": "ZT - iHPqWad",
- "BillTos": [
- {
- "Address1": "77185 Juan Ford Apt. 265",
- "Address2": "",
- "Address3": "",
- "City": "Lovechester",
- "Company": "",
- "Country": "USA",
- "EmailAddress": "cody09@example.com",
- "FaxNumber": "",
- "IsDeleted": null,
- "Key": 0,
- "Name": "Leslie Harmon",
- "PhoneNumber": "377.454.4845",
- "PostalCode": "52209",
- "StateProvince": "Georgia"
- }
- ],
- "CostCenter": "6342091000- IN Medicaid Case Mgmt",
- "CreateDateTime": null,
- "CreditCardFee": null,
- "DefaultBillToKey": 0,
- "DefaultOrderedByKey": 0,
- "DefaultShipToKey": null,
- "DueDate": null,
- "LineItems": [
- {
- "OfferId": "1-001146-23788",
- "ProductManagementSystemCustomerId": "001146",
- "ProductManagementSystemId": 1,
- "ReferenceId": null,
- "VariableTemplatePrintId": null,
- "AdditionalProperties": [],
- "BillToKey": null,
- "Comment": "1022385INMENABS Rev. 11/22 PM:https://xxxxx.cloudfront.net/temporary/example.pdf,e47de917-5db4-45dc-9079-203690246f0a.pdf",
- "CostCenter": null,
- "DueDate": null,
- "IsDeleted": false,
- "LineItemFee": 0,
- "OfferDescription": "Important Phone Numbers Update SH MKT (IN)",
- "OfferLineNumber": "15602",
- "OfferNumber": "1022385INMENABS Rev. 11/22 PM",
- "OrderedByKey": null,
- "PONumber": null,
- "Price": 35,
- "Products": [],
- "QuantityCanceled": null,
- "QuantityOrdered": 1,
- "RushOrder": null,
- "ShipToKey": 0,
- "Status": null,
- "TaxAmount": 0
- }
- ],
- "ModifiedDateTime": "2024-11-20T14:26:38",
- "OmsCustomerName": "Ryan Griffin",
- "OrderFee": null,
- "OrderVariables": {},
- "OrderedBys": [
- {
- "Address1": "28133 Derrick Rapids",
- "Address2": "",
- "Address3": "",
- "City": "New Emilyside",
- "Company": "",
- "Country": "USA",
- "EmailAddress": "sarah01@example.com",
- "FaxNumber": "",
- "IsDeleted": null,
- "Key": 0,
- "Name": "Dawn Conway",
- "PhoneNumber": "+1-963-434-5913x919",
- "PostalCode": 9945,
- "StateProvince": "Montana"
- }
- ],
- "PONumber": "",
- "PaymentMethods": null,
- "PickPackHandlingFee": null,
- "RushOrder": false,
- "ShipTos": null,
- "ShippingHandlingTax": null,
- "Statuses": ["Order In Process"],
- "TotalOrderFee": null,
- "TotalShippingCost": null
- },
- "_attachments": "attachments/",
- "_etag": "\"080066e6-0000-0300-0000-673e47300000\"",
- "_self": "dbs/s7l1AA==/colls/s7l1AJVVwJc=/docs/s7l1AJVVwJcLwwIAAAAAAA==/",
- "_ts": 1732134704
+ "LineItems": [
+ {
+ "OfferId": "1-TSTEST-249",
+ "ProductManagementSystemCustomerId": "TSTEST",
+ "ProductManagementSystemId": 1,
+ "ReferenceId": null,
+ "VariableTemplatePrintId": null,
+ "AdditionalProperties": [],
+ "BillToKey": null,
+ "Comment": "TS_A-A0050-E:",
+ "CostCenter": null,
+ "DueDate": null,
+ "LineItemFee": 0.75,
+ "OfferDescription": "Tuff Shed Men's Polo embroidered logo",
+ "OfferLineNumber": "0",
+ "OfferNumber": "TS_A-A0050-E",
+ "OrderedByKey": null,
+ "PONumber": null,
+ "Price": 1050,
+ "Products": [
+ {
+ "FulfillmentSystemCustomerId": "TSTEST",
+ "FulfillmentSystemId": 1,
+ "ProductId": "1-TSTEST-417",
+ "AssociatedFileName": null,
+ "Color": null,
+ "Comment": null,
+ "Components": [],
+ "OfferLineNumber": "0",
+ "PageCount": null,
+ "ProductDescription": null,
+ "ProductLineNumber": "262",
+ "ProductNumber": null,
+ "ProductOwner": null,
+ "QuantityBackordered": 13,
+ "QuantityOrdered": 50,
+ "Size": null
+ }
+ ],
+ "QuantityCanceled": null,
+ "QuantityOrdered": 50,
+ "RushOrder": null,
+ "ShipToKey": "0",
+ "Status": null,
+ "TaxAmount": 0,
+ "UnitPrice": null
+ }
+ ],
+ "ModifiedDateTime": "2025-11-04T12:08:58",
+ "OmsCustomerName": "Tuff Shed TEST",
+ "OrderFee": null,
+ "OrderVariables": null,
+ "OrderedBys": [
+ {
+ "Address1": "11730 W Shields Dr",
+ "Address2": "",
+ "Address3": "",
+ "AddressCode": null,
+ "City": "Franklin",
+ "Company": "",
+ "Country": "USA",
+ "EmailAddress": "steve.amstadt+tuffshed@1touchpoint.com",
+ "FaxNumber": "",
+ "Key": "0",
+ "Name": "Steve Amstadt",
+ "PhoneNumber": "216-406-1238",
+ "PostalCode": "53132",
+ "StateProvince": "WI"
+ }
+ ],
+ "PONumber": "",
+ "PaymentMethods": null,
+ "PickPackHandlingFee": null,
+ "PriceClasses": null,
+ "RushOrder": false,
+ "ShipTos": null,
+ "Shipments": null,
+ "ShippingHandlingTax": null,
+ "Statuses": ["Accepted By OMS", "Order Item(s) Backordered", "Order In Process"],
+ "TotalOrderFee": null,
+ "TotalShippingCost": null
}
]
}