Получение уведомлений об изменениях для записей звонков Microsoft Teams
Уведомления об изменениях в Microsoft Graph позволяют подпискам вызывать записи, обеспечивая непрерывный поток обновлений записей вызовов по мере их создания или изменения. Записи звонков предоставляют ценные аналитические сведения об использовании и диагностике звонков и собраний по сети в вашей организации при использовании Microsoft Teams или Skype для бизнеса. Эти данные можно использовать для пользовательских отчетов, упрощая мониторинг внедрения и устраняя проблемы с качеством звонков.
Разрешения
Тип разрешения | Разрешения (в порядке повышения привилегий) | Поддерживаемые версии |
---|---|---|
Делегированные (рабочая или учебная учетная запись) | Не поддерживается. | Не поддерживается. |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
Приложение | CallRecords.Read.All | v1.0 |
Примеры
Пример 1. Запрос подписки
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}"
}
Уведомления об изменениях для записей звонков поддерживают как типы уведомлений, так create
и update
. Подписка на create
изменения отправляет только одно уведомление, когда запись вызова впервые отображается в определенной подписке. Запись звонка создается после окончания звонка или собрания и остается доступной в течение 30 дней.
Подписка на update
изменения включает в себя первоначальное уведомление, когда запись впервые отображается в определенной подписке, и все последующие уведомления при изменении этой записи. Так как определенные атрибуты записи вызовов зависят от сигналов на стороне клиента, которые могут быть подвержены задержкам или прерываниям из-за проблем с сетью, запись вызова может обновляться с новыми или пересмотренными сведениями после ее первоначального создания. Эти изменения активируют update
уведомление, и поле записи version
увеличивается, чтобы указать на изменение.
Задержка уведомлений об изменениях и максимальный срок действия подписки определяются в обзоре уведомлений об изменениях.
Пример 2. Запрос на подписку, отфильтрованный по идентификатору объекта Microsoft Entra участника
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}"
}
При необходимости можно фильтровать уведомления об изменениях для записей вызовов с помощью идентификатора объекта Microsoft Entra участника. Уведомления об изменениях, отфильтрованные по идентификатору объекта, отправляются, когда идентификатор объекта Microsoft Entra участника вызова включается в параметр фильтра.
Этот фильтр поддерживает eq
операторы , or
и in
для id
атрибута participants
коллекции в ресурсе callRecord. Дополнительные сведения об использовании $filter см. в разделе Использование параметра запроса $filter.
Пример 3. Уведомление о подписке
{
"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}"
}]
}
- Свойство Идентификатор вызова соответствует конкретному ресурсу записи вызовов, который можно получить с помощью API Get callRecord .