Schema Changes - 2026-09-08
This document contains the changes to the schema files compared to the main branch.
Changes
diff --git a/schema/Api/ProductBroker/GetAllProductsResponse.json b/schema/Api/ProductBroker/GetAllProductsResponse.json
index cc4c337..49e94e6 100644
--- a/schema/Api/ProductBroker/GetAllProductsResponse.json
+++ b/schema/Api/ProductBroker/GetAllProductsResponse.json
@@ -18,9 +18,36 @@
"description": "Unique ID for component product within Integration Broker",
"type": "string"
},
+ "customerPartNumber": {
+ "description": "Customer's part number for the product",
+ "type": ["string", "null"]
+ },
+ "defaultLocation": {
+ "description": "Default warehouse location for the product",
+ "type": ["string", "null"]
+ },
+ "documentFilePaths": {
+ "description": "Static document file paths associated with the product; empty array when none",
+ "type": "array",
+ "items": {"type": "string"}
+ },
+ "itemAvgLeadTime": { "description": "Average lead time for the item", "type": ["integer", "null"] },
+ "language": {
+ "description": "Language associated with the product",
+ "type": ["string", "null"]
+ },
+ "lastCost": {
+ "description": "Last cost of the product",
+ "type": ["number", "null"],
+ "format": "decimal"
+ },
"lastUpdateDateTimeUtc": {
- "description": "Date and time product was last updated in product management system (system where ordered line item products will be managed)",
- "type": "string"
+ "description": "Date and time product metadata was last updated in the product management system. Always null today; reserved for NEX-1411 to populate with an honest metadata-update timestamp",
+ "type": ["string", "null"]
+ },
+ "organizationOwned": {
+ "description": "Raw ownership flag from the fulfillment system; true when OTP-owned, null when unconfirmed",
+ "type": ["boolean", "null"]
},
"productDescription": {
"description": "Description for component product within product management system (system where ordered line item products will be managed)",
@@ -30,9 +57,15 @@
"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"] },
+ "productOwner": {
+ "description": "Derived owner of component product: 'OTP', 'Customer', or null when unconfirmed",
+ "type": ["string", "null"]
+ },
"productType": {"description": "Type of the product", "type": "string"},
- "status": {"description": "Current status of the product", "type": "string"},
+ "status": {
+ "description": "Current status of the product. Null on the GetAllProducts feed, which does not carry item status",
+ "type": ["string", "null"]
+ },
"unitOfMeasure": { "description": "Unit of measure for the product", "type": ["string", "null"] },
"weight": {
"description": "Maximum weight of the product in pounds",
@@ -40,7 +73,7 @@
"format": "decimal"
}
},
- "required": ["productId", "productNumber", "productType", "status", "lastUpdateDateTimeUtc"]
+ "required": ["productId", "productNumber", "productType"]
}
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
diff --git a/schema/Api/ProductBroker/GetProductsResponse.json b/schema/Api/ProductBroker/GetProductsResponse.json
index 2364c7b..e97612c 100644
--- a/schema/Api/ProductBroker/GetProductsResponse.json
+++ b/schema/Api/ProductBroker/GetProductsResponse.json
@@ -18,9 +18,36 @@
"description": "Unique ID for component product within Integration Broker",
"type": "string"
},
+ "customerPartNumber": {
+ "description": "Customer's part number for the product",
+ "type": ["string", "null"]
+ },
+ "defaultLocation": {
+ "description": "Default warehouse location for the product",
+ "type": ["string", "null"]
+ },
+ "documentFilePaths": {
+ "description": "Static document file paths associated with the product; empty array when none",
+ "type": "array",
+ "items": {"type": "string"}
+ },
+ "itemAvgLeadTime": { "description": "Average lead time for the item", "type": ["integer", "null"] },
+ "language": {
+ "description": "Language associated with the product",
+ "type": ["string", "null"]
+ },
+ "lastCost": {
+ "description": "Last cost of the product",
+ "type": ["number", "null"],
+ "format": "decimal"
+ },
"lastUpdateDateTimeUtc": {
- "description": "Date and time product was last updated in product management system (system where ordered line item products will be managed)",
- "type": "string"
+ "description": "Date and time product metadata was last updated in the product management system. Always null today; reserved for NEX-1411 to populate with an honest metadata-update timestamp",
+ "type": ["string", "null"]
+ },
+ "organizationOwned": {
+ "description": "Raw ownership flag from the fulfillment system; true when OTP-owned, null when unconfirmed",
+ "type": ["boolean", "null"]
},
"productDescription": {
"description": "Description for component product within product management system (system where ordered line item products will be managed)",
@@ -30,9 +57,15 @@
"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"] },
+ "productOwner": {
+ "description": "Derived owner of component product: 'OTP', 'Customer', or null when unconfirmed",
+ "type": ["string", "null"]
+ },
"productType": {"description": "Type of the product", "type": "string"},
- "status": {"description": "Current status of the product", "type": "string"},
+ "status": {
+ "description": "Current status of the product. Null on the GetAllProducts feed, which does not carry item status",
+ "type": ["string", "null"]
+ },
"unitOfMeasure": { "description": "Unit of measure for the product", "type": ["string", "null"] },
"weight": {
"description": "Maximum weight of the product in pounds",
@@ -40,7 +73,7 @@
"format": "decimal"
}
},
- "required": ["productId", "productNumber", "productType", "status", "lastUpdateDateTimeUtc"]
+ "required": ["productId", "productNumber", "productType"]
}
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
diff --git a/schema/Event/FulfillmentOrder/FulfillmentOrder.json b/schema/Event/FulfillmentOrder/FulfillmentOrder.json
index dda2d10..cf9c5b6 100644
--- a/schema/Event/FulfillmentOrder/FulfillmentOrder.json
+++ b/schema/Event/FulfillmentOrder/FulfillmentOrder.json
@@ -82,6 +82,10 @@
"type": ["array", "null"],
"items": {"type": "string"}
},
+ "OrderReductionAmount": {
+ "description": "Customer-owned merchandise price plus line tax withheld for this Slingshot submission attempt",
+ "type": ["number", "null"]
+ },
"OrderVariables": {
"description": "Order variables tied to the fulfillment order in JSON format",
"type": ["string", "null"]
@@ -143,7 +147,11 @@
},
"QuantityOrdered": { "description": "Quantity ordered", "type": ["integer", "null"] },
"ShipToKey": { "description": "Ship to key for the product", "type": ["string", "null"] },
- "Status": { "description": "Status of the product", "type": ["string", "null"] }
+ "Status": { "description": "Status of the product", "type": ["string", "null"] },
+ "TaxAmount": {
+ "description": "Original order line merchandise tax copied onto the fulfillment order product",
+ "type": ["number", "null"]
+ }
}
}
},
diff --git a/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json b/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
index f49eaef..7ec2952 100644
--- a/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
+++ b/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
@@ -72,7 +72,7 @@
"EventName": "Fulfillment Order Updated",
"EventNameValuePairs": null,
"EventPublisherApp": "VeraCore Order Event Publisher",
- "EventSchemaVersion": "0.9",
+ "EventSchemaVersion": "0.10",
"EventSource": "VeraCore",
"FulfillmentOrder": {
"FulfillmentOrderId": "6-mzvanhki-4-C-5606-0046-03",