Historical Conversations Participants Attributes

I'm currently attempting to get historical data on participants and their attributes. I have a list of conversationId's that I'm able to iterate through and pass to the endpoint api/v2/conversations/{conversationId} to get the desired data as part of the response.

The issue is that we have 150k+ conversations every day, so running it this way is lengthy and would be impossible to implement.

The endpoints api/v2/conversations without the conversationId and api/v2/analytics/conversations/details both allow the retrieval of multiple conversations at once, but also omit the participants attributes data which we are seeking.

The current endpoint takes the parameter {conversationId} as part of the path, rather than as a query parameter, so as far as I'm aware, I'm unable to pass multiple conversationId' simultaneously.

Any ideas on alternate approaches to get this data?

Use the Jobs endpoint.

Those results include participant attributes, and work at scale, if you can wait till the next day for them to be available.

1 Like

@Eos_Rios you're correct.
The Jobs endpoint works for historical and bulk data because i implemented the same in the current month and moved it into production.

Thank you I will try this!

Would you mind helping me further with understanding how to populate the request body? I have fiddled around with it a little already, but the documentation is not very clear to me. What I have tried thus far is just passing in an interval for dates, but I am getting bad requests due to malformed syntax so it appears the endpoint is expecting some values for the filters, is that correct?

"conversationFilters": [
{
"type": "",
"clauses": [
{
"type": "",
"predicates": [
{
"type": "",
"dimension": "",
"metric": "",
"operator": "",
"value": "",
"range": ""
}
]
}
],
"predicates": [
{
"type": "",
"dimension": "",
"metric": "",
"operator": "",
"value": "",
"range": ""
}
]
}
],

Don't try running the API with empty placeholders, it freaks it out.

This one really is just as simple as;

URL: https://api.usw2.pure.cloud/api/v2/analytics/conversations/details/jobs
Method: Post
Headers: 
	Accept: application/json
	Authorization: [REDACTED]
Body: {"interval":"2024-08-22T04:00:00.000Z/2024-08-23T04:00:00.000Z"}

And that'll bring the whole day, everything.
Add filters if you want to make it more specific but if you're mining for "everything", that's it.

Read up on how to iterate the cursors though if you're not familiar.

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