We are experiencing some issues setting the user ownership for a callback, when posting a callback through the API.
We have tested this through the Genesys system, using the embedded framework and the regular Genesys UI and it works each time. We have our queue setup to "allow ownership" and ownership lasts for 7 days.
Api Request Example
This is the request we are making to post the callback
POST https://api.cac1.pure.cloud/api/v2/conversations/<conversationId>/participants/<customerParticipantId>/callbacks
{
"callbackUserName": "Customer",
"countryCode": "US",
"queueId": "<queueId>",
"callbackNumbers": ["555-555-5555"],
"callbackScheduledTime": "2023-08-22T03:06:23.562Z",
"routingData": {
"preferredAgentIds": [],
"scoredAgents": [
{
"agent": { "id": "<agentId>" },
"score": 100
}
],
"routingFlags": ["AGENT_OWNED_CALLBACK"],
"queueId": "<queueId>"
}
}
Issue
We have checked the API request from the server and it posts to the same endpoint with the same body. However if the agent is offline, the call will be routed to another agent, unlike when posting through the UI.
Environment
We are using a dotnet web Api to make the requests, and have integrated the pure cloud packages for authentication and requests.
Differences Genesys vs Our System
There are 2 differences that I can see.
- This header, present on the UI request
ININ-Client-Path: #/person/4691f97c-523b-4d5c-93f3-46991dfda054
- The access token. We are using an Oauth client secret flow to get the token on our server. Where the token attached to the UI post in genesys has a user credentials token.
Could point 1 or 2 have any effect on the ownership? Or are there other factors at play we also need to consider when making this request from the Genesys UI vs an API?