AddRecordingSchedule

From Gvp-public
Revision as of 11:08, 31 October 2014 by Id01213 (talk | contribs)
Jump to navigation Jump to search

Description

Allows scheduling a personal recording for a single event or for a complete series.

Returns an array of RecordingSchedule objects, filled with the results, properties and status of the recording schedules registered in the remote backend.

Please, notice that some backends allows the "successful" creation of recording schedules even when the schedule is in conflict with some other recording schedule. In this case, boolean field "conflicted" of the RecordingSchedule result object will be set to "true".


* MiViewTV comments:

  • If recordEntireSeries is false, returns the only recording schedule
  • If recordEntireSeries is true and there is only one occurrence (episode) of the series, return this recording schedule
  • If recordEntireSeries is true and there are multiple episodes, return the recording schedules of all episodes

* Mirada comments:

  • Recordings from Go devices will be based on (GVP internal) scheduleID, but must be converted (by GVP gateway/UNIAPI) to the equivalent time frame (start time + duration) in order to be invoked to Mirada (as event-based recording is not possible without the mirada internal eventID). This will be done through a parameter in Mirada's create recording method, indicating Mirada back-end that the provided time window must be converted to the associated internal event ID.
  • Mirada requires the identification of the "target" device (STB) affected by the method. GVP API allows two ways of selecting the "target device" for each method (this only applies to Mirada backend, as Mediaroom backend has an internal mechanism for managing the STBs associated to a subscriber and only allows a "master" STB which performs all the PVR operations; so in Mediaroom it is not possible to select the target Device): Through the "targetDeviceId" parameter, or, if the "targetDeviceId" parameter is not sent by the client, an automatic device selection will be used instead
  • In the case of "series recording schedules", the method will only create a kind of "container recording schedule" where the actual recordings will be added. After creating the "container" (parent recording for the series), the STB will later (automatically and periodically, after detecting the parent recording schedule) add the recording for each episode linked to the series.

* Mediaroom comments:

  • Mediaroom service allows two types of recordings: Dynamic ("event-based") and "manual" (or "time-based" specifying channel ID, program, and time frame). GVP nPVR API only uses the Dynamic (event-based) mode, as the devices (such as Go) schedule recordings based on info from the EPG
  • In principle, Mediaroom allows creation or recordings even when they are in conflict with other recording(s). In this case, it will be reflected it in the RecordingSchedule struct of the response (using the boolean member "Conflicted").​​ Tt is also possible that some "conflicting" recordings are automatically detected and not registered by Mediaroom, so the process could result in an error (exception).

Parameters

  • token (String, required)
A valid token for identifying the API session context and logged user.
  • scheduleId (int, required)
Live Schedule ID
  • programId (int, required)
Live Program ID
  • channelId (int, required)
Live Channel ID (EPGLiveChannelReferenceId; as appearing in EPG file)
  • seriesId (int, optional)
ID of the series associated to the schedule. Value will be set to 0 if the program is not a series episode.
  • entireSeries (bool, optional (default=false))
If the Schedule Id is a series episode, all the next episodes should also be scheduled for recording when set to true. If set to false, only the single episode will be scheduled.
  • targetDeviceId (int, optional)
Allows identifying the user's device (STB) on which the application will be applied, in the case that several DVR devices may exist in the household (does not apply to MiView and Mediaroom)


Returns

Returns a JSON object with a list of RecordingSchedule.

Example:

{

"Offset": 0,
"Limit": 10,
"Count": 48,
[ Array of RecordingSchedule objects ]

}


Exceptions

Possible error results (included in the GVP general error list) are:

  • 211 RecordingSubscriberNotFound MiViewTV, Mirada, Mediaroom
  • 212 RecordingSubscriberNotSubscribed MiViewTV, Mirada
  • 213 RecordingUnknownError MiViewTV, Mirada, Mediaroom
  • 215 RecordingSubscriberQuotaExceeded MiViewTV
  • 216 RecordingPersonalLimitExceeded MiViewTV
  • 217 RecordingSeriesLimitExceeded MiViewTV
  • 218 RecordingChannelNotOwnedBySubscriber MiViewTV
  • 219 RecordingSeriesNotFound MiViewTV, Mediaroom
  • 220 RecordingChannelNotFound MiViewTV, Mirada, Mediaroom
  • 221 RecordingAlreadySubscribed MiViewTV, Mirada, Mediaroom
  • 222 RecordingNotAllowedToSchedule MiViewTV
  • 223 RecordingProgramNotFound MiViewTV, Mirada, Mediaroom
  • 224 RecordingProgramAlreadyFinished MiViewTV, Mirada
  • 229 PvrVersionMismatch Mediaroom
  • 232 RecordingUnknownDefinitionType Mediaroom
  • 233 RecordingTimeFrameInvalid Mediaroom


Caching

This method is not cached.


Known issues

None


Version history

API Version Number Change description Changes author
2.4 Initial method design
2.4 drop 1 Added support for Mirada and Mediaroom. Introduced new parameter targetDeviceId


See also