Difference between revisions of "DeleteRecordingSchedule"

From Gvp-public
Jump to navigation Jump to search
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{Api_Method_Spec|
 
{{Api_Method_Spec|
Description= Deletes the provided Recording Schedule from the platform.  
+
Description= Deletes the provided Recording (ID). This method is mainly intended for deleting recordings ("child recordings") from the user's STB, although it is also allowed (depending on the backend) to delete RecordingDefinition ("parent recording" or "recording definition") from the platform.  
  
 
Returns an array of [[RecordingSchedule|RecordingSchedule]] objects, filled with the results and status parameters.
 
Returns an array of [[RecordingSchedule|RecordingSchedule]] objects, filled with the results and status parameters.
 +
 +
<p>* '''MiView (ALU) comments''':</p>
 +
* MiView does not establish a clear distinction between RecordingSchedules and Recordings.
 +
* In MiView, since it is a true "network PVR" model, recordings are stored "in the network" (not in the user's STB).
 +
* DeleteRecordingSchedule, when invoked for a MiView backend, deletes (or cancels) the recording (schedules), so subsequent requests for listing the user's "recordings" result in that the recordings/RecordingSchedules do not appear. "Physical" recordings do not make sense in this case, as they are stored and handled by MiView platform (so, although a user removes a recording, the media may be kept to be used by another user).
  
 
<p>* '''Mirada comments''':</p>
 
<p>* '''Mirada comments''':</p>
Line 10: Line 15:
  
 
<p>* '''Mediaroom comments''':</p>
 
<p>* '''Mediaroom comments''':</p>
* The Mediaroom API (RemoveRecordingDefinition) method removes a recording definition (the equivalent concept to a [[RecordingSchedule|RecordingSchedule]]), and all associated upcoming recordings, from an account's schedule.​ The behavior of the method depends on whether there are recordings already associated with this recording definition:
+
*DeleteRecordingSchedules is '''intended for deleting individual ("child") recordings, existing in the user's STB''', but not cancelling or deleting the whole definition (RecordingDefinition).
<ul>
+
* Clients must invoke DeleteRecordingSchedule sending the id of the Recording (not RecordingDefinition in the case of Mediaroom) to delete within the recordingScheduleId. If several recordings must be deleted, client will have to request it through sequential requests (one by one)
  <li>If there are no recordings associated with this definition (there are no matching programs in the current EPG data), the recording definition is deleted.</li>
+
* Since the behavior of DeleteRecordingSchedule in Mediaroom is "to remove the completed recordings on the STB", it does not make sense to request the deletion of a whole series, so '''method will return an error if it is invoked requesting an entireSeries deletion in Mediaroom'''.
  <li>If recordings have already been made, the existing recordings are kept, but the recording definition's state is set to "cancelled," preventing any future recordings from being made. After all existing recordings have been deleted, the recording definition is automatically deleted.</li>
 
  <li>If a recording is currently in progress, it is halted. The recording definition's state is also set to "cancelled," preventing future recordings from being made. Again, after all existing recordings have been deleted, the recording definition is automatically deleted.</li>
 
</ul>
 
* In the [[RecordingSchedule|RecordingSchedule]] object handled by GVP (returned to clients), the status would be set to the state "Cancelled" ​(as this state includes both "cancelled" and "deleted" schedules that will be the states managed by Mediaroom when invoking RemoveRecordingDefinition)
 
  
  
Line 42: Line 43:
 
|ParamType=int
 
|ParamType=int
 
|ParamRequired=required
 
|ParamRequired=required
|ParamDescription=Live Channel ID (EPGLiveChannelReferenceId; as appearing in EPG file)
+
|ParamDescription=Live Channel ID (GVP_EPG_LIVE_CHANNELS.REFERENCE_ID; as appearing in EPG file) available in contentApi (LSC.EpgChannelId) info not available in IPI, sent blank in that case
 +
}}
 +
{{Api_Parameter|
 +
ParamName=LiveChannelId
 +
|ParamType=int
 +
|ParamRequired=required
 +
|ParamDescription= GVP Live Channel ID (GVP_EPG_SCHEDULE. EPG_LIVE_CHANNEL_ID) the ChannelId sent through contentApi (LSC.ChannelId) and IPI (Channel_id: ServiceName)
 
}}
 
}}
 
{{Api_Parameter|
 
{{Api_Parameter|
Line 48: Line 55:
 
|ParamType=int
 
|ParamType=int
 
|ParamRequired=optional
 
|ParamRequired=optional
|ParamDescription=ID of the series associated to the schedule. Value will be set to 0 if the program is not a series episode.
+
|ParamDescription=ID of the series associated to the schedule. Value will be set to 0 if the program is not a series episode. Deletion of series is not allowed in all backends.
 
}}
 
}}
 
{{Api_Parameter|
 
{{Api_Parameter|
Line 60: Line 67:
 
|ParamType=string
 
|ParamType=string
 
|ParamRequired=optional (declared "optional" for backwards compatibility; but needed for correct operation)
 
|ParamRequired=optional (declared "optional" for backwards compatibility; but needed for correct operation)
|ParamDescription=ID (string) of the Recording Schedule to be deleted
+
|ParamDescription=ID (string) of the Recording to be deleted
 
}}
 
}}
 
{{Api_Parameter|
 
{{Api_Parameter|
Line 73: Line 80:
 
|ParamRequired=optional
 
|ParamRequired=optional
 
|ParamDescription=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)
 
|ParamDescription=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)
 +
}}
 +
{{Api_Parameter|
 +
ParamName=SeasonNumber
 +
|ParamType=int
 +
|ParamRequired=optional
 +
|ParamDescription=This parameter is mandatory in OpenPlatform implementation, is the SeasonNumber of the LSC object in contentApi (BBDD GVP_EPG_PROGRAMS.EPG_SEASON_NUMBER)
 
}}
 
}}
  
Line 84: Line 97:
 
:    "Limit": 10,
 
:    "Limit": 10,
 
:    "Count": 48,
 
:    "Count": 48,
:    [ Array of [[RecordingSchedule|RecordingSchedule]] objects ]
+
:    "List":[ Array of [[RecordingSchedule|RecordingSchedule]] objects ]
 
}
 
}
  
Line 90: Line 103:
 
|Exceptions=
 
|Exceptions=
 
Possible error results (included in the GVP general error list) are:
 
Possible error results (included in the GVP general error list) are:
*8 MissingRequiredParameter ''Mirada''
+
*8 MissingRequiredParameter ''OpenPlatf, Mirada''
*211 RecordingSubscriberNotFound ''MiViewTv, Mirada, Mediaroom''
+
*211 RecordingSubscriberNotFound ''OpenPlatf, MiViewTv, Mirada, Mediaroom''
*212 RecordingSubscriberNotSubscribed ''MiViewTv, Mirada, Mediaorom''
+
*212 RecordingSubscriberNotSubscribed ''OpenPlatf, MiViewTv, Mirada, Mediaorom''
*213 RecordingUnknownError ''MiViewTv, Mirada''
+
*213 RecordingUnknownError ''OpenPlatf, MiViewTv, Mirada, Mediaroom''
*220 RecordingChannelNotFound ''Mirada''
+
*220 RecordingChannelNotFound ''OpenPlatf, Mirada''
*221 RecordingAlreadySubscribed ''Mirada''
+
*221 RecordingAlreadySubscribed ''OpenPlatf, Mirada''
*223 RecordingProgramNotfound ''Mirada''
+
*223 RecordingProgramNotfound ''OpenPlatf, Mirada''
*228 RecordingProgramNotFinished ''MiViewTv''
+
*228 RecordingProgramNotFinished ''OpenPlatf, MiViewTv''
*235 RequestedLanguagesUnavailable ''Mirada''
+
*235 RequestedLanguagesUnavailable ''OpenPlatf, Mirada''
*236 RecordingUpdatedFromAnotherDevice ''Mirada''
+
*236 RecordingUpdatedFromAnotherDevice ''OpenPlatf, Mirada''
*237 RecordingProtected ''Mirada''
+
*237 RecordingProtected ''OpenPlatf, Mirada''
*238 RecordingHavingChildren ''Mirada''
+
*238 RecordingHavingChildren ''OpenPlatf, Mirada''
*239 RecordingNotFound ''Mirada, Mediaroom''
+
*239 RecordingNotFound ''OpenPlatf, Mirada, Mediaroom''
*240 RecordingRemoteManagementNotEnabled ''Mirada''
+
*240 RecordingRemoteManagementNotEnabled ''OpenPlatf, Mirada''
 
*241 RecordingIncorrectIntervalDefined ''Mirada''
 
*241 RecordingIncorrectIntervalDefined ''Mirada''
 
*242 RecordingIncorrectStartDate ''Mirada''
 
*242 RecordingIncorrectStartDate ''Mirada''
Line 128: Line 141:
 
{{!}} Added support for Mirada and Mediaroom. Introduced new parameters recordingScheduleId, lastModified and targetDeviceId
 
{{!}} Added support for Mirada and Mediaroom. Introduced new parameters recordingScheduleId, lastModified and targetDeviceId
 
{{!}}  
 
{{!}}  
 +
{{!}}- valign="top"
 +
! 3.0
 +
{{!}} Changed behavior for Mediaroom: method deletes completed (child) Recordings, not RecordingDefinitions
 +
{{!}}
 +
{{!}}- valign="top"
 +
! 7.1
 +
{{!}} Changed behavior for OpenPlatform. SeasonNumber
 +
{{!}} José Manuel Escartín
 
{{!}}}
 
{{!}}}
  

Latest revision as of 11:31, 30 May 2019

Description

Deletes the provided Recording (ID). This method is mainly intended for deleting recordings ("child recordings") from the user's STB, although it is also allowed (depending on the backend) to delete RecordingDefinition ("parent recording" or "recording definition") from the platform.

Returns an array of RecordingSchedule objects, filled with the results and status parameters.

* MiView (ALU) comments:

  • MiView does not establish a clear distinction between RecordingSchedules and Recordings.
  • In MiView, since it is a true "network PVR" model, recordings are stored "in the network" (not in the user's STB).
  • DeleteRecordingSchedule, when invoked for a MiView backend, deletes (or cancels) the recording (schedules), so subsequent requests for listing the user's "recordings" result in that the recordings/RecordingSchedules do not appear. "Physical" recordings do not make sense in this case, as they are stored and handled by MiView platform (so, although a user removes a recording, the media may be kept to be used by another user).

* Mirada comments:

  • Clients wanting to cancel (or delete) a recording should have to firstly request a GetAllRecordingSchedules call, in order to retrieve the recordings ID and (in the case of Mirada) the associated lastModified value that must be included in the cancel/delete request. ​This parameter will not be available (GetAllRecordingSchedules will return 0) for some other rPVR backends.
  • When cancelling things "in the future" (not started yet), such as individual movies/episodes not started yet, or the cancellation of entire series, the final purpose is to "avoid" the future recording of an event. The RecordingSchedule object would be set to GVP status "Cancelled"
  • When cancelling only a thing that is just being recorded at the current moment (at the moment of invoking cancel by the client) the final purpose is to "stop" the ongoing recording (and the status of the schedule, in both Mirada's backend and in the RecordingSchedule object returned to clients, would be set to "finished"​/completed, not "cancelled"). This is the case when cancelling individual events or episodes within series (but NOT cancelling the whole series) AND the event to cancel is just being recorded at this moment.

* Mediaroom comments:

  • DeleteRecordingSchedules is intended for deleting individual ("child") recordings, existing in the user's STB, but not cancelling or deleting the whole definition (RecordingDefinition).
  • Clients must invoke DeleteRecordingSchedule sending the id of the Recording (not RecordingDefinition in the case of Mediaroom) to delete within the recordingScheduleId. If several recordings must be deleted, client will have to request it through sequential requests (one by one)
  • Since the behavior of DeleteRecordingSchedule in Mediaroom is "to remove the completed recordings on the STB", it does not make sense to request the deletion of a whole series, so method will return an error if it is invoked requesting an entireSeries deletion in Mediaroom.

Parameters

  • token (String, required)
A valid token for identifying the API session context and logged user.
  • scheduleId (int, required)
schedule Id to be deleted (introduced -and kept for compatability in MiViewTV Phase I; superseded by recordingScheduleId)
  • programId (int, required)
Live Program ID
  • channelId (int, required)
Live Channel ID (GVP_EPG_LIVE_CHANNELS.REFERENCE_ID; as appearing in EPG file) available in contentApi (LSC.EpgChannelId) info not available in IPI, sent blank in that case
  • LiveChannelId (int, required)
GVP Live Channel ID (GVP_EPG_SCHEDULE. EPG_LIVE_CHANNEL_ID) the ChannelId sent through contentApi (LSC.ChannelId) and IPI (Channel_id: ServiceName)
  • 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. Deletion of series is not allowed in all backends.
  • entireSeries (bool, optional (default=false))
Whether delete operation affects a whole series scheduling or not
  • recordingScheduleId (string, optional (declared "optional" for backwards compatibility; but needed for correct operation))
ID (string) of the Recording to be deleted
  • lastModified (int, optional (needed for correct operation in Mirada))
Date-time of the last modification of the recording schedule (must be previously obtained from Mirada's backend)
  • 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)
  • SeasonNumber (int, optional)
This parameter is mandatory in OpenPlatform implementation, is the SeasonNumber of the LSC object in contentApi (BBDD GVP_EPG_PROGRAMS.EPG_SEASON_NUMBER)


Returns

Returns a JSON object with a list of RecordingSchedule.

Example:

{

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

}


Exceptions

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

  • 8 MissingRequiredParameter OpenPlatf, Mirada
  • 211 RecordingSubscriberNotFound OpenPlatf, MiViewTv, Mirada, Mediaroom
  • 212 RecordingSubscriberNotSubscribed OpenPlatf, MiViewTv, Mirada, Mediaorom
  • 213 RecordingUnknownError OpenPlatf, MiViewTv, Mirada, Mediaroom
  • 220 RecordingChannelNotFound OpenPlatf, Mirada
  • 221 RecordingAlreadySubscribed OpenPlatf, Mirada
  • 223 RecordingProgramNotfound OpenPlatf, Mirada
  • 228 RecordingProgramNotFinished OpenPlatf, MiViewTv
  • 235 RequestedLanguagesUnavailable OpenPlatf, Mirada
  • 236 RecordingUpdatedFromAnotherDevice OpenPlatf, Mirada
  • 237 RecordingProtected OpenPlatf, Mirada
  • 238 RecordingHavingChildren OpenPlatf, Mirada
  • 239 RecordingNotFound OpenPlatf, Mirada, Mediaroom
  • 240 RecordingRemoteManagementNotEnabled OpenPlatf, Mirada
  • 241 RecordingIncorrectIntervalDefined Mirada
  • 242 RecordingIncorrectStartDate Mirada


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 parameters recordingScheduleId, lastModified and targetDeviceId
3.0 Changed behavior for Mediaroom: method deletes completed (child) Recordings, not RecordingDefinitions
7.1 Changed behavior for OpenPlatform. SeasonNumber José Manuel Escartín


See also