Table of Contents |
---|
References
Jira | ||||||
---|---|---|---|---|---|---|
|
Requirements
Functional
Interface | Requirement | Additional Information | Signoff | |
---|---|---|---|---|
1 | CPS-E-05e | NCMP will define (and publish) additional error information details to be implemented by DMI plugins NCMP shall forward any such details where applicable |
Characteristics
No specific characteristics but obviously the additional error information should not (significantly) impact existing throughput negatively.
Out-of-scope
- context-type:application/problem+json. As per decision #1 this is no longer required
Issues & Decisions
Issue | Notes | Decision | |
---|---|---|---|
1 | Use of context-type:application/problem+json | Toine Siebelink raised several concerns:
| kieran mccarthy agreed during weekly stakeholder meeting will NOT be required for events (or legacy API call). |
2 | Scope | Scope need to be clearly defined. it could cover both existing and new (ongoing impl) interfaces I suggest we build it up and this epic can continue in future releases. With different priorities for different user stories. Candidates (not a compleet list)
| |
3 | 'other' ie. undefined keys v. predefined(and documented) keys | if 'other' is a key-value pair with any name the schema cannot be defined to have at least one predefined key-value in the map (retryAfter). It has to be either free for all map entries OR a defined structure! At best we can desribe the map if it is NOT defined in the schema but then we need to hardcode validation! |
Impl. Proposal
Additional Error Info Structure
The following data will be added to the (existing) response
Name | Parent | Type | Mandatory | Description | |
---|---|---|---|---|---|
1 | errorInfo | data? | Object | No | additional error information for debug and retry purposes, present in case of failure error code |
2 | message | errorInfo | String | No | message coming from EMS or node |
3 | correctiveAction | errorInfo | Map | No | key-value pairs of possible recourse action the client can take in case of error |
4 | retryAfter | correctiveAction | <String,Int> | No | seconds to wait before retry |
5 | other | correctiveAction | <String,object> | No | non-specific key-value pairs driven by ems or node |