Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The client should call the MediaPlaySession based on user activity, as below:

User actionAPI callsAny additional logic to performEndpoint
Before the user is able to play mediaGET an index of the current sessionsCheck that the number of sessions does not equal or exceed the configured system valueMedia play sessions#/Media%20Play%20Sessions/indexMediaPlaySession
When the user starts to play mediaPOST to create a new sessionStore the id of the media playback session locallyMedia play sessions#/Media%20Play%20Sessions/postMediaPlaySession
When the user stops playing mediaDELETE the sessionUse the id that was returned to you in the POST response to identify the resourceMedia play sessions#/Media%20Play%20Sessions/deleteMediaPlaySession
PeriodicallyPATCH the session
Media play sessions#/Media%20Play%20Sessions/patchMediaPlaySession
Note
The user should not be able to manipulate their playback session count themselves;  You should not provide the user with a direct means to access the API but rather call it as a side-effect of other user initiated actions. 

...

DescriptionURLNumber of MediaPlaySessions after call is made
User account is not watching anything
0
User starts watching something on their set top boxPOST /users/{user_id}/media_play_sessions1
Another person in the household starts watching something on a their mobilePOST /users/{user_id}/media_play_sessions2
Each device periodically tells the server that the session is still activePATCH /media_play_sessions/{media_play_session_id}2
The second user presses stop on their mobile device
2
The first user switches off the set top box without giving the client a chance to delete their sessionDELETE /media_play_sessions/{media_play_session_id}1 (zombie session)
Some time later the periodic clean up job runs on the server and deletes the zombie session
0