{
"eventId":"2b6105df-d03a-4913-b1ea-5fdffb0d2b1c",
"traceId":"9b183e1ab13fda5ed1c59ef838b609bd",
"context":"MASTERDATA",
"eventTime":"2023-01-25T12:12:28.079Z",
"eventType":"LOGISTICAL_DATA_RESPONSE",
"version":"1.1",
"metaData":{
"sender":"LSAS"
},
"data":{
"entityId":"ABCDEFGHIJKLMNOPQ",
"status":false,
"detailedStatus": "INSERTED_REJECTED",
"errors":[
{
"code":51,
"description":"Unknown logisticsProductId."
}
]
}
}
Response
1. Business Context
Here the response message from LSAS to all interfaces (M01, M02, M03, M04) is described. An interface partner of LSAS will receive this response message on a kafka topic after sending a message to LSAS and LSAS validating the data. An error, as well as the "OK"-case will be answered.
2. Interface
2.1. Direction from LSAS to any interface partner
2.1.1. Header
This interface uses the Service Header.
2.1.2. Datamodel (single variant)
Property | Type | Description |
---|---|---|
(Root) |
object |
Schema for response message from LSAS, Version 1 |
eventId* |
string |
The unique eventId |
traceId* |
string |
The unique traceId |
spanId |
string |
The eventId of previous record or batchId |
eventTime* |
string (date-time) |
Time of occurrence of the event |
context |
string (const) |
The context / business case Constant: MASTERDATA |
eventType* |
string (enum) |
The concrete type record. Any of: [
"PRODUCT_RESPONSE",
"SUPPLIER_RESPONSE",
"SUPPLIER_PRODUCT_RESPONSE",
"LOGISTICAL_DATA_RESPONSE"
] |
version* |
string (const) |
The number of version of schema Constant: 1.1 |
metaData* |
object |
additional meta information |
sender* |
string (const) |
Sender of the message Constant: LSAS |
data* |
object |
Data of the business object |
logisticsEntityId |
string |
Technical ID of the referenced entity in LSAS Maximum Length: 36 |
entityId* |
string |
technical ID of the referenced entity within the message Maximum Length: 36 |
status* |
boolean |
Status |
detailedStatus* |
string (enum) |
Detailed information about the outcome of the message received. Any of: [
"INSERTED",
"UPDATED",
"UNCHANGED",
"INSERT_REJECTED",
"UPDATE_REJECTED",
"INTERNAL_ERROR",
"UNAVAILABLE"
] |
errors |
array |
|
(Array item) |
object |
|
code* |
integer |
|
description |
string |
2.1.3. Example (single variant)
2.1.4. Example (list variant)
{
"eventId":"2b6105df-d03a-4913-b1ea-5fdffb0d2b1c",
"traceId":"9b183e1ab13fda5ed1c59ef838b609bd",
"context":"MASTERDATA",
"eventTime":"2023-01-25T12:12:28.079Z",
"eventType":"LOGISTICAL_DATA_RESPONSE",
"version":"1.1",
"metaData":{
"sender":"LSAS"
},
"data":{
"status":false,
"items": [
{
"status": true,
"entityId":"000001",
"detailedStatus": "INSERTED",
"errors":[]
},
{
"status": false,
"entityId":"000003",
"detailedStatus": "UPDATE_REJECTED",
"errors":[
{
"code":51,
"description":"Unknown logisticsProductId."
}
]
}
]
}
}
2.1.5. Schema
Version |
Status |
Changes |
current version |
added |
|
previous version |
initial version |
2.1.6. Handling of new detailed status
To improve the clarity and usefulness of our responses, we have introduced a new detailedStatus
field. This field will help you categorize and better understand the outcome of all messages your system sends to LSAS, making it easier to address issues when they arise.
The goal of providing this information is so you know how to proceed with each error type, and also so you are aware who is responsible for the fixes in each case.
Status | Description | Responsible system | Severity |
---|---|---|---|
INSERTED |
The record has been successfully inserted. |
- |
- |
UPDATED |
The record has been successfully updated. |
- |
- |
UNCHANGED |
The record has not changed (either because the data in the message was equal to what we already had or because the message was ignored due to a newer message having been processed first). |
- |
- |
INSERT_REJECTED |
Problem: The record could not be inserted because it is missing required attributes (e.g., the product is not yet logistics-ready). |
ERP |
Low |
UPDATE_REJECTED |
Problem: The record could not be updated due to validation issues (e.g., the product is logistics-ready but fails validation). |
ERP |
High |
INTERNAL_ERROR |
Problem: An internal error occurred in LSAS due to specific inputs. |
LSAS |
High |
UNAVAILABLE |
Problem: LSAS is currently unavailable, possibly due to high load. |
ERP + LSAS |
Medium |
By understanding these statuses, users can take appropriate actions to resolve issues and know who to contact for further assistance.