Hello,
we are adding new names to an existing case with PUT /cases/ call, which works as documented.
But: Is there a way to remove names from a case?
Cheers
Hello @alexander.kozan ,
A good question. Kindly note WC1 does not expect the new name to be completely different from the old case name. It expects just minor changes to the case name or a new case Id or extra information in the secondary fields. This is why the old results are still retained in the updated case. Since we expect the old case name and the updated case name to be similar, the old results are still available in the case for reference and action.
The same is applicable for the "Edit" function of the Case Manager page in the WC1 UI.
You cannot remove names using the API "SEQ-7: Update a case" but only update it with a new name and secondary fields (optional). The case name is a mandatory field.
Please tell me the reason you would like to remove the case name from the case so that I can find a workaround for your use case, if any.
Thanks for the quick reply!
Our current workflow looks like this:
When a new client needs to be checked:
- Create a new case with the client name, assigning it an internal case id.
- Screen it and display the results to the user for resolution.
- If for some reason the user is not satisfied with the pre-supplied client name (May be typos? Better to use the parent company name? etc. etc.), a new name may be specified.
- We update the case with this new name and re-screen.
So the question is: Is there a way to keep the case id (since it is conveniently set to our own DB id) but replace the associated name?
Hello @alexander.kozan
If you would like to retain the old caseId of the case while updating it, you have to explicitly pass the same case Id in the body of the API request "SEQ-7: Update a case" just like the API call "Save a case" where the user passes the desired caseId in the body of the API request. If you do not pass the caseId while updating the case, it will generate another caseId.
Please find an example below: Here I am updating the case for the entity "Organisation" with the name "Facebook" and passing the old case Id "Test123" in the request body to retain it. Kindly note the case template is different for different users.
SEQ-7: Update a case
PUT: {{protocol}}{{gateway-host}}{{gateway-url}}cases/{{case-system-id}}
Request body:
{ "groupId":"{{group-id}}", "caseId": "Test123", "entityType":"ORGANISATION", "providerTypes":[ "WATCHLIST" ], "name":"Facebook", "customFields":[], "secondaryFields":[]}
Response body received from WC1 API:
{ "caseId": "Test123", "name": "Facebook", "providerTypes": [ "WATCHLIST" ], "customFields": [], "secondaryFields": [], "groupId": "0a3687cf-611f-145c-9875-91a40000191f", "entityType": "ORGANISATION", "caseSystemId": "0a3687d0-626d-1c20-98ab-a8ad00012a20", "caseScreeningState": "INITIAL", "lifecycleState": "UNARCHIVED", "creator": { "userId": "0a3687cf-61166-5974000011c2", "firstName": "XXXX", "lastName": "XXX", "fullName": "Irfan Khan", "email": "XXXX.XXXX@XXXXXX.com", "status": "ACTIVE" }, "modifier": { "userId": "0a360011c2", "firstName": "XXXX", "lastName": "XXXXX", "fullName": "XXX XXXXX", "email": "XXXX.XXXX@XXXXXX.com" ,
"status": "ACTIVE"
}
If you check the response body, the old caseId "Test123" was retained in the updated case.
Kindly let me know if this was able to answer the question by accepting the answer.
Sorry for being a bit imprecise.
Yes, we do pass our case id with the update and it is being retained.
The problem is: If the initial name was "Apple" and the user update it to be "Orange", the system still searches for "Apple", too.
Yes, it is not an unreasonable behavior.
Thanks!