Questions regarding Attribute update API for in-queue conversation

Genesys cloud recently provided an API endpoint to update attributes for an in-queue conversation. I have been testing this API and I have few question regarding the functionality of this API. This might a bug or a gap in understanding. Please if anyone can help here from Genesys side.

[https://developer.genesys.cloud/api/rest/v2/routing/#patch-api-v2-routing-conversations--conversationId-]

Questions:

  1. how do we use this API to remove all current skills from the conversation. For example, if the conversation just has the queue and skill1 as the current target, the goal is to remove skill1 through API call, so the conversation gets routed at the queue level without any skill requirement. Given it’s upsert, we tried passing an empty array, but that doesn’t result in any updates, the current skills remain as is

  2. There doesn’t seem to be any validation that in case of upsert, the skills being passed are valid/existing skills in the platform. For example, through the API, if I pass a skill “FakeSkill” that’s not defined as a skill in the platform yet, it will still add that skill to the conversation. Given it’s not an existing skill and hence not assigned to anyone either, this will result in the conversation being stuck in that target.

Hi Muhammad,

  1. As far as I know, a PATCH can't be used to remove properties in this case. Since there are no PUT or DELETE methods on that path I'm not sure if skills can be removed via the API. It's possible that the only way to do this is via configured in-queue handling/acd bullseye config.

  2. That does appear to be an oversight on the part of the API developers. I would recommend reporting this issue to Care so they can have it resolved.

Hi Ronan,

Really appreciate for your response. To your first point Genesys has released an new API last week to modify the skills on the call that's what I'm looking for here. At the moment this API is not working as expected.

To your second point, can you help in diverting this to Care like how may contact them?

Hi Muhammad,

I'm so sorry to hear that this API is not working as expected. You can find information about how to open cases with Care here: https://help.mypurecloud.com/articles/contact-genesys-cloud-care/. Feel free to share your case number here so that I can monitor. Thank you!

Muhammad,

I talked with the engineer working on this API and was able to find out that there are some enhancements being made to the API to support Add/Update/Delete capabilities for the skills. As it stands know it looks like the skills array works in a replacement only mode and is ignored if empty, so there is no way to "clear" all skills.

To your second point there is validation going on but it doesn't seem to be reflected in the API response. You are right that you can submit something that doesn't exist and the API will happily respond, but if you submit something that is not a valid skill GUID then that is not updated on the actual skills being considered by the routing service.

Lastly, the priority, skills, and languages are not reflected in the Conversation itself. So you can't use GET /api/v2/conversations/{id} to see if your updates are taking place. The API currently only updates our routing service. However, there is work going on to also reflect those property changes to our conversation service so that you will see those changes. So the only way to test if things are working is to test against live conversations and see if they are routed in priority order or to the appropriate skill, etc.

I hope that helps.

When I test this API in a data action we built, I get the following error. Any ideas on resolving this?
{
"message": "REST call for action execute failed. Message:Request to backend service failed. Response from web service: {"message":"HTTP 415 Unsupported Media Type","code":"unsupported media type","status":415,"contextId":"e69cd12a-b861-4da7-82c4-1a401dea2820","details":[],"errors":[]} [cd261ad0-c253-4c7e-be71-ca86227440d9]",
"code": "INTERNAL_SERVER_ERROR",
"status": 415,
"messageParams": {},
"details": [],
"errors": []
}

Hello,

You are probably missing an HTTP header in the request.
Please try adding an HTTP Content-Type header with value application/json in your request configuration.

Regards,

Hi @crespino,

As you did mention in your response that the work is going on to to reflect property changes on conversation service. Do you have any update on this like how far the work is gone and when can we expect to have those in place for our use?

I shall highly appreciate your response. Thanks!

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.