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).