Skip to content

Commit a101f64

Browse files
authored
Merge pull request #26589 from microsoftgraph/blee/Add-VideoOnDemand-Subscription-to-Concepts
Add reference to video on demand subscriptions
2 parents d2b1cb7 + 980501b commit a101f64

File tree

2 files changed

+61
-8
lines changed

2 files changed

+61
-8
lines changed

concepts/changenotifications-for-virtualevent.md

Lines changed: 57 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ The following table provides a summary of subscribable virtual event types, the
2929
| All events (tenant-level) | `solutions/virtualEvents/events` | created | Application |
3030
| All events (tenant-level by organizer/co-organizer IDs) | `solutions/virtualEvents/events/getEventsFromOrganizers(organizerIds=['id1', 'id2'])` | created | Application |
3131
| The events of a specific webinar | `solutions/virtualEvents/webinars/{webinarId}` | updated | Application, delegated |
32-
| Attendance report ready events for a webinar | `solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports` | created | Application, delegated |
32+
| Attendance report ready events for a webinar | `solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports` | created | Application, delegated |
3333
| The session events of a webinar | `solutions/virtualEvents/webinars/{webinarId}/sessions` | created, updated | Application, delegated |
34+
| Video-on-demand ready publication | `solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication` | updated | Application, delegated |
3435
| The registration events of a webinar | `solutions/virtualEvents/webinars/{webinarId}/registrations` | created, updated | Application, delegated |
3536

3637
>**Note:** Replace values in with parenthesis with actual values.
@@ -135,6 +136,26 @@ Content-Type: application/json
135136
}
136137
```
137138

139+
## Subscribe to video-on-demand publication for all sessions in a webinar
140+
141+
To subscribe to notifications for when video-on-demand publication of a session occurs, specify the resource as `solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication`.
142+
143+
An application can only have a subscription per virtual event in a tenant for video-on-demand publications.
144+
A user delegated token allows you to set up one subscription per virtual event in a tenant. The subscription is only available for users who are the organizer or listed as co-organizer in the same tenant as the event host.
145+
146+
```http
147+
POST https://graph.microsoft.com/beta/subscriptions
148+
149+
{
150+
"changeType": "updated",
151+
"notificationUrl": "https://webhook.contoso.com/api",
152+
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
153+
"resource": "solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication",
154+
"expirationDateTime": "2025-02-01T11:00:00.0000000Z",
155+
"clientState": "secretClientState"
156+
}
157+
```
158+
138159
## Subscribe to meeting call events of a specific session
139160

140161
For information about how to subscribe to meeting call events of a specific session, see [Get change notifications for Microsoft Teams meeting call updates](/graph/changenotifications-for-onlinemeeting).
@@ -168,12 +189,13 @@ Notifications include the resource URL of the changed resource. You can send a s
168189

169190
The following table indicates the supported notification and change types for the virtual events resource.
170191

171-
| Notification type | Resource ID | Change types |
172-
|:--------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------|:------------------|
173-
| [Webinar](/graph/api/resources/virtualeventwebinar) | `solutions/virtualEvents/webinars/{webinarId}` | created, updated |
174-
| [Session](/graph/api/resources/virtualeventsession) | `solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}` | created, updated |
175-
| [Registration](/graph/api/resources/virtualeventregistrant) | `solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId}` | created, updated |
176-
| [Meeting Attendance Report](/graph/api/resources/meetingattendancereport) | `solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports` | created |
192+
| Notification type | Resource ID | Change types |
193+
|:------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------|:------------------|
194+
| [Webinar](/graph/api/resources/virtualeventwebinar) | `solutions/virtualEvents/webinars/{webinarId}` | created, updated |
195+
| [Session](/graph/api/resources/virtualeventsession) | `solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}` | created, updated |
196+
| [Session video-on-demand published](/graph/api/resources/virtualeventsession) | `solutions/virtualEvents/{eventType}/{eventId}/sessions/{sessionId}` | updated |
197+
| [Registration](/graph/api/resources/virtualeventregistrant) | `solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId}` | created, updated |
198+
| [Meeting attendance report](/graph/api/resources/meetingattendancereport) | `solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports` | created |
177199

178200
## Event notification examples
179201

@@ -271,6 +293,34 @@ The following JSON examples show the responses for each supported change type of
271293
}
272294
```
273295

296+
### Video on demand published
297+
298+
Events that are created when video-on-demand is published for a virtual event session. The application or user can use the **resourceData.@odata.id** property to discover which virtual event session video-on-demand is available.
299+
300+
When a notification is received for virtual event webinar sessions, the notification only informs the application or user that the video-on-demand URL for the virtual event webinar is published. The video-on-demand URL for the virtual event session might be null or usable only by the organizer. The application or user must determine which unique video-on-demand URLs to provide to different participants, as a single video-on-demand URL doesn't work for all users.
301+
302+
For virtual event town hall sessions, a universal video-on-demand URL is available on the virtual event session object, which can be used by all participants.
303+
304+
```json
305+
{
306+
"value": [
307+
{
308+
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
309+
"clientState": "secret client state",
310+
"changeType": "updated",
311+
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
312+
"resource": "solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication",
313+
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
314+
"resourceData": {
315+
"@odata.id": "solutions/virtualEvents/{eventType}/{eventId}/sessions/{sessionId}",
316+
"@odata.type": "#microsoft.graph.virtualeventsession",
317+
"id": "solutions/virtualEvents/{eventType}/{eventId}/sessions/{sessionId}"
318+
}
319+
}
320+
]
321+
}
322+
```
323+
274324
### Session meeting call updated events
275325

276326
For information about the types of notifications received for meeting call updates, see [Event notifications types](/graph/changenotifications-for-onlinemeeting#event-notifications-types).
@@ -323,7 +373,6 @@ The following JSON examples show the responses for each supported change type of
323373
}
324374
```
325375

326-
327376
### Attendance report created
328377

329378
Events that are created by an attendance report return the endpoint of the **meetingAttendanceReport** object. Users can use this endpoint in the **resourceData.@odata.id** property to query for the details in the **meetingAttendanceReport** object.

concepts/whats-new-overview.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ For details about previous updates to Microsoft Graph, see [Microsoft Graph what
1919
2020
## May 2025: New and generally available
2121

22+
### Change notifications
23+
24+
Added [video-on-demand publication for all sessions in a webinar](/graph/changenotifications-for-virtualevent) as a subscribable virtual event.
25+
2226
### Backup storage
2327

2428
[Restore sessions](/graph/api/resources/restoresessionbase) and [restore artifacts](/graph/api/resources/restoreartifactbase) that are older than one year and in a terminal state are removed.

0 commit comments

Comments
 (0)