Hey folks,
Running into a pretty frustrating data gap with the Genesys Cloud Quality API. We’re trying to build a custom dashboard that links CSAT survey results directly to specific interaction metadata (like agent ID, duration, and queue). The idea is simple: pull the evaluation, get the CSAT score, and join it to the conversation record.
I’m hitting POST /api/v2/quality/evaluations with a basic request body to fetch evaluations for a specific user over the last week. The call succeeds with a 200 OK, but the returned JSON payload for evaluations that include a CSAT response is missing the interaction.id field. It’s just null. Without that ID, I can’t map the score back to the actual call or chat session.
Here’s the payload I’m sending:
{
"dateRange": {
"startDateTime": "2023-10-01T00:00:00.000Z",
"endDateTime": "2023-10-31T23:59:59.999Z"
},
"filter": {
"userId": "abc-123-def-456"
},
"pageSize": 100
}
The response comes back with the evaluation ID, the score, and the surveyId, but interaction is always {} or null for CSAT-only evaluations. I’ve tried adding include parameters and checking the evaluationType filter, but nothing changes. It seems like the API treats CSAT responses as standalone entities rather than tied interactions in the evaluation response.
Is there a different endpoint I should be using to get the interaction ID? Or is there a way to fetch the interaction details from the surveyId directly? We’ve been trying to stitch this together via separate API calls to /conversations but the latency is killing us. Any pointers on how to reliably get that link would be great.