Caller Information on Warm Transfer using Zoom Phone

Using webhooks to receive links to call recordings from Zoom phone - how can you receive information about outside caller number etc when a 'warm transfer" has occurred. It seems Zoom changed backend functions about 12 months ago and now can’t get links to the main call that follows a warm transfer.

Hi @SimonD
thanks for reaching out to us and welcome to our community!
I am happy to take a closer look into this issue.
Could you please share more details about this, describe what events you were getting and what was the expected payload.

Hi @elisa.zoom

I’ll take over from here as I am developer working on this.

We are trying to query endpoint https://api.zoom.us/v2/phone/call_history/-actual_call_history_id_from_webhook

{
    "code": 404,
    "message": "Call log information was not found."
}

Maybe perhaps its a permissions issue, even though we were using the deprecated call_log endpoint fine for sometime.

I verified that the app we are generating an auth token from does indeed have the scopes required:

Scopes: phone:read:admin,phone_call_log:read:admin

@elisa.zoom is there any way we can chat privately ?

I want to share the full information with you with headers / body of the webook but it is sensitive information.

Basically we are receiving a web hook on call recording finished.

headers --
{
  host: 'redacted',
  authorization: 'redacted',
  clientid: 'redacted',
  'x-zm-trackingid': 'redactedredacted',
  'x-zm-request-timestamp': '1729123830',
  'x-zm-signature': 'redacted',
  'content-type': 'application/json; charset=utf-8',
  'user-agent': 'Zoom Marketplace/1.0a',
  'x-forwarded-for': 'redacted',
  'x-forwarded-host': 'redacted',
  'x-forwarded-server': 'redacted',
  connection: 'Keep-Alive',
  'content-length': '941'
}
body --
{
  event: 'phone.recording_completed',
  payload: {
    account_id: 'redacted',
    object: {
      recordings: [
        {
          id: 'redacted',
          caller_number: 'redacted',
          caller_number_type: 2,
          caller_name: 'Jad Seifeddine',
          callee_number: '111',
          callee_number_type: 1,
          callee_name: 'redacted',
          direction: 'inbound',
          duration: 24,
          download_url: 'https://zoom.us/v2/phone/recording/download/redacted',
          date_time: '2024-10-17T00:10:00Z',
          recording_type: 'Automatic',
          call_log_id: '<THIS>',
          call_history_id: '<OR THIS>',
          call_id: 'redacted',
          owner: {
            type: 'callQueue',
            id: 'redacted',
            name: 'DL Reception',
            extension_number: 111,
            has_access_permission: false
          },
          site: {},
          end_time: '2024-10-17T00:10:24Z',
          accepted_by: { name: 'redacted', extension_number: '731' },
          disclaimer_status: 0
        }
      ]
    }
  },
  event_ts: 1729123830748
}

When we try and use

          call_log_id: '<THIS>',
          call_history_id: '<OR THIS>',

on the endpoint https://api.zoom.us/v2/phone/call_history/{CallLogId}

We’re getting

{
    "code": 404,
    "message": "Call Log does not exist: WoipPfojTai4YemQx4yVYw"
}

or

{
    "code": 404,
    "message": "Call log information was not found."
}

but when i query that endpoint without providing a callLogId it returns the same call but with a different callLogID -

At the heart of the issue, the webhook is not providing the correct callLogId

Hi @js2107
Thanks for reaching out!
I will send you a Private message and you can follow up there with more details