We are using the Zoom Phone API to retrieve call history log data for our reports, but so far we’ve spent all our time trying to convert the Zoom data into something that makes sense. Depending on the type of call, some are logged as a single call with multiple parts, while others get logged separately. Warm transfers specifically are a major problem.
If you go on the Zoom admin interface in the Admin → Phone System Management → Logs section and use the “New View” and then click the Event filter dropdown and click the arrow next to Transfer to get the option to check “Warm Transfer”, the most recent events that show are from November 15th. It seems after that point, Zoom changed the way that warm transfers are logged, but never bothered updating the website interface.
We performed a warm transfer on February 18th at 5:20pm Central time to see how it is now logging. The logs show a single inbound log, event “incoming”, call result “answered”, duration 1:03. If you click call path, it shows the initial call, and then has a blue “Continue to trace warm transfer” button. If you click that button, it expands and pulls the call data for the warm transfer, showing that the initial recipient made a call to the transfer recipient.
A web inspector shows that part of the JSON passed to the browser includes:
“actions”: [{
“time”: 1739920863245,
“type”: 10,
“extra_info”: null
}, {
“time”: 1739920869435,
“type”: 11,
“extra_info”: null
}, {
“time”: 1739920877615,
“type”: 10,
“extra_info”: null
}, {
“time”: 1739920898308,
“type”: 61,
“extra_info”: “7472903303009166744”
}],
It appears action type 10 is “Hold”, 11 is “Unhold”, and 61 is “warm transfer”, and extra_info is the call id for that second part of the call.
A call to the API at https://api.zoom.us/v2/phone/call_history does not return any of that information, so from the API it looks like a simple call from an outside phone number to the initial call recipient, and as of November 15th calls contain zero trace in the API logs that a warm transfer even happened, let alone contain any info on how to follow to the next part of the call.
Is anyone actually working on the API? It seems like it is consistently behind the web interface, the REST API doesn’t even match the webhook API (for example, the call ID sent on a webhook cannot be used to lookup call history details at the REST API).