SAOP Customers and Orders API (from Swagger UI snippets) ======================================================= Content type: - application/xml (request and response) -------------------------------------------------- 1) GET /api/Customers/{Code} -------------------------------------------------- Description: - Returns a single Customer by Code. Path parameters: - Code (string) – required. Response (Status 200, application/xml): string string
string
string string string string string string string string 1 1.1 string string string string string string string string string string 1 string string string string string true string string string string string string string string string 1 string string string string string string string string string string true true true string string 1970-01-01T00:00:00.001Z string 1970-01-01T00:00:00.001Z string string string string string string 1.1 string 1.1 1 1 true 1.1 string string string string
Key fields for analytics context: - Code : customer identifier. - AnalyticId : links customer to a generic Analytic (from analytics APIs). - Address / PostalCode / City / Country / Street / HomeNumber : routing-related location data. -------------------------------------------------- 2) GET /api/Customers/GetCustomers -------------------------------------------------- Description: - Returns customers in bulk with optional search/paging. Inline model is the same structure as a single Customer but without the outer tag. Query parameters: - Not fully captured in SAOP_DOCS.txt, but Swagger UI shows this as a list endpoint with typical searchQuery fields (analyticId, active, requestType, page, pageSize, recordDtModifiedFrom). Response (Status 200, application/xml): string string
string
string string string string string string string string 1 1.1 string string string string string string string string string string 1 string string string string string true string string string string string string string string string 1 string string string string string string string string string string true true true string string 1970-01-01T00:00:00.001Z string 1970-01-01T00:00:00.001Z string string string string string string 1.1 string 1.1 1 1 true 1.1 string string string string
Notes: - This is the primary endpoint Rams can use to pull customer master data in bulk. - For routing, the important fields are Code, AnalyticId and address/location fields. -------------------------------------------------- 3) GET /api/Order/GetOrder/{orderYear}/{orderBook}/{orderNumber} -------------------------------------------------- Description: - Returns full order header details, including analytics dimension fields and embedded customer/address info. Path parameters: - orderYear (integer) – required. - orderBook (string) – required. - orderNumber (integer) – required. Response (Status 200, application/xml): 1 string 1 string string string string string string string string string string string string string string string string string string string string string string string 1970-01-01T00:00:00.001Z 1970-01-01T00:00:00.001Z 1970-01-01T00:00:00.001Z string string string string string string string string string string string string string string 1.1 1.1 1.1 1.1 1.1 1.1 string string string string string string string string string string 1970-01-01T00:00:00.001Z 1970-01-01T00:00:00.001Z string string 1.1 1.1 1.1 1.1 1.1 1.1 string string string string string string true string 1970-01-01T00:00:00.001Z 1.1 string string string true true true 1 string 1 string string string string string 1970-01-01T00:00:00.001Z string string true string string string string 1970-01-01T00:00:00.001Z string 1970-01-01T00:00:00.001Z string string string string string string string string string string string string Key fields for analytics and routing: - CustomerId : links to customer master (Code/ID, depending on model). - AnalyticId : generic analytic reference. - Analytics_AN1_ID, Analytics_AN2_ID, Analytics_AN3_ID : references to Analytic1/2/3 dimensions. - DeliveryAddress, DocumentDeliveryAddress, DeliveryPlace + city/postal/country : potential delivery locations for routing. Open questions / TODO: - Identify list/search endpoint for Orders (e.g. to query by Analytics_AN1_ID / date range) if needed in later phases. - Confirm whether CustomerId matches Customers.Code or another key (likely the same, but not guaranteed by docs alone).