You referred to the call log data report from the service web portal (not the "platform" as you wrote), and the call log raw data from the API platform.
The call log data report from the service web is processed by the service web app. It parses the raw call data and displays only essential call data. It does not include other metadata such as the session id or the telephony session id etc.
The call log data returned from the /call-log API is raw data, which includes lots more metadata of a call record. However, there is no such a "Forwarded To" metadata in the raw call data. Instead, it is an internal routing and it has the same call record id, the same call session as the main incoming call.
So the "Forwarded To" leg is NOT a new call. It is not the same as "a "warm transfer" or a "blind transfer" call.
Thanks for your answer. So, is there a parameter that I can use to retrieve the leg and be able to identify if the call was transfered? I am struggling to identify these calls from the raw data extracted using the call log API.
Myself included! This is a crucial question which still has not been answered. Does anyone know the answer to this?! No one from Ring Central responds when this question is asked.
Myself included! This is a crucial question which still has not been answered. Does anyone know the answer to this?! No one from Ring Central responds when this question is asked.
As I explained above, the value in the “Forwarded To” column is the processed data from the raw data (call legs) in a call record. It normally tells you how an incoming call was handled by the user call handling settings. E.g. if a user set the ring group (Ring setting) to ring several numbers/co-workers, the system will make outbound calls to those numbers/co-workers (simultaneously or sequentially) and the system will log those outbound calls in the call legs. It is also the same for incoming call via a call queue where the system will make outbound calls to the call queue members.
If you want to parse a call record and detect the “Forwarded To” see this example
// Forwarded to
if (record.direction == "Inbound" && item.direction == "Outbound"){
var temp = (item.to.hasOwnProperty('phoneNumber')) ? item.to.phoneNumber : ''
if (item.to.hasOwnProperty('extensionNumber'))
temp += (temp != '') ? `*${item.to.extensionNumber}` : item.to.extensionNumber
}
Where, “record” is a call record and “item” is a call leg of that call record.
If you want to see more details, check my https://github.com/PacoVu/ringcentral-call-log/blob/master/usershandler.js#L846.
You can run the app and try with your production account too.