Compartilhar via


Obter notificações de alteração para transcrições e gravações de reuniões com o Microsoft Graph

As notificações de alteração permitem-lhe subscrever alterações a transcrições e gravações. Pode ser notificado sempre que estiver disponível uma transcrição ou uma gravação após uma reunião online.

Este artigo descreve cenários para os recursos de transcrição e gravação . Para obter mais informações, consulte Alterar notificações para recursos do Microsoft Teams.

Observação

Se pedir uma subscrição expirationDateTime que seja superior a 1 hora no futuro, terá de subscrever notificações de ciclo de vida ao incluir uma propriedade lifecycleNotificationUrl no pedido de subscrição. Caso contrário, o pedido de subscrição falhará com a seguinte mensagem de erro: lifecycleNotificationUrl é necessário para a criação da subscrição neste recurso quando o valor expirationDateTime exceder 1 hora.

Subscrever transcrições disponíveis ao nível do inquilino

Para obter notificações de alteração para qualquer transcrição disponível para qualquer reunião online num inquilino, subscreva communications/onlineMeetings/getAllTranscripts. Este recurso oferece suporte a incluindo dados de recursos na notificação. A notificação de uma transcrição só é enviada se a subscrição ocorrer antes do início da transcrição. Esta subscrição suporta onlineMeetings agendados.

Nota: Esta subscrição também suporta reuniões de canal no /beta ponto final.

Permissões

É necessária uma das seguintes permissões para subscrever communications/onlineMeetings/getAllTranscriptso . Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) Sem suporte.
Delegado (conta pessoal da Microsoft) Sem suporte.
Application OnlineMeetingTranscript.Read.All

Exemplo

O exemplo seguinte mostra como subscrever transcrições disponíveis ao nível do inquilino.

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "communications/onlineMeetings/getAllTranscripts",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

Subscrever transcrições disponíveis para uma determinada reunião online

Para obter notificações de alteração para qualquer transcrição disponível para uma determinada reunião online, subscreva communications/onlineMeetings/{onlineMeetingId}/transcripts. Este recurso oferece suporte a incluindo dados de recursos na notificação. A notificação de uma transcrição só é enviada se a subscrição ocorrer antes do início da transcrição. Esta subscrição suporta onlineMeetings agendados.

Nota: Esta subscrição também suporta reuniões de canal no /beta ponto final.

Permissões

É necessária uma das seguintes permissões para subscrever communications/onlineMeetings/{onlineMeetingId}/transcriptso . Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) OnlineMeetingTranscript.Read.All
Delegado (conta pessoal da Microsoft) Sem suporte.
Application OnlineMeetingTranscript.Read.Chat, OnlineMeetingTranscript.Read.All

Observação

  • A OnlineMeetingTranscript.Read.Chat permissão utiliza o consentimento específico do recurso. Esta permissão aplica-se apenas a reuniões de chat privadas agendadas e não a reuniões de canal.
  • Para subscrever qualquer transcrição disponível para uma determinada reunião online utilizando apenas as permissões de consentimento específicas do recurso necessárias, utilize o parâmetro de consulta com a useResourceSpecificConsentBasedAuthorization=true cadeia de recursos.

Exemplo 1: subscrever transcrições disponíveis para uma determinada reunião online com permissões clássicas

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "communications/onlineMeetings/{onlineMeetingId}/transcripts",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "communications/onlineMeetings/{onlineMeetingId}/transcripts?useResourceSpecificConsentBasedAuthorization=true",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

Subscrever transcrições disponíveis ao nível do utilizador

Para obter notificações de alteração para qualquer transcrição disponível para qualquer reunião online organizada por um utilizador específico, subscreva users/{userId}/onlineMeetings/getAllTranscripts. Este recurso oferece suporte a incluindo dados de recursos na notificação. A notificação de uma transcrição só é enviada se a subscrição ocorrer antes do início da transcrição. Esta subscrição suporta onlineMeetings agendados.

Nota: Esta subscrição também suporta reuniões de canal no /beta ponto final.

Permissões

É necessária uma das seguintes permissões para subscrever users/{userId}/onlineMeetings/getAllTranscriptso . Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) OnlineMeetingTranscript.Read.All
Delegado (conta pessoal da Microsoft) Sem suporte.
Application OnlineMeetingTranscript.Read.All

Exemplo

O exemplo seguinte mostra como subscrever transcrições disponíveis para qualquer reunião online organizada por um utilizador específico.

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "users/{userId}/onlineMeetings/getAllTranscripts",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

Subscrever transcrições disponíveis para qualquer reunião online em que esteja instalada uma aplicação específica do Teams

Para obter notificações de alteração para qualquer transcrição disponível para qualquer reunião online em que esteja instalada uma aplicação específica do Teams, subscreva appCatalogs/teamsApps/{teams-app-id}/installedToOnlineMeetings/getAllTranscripts. Este recurso oferece suporte a incluindo dados de recursos na notificação. A notificação de uma transcrição só é enviada se a subscrição ocorrer antes do início da transcrição. Esta subscrição suporta onlineMeetings agendadas , mas não reuniões de canal.

Nota: Este tipo de recurso só está disponível no /beta ponto final.

Permissões

É necessária uma das seguintes permissões para subscrever appCatalogs/teamsApps/{teams-app-id}/installedToOnlineMeetings/getAllTranscriptso . Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) Sem suporte.
Delegado (conta pessoal da Microsoft) Sem suporte.
Application OnlineMeetingTranscript.Read.Chat, OnlineMeetingTranscript.Read.All

Observação

  • A OnlineMeetingTranscript.Read.Chat permissão utiliza o consentimento específico do recurso.
  • Para subscrever transcrições disponíveis para qualquer reunião online em que uma aplicação específica do Teams esteja instalada com apenas as permissões de consentimento específicas de recursos necessárias, utilize o parâmetro de consulta com a useResourceSpecificConsentBasedAuthorization=true cadeia de recursos.

Exemplo 1: subscrever transcrições disponíveis para qualquer reunião online em que uma aplicação específica do Teams esteja instalada com permissões clássicas

POST https://graph.microsoft.com/beta/subscriptions
Content-Type: application/json
{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "appCatalogs/teamsApps/386bbcdb-1e1c-4f3f-b7d0-ad7b9ea6cf7c/installedToOnlineMeetings/getAllTranscripts",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}
POST https://graph.microsoft.com/beta/subscriptions
Content-Type: application/json
{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "appCatalogs/teamsApps/386bbcdb-1e1c-4f3f-b7d0-ad7b9ea6cf7c/installedToOnlineMeetings/getAllTranscripts?useResourceSpecificConsentBasedAuthorization=true",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

Subscrever gravações disponíveis ao nível do inquilino

Para obter notificações de alteração para qualquer gravação disponível para qualquer reunião online num inquilino, subscreva communications/onlineMeetings/getAllRecordings. Este recurso oferece suporte a incluindo dados de recursos na notificação. Esta subscrição suporta onlineMeetings agendados.

Nota: Esta subscrição também suporta reuniões de canal no /beta ponto final.

Permissões

É necessária uma das seguintes permissões para subscrever communications/onlineMeetings/getAllRecordingso . Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) Sem suporte.
Delegado (conta pessoal da Microsoft) Sem suporte.
Application OnlineMeetingRecording.Read.All

Exemplo

O exemplo seguinte mostra como subscrever gravações disponíveis ao nível do inquilino.

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "communications/onlineMeetings/getAllRecordings",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-04-11T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

Subscrever gravações disponíveis para uma determinada reunião online

Para obter notificações de alteração para qualquer gravação disponível para uma determinada reunião online, subscreva communications/onlineMeetings/{onlineMeetingId}/recordings. Este recurso oferece suporte a incluindo dados de recursos na notificação. Esta subscrição suporta onlineMeetings agendados.

Nota: Esta subscrição também suporta reuniões de canal no /beta ponto final.

Permissões

É necessária uma das seguintes permissões para subscrever communications/onlineMeetings/{onlineMeetingId}/recordingso . Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) OnlineMeetingRecording.Read.All
Delegado (conta pessoal da Microsoft) Sem suporte.
Application OnlineMeetingRecording.Read.Chat, OnlineMeetingRecording.Read.All

Observação

  • A OnlineMeetingRecording.Read.Chat permissão utiliza o consentimento específico do recurso. Esta permissão aplica-se apenas a reuniões de chat privadas agendadas e não a reuniões de canal.
  • Para subscrever qualquer gravação disponível para uma determinada reunião online utilizando apenas as permissões de consentimento específicas de recursos necessárias, utilize o parâmetro de consulta com a useResourceSpecificConsentBasedAuthorization=true cadeia de recursos.

Exemplo 1: subscrever gravações disponíveis para uma determinada reunião online com permissões clássicas

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "communications/onlineMeetings/{onlineMeetingId}/recordings",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-04-11T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "communications/onlineMeetings/{onlineMeetingId}/recordings?useResourceSpecificConsentBasedAuthorization=true",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-04-11T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

Subscrever gravações disponíveis ao nível do utilizador

Para obter notificações de alteração para qualquer gravação disponível para qualquer reunião online organizada por um utilizador específico, subscreva users/{userId}/onlineMeetings/getAllRecordings. Este recurso oferece suporte a incluindo dados de recursos na notificação. Esta subscrição suporta onlineMeetings agendados.

Nota: Esta subscrição também suporta reuniões de canal no /beta ponto final.

Permissões

É necessária uma das seguintes permissões para subscrever users/{userId}/onlineMeetings/getAllRecordingso . Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) OnlineMeetingRecording.Read.All
Delegado (conta pessoal da Microsoft) Sem suporte.
Application OnlineMeetingRecording.Read.All

Exemplo

O exemplo seguinte mostra como subscrever gravações disponíveis para qualquer reunião online organizada por um utilizador específico.

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "users/{userId}/onlineMeetings/getAllRecordings",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-04-11T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

Subscrever gravações disponíveis para qualquer reunião online em que esteja instalada uma aplicação específica do Teams

Para obter notificações de alteração para qualquer gravação disponível para qualquer reunião online em que esteja instalada uma aplicação específica do Teams, subscreva appCatalogs/teamsApps/{teams-app-id}/installedToOnlineMeetings/getAllRecordingso . Este recurso oferece suporte a incluindo dados de recursos na notificação. Esta subscrição suporta onlineMeetings agendadas , mas não reuniões de canal.

Nota: Este tipo de recurso só está disponível no /beta ponto final.

Permissões

É necessária uma das seguintes permissões para subscrever appCatalogs/teamsApps/{teams-app-id}/installedToOnlineMeetings/getAllRecordingso . Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) Sem suporte.
Delegado (conta pessoal da Microsoft) Sem suporte.
Application OnlineMeetingRecording.Read.Chat, OnlineMeetingRecording.Read.All

Observação

  • A OnlineMeetingRecording.Read.Chat permissão utiliza o consentimento específico do recurso.
  • Para subscrever gravações disponíveis para qualquer reunião online em que uma aplicação específica do Teams esteja instalada com apenas as permissões de consentimento específicas de recursos necessárias, utilize o parâmetro de consulta com a useResourceSpecificConsentBasedAuthorization=true cadeia de recursos.

Exemplo 1: subscrever gravações disponíveis para qualquer reunião online em que uma aplicação específica do Teams esteja instalada com as permissões clássicas necessárias

POST https://graph.microsoft.com/beta/subscriptions
Content-Type: application/json
{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "appCatalogs/teamsApps/386bbcdb-1e1c-4f3f-b7d0-ad7b9ea6cf7c/installedToOnlineMeetings/getAllRecordings",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}
POST https://graph.microsoft.com/beta/subscriptions
Content-Type: application/json
{
  "changeType": "created",
  "notificationUrl": "https://webhook.azurewebsites.net/api/resourceNotifications",
  "resource": "appCatalogs/teamsApps/386bbcdb-1e1c-4f3f-b7d0-ad7b9ea6cf7c/installedToOnlineMeetings/getAllRecordings?useResourceSpecificConsentBasedAuthorization=true",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2023-03-20T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

Cargas de notificação

Consoante a sua subscrição, pode receber a notificação com ou sem dados de recursos. Subscrever dados de recursos permite-lhe obter a transcrição ou gravar metadados juntamente com a notificação.

Notificações com dados de recursos

Para notificações com dados de recursos, a carga se parece com a seguinte. Este payload destina-se a uma transcrição disponível para uma reunião online.

{
  "value": [
    {
      "subscriptionId": "516220d0-0f88-46cc-ac39-02b687687526",
      "changeType": "created",
      "clientState": "<<--SpecifiedClientState-->>",
      "subscriptionExpirationDateTime": "2023-09-17T08:13:26.3265566+00:00",
      "resource": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19aalk0TXpRNU9UQXRZamxqWWkwMFpESXdMVGczTkdZdFptUTNNRGhtWm1FMk9EVTNAdGhyZWFkLnYy')/transcripts('MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx')",
      "resourceData": {
        "id": "MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx",
        "@odata.type": "#Microsoft.Graph.callTranscript",
        "@odata.id": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19aalk0TXpRNU9UQXRZamxqWWkwMFpESXdMVGczTkdZdFptUTNNRGhtWm1FMk9EVTNAdGhyZWFkLnYy')/transcripts('MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx')"
      },
      "encryptedContent": {
        "data": "<<--EncryptedContent-->>",
        "dataKey": "<<--EnryptedDataKeyUsedForEncryptingContent-->>",
        "encryptionCertificateId": "<<--IdOfTheCertificateUsedForEncryptingDataKey-->>",
        "encryptionCertificateThumbprint": "<<--ThumbprintOfTheCertificateUsedForEncryptingDataKey-->>"
      },
      "tenantId": "<<--TenantForWhichNotificationWasSent-->>"
    }
  ],
  "validationTokens": [
    "<<--ValidationTokens-->>"
  ]
}

A carga de notificação descriptografada parece com a seguinte. O payload está em conformidade com o esquema de transcrição . O payload é semelhante aos devolvidos pelas operações GET.

{
  "id": "MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx",
  "meetingId": "MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19aalk0TXpRNU9UQXRZamxqWWkwMFpESXdMVGczTkdZdFptUTNNRGhtWm1FMk9EVTNAdGhyZWFkLnYy",
  "callId": "af630fe0-04d3-4559-8cf9-91fe45e36296",
  "transcriptContentUrl": "communications/onlineMeetings/MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19aalk0TXpRNU9UQXRZamxqWWkwMFpESXdMVGczTkdZdFptUTNNRGhtWm1FMk9EVTNAdGhyZWFkLnYy/transcripts/MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx/content",
  "createdDateTime": null,
  "endDateTime": "2023-04-10T08:27:25.2346000Z",
  "contentCorrelationId": "bc842d7a-2f6e-4b18-a1c7-73ef91d5c8e3",
  "meetingOrganizer": {
    "application": null,
    "device": null,
    "user": {
      "userIdentityType": "aadUser",
      "id": "976f4b31-fd01-4e0b-9178-29cc40c14438",
      "displayName": null,
      "tenantId": "2432b57b-0abd-43db-aa7b-16eadd115d34"
    }
  }
}

Para notificações com dados de recursos, a carga se parece com a seguinte. Este payload destina-se a uma gravação disponível para uma reunião online.

{
  "value": [
    {
      "subscriptionId": "7a62d59e-a789-4dd7-9c85-cf7d6567890d",
      "changeType": "created",
      "clientState": "<<--SpecifiedClientState-->>",
      "subscriptionExpirationDateTime": "2023-09-17T08:20:06.9211285+00:00",
      "resource": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19NMk0zTlRReFkySXRaamsyWmkwME5UTTRMV0l4TTJFdE1EQmtPV1E1TW1Rek0yRXhAdGhyZWFkLnYy')/recordings('VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=')",
      "resourceData": {
        "id": "VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=",
        "@odata.type": "#Microsoft.Graph.callRecording",
        "@odata.id": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19NMk0zTlRReFkySXRaamsyWmkwME5UTTRMV0l4TTJFdE1EQmtPV1E1TW1Rek0yRXhAdGhyZWFkLnYy')/recordings('VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=')"
      },
      "encryptedContent": {
        "data": "<<--EncryptedContent-->>",
        "dataKey": "<<--EnryptedDataKeyUsedForEncryptingContent-->>",
        "encryptionCertificateId": "<<--IdOfTheCertificateUsedForEncryptingDataKey-->>",
        "encryptionCertificateThumbprint": "<<--ThumbprintOfTheCertificateUsedForEncryptingDataKey-->>"
      },
      "tenantId": "<<--TenantForWhichNotificationWasSent-->>"
    }
  ],
  "validationTokens": [
    "<<--ValidationTokens-->>"
  ]
}

A carga de notificação descriptografada parece com a seguinte. O payload está em conformidade com o esquema de gravação . O payload é semelhante aos devolvidos pelas operações GET.

{
  "id": "VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=",
  "meetingId": "MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19NMk0zTlRReFkySXRaamsyWmkwME5UTTRMV0l4TTJFdE1EQmtPV1E1TW1Rek0yRXhAdGhyZWFkLnYy",
  "callId": "af630fe0-04d3-4559-8cf9-91fe45e36296",
  "createdDateTime": "2023-07-25T09:35:02.85022Z",
  "endDateTime": "2023-04-10T08:27:25.2346000Z",
  "contentCorrelationId": "bc842d7a-2f6e-4b18-a1c7-73ef91d5c8e3",
  "recordingContentUrl": "communications/onlineMeetings/MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19NMk0zTlRReFkySXRaamsyWmkwME5UTTRMV0l4TTJFdE1EQmtPV1E1TW1Rek0yRXhAdGhyZWFkLnYy/recordings/VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=/content",
  "meetingOrganizer": {
    "application": null,
    "device": null,
    "user": {
      "userIdentityType": "aadUser",
      "id": "976f4b31-fd01-4e0b-9178-29cc40c14438",
      "displayName": null,
      "tenantId": "2432b57b-0abd-43db-aa7b-16eadd115d34"
    }
  },
  "content": null
}

Notificações sem dados de recursos

As notificações sem dados de recursos dão-lhe o ID do recurso para efetuar chamadas GET para obter a transcrição ou gravação. As subscrições para notificações sem dados de recursos não necessitam de um certificado de encriptação (porque os dados de recursos reais não são enviados).

Para notificações sem dados de recursos, a carga se parecerá com o seguinte. Este payload destina-se a uma transcrição disponível para uma reunião online.

{
  "subscriptionId": "0cc28c98-4d2a-4a34-b850-815d7e6486ea",
  "changeType": "created",
  "tenantId": "<<--TenantForWhichNotificationWasSent-->>",
  "clientState": "<<--SpecifiedClientState-->>",
  "subscriptionExpirationDateTime": "2023-09-17T08:29:11.3173971+00:00",
  "resource": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19aalk0TXpRNU9UQXRZamxqWWkwMFpESXdMVGczTkdZdFptUTNNRGhtWm1FMk9EVTNAdGhyZWFkLnYy')/transcripts('MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx')",
  "resourceData": {
    "id": "MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx",
    "@odata.type": "#Microsoft.Graph.callTranscript",
    "@odata.id": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19aalk0TXpRNU9UQXRZamxqWWkwMFpESXdMVGczTkdZdFptUTNNRGhtWm1FMk9EVTNAdGhyZWFkLnYy')/transcripts('MSMjMCMjOGIzMmI0MzktY2QxNy00ODc1LTg1NWQtYzA1MDM0ZmFkZWMx')"
  }
}

Para notificações sem dados de recursos, a carga se parecerá com o seguinte. Este payload destina-se a uma gravação disponível para uma reunião online.

{
  "subscriptionId": "6aa5ced2-0a5a-4643-9274-3109c731d986",
  "changeType": "created",
  "tenantId": "<<--TenantForWhichNotificationWasSent-->>",
  "clientState": "<<--SpecifiedClientState-->>",
  "subscriptionExpirationDateTime": "2023-09-17T08:27:05.0241757+00:00",
  "resource": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19NMk0zTlRReFkySXRaamsyWmkwME5UTTRMV0l4TTJFdE1EQmtPV1E1TW1Rek0yRXhAdGhyZWFkLnYy')/recordings('VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=')",
  "resourceData": {
    "id": "VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=",
    "@odata.type": "#Microsoft.Graph.callRecording",
    "@odata.id": "communications/onlineMeetings('MSo5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgqMCoqMTk6bWVldGluZ19NMk0zTlRReFkySXRaamsyWmkwME5UTTRMV0l4TTJFdE1EQmtPV1E1TW1Rek0yRXhAdGhyZWFkLnYy')/recordings('VjIjIzE5NzZmNGIzMS1mZDAxLTRlMGItOTE3OC0yOWNjNDBjMTQ0MzgyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwMDZhODllMWZkYmJlZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA5NzUzYzg5ZWI3MmJkNDJiYWZjMTVkZDA4NWNmNWJlIyNjZmNjNTBjMy0zODllLTQyOTUtOWRiNy1mMjkwYWY2NDJlNzI=')"
  }
}

O recurso e as propriedades @odata.id podem ser utilizadas para chamar o Microsoft Graph para obter a transcrição ou gravação.