Skip to main content

Hey, apologies if this is mentioned before but couldn’t find.

When I hit POST - Retrieve detailed call data API, it only pulls certain amount of (89) calls’ data although I haven’t specified and date, call_id etc. limitation. In the API doc it only mentions a time frequency limitation but now I’m wondering whether there’s a size limitation as well, anyone experienced a similar issue?

 

For reference, below is how my payload looks;

 

payload_calls = {
"contentSelector": {
"context": "Extended",
"contextTiming": e
"Now",
"TimeOfCall"
],
"exposedFields": {
"collaboration": {
"publicComments": True
},
"content": {
"pointsOfInterest": True,
"structure": True,
"topics": True,
"trackers": True
},
"interaction": {
"personInteractionStats": True,
"questions": True,
"speakers": True
},
"parties": True
}
},
"filter": {
"__callIds": _]
}
}

 

Hi @Onur Koyuturk — I’m looking into this for you. Stay tuned, and thanks for your patience! CC @BridgetFinegan @Andrew O'Driscoll 


Hi again @Onur Koyuturk —

For the /v2/calls/extensive endpoint, 'filters' is a required request parameter, so it's not immediately clear what specifically is limiting your return from here. To dive deeper into this example, our support team will be happy to help troubleshooting with more specific detail and is reachable via this form. I recommend including screen shots of the request as it is being made so they can more efficiently begin assisting.

From a more general lens, our API Overview Documentation explains pagination as follows:

Some API calls that return a list are limited in the amount of records they may return, so multiple API calls may be required to bring all records. Such an API call also returns a records field, which contains the number of records in the current page, the current page number and the total number of records.

In cases where the total number of records exceeds the number of records thus far retrieved, the records field will also contain a cursor field which can be used to access the next page of records. To retrieve the next page, repeat the API call with the cursor value as supplied by the previous API call. All other request inputs should remain the same.

I hope this helps! Please let me know if you have follow up questions :) 


@Onur Koyuturk it’s very odd that you are only getting 89 calls back assuming you have more than that number of calls.  There is no size limitation. I test your parameters using Postman in 2 different Gong instances and they both returned the total number of calls in the respective instance. 

Acknowledge that it’s an outside idea, but I would try 2 things:

  1. in case you have access to different Gong instances, confirm that the API key is for the intended Gong instance. (you can also look at the returned calls to confirm the correct content) 
  2. Try the same code in Postman with the https://api.gong.io/v2/calls/extensive endpoint to eliminate any possible coding error. Use the JSON below which is your parameters in JSON format. 

 

{
"filter": {
"__fromDateTime": "2024-02-26T00:00:00Z",
"__toDateTime": "2024-02-26T23:59:59Z",
"__callIds": _]
},
"contentSelector": {
"context": "Extended",
"contextTiming": e"TimeOfCall"],
"exposedFields": {
"collaboration": {
"publicComments": "true"
},
"content": {
"pointsOfInterest": "true",
"structure": "true",
"topics": "true",
"trackers": "true"
},
"interaction": {
"personInteractionStats": "true",
"questions": "true",
"speakers": "true"
},
"parties": "true"
}
}
}

 

 


Thank you @Molly Kipnis for the guidance!

@Andrew O'Driscoll I appreciate the workarounds, I’ve tried the following;

  • getting a new API key
  • Change the body with the snippet you shared above and run it via Postman

Unfortunately I’m still getting the calls that took place between 8 March - 23 April, despite the different date range in your snippet. Also I realised the API is unresponsive to filters as the result is same regardless of my input, even when I put a single call_ID.

In your trial, does it capture a wider date range than what I stated above?

I can share my request credentials if it helps.


@Onur Koyuturk send me a private message and we can get on a Zoom tomorrow or Friday. We will share the resolution back with the community for their learning benefit.


PM sent @Andrew O'Driscoll 


We met with @Andrew O'Driscoll and he was kind enough to go through my code & environment to detect the issue, which I’ll be sharing the outcome for the community favor - 

 

issue;

The main difficulty I was having that I was not able to pull all the calls from the Gong account of my company and it turned out that I was actually pulling however when the page limitation applies, I was only able to see a limited number of calls (i.e. around 100) per page.

 

solution;

Apparently the caveat I was overlooking is the “cursor” part, where there should be number of API calls in order to get the full list. Cursor text should be integrated into the consecutive API calls’ body after the first one and can be found on top of each response. For my case, I was able to added to parameters with “cursor” key for GET and embed into request body for POST calls.

 

Bonus benefit of the walkthrough for me was to remove underscores from filter parameters in order to make them effective! (i.e. below )

"__fromDateTime": "2024-02-26T00:00:00Z" 

"fromDateTime": "2024-02-26T00:00:00Z" ## removed underscores

 

So all good! - thanks for a fruitful inquiry. 


Reply