Schema Changes - 2025-04-09
This document contains the changes to the schema files compared to the main branch.
Changes
diff --git a/schema/Api/CustomerBroker/GetCustomerIdResponse.json b/schema/Api/CustomerBroker/GetCustomerIdResponse.json
deleted file mode 100644
index 288129a..0000000
--- a/schema/Api/CustomerBroker/GetCustomerIdResponse.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "$schema": "https://json-schema.org/draft-07/schema#",
- "$id": "GetCustomerIdResponse.json",
- "type": "object",
- "allOf": [
- {
- "$ref": "../../Common/ApiResponseBase.json"
- },
- {
- "type": "object",
- "properties": {
- "data": {
- "type": [
- "object",
- "null"
- ],
- "additionalProperties": false,
- "properties": {
- "CustomerId": {
- "type": "string"
- }
- },
- "required": [
- "CustomerId"
- ]
- }
- }
- }
- ],
- "examples": [
- {
- "data": {
- "CustomerId": "CUST-020"
- },
- "failureMessages": [],
- "informationalMessages": [],
- "operationWasSuccessful": true
- },
- {
- "data": null,
- "failureMessages": [
- "Customer with ID CUST-022 not found."
- ],
- "informationalMessages": [],
- "operationWasSuccessful": false
- }
- ]
-}
diff --git a/schema/Api/CustomerBroker/GetCustomerParameters.json b/schema/Api/CustomerBroker/GetCustomerParameters.json
new file mode 100644
index 0000000..7e825ce
--- /dev/null
+++ b/schema/Api/CustomerBroker/GetCustomerParameters.json
@@ -0,0 +1,19 @@
+{
+ "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"
+ },
+ "required": false
+ },
+ "CustomerId": {
+ "in": "path",
+ "name": "customerId",
+ "schema": {
+ "type": "string"
+ },
+ "required": true
+ }
+}
\ No newline at end of file
diff --git a/schema/Api/CustomerBroker/GetCustomerResponse.json b/schema/Api/CustomerBroker/GetCustomerResponse.json
index 5edf6cd..05b9c57 100644
--- a/schema/Api/CustomerBroker/GetCustomerResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomerResponse.json
@@ -1,7 +1,6 @@
{
- "$schema": "https://json-schema.org/draft-07/schema#",
+ "$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetCustomerResponse.json",
- "type": "object",
"allOf": [
{
"$ref": "../../Common/ApiResponseBase.json"
@@ -10,137 +9,9 @@
"type": "object",
"properties": {
"data": {
- "type": [
- "object",
- "null"
- ],
- "items": {
- "$ref": "parts/Customer.json"
- }
+ "$ref": "parts/Customer.json"
}
}
}
- ],
- "examples": [
- {
- "data": {
- "DefaultWarehouseId": null,
- "Id": "CUST-002",
- "BrokerScopes": [
- "JobBroker",
- "OrderTrackingBroker",
- "OrderBroker",
- "OfferBroker",
- "ProductBroker"
- ],
- "ContactAddress": {
- "ClientId": 2,
- "Id": 1,
- "Address1": "123 Main St",
- "Address2": "Suite 101",
- "Address3": null,
- "AddressType": "Contact",
- "City": "New York",
- "Company": "Acme Corporation",
- "Country": "USA",
- "FaxNumber": "212-555-0100",
- "Name": "Headquarters",
- "PhoneNumber": "212-555-0101",
- "PostalCode": "10001",
- "StateProvince": "NY"
- },
- "ContactEmailAddress": "contact2@example.com",
- "EmailNotificationSubscriptions": [
- {
- "EmailNotificationTemplateId": "TemplateC",
- "EmailAddresses": [
- "email1@example.com",
- "email2@example.com",
- "email3@example.com"
- ]
- },
- {
- "EmailNotificationTemplateId": "TemplateA",
- "EmailAddresses": [
- "client2@example.com"
- ]
- }
- ],
- "InvoiceEmailAddress": null,
- "Name": "Eaton",
- "Parent": {
- "Id": "CUST-020",
- "Name": "Anthem"
- },
- "Partner": "Partner A",
- "PaymentEmailAddress": null,
- "PhoneNumber": "212-555-0101",
- "ProductionFileLocation": null,
- "SalesRep": "Alice Eaton",
- "ShipMethodMappings": [
- {
- "RatesProviderShipMethodId": "RPM-001",
- "SourceSystemShipMethodId": "SSM-001",
- "FulfillmentSystemShipMethods": [
- {
- "ClientShipMethodMappingId": 0,
- "FulfillmentSystemId": 2,
- "FulfillmentSystemShipMethodId": "FSSM-001",
- "FulfillmentSystemName": "Fusion"
- },
- {
- "ClientShipMethodMappingId": 0,
- "FulfillmentSystemId": 6,
- "FulfillmentSystemShipMethodId": "FSSM-002",
- "FulfillmentSystemName": "Slingshot"
- }
- ]
- },
- {
- "RatesProviderShipMethodId": "RPM-002",
- "SourceSystemShipMethodId": "SSM-002",
- "FulfillmentSystemShipMethods": [
- {
- "ClientShipMethodMappingId": 0,
- "FulfillmentSystemId": 3,
- "FulfillmentSystemShipMethodId": "FSSM-003",
- "FulfillmentSystemName": "u.Connect"
- }
- ]
- },
- {
- "RatesProviderShipMethodId": "RPM-003",
- "SourceSystemShipMethodId": "SSM-003",
- "FulfillmentSystemShipMethods": [
- {
- "ClientShipMethodMappingId": 0,
- "FulfillmentSystemId": 3,
- "FulfillmentSystemShipMethodId": "FSSM-014",
- "FulfillmentSystemName": "u.Connect"
- },
- {
- "ClientShipMethodMappingId": 0,
- "FulfillmentSystemId": 2,
- "FulfillmentSystemShipMethodId": "FSSM-015",
- "FulfillmentSystemName": "Fusion"
- }
- ]
- }
- ],
- "Subsidiary": "Subsidiary 2",
- "Website": "http://client2.example.com"
- },
- "failureMessages": [],
- "informationalMessages": [],
- "operationWasSuccessful": true
- },
- {
- "data": null,
- "failureMessages": [
- "Customer with ID CUST-022 not found."
- ],
- "informationalMessages": [],
- "operationWasSuccessful": false
- }
]
}
diff --git a/schema/Api/CustomerBroker/GetCustomersResponse.json b/schema/Api/CustomerBroker/GetCustomersResponse.json
index 1d9429c..e26b376 100644
--- a/schema/Api/CustomerBroker/GetCustomersResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomersResponse.json
@@ -15,9 +15,13 @@
],
"items": {
"type": "object",
+ "additionalProperties": false,
"properties": {
"Id": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"ParentId": {
"type": [
@@ -26,13 +30,12 @@
]
},
"Name": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
}
- },
- "required": [
- "Id",
- "Name"
- ]
+ }
}
}
}
diff --git a/schema/Api/CustomerBroker/issues-GetCustomersResponse.json.md b/schema/Api/CustomerBroker/issues-GetCustomersResponse.json.md
deleted file mode 100644
index da90ccf..0000000
--- a/schema/Api/CustomerBroker/issues-GetCustomersResponse.json.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Issues with Api/CustomerBroker/GetCustomersResponse.json
-
-- Schema should be sending a standard API response. Fixing in documentation
-
diff --git a/schema/Api/CustomerBroker/parts/ContactAddress.json b/schema/Api/CustomerBroker/parts/ContactAddress.json
index 0d83bab..cd45029 100644
--- a/schema/Api/CustomerBroker/parts/ContactAddress.json
+++ b/schema/Api/CustomerBroker/parts/ContactAddress.json
@@ -3,59 +3,90 @@
"$id": "ContactAddress.json",
"type": "object",
"additionalProperties": false,
- "title": "ContactAddress",
"properties": {
"ClientId": {
- "type": "integer"
+ "type": "integer",
+ "format": "int32"
},
"Id": {
- "type": "integer"
+ "type": "integer",
+ "format": "int32"
},
"Address1": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"Address2": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"Address3": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"AddressType": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"City": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"Company": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"Country": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"FaxNumber": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"Name": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"PhoneNumber": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"PostalCode": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"StateProvince": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
}
},
"required": [
- "Id",
- "ClientId",
- "AddressType",
"Address1",
- "City",
- "StateProvince",
- "PostalCode",
- "Country"
+ "AddressType"
]
}
diff --git a/schema/Api/CustomerBroker/parts/Customer.json b/schema/Api/CustomerBroker/parts/Customer.json
deleted file mode 100644
index 29cdf7e..0000000
--- a/schema/Api/CustomerBroker/parts/Customer.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Customer.json",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "DefaultWarehouseId": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "BrokerScopes": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- }
- },
- "ContactAddress": {
- "$ref": "./ContactAddress.json",
- "type": [
- "null"
- ]
- },
- "ContactEmailAddress": {
- "type": "string"
- },
- "EmailNotificationSubscriptions": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "$ref": "./EmailNotificationSubscription.json"
- }
- },
- "InvoiceEmailAddress": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "Partner": {
- "type": "string"
- },
- "PaymentEmailAddress": {
- "type": "string"
- },
- "PhoneNumber": {
- "type": "string"
- },
- "ProductionFileLocation": {
- "type": "string"
- },
- "SalesRep": {
- "type": "string"
- },
- "ShipMethodMappings": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "$ref": "./ShipMethodMapping.json"
- }
- },
- "Subsidiary": {
- "type": "string"
- },
- "Website": {
- "type": "string",
- "format": "uri",
- "qt-uri-protocols": [
- "http"
- ]
- },
- "parent": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "id": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "id",
- "name"
- ]
- }
- },
- "required": [
- "Id",
- "Name"
- ]
-}
diff --git a/schema/Api/CustomerBroker/parts/EmailNotificationSubscription.json b/schema/Api/CustomerBroker/parts/EmailNotificationSubscription.json
index 4c5aed5..ebdfb32 100644
--- a/schema/Api/CustomerBroker/parts/EmailNotificationSubscription.json
+++ b/schema/Api/CustomerBroker/parts/EmailNotificationSubscription.json
@@ -5,17 +5,19 @@
"additionalProperties": false,
"properties": {
"EmailNotificationTemplateId": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"EmailAddresses": {
- "type": "array",
+ "type": [
+ "array",
+ "null"
+ ],
"items": {
"type": "string"
}
}
- },
- "required": [
- "EmailAddresses",
- "EmailNotificationTemplateId"
- ]
+ }
}
diff --git a/schema/Api/CustomerBroker/parts/FulfillmentSystemShipMethod.json b/schema/Api/CustomerBroker/parts/FulfillmentSystemShipMethod.json
index 259d444..3c35942 100644
--- a/schema/Api/CustomerBroker/parts/FulfillmentSystemShipMethod.json
+++ b/schema/Api/CustomerBroker/parts/FulfillmentSystemShipMethod.json
@@ -4,23 +4,21 @@
"type": "object",
"additionalProperties": false,
"properties": {
- "ClientShipMethodMappingId": {
- "type": "integer"
- },
"FulfillmentSystemId": {
- "type": "integer"
+ "type": "integer",
+ "format": "int32"
},
"FulfillmentSystemShipMethodId": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"FulfillmentSystemName": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
}
- },
- "required": [
- "ClientShipMethodMappingId",
- "FulfillmentSystemId",
- "FulfillmentSystemName",
- "FulfillmentSystemShipMethodId"
- ]
+ }
}
diff --git a/schema/Api/CustomerBroker/parts/Parent.json b/schema/Api/CustomerBroker/parts/Parent.json
new file mode 100644
index 0000000..63ded24
--- /dev/null
+++ b/schema/Api/CustomerBroker/parts/Parent.json
@@ -0,0 +1,20 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "Parent.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "Name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ }
+}
diff --git a/schema/Api/CustomerBroker/parts/ShipMethodMapping.json b/schema/Api/CustomerBroker/parts/ShipMethodMapping.json
index 8d129b7..66c248d 100644
--- a/schema/Api/CustomerBroker/parts/ShipMethodMapping.json
+++ b/schema/Api/CustomerBroker/parts/ShipMethodMapping.json
@@ -5,21 +5,25 @@
"additionalProperties": false,
"properties": {
"RatesProviderShipMethodId": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"SourceSystemShipMethodId": {
- "type": "string"
+ "type": [
+ "string",
+ "null"
+ ]
},
"FulfillmentSystemShipMethods": {
- "type": "array",
+ "type": [
+ "array",
+ "null"
+ ],
"items": {
- "$ref": "./FulfillmentSystemShipMethod.json"
+ "$ref": "FulfillmentSystemShipMethod.json"
}
}
- },
- "required": [
- "FulfillmentSystemShipMethods",
- "RatesProviderShipMethodId",
- "SourceSystemShipMethodId"
- ]
+ }
}
diff --git a/schema/Api/IdentityBroker/GetCustomerTokenParameters.json b/schema/Api/IdentityBroker/GetCustomerTokenParameters.json
new file mode 100644
index 0000000..714aab1
--- /dev/null
+++ b/schema/Api/IdentityBroker/GetCustomerTokenParameters.json
@@ -0,0 +1,11 @@
+{
+ "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"
+ },
+ "required": false
+ }
+}
\ No newline at end of file
diff --git a/schema/Api/IdentityBroker/GetCustomerTokenRequest.json b/schema/Api/IdentityBroker/GetCustomerTokenRequest.json
new file mode 100644
index 0000000..6aea7ab
--- /dev/null
+++ b/schema/Api/IdentityBroker/GetCustomerTokenRequest.json
@@ -0,0 +1,24 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "GetCustomerTokenRequest.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "SourceSystemId": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "ClientName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "Password": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ }
+}
diff --git a/schema/Api/IdentityBroker/GetCustomerTokenResponse.json b/schema/Api/IdentityBroker/GetCustomerTokenResponse.json
new file mode 100644
index 0000000..7c1fa15
--- /dev/null
+++ b/schema/Api/IdentityBroker/GetCustomerTokenResponse.json
@@ -0,0 +1,17 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "GetCustomerTokenResponse.json",
+ "allOf": [
+ {
+ "$ref": "../../Common/ApiResponseBase.json"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "parts/CustomerToken.json"
+ }
+ }
+ }
+ ]
+}
diff --git a/schema/Api/IdentityBroker/parts/CustomerToken.json b/schema/Api/IdentityBroker/parts/CustomerToken.json
new file mode 100644
index 0000000..6a55e70
--- /dev/null
+++ b/schema/Api/IdentityBroker/parts/CustomerToken.json
@@ -0,0 +1,17 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "CustomerToken.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "AuthToken": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "ExpiresOn": {
+ "type": "string"
+ }
+ }
+}
diff --git a/schema/Api/IdentityBroker/parts/Token.json b/schema/Api/IdentityBroker/parts/Token.json
new file mode 100644
index 0000000..b972343
--- /dev/null
+++ b/schema/Api/IdentityBroker/parts/Token.json
@@ -0,0 +1,17 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "Token.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "AuthToken": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "ExpiresOn": {
+ "type": "string"
+ }
+ }
+}
diff --git a/schema/Api/OfferBroker/CreateOfferRequest.json b/schema/Api/OfferBroker/CreateOfferRequest.json
index 58da63c..cf973cf 100644
--- a/schema/Api/OfferBroker/CreateOfferRequest.json
+++ b/schema/Api/OfferBroker/CreateOfferRequest.json
@@ -138,12 +138,6 @@
"null"
]
},
- "IsDeleted": {
- "type": [
- "boolean",
- "null"
- ]
- },
"IsTaxable": {
"type": [
"boolean",
@@ -264,7 +258,6 @@
}
},
"required": [
- "Id",
"Number",
"OfferType",
"SourceSystemCustomerId",
diff --git a/schema/Api/OfferBroker/GetOfferCategoriesParameters.json b/schema/Api/OfferBroker/GetOfferCategoriesParameters.json
new file mode 100644
index 0000000..714aab1
--- /dev/null
+++ b/schema/Api/OfferBroker/GetOfferCategoriesParameters.json
@@ -0,0 +1,11 @@
+{
+ "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"
+ },
+ "required": false
+ }
+}
\ No newline at end of file
diff --git a/schema/Api/OfferBroker/GetOfferCategoriesResponse.json b/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
new file mode 100644
index 0000000..cf678ba
--- /dev/null
+++ b/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
@@ -0,0 +1,23 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "GetOfferCategoriesResponse.json",
+ "allOf": [
+ {
+ "$ref": "../../Common/ApiResponseBase.json"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "parts/OfferCategory.json"
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/schema/Api/OfferBroker/GetOfferParameters.json b/schema/Api/OfferBroker/GetOfferParameters.json
index 714aab1..7314e5c 100644
--- a/schema/Api/OfferBroker/GetOfferParameters.json
+++ b/schema/Api/OfferBroker/GetOfferParameters.json
@@ -7,5 +7,13 @@
"type": "string"
},
"required": false
+ },
+ "OfferId": {
+ "in": "path",
+ "name": "offerId",
+ "schema": {
+ "type": "string"
+ },
+ "required": true
}
}
\ No newline at end of file
diff --git a/schema/Api/OfferBroker/GetOfferResponse.json b/schema/Api/OfferBroker/GetOfferResponse.json
new file mode 100644
index 0000000..7e3afad
--- /dev/null
+++ b/schema/Api/OfferBroker/GetOfferResponse.json
@@ -0,0 +1,17 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "GetOfferResponse.json",
+ "allOf": [
+ {
+ "$ref": "../../Common/ApiResponseBase.json"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "parts/Offer.json"
+ }
+ }
+ }
+ ]
+}
diff --git a/schema/Api/OfferBroker/GetOffersParameters.json b/schema/Api/OfferBroker/GetOffersParameters.json
new file mode 100644
index 0000000..714aab1
--- /dev/null
+++ b/schema/Api/OfferBroker/GetOffersParameters.json
@@ -0,0 +1,11 @@
+{
+ "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"
+ },
+ "required": false
+ }
+}
\ No newline at end of file
diff --git a/schema/Api/OfferBroker/GetOffersResponse.json b/schema/Api/OfferBroker/GetOffersResponse.json
new file mode 100644
index 0000000..8405b41
--- /dev/null
+++ b/schema/Api/OfferBroker/GetOffersResponse.json
@@ -0,0 +1,23 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "GetOffersResponse.json",
+ "allOf": [
+ {
+ "$ref": "../../Common/ApiResponseBase.json"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "parts/Offer.json"
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/schema/Api/OfferBroker/UpdateOfferRequest.json b/schema/Api/OfferBroker/UpdateOfferRequest.json
index bd93495..377b77b 100644
--- a/schema/Api/OfferBroker/UpdateOfferRequest.json
+++ b/schema/Api/OfferBroker/UpdateOfferRequest.json
@@ -138,12 +138,6 @@
"null"
]
},
- "IsDeleted": {
- "type": [
- "boolean",
- "null"
- ]
- },
"IsTaxable": {
"type": [
"boolean",
@@ -264,7 +258,6 @@
}
},
"required": [
- "Id",
"Number",
"OfferType",
"SourceSystemCustomerId",
diff --git a/schema/Api/OfferBroker/parts/AdditionalPropsRequiredOnOrder.json b/schema/Api/OfferBroker/parts/AdditionalPropsRequiredOnOrder.json
new file mode 100644
index 0000000..8e86d63
--- /dev/null
+++ b/schema/Api/OfferBroker/parts/AdditionalPropsRequiredOnOrder.json
@@ -0,0 +1,38 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "AdditionalPropsRequiredOnOrder.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "Hint": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "Label": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "Name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "Type": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "Value": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ }
+}
diff --git a/schema/Api/OfferBroker/parts/Category.json b/schema/Api/OfferBroker/parts/Category.json
new file mode 100644
index 0000000..8378834
--- /dev/null
+++ b/schema/Api/OfferBroker/parts/Category.json
@@ -0,0 +1,20 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "Category.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "CategoryKey": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "Name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ }
+}
diff --git a/schema/Api/OfferBroker/parts/Offer.json b/schema/Api/OfferBroker/parts/Offer.json
new file mode 100644
index 0000000..5721170
--- /dev/null
+++ b/schema/Api/OfferBroker/parts/Offer.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "Offer.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "OmsOfferId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "XmPieTemplateId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "XmPieUStoreId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "AccessGroups": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string"
+ }
+ },
+ "AdditionalPropsRequiredOnOrder": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "AdditionalPropsRequiredOnOrder.json"
+ }
+ },
+ "AvailableEndDate": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "AvailableStartDate": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "Categories": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "Category.json"
+ }
+ },
+ "CategoryIds": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string"
+ }
+ },
+ "Comments": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "DefaultPrice": {
+ "type": [
+ "number",
+ "null"
+ ],
+ "format": "double"
+ },
+ "Description": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "DoSuppressShippingAndHandling": {
+ "type": "boolean"
+ },
+ "FixedOrderQuantities": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "FullImageUrl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "IntegrationBrokerLastUpdatedDateTimeUtc": {
+ "type": "string"
+ },
+ "IsActive": {
+ "type": "boolean"
+ },
+ "IsDeleted": {
+ "type": "boolean"
+ },
+ "IsInventoried": {
+ "type": "boolean"
+ },
+ "IsTaxable": {
+ "type": "boolean"
+ },
+ "LastUpdatedDateTimeUTC": {
+ "type": "string"
+ },
+ "Number": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "OfferType": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "OmsIdentifier": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "OmsRootSystemName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "OnlyShipMethodsAvailable": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string"
+ }
+ },
+ "OrderMaximum": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "format": "int32"
+ },
+ "OrderMinimum": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "format": "int32"
+ },
+ "PdfUrl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "PriceClasses": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "PriceClass.json"
+ }
+ },
+ "ProductClusters": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "ProductCluster.json"
+ }
+ },
+ "SchemaVersion": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "ThumbnailUrl": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "UnitOfMeasure": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "WeightInPounds": {
+ "type": "number",
+ "format": "float"
+ }
+ }
+}
diff --git a/schema/Api/OfferBroker/parts/OfferCategory.json b/schema/Api/OfferBroker/parts/OfferCategory.json
new file mode 100644
index 0000000..d9c6126
--- /dev/null
+++ b/schema/Api/OfferBroker/parts/OfferCategory.json
@@ -0,0 +1,42 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "OfferCategory.json",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "CategoryKey": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "CategoryLevel": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "format": "int32"
+ },
+ "CategoryName": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "SubCategories": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "SubCategory.json"
+ }
+ }
+ }
+}
diff --git a/schema/Api/OfferBroker/parts/SubCategory.json b/schema/Api/OfferBroker/parts/SubCategory.json
new file mode 100644
index 0000000..811f78c
--- /dev/null
+++ b/schema/Api/OfferBroker/parts/SubCategory.json
@@ -0,0 +1,5 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "SubCategory.json",
+ "type": "object"
+}
diff --git a/schema/Api/OrderBroker/NewOrderRequest.json b/schema/Api/OrderBroker/NewOrderRequest.json
index 6492ca6..17d357b 100644
--- a/schema/Api/OrderBroker/NewOrderRequest.json
+++ b/schema/Api/OrderBroker/NewOrderRequest.json
@@ -18,16 +18,6 @@
"null"
]
},
- "SourceSystemCustomerId": {
- "type": [
- "string",
- "null"
- ]
- },
- "SourceSystemId": {
- "type": "integer",
- "format": "int32"
- },
"AccessGroups": {
"type": [
"array",
@@ -57,9 +47,18 @@
"array",
"null"
],
- "items": {
- "$ref": "parts/BillTo.json"
- },
+ "oneOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "parts/BillTo.json"
+ },
+ "minItems": 1
+ }
+ ],
"examples": [
{
"Address1": "106 Tyler Street Suite 175",
@@ -185,9 +184,18 @@
"array",
"null"
],
- "items": {
- "$ref": "parts/OrderedBy.json"
- },
+ "oneOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "parts/OrderedBy.json"
+ },
+ "minItems": 1
+ }
+ ],
"examples": [
{
"Address1": "106 Tyler Street Suite 175",
@@ -240,9 +248,18 @@
"array",
"null"
],
- "items": {
- "$ref": "parts/ShipTo.json"
- },
+ "oneOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "parts/ShipTo.json"
+ },
+ "minItems": 1
+ }
+ ],
"examples": [
{
"AffiliateId": null,
@@ -393,8 +410,6 @@
{
"OrderId": "7-mkkutsde-3-K-5649-4005-64",
"ReferenceId": "OWMR WSKFA - LNSSZT XBUUJ & MS XXQ QCHX",
- "SourceSystemCustomerId": "lqmpnpmc",
- "SourceSystemId": 2,
"AccessGroups": [
"TS-Retail",
"CDM Tuff Shed",
@@ -429,8 +444,6 @@
"LineItems": [
{
"OfferId": "t87grb75-e9pe-5405-y8yv-25n5q70bu93i",
- "ProductManagementSystemCustomerId": null,
- "ProductManagementSystemId": null,
"ReferenceId": "BEHZ QUJNS - TPGJXT MMGVN & UX ZDN HHQS",
"VariableTemplatePrintId": null,
"AdditionalProperties": [],
@@ -447,8 +460,6 @@
"Price": 17.0,
"Products": [
{
- "FulfillmentSystemCustomerId": null,
- "FulfillmentSystemId": null,
"ProductId": "3j8hu98q-s0t6-409v-029r-321r0uo02k30",
"AssociatedFileName": "",
"Color": null,
@@ -458,13 +469,10 @@
"ProductLineNumber": "1",
"ProductNumber": "R_962_24008_TSO",
"ProductOwner": null,
- "QuantityBackordered": null,
"QuantityOrdered": null,
"Size": null
},
{
- "FulfillmentSystemCustomerId": null,
- "FulfillmentSystemId": null,
"ProductId": "7jv34sz5-m4q8-8q8f-187d-jt7791j02958",
"AssociatedFileName": "",
"Color": null,
@@ -474,12 +482,10 @@
"ProductLineNumber": "2",
"ProductNumber": "TS_A-A0050",
"ProductOwner": null,
- "QuantityBackordered": null,
"QuantityOrdered": null,
"Size": null
}
],
- "QuantityCanceled": null,
"QuantityOrdered": 1,
"RushOrder": false,
"ShipToKey": 0,
@@ -556,8 +562,6 @@
{
"OrderId": "1-qrhjtpek-8-Q-0286-8859-25",
"ReferenceId": "WUQD HWKPE - XIWHAC BTVOM & BH WAK DXRI",
- "SourceSystemCustomerId": "nsfozdpa",
- "SourceSystemId": 2,
"AccessGroups": [
"TS-Retail",
"CDM Tuff Shed",
@@ -592,8 +596,6 @@
"LineItems": [
{
"OfferId": "s59otw94-k6go-1114-c6ja-17q7i68pu06t",
- "ProductManagementSystemCustomerId": null,
- "ProductManagementSystemId": null,
"ReferenceId": "VNMV APSLE - GMGDGG ELXCC & VS FUP NCHR",
"VariableTemplatePrintId": null,
"AdditionalProperties": [],
@@ -610,8 +612,6 @@
"Price": 17.0,
"Products": [
{
- "FulfillmentSystemCustomerId": null,
- "FulfillmentSystemId": null,
"ProductId": "1t6xb26e-g4n3-882j-217s-200f1fp92e83",
"AssociatedFileName": "",
"Color": null,
@@ -621,13 +621,10 @@
"ProductLineNumber": "1",
"ProductNumber": "R_962_24008_TSO",
"ProductOwner": null,
- "QuantityBackordered": null,
"QuantityOrdered": null,
"Size": null
},
{
- "FulfillmentSystemCustomerId": null,
- "FulfillmentSystemId": null,
"ProductId": "3sn29wd7-z0g3-5z6f-133y-yt7327a65247",
"AssociatedFileName": "",
"Color": null,
@@ -637,12 +634,10 @@
"ProductLineNumber": "2",
"ProductNumber": "TS_A-A0050",
"ProductOwner": null,
- "QuantityBackordered": null,
"QuantityOrdered": null,
"Size": null
}
],
- "QuantityCanceled": null,
"QuantityOrdered": 1,
"RushOrder": false,
"ShipToKey": 0,
diff --git a/schema/Api/OrderBroker/parts/LineItem.json b/schema/Api/OrderBroker/parts/LineItem.json
index 1117965..4f2229e 100644
--- a/schema/Api/OrderBroker/parts/LineItem.json
+++ b/schema/Api/OrderBroker/parts/LineItem.json
@@ -20,7 +20,7 @@
]
}
],
- "additionalProperties": true,
+ "additionalProperties": false,
"properties": {
"OfferId": {
"description": "Unique ID for offer within Integration Broker",
diff --git a/schema/Api/OrderBroker/parts/Product.json b/schema/Api/OrderBroker/parts/Product.json
index 23e32f3..ffdc410 100644
--- a/schema/Api/OrderBroker/parts/Product.json
+++ b/schema/Api/OrderBroker/parts/Product.json
@@ -3,7 +3,7 @@
"$id": "Product.json",
"description": "Order.LineItems level product details",
"type": "object",
- "additionalProperties": true,
+ "additionalProperties": false,
"properties": {
"ProductId": {
"description": "Unique ID for product within Integration Broker",
diff --git a/schema/Event/FulfillmentOrder/FulfillmentOrder.json b/schema/Event/FulfillmentOrder/FulfillmentOrder.json
index 8071f8c..90c7e2d 100644
--- a/schema/Event/FulfillmentOrder/FulfillmentOrder.json
+++ b/schema/Event/FulfillmentOrder/FulfillmentOrder.json
@@ -1,183 +1,336 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "FulfillmentOrder.json",
- "description": "FulfillmentOrder properties",
+ "description": "Details for Fulfillment Order JSON schema",
"type": "object",
+ "title": "FulfillmentOrder",
"properties": {
+ "CustomerId": {
+ "description": "Customer ID tied to the fulfillment order",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
"FulfillmentOrderId": {
- "description": "Unique identifier for the fulfillment order",
- "type": "string"
+ "description": "Unique ID for fulfillment order",
+ "type": [
+ "string",
+ "null"
+ ]
},
"FulfillmentSystemCustomerId": {
- "description": "Customer identifier in the fulfillment system",
- "type": "string"
+ "description": "ID of customer within the fulfillment system",
+ "type": [
+ "string",
+ "null"
+ ]
},
"FulfillmentSystemId": {
- "description": "Identifier of the fulfillment system",
- "type": "string"
+ "description": "System used to fulfill the order",
+ "type": [
+ "string",
+ "null"
+ ]
},
"FulfillmentSystemLocationId": {
- "description": "Location identifier in the fulfillment system",
+ "description": "ID of location within the fulfillment system",
"type": [
"string",
"null"
]
},
"FulfillmentSystemOrderId": {
- "description": "Order identifier in the fulfillment system",
+ "description": "Fulfillment order ID within the fulfillment system",
"type": [
"string",
"null"
]
},
- "OmsCustomerId": {
- "description": "Customer identifier in the OMS",
- "type": "string"
- },
- "OmsId": {
- "description": "OMS system identifier",
- "type": "integer"
- },
- "OmsOrderId": {
- "description": "Order identifier in the OMS",
- "type": "string"
- },
- "OrderId": {
- "description": "Parent order identifier",
- "type": "string"
- },
- "ReferenceId": {
- "description": "External reference identifier",
- "type": "string"
- },
- "SourceSystemOrderId": {
- "description": "Order identifier in the source system",
- "type": "string"
- },
- "AffiliateIdentifier": {
- "description": "Identifier of the affiliate",
- "type": "string"
- },
- "AffiliateName": {
- "description": "Name of the affiliate",
- "type": "string"
- },
- "BillTos": {
- "type": "array",
- "items": {
- "$ref": "./parts/BillTo.json"
- }
- },
- "CostCenter": {
- "description": "Cost center",
+ "BillTo": {
+ "description": "Fulfillment order level bill to contact and address details",
"type": [
- "string",
+ "object",
"null"
+ ],
+ "items": {
+ "$ref": "parts/BillTo.json"
+ },
+ "examples": [
+ {
+ "Address1": "106 Tyler Street Suite 175",
+ "Address2": "3181 George Vista",
+ "Address3": "",
+ "City": "West Savannahside",
+ "Company": "Matthews, Mclean and Huynh",
+ "Country": "USA",
+ "EmailAddress": "ghunt@example.com",
+ "FaxNumber": "",
+ "Key": 0,
+ "Name": "Kristin Tyler",
+ "PhoneNumber": "001-990-377-8647x21426",
+ "PostalCode": "69532",
+ "StateProvince": "Idaho"
+ }
]
},
- "CreditCardFee": {
- "description": "Credit card processing fee",
+ "CreateDateTime": {
+ "description": "Created date time of the fulfillment order",
"type": [
- "number",
+ "string",
"null"
]
},
- "DefaultBillToKey": {
- "description": "Default billing address key",
- "type": "integer"
- },
- "DefaultOrderedByKey": {
- "description": "Default ordered by address key",
- "type": "integer"
- },
"DefaultShipToKey": {
- "description": "Default shipping address key",
+ "description": "Default key for ShipTo",
"type": "integer"
},
"DueDate": {
- "description": "Due date for the fulfillment order",
+ "description": "Due date of the fulfillment order",
"type": [
"string",
"null"
]
},
- "FulfillmentOrderFee": {
- "description": "Fee for fulfillment order",
- "type": "number"
- },
- "LineItems": {
- "type": "array",
+ "OrderIds": {
+ "description": "Order IDs tied to the fulfillment order",
+ "type": [
+ "array",
+ "null"
+ ],
"items": {
- "$ref": "./parts/LineItem.json"
+ "type": "string"
}
},
"OrderVariables": {
- "$ref": "./parts/OrderVariable.json"
- },
- "OrderedBys": {
- "type": "array",
- "items": {
- "$ref": "./parts/OrderedBy.json"
- }
+ "description": "Order variables tied to the fulfillment order in JSON format",
+ "type": [
+ "string",
+ "null"
+ ]
},
"PONumber": {
- "description": "Purchase order number",
+ "description": "PO number tied to the fulfillment order",
"type": [
"string",
"null"
]
},
"PaymentMethods": {
- "type": "array",
+ "description": "PaymentMethod details",
+ "type": [
+ "array",
+ "null"
+ ],
"items": {
- "$ref": "./parts/PaymentMethod.json"
+ "$ref": "parts/PaymentMethod.json"
}
},
- "PickPackHandlingFee": {
- "description": "Pick, pack, and handling fee",
+ "Products": {
+ "description": "Fulfillment order level product details",
"type": [
- "number",
+ "array",
"null"
- ]
- },
- "RushOrder": {
- "description": "Indicates if this is a rush order",
- "type": "string"
- },
- "ShipTos": {
- "type": "array",
+ ],
"items": {
- "$ref": "./parts/ShipTo.json"
+ "$ref": "parts/FOProduct.json"
}
},
- "ShippingHandlingTax": {
- "description": "Tax amount for shipping and handling",
+ "RushOrder": {
+ "description": "Indicator if the order is a rush order",
"type": [
- "number",
+ "string",
"null"
]
},
- "Statuses": {
- "description": "List of order statuses",
- "type": "array",
+ "ShipTos": {
+ "description": "Fulfillment order level ship to details",
+ "type": [
+ "array",
+ "null"
+ ],
"items": {
- "type": "string"
- }
- },
- "TotalOrderFee": {
- "description": "Total order fees",
- "type": "number"
- },
- "TotalShippingCost": {
- "description": "Total shipping cost",
- "type": "number"
+ "$ref": "parts/FOShipTo.json"
+ },
+ "examples": [
+ {
+ "FulfillmentSystemShippingMethodId": "FedEx Ground",
+ "Comment": null,
+ "DueDate": null,
+ "Key": 0,
+ "PONumber": null,
+ "PaymentMethods": null,
+ "RushOrder": null,
+ "ShipToAddress": {
+ "Address1": "21133 Mraz Estate",
+ "Address2": null,
+ "Address3": null,
+ "City": "Port Novella",
+ "Company": null,
+ "Country": "United States",
+ "EmailAddress": "Leda.Hudson@yahoo.com",
+ "FaxNumber": "(389) 855-1980 x01354",
+ "Name": "Gerard Hamill",
+ "PhoneNumber": "778-483-8935",
+ "PostalCode": "16141-8021",
+ "StateProvince": "TX"
+ },
+ "ShippingCarrier": null,
+ "ShippingCost": 10.0,
+ "ShippingService": null,
+ "Status": null
+ }
+ ]
}
},
"required": [
"FulfillmentOrderId",
- "OrderId",
+ "OrderIds",
+ "CustomerId",
+ "FulfillmentSystemOrderId",
"FulfillmentSystemId",
"FulfillmentSystemCustomerId",
- "LineItems"
+ "FulfillmentSystemLocationId",
+ "Products",
+ "ShipTos",
+ "BillTo",
+ "DefaultShipToKey"
+ ],
+ "allOf": [
+ {
+ "oneOf": [
+ {
+ "properties": {
+ "DefaultShipToKey": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DefaultShipToKey"
+ ]
+ },
+ {
+ "not": {
+ "properties": {
+ "DefaultShipToKey": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DefaultShipToKey"
+ ]
+ },
+ "properties": {
+ "DefaultShipToKey": {
+ "type": [
+ "null",
+ "integer"
+ ]
+ },
+ "ShipTos": {
+ "type": "array",
+ "minItems": 1
+ }
+ },
+ "required": [
+ "ShipTos"
+ ]
+ }
+ ]
+ }
+ ],
+ "examples": [
+ {
+ "CustomerId": "aa6b0d33-ef54-cdd0-497b-e54be56ed661",
+ "FulfillmentOrderId": "54caabeb-edb2-4a4f-9d33-fdc1aeb3fcb4",
+ "FulfillmentSystemCustomerId": "2519",
+ "FulfillmentSystemId": "6",
+ "FulfillmentSystemLocationId": "35d5d610-9eab-ad5d-c904-bcaaac711392",
+ "FulfillmentSystemOrderId": "eba0871d-8ae7-10ce-029c-48e4d8b20b90",
+ "BillTo": {
+ "Address1": "854 Destin Summit",
+ "Address2": "Apt. 492",
+ "Address3": null,
+ "City": "West Betty",
+ "Company": null,
+ "Country": "United States",
+ "EmailAddress": "Lisandro53@gmail.com",
+ "FaxNumber": "1-253-540-1403",
+ "Name": "Hayden Daniel",
+ "PhoneNumber": "622-528-4051 x871",
+ "PostalCode": "83731",
+ "StateProvince": "OK"
+ },
+ "CreateDateTime": "2025-03-13T22:26:59.3895106Z",
+ "DefaultShipToKey": 0,
+ "DueDate": "2025-03-14T22:26:59.3895111Z",
+ "OrderIds": [
+ "88236a77-813d-a65a-3311-e1facde69736"
+ ],
+ "OrderVariables": "{}",
+ "PONumber": "n94ualw05x",
+ "PaymentMethods": [
+ {
+ "Amount": 131.25,
+ "MethodName": "Credit Card"
+ }
+ ],
+ "Products": [
+ {
+ "FulfillmentSystemProductId": "123456",
+ "ProductId": "cd3893db-3294-55af-c62d-a53eaf1dc4fa-5d9d746d-e52a-bd9f-ba5a-915619d64707-718a25da-9d81-7ac2-b708-cf464de524d8",
+ "ProductLineId": "2a551eb8-e7f9-b66a-adfb-6d996e232265|2890247614|1714493355",
+ "AssociatedFileName": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
+ "Comment": "This is a comment for 123456",
+ "IsDeleted": null,
+ "Price": 0.13,
+ "QuantityOrdered": 250,
+ "ShipToKey": 0,
+ "Status": null
+ },
+ {
+ "FulfillmentSystemProductId": "123456_2",
+ "ProductId": "963654b0-a14e-650c-d063-bef87afa9fa6-53fa7b3d-596e-8e63-07f0-596aa360b0b7-aba81b6f-703f-8746-98e4-3fba68b26704",
+ "ProductLineId": "a563df71-76c6-0b9e-7696-f121e537be31|2829663350|2620274204",
+ "AssociatedFileName": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
+ "Comment": "This is a comment for 123456_2",
+ "IsDeleted": null,
+ "Price": 0.13,
+ "QuantityOrdered": 375,
+ "ShipToKey": 0,
+ "Status": null
+ }
+ ],
+ "RushOrder": "True",
+ "ShipTos": [
+ {
+ "FulfillmentSystemShippingMethodId": "FedEx Ground",
+ "Comment": null,
+ "DueDate": null,
+ "Key": 0,
+ "PONumber": null,
+ "PaymentMethods": null,
+ "RushOrder": null,
+ "ShipToAddress": {
+ "Address1": "21133 Mraz Estate",
+ "Address2": null,
+ "Address3": null,
+ "City": "Port Novella",
+ "Company": null,
+ "Country": "United States",
+ "EmailAddress": "Leda.Hudson@yahoo.com",
+ "FaxNumber": "(389) 855-1980 x01354",
+ "Name": "Gerard Hamill",
+ "PhoneNumber": "778-483-8935",
+ "PostalCode": "16141-8021",
+ "StateProvince": "TX"
+ },
+ "ShippingCarrier": null,
+ "ShippingCost": 10.0,
+ "ShippingService": null,
+ "Status": null
+ }
+ ]
+ }
]
}
diff --git a/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json b/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
index 3fd6e3b..76a78f8 100644
--- a/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
+++ b/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
@@ -17,8 +17,11 @@
"description": "Name of triggered event",
"type": "string",
"enum": [
- "Fulfillment Order Created",
- "Fulfillment Order Submitted"
+ "FulfillmentOrder Created",
+ "FulfillmentOrder Submitted to FulfillmentSystem",
+ "FulfillmentOrder Submission Failed",
+ "FulfillmentOrder Updated",
+ "FulfillmentOrder Validation Failed"
]
}
}
diff --git a/schema/Event/FulfillmentOrder/parts/BillTo.json b/schema/Event/FulfillmentOrder/parts/BillTo.json
index 0a370a7..3cd4461 100644
--- a/schema/Event/FulfillmentOrder/parts/BillTo.json
+++ b/schema/Event/FulfillmentOrder/parts/BillTo.json
@@ -3,6 +3,7 @@
"$id": "BillTo.json",
"description": "Bill to address object for Order",
"type": "object",
+ "additionalProperties": false,
"properties": {
"Address1": {
"description": "Address line 1 for address",
@@ -115,7 +116,7 @@
"Key": 0,
"Name": "Kristin Tyler",
"PhoneNumber": "001-990-377-8647x21426",
- "PostalCode": "02019",
+ "PostalCode": "69532",
"StateProvince": "Idaho"
}
]
diff --git a/schema/Event/FulfillmentOrder/parts/FOProduct.json b/schema/Event/FulfillmentOrder/parts/FOProduct.json
new file mode 100644
index 0000000..bc14d7a
--- /dev/null
+++ b/schema/Event/FulfillmentOrder/parts/FOProduct.json
@@ -0,0 +1,98 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "FOProduct.json",
+ "description": "FulfillmentOrder.Products level details",
+ "type": "object",
+ "title": "ApiFulfillmentOrderProduct",
+ "properties": {
+ "FulfillmentSystemProductId": {
+ "description": "Product ID in fulfillment system",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "ProductId": {
+ "description": "Unique ID for product within Integration Broker",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "ProductLineId": {
+ "description": "Identifier for product line within fulfillment order. Format: {fulfillmentSystemId}-{customerId}-{fulfillmentSystemProductId}",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "AssociatedFileName": {
+ "description": "Name of file associated to product (if applicable)",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "Comment": {
+ "description": "Comment for product",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "Price": {
+ "description": "Price of product line item",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "QuantityOrdered": {
+ "description": "Amount of product ordered",
+ "type": "integer"
+ },
+ "ShipToKey": {
+ "description": "ShipTo key for shipping this product",
+ "type": "integer"
+ },
+ "Status": {
+ "description": "Status of product line item",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "ProductLineId",
+ "QuantityOrdered",
+ "FulfillmentSystemProductId",
+ "Price"
+ ],
+ "examples": [
+ {
+ "FulfillmentSystemProductId": "123456",
+ "ProductId": "77beb98f-d8c6-bf90-1456-a6e7504d678a-c0e6d4d7-a458-8dab-191a-87467ed2388c-cc96a6c8-dcea-204c-11c2-e4741262be75",
+ "ProductLineId": "69835a29-20fd-df3a-5f2a-915b9455fcf8|721917346|1761063354",
+ "AssociatedFileName": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
+ "Comment": "This is a comment for 123456",
+ "IsDeleted": null,
+ "Price": 0.13,
+ "QuantityOrdered": 250,
+ "ShipToKey": 0,
+ "Status": null
+ },
+ {
+ "FulfillmentSystemProductId": "123456_2",
+ "ProductId": "f03e85a9-3478-78bf-a214-b3eab2c643ba-3ae01e39-3493-5fce-12ef-dc8bb593950f-f25e49d2-1f8f-b80d-7cd9-bc41047d7464",
+ "ProductLineId": "d69e99b8-7a5c-20d5-1aa9-1d9080bb9be5|2794780662|1752188148",
+ "AssociatedFileName": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
+ "Comment": "This is a comment for 123456_2",
+ "IsDeleted": null,
+ "Price": 0.13,
+ "QuantityOrdered": 375,
+ "ShipToKey": 1,
+ "Status": null
+ }
+ ]
+}
diff --git a/schema/Event/FulfillmentOrder/parts/FOShipTo.json b/schema/Event/FulfillmentOrder/parts/FOShipTo.json
new file mode 100644
index 0000000..ef9168f
--- /dev/null
+++ b/schema/Event/FulfillmentOrder/parts/FOShipTo.json
@@ -0,0 +1,144 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "FOShipTo.json",
+ "description": "Fulfillment Order level ship to details",
+ "type": "object",
+ "title": "ApiFulfillmentOrderShipTo",
+ "properties": {
+ "FulfillmentSystemShippingMethodId": {
+ "description": "Shipping method ID in fulfillment system",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "ReferenceId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "Comment": {
+ "description": "Manually entered comment for individual Order.ShipTos",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "DueDate": {
+ "description": "Datetime of expected due date for individual Order.ShipTos",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "Key": {
+ "description": "Unique ID for individual ship to",
+ "type": "integer"
+ },
+ "PONumber": {
+ "description": "Purchase order number for individual Order.ShipTos",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "PaymentMethods": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "PaymentMethod.json"
+ }
+ },
+ "RushOrder": {
+ "description": "True/false indicator if individual Order.ShipTos is expedited",
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "ShipToAddress": {
+ "$ref": "ShipToAddress.json",
+ "description": "Ship to addresses array for Order",
+ "examples": [
+ {
+ "Address1": "106 Tyler Street Suite 175",
+ "Address2": "3181 George Vista",
+ "Address3": "",
+ "City": "West Savannahside",
+ "Company": "Matthews, Mclean and Huynh",
+ "Country": "USA",
+ "EmailAddress": "ghunt@example.com",
+ "FaxNumber": "",
+ "Key": 0,
+ "PhoneNumber": "001-990-377-8647x21426",
+ "PostalCode": "02019",
+ "StateProvince": "Idaho"
+ }
+ ]
+ },
+ "ShippingCarrier": {
+ "description": "Shipping carrier",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "ShippingCost": {
+ "description": "Shipping cost for individual Order.ShipTos",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "ShippingService": {
+ "description": "Shipping service",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "Status": {
+ "description": "status",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "FulfillmentSystemShippingMethodId"
+ ],
+ "examples": [
+ {
+ "FulfillmentSystemShippingMethodId": "FedEx Ground",
+ "ReferenceId": null,
+ "Comment": null,
+ "DueDate": null,
+ "Key": 0,
+ "PONumber": null,
+ "PaymentMethods": null,
+ "RushOrder": null,
+ "ShipToAddress": {
+ "Address1": "11832 Simonis Prairie",
+ "Address2": null,
+ "Address3": null,
+ "City": "Casperhaven",
+ "Company": null,
+ "Country": "United States",
+ "EmailAddress": "Gia_Mills@gmail.com",
+ "FaxNumber": "(739) 615-3707 x390",
+ "Name": "Ansel Leannon",
+ "PhoneNumber": "1-564-490-0380 x494",
+ "PostalCode": "90673-3604",
+ "StateProvince": "NV"
+ },
+ "ShippingCarrier": null,
+ "ShippingCost": 10.0,
+ "ShippingService": null,
+ "Status": null
+ }
+ ]
+}
diff --git a/schema/Event/FulfillmentOrder/parts/LineItem.json b/schema/Event/FulfillmentOrder/parts/LineItem.json
deleted file mode 100644
index f4ad695..0000000
--- a/schema/Event/FulfillmentOrder/parts/LineItem.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "LineItem.json",
- "type": "object",
- "properties": {
- "OfferId": {
- "type": "string"
- },
- "LineItemFee": {
- "type": "number"
- },
- "OfferLineNumber": {
- "type": "integer"
- },
- "Price": {
- "type": "number"
- },
- "Products": {
- "type": "array",
- "items": {
- "$ref": "Product.json"
- }
- },
- "QuantityCanceled": {
- "type": [
- "integer",
- "null"
- ]
- },
- "QuantityOrdered": {
- "type": "integer"
- },
- "Status": {
- "type": [
- "string",
- "null"
- ]
- },
- "TaxAmount": {
- "type": "number"
- }
- },
- "required": [
- "OfferId",
- "QuantityOrdered",
- "Price",
- "Products"
- ]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/OrderedBy.json b/schema/Event/FulfillmentOrder/parts/OrderedBy.json
deleted file mode 100644
index 4de17c5..0000000
--- a/schema/Event/FulfillmentOrder/parts/OrderedBy.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "OrderedBy.json",
- "description": "Bill to address object for Order",
- "type": "object",
- "properties": {
- "Address1": {
- "description": "Address line 1 for address",
- "type": [
- "string",
- "null"
- ]
- },
- "Address2": {
- "description": "Address line 2 for address",
- "type": [
- "string",
- "null"
- ]
- },
- "Address3": {
- "description": "Address line 3 for address",
- "type": [
- "string",
- "null"
- ]
- },
- "City": {
- "description": "City name for address",
- "type": [
- "string",
- "null"
- ]
- },
- "Company": {
- "description": "Company name for address",
- "type": [
- "string",
- "null"
- ]
- },
- "Country": {
- "description": "Country name for address",
- "type": [
- "string",
- "null"
- ]
- },
- "EmailAddress": {
- "description": "Contact email address for address",
- "type": [
- "string",
- "null"
- ]
- },
- "FaxNumber": {
- "description": "Fax number for address",
- "type": [
- "string",
- "null"
- ]
- },
- "Key": {
- "description": "Unique ID for individual contact",
- "type": "integer",
- "format": "int32"
- },
- "PhoneNumber": {
- "description": "Phone number for address",
- "type": [
- "string",
- "null"
- ]
- },
- "PostalCode": {
- "description": "Postal code for address",
- "type": [
- "string",
- "null"
- ]
- },
- "StateProvince": {
- "description": "State or province name for address",
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "Address1",
- "City",
- "Country",
- "PostalCode",
- "StateProvince"
- ],
- "examples": [
- {
- "Address1": "106 Tyler Street Suite 175",
- "Address2": "3181 George Vista",
- "Address3": "",
- "City": "West Savannahside",
- "Company": "Matthews, Mclean and Huynh",
- "Country": "USA",
- "EmailAddress": "ghunt@example.com",
- "FaxNumber": "",
- "Key": 0,
- "PhoneNumber": "001-990-377-8647x21426",
- "PostalCode": "02019",
- "StateProvince": "Idaho"
- }
- ]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/Product.json b/schema/Event/FulfillmentOrder/parts/Product.json
deleted file mode 100644
index 9223840..0000000
--- a/schema/Event/FulfillmentOrder/parts/Product.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "Product.json",
- "type": "object",
- "properties": {
- "FulfillmentSystemProductId": {
- "type": [
- "string",
- "null"
- ]
- },
- "ProductId": {
- "type": "string"
- },
- "OfferLineNumber": {
- "type": "integer"
- },
- "ProductLineNumber": {
- "type": "integer"
- },
- "QuantityBackordered": {
- "type": "integer"
- },
- "QuantityOrdered": {
- "type": "integer"
- }
- },
- "required": [
- "ProductId",
- "QuantityOrdered"
- ]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/ShipTo.json b/schema/Event/FulfillmentOrder/parts/ShipTo.json
deleted file mode 100644
index 8c7057d..0000000
--- a/schema/Event/FulfillmentOrder/parts/ShipTo.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "ShipTo.json",
- "type": "object",
- "properties": {
- "FulfillmentSystemShippingMethodId": {
- "type": "string"
- },
- "Key": {
- "type": "integer"
- },
- "OrderFee": {
- "type": "number"
- },
- "ShipToAddress": {
- "$ref": "ShipToAddress.json"
- },
- "ShippingCarrier": {
- "type": "string"
- },
- "ShippingCost": {
- "type": "number"
- },
- "ShippingService": {
- "type": "string"
- },
- "Status": {
- "type": "string"
- }
- },
- "required": [
- "Key",
- "ShipToAddress"
- ]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/ShipToAddress.json b/schema/Event/FulfillmentOrder/parts/ShipToAddress.json
index 007f585..4a5b179 100644
--- a/schema/Event/FulfillmentOrder/parts/ShipToAddress.json
+++ b/schema/Event/FulfillmentOrder/parts/ShipToAddress.json
@@ -1,8 +1,9 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "ShipToAddress.json",
- "description": "Bill to address object for Order",
+ "description": "Ship to addresses array for Order",
"type": "object",
+ "additionalProperties": false,
"properties": {
"Address1": {
"description": "Address line 1 for address",
@@ -61,9 +62,13 @@
]
},
"Key": {
- "description": "Unique ID for individual contact",
- "type": "integer",
- "format": "int32"
+ "description": "Unique ID for individual contact"
+ },
+ "Name": {
+ "type": [
+ "string",
+ "null"
+ ]
},
"PhoneNumber": {
"description": "Phone number for address",
@@ -91,6 +96,7 @@
"Address1",
"City",
"Country",
+ "Name",
"PostalCode",
"StateProvince"
],
@@ -105,6 +111,7 @@
"EmailAddress": "ghunt@example.com",
"FaxNumber": "",
"Key": 0,
+ "Name": "Kristin Tyler",
"PhoneNumber": "001-990-377-8647x21426",
"PostalCode": "02019",
"StateProvince": "Idaho"