- CPS-896Getting issue details... STATUS
NCMP CMhandle registration endpoint receives multiple operations to create, update or delete cm-handles in a single request. As there are multiple operations, the endpoint response structure should be able to provide the status of all operations separately with consistent error-code to allow users to retrigger failed operations programmatically if possible.
Response Structure
HttpStatus
Scenario | Status Code | ResponseBody |
---|---|---|
All operations were successful | 204 | Empty |
All or few operations failed | 500 | With error from each operation |
Response Body
The response body should give enough information in case of errors for user to retry programatically
The response can be sent as a collection or grouped by operation type or cm-handles. If we group the response by operation type it will be simpler for the end-point user to form a new request and sent it again if the error can be resolved with a retry or a few changes.
{ "cmHandle": "cmHandle-1" "operation": "CREATE" // This field can be used for grouping response if required "status": "FAILURE" // Can use the same structure to show success later on. "error-code": "01" // Only sent in the case of error "error-text" : "cmhandle already exist" // Only sent in the case of error }
Expected Error per operations
Input Issues
- Multiple operations for a single cm-handle:
- Input is not in the correct format: For example, if the user has not defined the "cm-handle"
Create CMHandles
- cm-handle already exist
- unknown-error
Update CMHandles
- cm-handle does not exist
- unknown-error
Remove CMHandles
- cm-handle does not exist: No error
- unknown-error
Code | Slogan | Applicable to | ||
---|---|---|---|---|
Create | Update | Remove | ||
00 | unknown/other | Yes | Yes | Yes |
01 | cm-handle does not exist | No | Yes | No* |
02 | cm-handle already exist | Yes | No | No |
03 | not allowed** | ? | Yes | Yes |
Notes
* remove will ignore non-existing cm handles (not an error, assume already deleted)
** suggested future error (for illustration purposes)