12-24-2023 07:50 AM
Hi Team,
Good Day....
We are currently working on a project that involves reingesting the calls (We are using WXCC2 integration- CISCOV2) into our system and we believe your search API could be instrumental in achieving our goal.
Our objective is to identify and reingest only the calls that are currently missing from our system. To accomplish this, we are considering passing all available session IDs (call IDs) from our system to your search API via a GraphQL query. The expectation is that the search API would then return all call IDs that are not present in the list of session IDs we provided.
We are in the process of creating the necessary GraphQL query to pass the existing session IDs for a specific time duration. However, we could use some guidance to ensure we’re on the right track. Could you please assist us in creating this GraphQL query and integrating it with your search API?
Additionally, we understand that the current /search API has a limitation where only 500 call IDs can be fetched in one API call. We would like to confirm whether this limitation will still apply after we implement the filter for our scenario. Specifically, if there are 500 missing records in our contacts list, will we be able to retrieve all 500 records in a single API call?
One way found is:
{
task (
from: 1695148200000,
to: 1697221800000,
filter: {
and: [
{ channelType: { equals: telephony } }
{
and: [
{ id: { notequals: "XXXXXXXXXXXXXXXX" } }
{ id: { notequals: "XXXXXXXXXXXXXX" } }
{ id: { notequals: "XXXXXXXXXXXXX" } }
{ id: { notequals: "XXXXXXXXXXXXXX" } }
]
}
]
},
pagination: { cursor: "0" }
) {
tasks {
id
channelType
}
}
}
Your expertise and assistance in this matter would be greatly appreciated. We look forward to your response and guidance.
01-19-2024 08:17 AM
@apmore here is a query that worked for me for filtering out a particular ID:
{
task(
from: 1704384689000
to: 1704391889000
filter: {
and: [
{ channelType: { equals: telephony } }
{ id: {notequals:"2a3bdc6a-2695-41d7-b51a-0a4c09be05e1"}}
]
}
) {
tasks {
id
channelType
}
}
}
01-19-2024 08:00 AM
@apmore sure, let me try to help you with a few things:
- pagination: indeed tasks and taskLegDetails support a maximum page size of 500, whereas taskDetails and agentSession supports a maximum page size of 250. Note, that this is page size, so if you have more records, you can paginate through them, using the pagination parameter
- about the other query "search API would then return all call IDs that are not present in the list of session IDs we provided." - let me see if I can find a working sample that I can share. I'll let you know here.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide