緊急通報イベントの更新に関する変更通知Microsoft Teams取得する
Microsoft Teamsは、緊急通報の通知をサポートします。 これらの通知は、Teams 内の特定のセキュリティ担当者に通知するためにルーティングできます。 Microsoft Graph の緊急通話イベント通知は、次の図に示すように、この機能を拡張して、Teams の外部 (カスタム クライアント アプリケーションなど) で緊急通報を受信できるようにします。
- Teams テナント管理者は、テナントの 緊急通話 を構成します。
- クライアント アプリケーションは、Microsoft Graph 緊急通報イベント サブスクリプションを作成します。
- Teams ユーザーが Teams で緊急通話 (911 など) を行うと、緊急通話イベント通知がクライアント アプリケーションに対して発生します。
- クライアント アプリケーションは、有効期限が切れる前に既存のサブスクリプションを 更新 するか、有効期限が切れた後に新しいサブスクリプションを 作成 して、緊急通報イベント通知をサブスクライブし続けます。
アクセス許可
アクセス許可の種類 | アクセス許可 (特権の小さいものから大きいものへ) | サポートされるバージョン |
---|---|---|
委任 (職場または学校のアカウント) | サポートされていません。 | サポートされていません。 |
委任 (個人用 Microsoft アカウント) | サポートされていません。 | サポートされていません。 |
アプリケーション | CallEvents-Emergency.Read.All | ベータ版。 |
緊急通報開始イベントをサブスクライブする
緊急通報ポリシー番号がダイヤルされたときにサブスクライブするには、サブスクリプション ペイロードの resource
プロパティを communications/calls/getEmergencyEventsByPolicy(policyName='{policyName}')
に設定し、{policyName}
フィールドをorganization用に構成されたポリシー名に置き換えます。
緊急通報イベントのサブスクリプションでは、リッチ通知のみがサポートされます。
includeResourceData
を true
に設定し、encryptionCertificate
の base64 でエンコードされた証明書の値と、encryptionCertificateId
の文字列識別子を指定します。 詳細については、「 リソース データを含む変更通知を設定する」を参照してください。
緊急通報イベントのサブスクリプションの有効期間は最大 1 日です。 サブスクリプションを長く保持するには、サブスクリプションの expirationDateTime プロパティを更新します。 詳細については、「 サブスクリプション API の更新」を参照してください。
注:
サブスクリプションは、アプリケーション、テナント、ポリシー名の組み合わせごとに 1 つのサブスクリプションに制限されます。 別のアプリケーション、テナント、緊急ポリシーと同じポリシーを使用する 2 つ目のサブスクリプションは、HTTP 状態コード 409 で失敗します。つまり、サブスクリプション要求が複製され、作成できません。
サブスクリプション ペイロードの例
POST https://graph.microsoft.com/beta/subscriptions
Content-Type: application/json
{
"changeType": "updated",
"notificationUrl": "https://contoso.com/notificationUrl",
"resource": "communications/calls/getEmergencyEventsByPolicy(policyName='EmergencyPolicy')",
"includeResourceData": true,
"encryptionCertificate": "{base64encodedCertificate}",
"encryptionCertificateId": "{customId}",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "{secretClientState}"
}
サブスクリプション要求のプロパティの定義については、「 サブスクリプション リソース」を参照してください。
緊急通報イベント通知
緊急通報の通知は、該当する緊急通報ポリシーを持つ通話が開始されたときにトリガーされます。
通知ペイロードの例
POST https://contoso.com/notificationUrl
Content-Type: application/json
{
"value": [{
"subscriptionId": "{Subscription id}",
"clientState": "{secret client state}",
"changeType": "updated",
"tenantId": "00000000-0000-0000-0000-000000000000",
"resource": "communications/calls/getEmergencyEventsByPolicy(policyName='EmergencyPolicy')",
"subscriptionExpirationDateTime": "2021-02-01T11:00:00.0000000Z",
"resourceData": {
"@odata.id": "communications/calls/getEmergencyEventsByPolicy(policyName='EmergencyPolicy')",
"@odata.type": "#microsoft.graph.emergencyCallEvent",
"id": "11111111-0000-0000-0000-000000000000",
},
"organizationId": "00000000-0000-0000-0000-000000000000",
"encryptedContent": {
"data": "{Encrypted content}",
"dataSignature": "{Encrypted data signature}",
"dataKey": "{Encrypted data key for encrypting content}",
"encryptionCertificateId": "{User specified id of encryption certificate}",
"encryptionCertificateThumbprint": "{Encrpytion certification thumbprint}"
}
}],
"validationTokens": ["{Validation Tokens}"]
}
復号化された通知リソース データの例
{
"@odata.id": "communications/calls/getEmergencyEventsByPolicy(policyName='EmergencyPolicy')",
"@odata.type": "#microsoft.graph.emergencyCallEvent",
"id": "11111111-0000-0000-0000-000000000000",
"emergencyCallEvent": {
"id": "11111111-0000-0000-0000-000000000000",
"callEventType": "callStarted",
"policyName": "EmergencyPolicy",
"eventDateTime": "2024-01-01T10:00:00.0000000+00:00",
"emergencyNumberDialed": "{emergencyNumberDialed}",
"callerInfo": {
"displayName": "Emergency caller display name",
"upn": "emergencyCaller@contoso.com",
"phoneNumber": "00000000000",
"tenantId": "00000000-0000-0000-0000-000000000000",
"location": {
"address": {
"street": "Microsoft Way",
"city": "Redmond",
"state": "WA",
"countryOrRegion": "United States",
"postalCode": "00000",
"additionalData": {
"companyName": "Company name",
"additionalInfo": "700",
"houseNumber": "725",
"county": "County",
"streetSuffix": "Street suffix"
}
},
"coordinates": {
"latitude": "00.0000",
"longitude": "00.0000"
}
}
}
}
}