Obtención de notificaciones de cambio para los registros de llamadas de Microsoft Teams
Las notificaciones de cambio de Microsoft Graph permiten que las suscripciones llamen a registros, lo que proporciona una secuencia continua de actualizaciones de registros de llamadas a medida que se crean o modifican. Los registros de llamadas ofrecen información valiosa sobre el uso y el diagnóstico de las llamadas y reuniones en línea de su organización cuando se usa Microsoft Teams o Skype Empresarial. Estos datos se pueden aprovechar para la creación de informes personalizados, lo que facilita la supervisión de la adopción y la solución de problemas de calidad de llamadas.
Permisos
Tipo de permiso | Permisos (de menos a más privilegiados) | Versiones compatibles |
---|---|---|
Delegado (cuenta profesional o educativa) | No admitida. | No admitida. |
Delegado (cuenta personal de Microsoft) | No admitida. | No admitida. |
Aplicación | CallRecords.Read.All | v1.0 |
Ejemplos
Ejemplo 1: Solicitud de suscripción
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "updated",
"notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
"lifecycleNotificationUrl": "https://webhook.azurewebsites.net/api/lifecycleNotifications",
"resource": "/communications/callRecords",
"expirationDateTime": "2023-02-28T00:00:00.0000000Z",
"clientState": "{Secret client state}"
}
Las notificaciones de cambio para los registros de llamada admiten tanto los tipos de update
notificación como create
. Una suscripción para create
cambios solo envía una única notificación cuando se genera por primera vez un registro de llamada. Un registro de llamada se crea después de que finaliza una llamada o reunión y permanece accesible durante 30 días.
Una suscripción para update
los cambios incluye una notificación inicial cuando se genera el registro por primera vez y cualquier notificación posterior a medida que se modifica ese registro. Dado que los atributos de registro de llamadas específicos dependen de señales del lado cliente, que pueden estar sujetos a retrasos o interrupciones debido a problemas de red, un registro de llamadas podría someterse a actualizaciones con información nueva o revisada después de su creación inicial. Estos cambios desencadenan una update
notificación y el campo del version
registro se incrementa para indicar la modificación.
La latencia de las notificaciones de cambio y el período de expiración máximo de la suscripción se definen en la introducción a las notificaciones de cambio.
Ejemplo 2: Solicitud de suscripción filtrada por el participante Microsoft Entra id. de objeto
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "updated",
"notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
"lifecycleNotificationUrl": "https://webhook.azurewebsites.net/api/lifecycleNotifications",
"resource": "/communications/callRecords?$filter=participants/any(p:p/id eq '{Entra object id}')",
"expirationDateTime": "2023-02-28T00:00:00.0000000Z",
"clientState": "{Secret client state}"
}
Opcionalmente, puede filtrar las notificaciones de cambio para los registros de llamadas mediante el identificador de objeto de Microsoft Entra de un participante. Las notificaciones de cambio filtradas por id. de objeto se envían cuando se incluye el Microsoft Entra id. de objeto de un participante de llamada en el parámetro de filtro.
Este filtro admite eq
operadores , or
y in
para el id
atributo de la participants
colección en un recurso callRecord. Para obtener más información sobre el uso de $filter, consulte Uso del parámetro de consulta $filter.
Ejemplo 3: Notificación de suscripción
{
"value":[{
"subscriptionId":"{Subscription id}",
"clientState":"{Secret client state}",
"changeType":"created",
"resource":"communications/callRecords/{Call id}",
"subscriptionExpirationDateTime":"2023-02-28T00:00:00.000+00:00",
"resourceData":{
"@odata.type":"#Microsoft.Graph.callRecord",
"@odata.id":"communications/callRecords/{Call id}",
"id":"{Call id}"
},
"tenantId":"{Organization/Tenant id}"
}]
}
- La propiedad Id . de llamada corresponde a un recurso de registro de llamada específico, que se puede recuperar mediante la API Get callRecord .