cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
819
Views
2
Helpful
2
Replies

Webex Contact Center APIs

apmore
Level 1
Level 1

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.

2 Replies 2

Janos Benyovszki
Cisco Employee
Cisco Employee

@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
    }
  }
}

Janos Benyovszki
Cisco Employee
Cisco Employee

@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.