UNIAPI Specification
Contents
- 1 Introduction
- 1.1 Overview
- 1.2 URL Structure
- 1.3 OAuth Signature
- 1.4 GET and POST Support
- 1.5 Authentication
- 1.6 Multi-Instance Support
- 1.7 Multi-Platform Support
- 1.8 Multi-Language Support
- 1.9 Registration
- 1.10 TV Series Handling
- 1.11 Purchase
- 1.12 Analytics
- 1.13 Globalization and Culture Info
- 1.14 Session Cookie generation
- 2 Enumerations
- 2.1 AdultFilterType
- 2.2 AutoCompleteResultType
- 2.3 BundleStatus
- 2.4 CatalogItemType
- 2.5 CatalogType (openGvp)
- 2.6 CommercializationType
- 2.7 ContentCriteriaField
- 2.8 ContentCriteriaObject
- 2.9 ContentType (openGvp)
- 2.10 DeviceType
- 2.11 DRMType
- 2.12 ExtraMetadataType
- 2.13 Gender
- 2.14 GenreSearchType
- 2.15 HighlightType
- 2.16 HtmlType
- 2.17 ImageType
- 2.18 LinkType
- 2.19 MediaType
- 2.20 MovieAccessReason
- 2.21 MovieSearchType
- 2.22 MovieSortType
- 2.23 MovieType
- 2.24 PaymentType
- 2.25 PersonSearchType
- 2.26 PlaybackRight
- 2.27 PlaybackType
- 2.28 PlaylistStatus
- 2.29 PlayType
- 2.30 PriceType
- 2.31 ProductType
- 2.32 ProgramType
- 2.33 PurchaseStatus
- 2.34 Quality
- 2.35 QueueType
- 2.36 RecommendationType
- 2.37 RecordingScheduleState
- 2.38 RecurrenceType
- 2.39 RegistrationFieldType
- 2.40 RegistrationRequiredFieldType
- 2.41 ReminderType
- 2.42 Role
- 2.43 ServiceIdType
- 2.44 SocialNetworkType
- 2.45 StatusCode
- 2.46 StreamingType
- 2.47 SubscriptionPurchaseType
- 2.48 SubscriptionStatus
- 2.49 SubscriptionType
- 2.50 TagType
- 2.51 TimeShiftStatus
- 2.52 TVTransport
- 2.53 UrlType
- 2.54 UserPinType
- 2.55 UserRecommendationsType
- 2.56 UserStatus
- 2.57 UserStorageType
- 2.58 UserStorageUnit
- 2.59 UserType
- 3 Data Types
- 3.1 AccessReason
- 3.2 Instance
- 3.3 InstanceAgeRating
- 3.4 CatalogItem
- 3.5 Channel
- 3.6 ChannelCount
- 3.7 ChannelMap
- 3.8 ChannelMapLiveChannel
- 3.9 Distributor
- 3.10 EditorialContent
- 3.11 EpgLiveSchedule
- 3.12 EpgLiveChannel
- 3.13 EpgLiveProgram
- 3.14 EpgLiveProgramDetails
- 3.15 Genre
- 3.16 Image
- 3.17 InstanceAgeRating
- 3.18 InstanceSettings
- 3.19 Language
- 3.20 LicenseInfo
- 3.21 LiveChannel
- 3.22 LiveChannelsPlayback
- 3.23 LiveChannelStreams
- 3.24 LiveProgram
- 3.25 LiveSchedule
- 3.26 LiveStream
- 3.27 Login
- 3.28 Media
- 3.29 MediaUrlResult
- 3.30 MiniAccessReason
- 3.31 MiniUserProduct
- 3.32 Movie
- 3.33 MovieStaff
- 3.34 OBPinDefault
- 3.35 Person
- 3.36 PersonalLiveChannel
- 3.37 PricingModel
- 3.38 Producer
- 3.39 Product
- 3.40 PurchaseResponse
- 3.41 QueueItem
- 3.42 RecordingSchedule
- 3.43 ReducedLiveSchedule
- 3.44 Region
- 3.45 RegistrationField
- 3.46 Result
- 3.47 Service
- 3.48 SimpleMovie
- 3.49 Subscription
- 3.50 SubtitleJSON
- 3.51 SubtitlesJSON
- 3.52 TrustedDevice
- 3.53 TrustedDeviceChallenge
- 3.54 TrustedDeviceList
- 3.55 TVTechnology
- 3.56 User
- 3.57 UserCustomField
- 3.58 UserPinStatus
- 3.59 UserProduct
- 3.60 UserQueue
- 3.61 UserSocialNetworkStatus
- 3.62 UserStorageInfo
- 3.63 UserTags
- 3.64 UserVideoServiceInfo
- 4 Services and methods
- 4.1 Authentication Service
- 4.2 AutoComplete Service
- 4.3 Bundle Service
- 4.4 Channel Service
- 4.4.1 GetAllChannels
- 4.4.2 GetChannel
- 4.4.3 GetChannelCatalogItems
- 4.4.4 GetChannelChildren
- 4.4.5 GetChannelEditorialContents
- 4.4.6 GetChannelHighlights
- 4.4.7 GetChannels
- 4.4.8 GetChannelSimpleMovies
- 4.4.9 GetChannelSimpleMoviesCount
- 4.4.10 GetChannelSimpleProducts
- 4.4.11 GetChannelSimpleProductsCount
- 4.4.12 GetChannelSimpleProductsStb
- 4.4.13 GetChannelTopHighlights
- 4.4.14 GetDetailedChannelProductsTree
- 4.4.15 GetDetailedChannelTree
- 4.4.16 GetLiveChannelCommercialOffers
- 4.4.17 GetTopRecommendedContents
- 4.5 Configuration Service
- 4.6 Content Criteria Service
- 4.7 Dictionary Service
- 4.8 Epg Service
- 4.8.1 GetActiveLiveChannels
- 4.8.2 GetAESKey
- 4.8.3 GetAllLiveChannels
- 4.8.4 GetChannelAvailableStreams
- 4.8.5 GetChannelMap
- 4.8.6 GetChannelMapLiveChannels
- 4.8.7 GetDetailedLiveChannelsSchedule
- 4.8.8 GetDetailedLiveChannelsSchedules
- 4.8.9 GetDetailedLiveProgram
- 4.8.10 GetDetailedLivePrograms
- 4.8.11 GetEpgVersion
- 4.8.12 GetLastViewedLiveChannelId
- 4.8.13 GetLiveChannel
- 4.8.14 GetLiveChannelByCallLetter
- 4.8.15 GetLiveChannelCommercialOffers
- 4.8.16 GetLiveChannelDetailedPrograms
- 4.8.17 GetLiveChannelPrograms
- 4.8.18 GetLiveChannelsCatalogItems
- 4.8.19 GetLiveChannelsPlayback
- 4.8.20 GetLiveChannelsReducedLiveSchedules
- 4.8.21 GetLiveChannelsReducedLiveSchedulesByGenre
- 4.8.22 GetLiveChannelsSchedule
- 4.8.23 GetLiveChannelsScheduleBlock
- 4.8.24 GetLiveChannelsSchedules
- 4.8.25 GetLiveChannelUrl
- 4.8.26 GetLiveChannelUrlList
- 4.8.27 GetLiveProgramSchedules
- 4.8.28 GetLiveProgramSchedulesWithDate
- 4.8.29 GetLiveProgramsScheduleBlock
- 4.8.30 GetLiveSchedule
- 4.8.31 GetLiveSchedules
- 4.8.32 GetLiveSchedulesById
- 4.8.33 GetPersonalLiveChannels
- 4.8.34 GetRegions
- 4.8.35 GetTVTechnologiesByRegion
- 4.8.36 GetUserAvailableStreams
- 4.8.37 GetUserChannelMap
- 4.8.38 GetUserFavoriteLiveChannels
- 4.8.39 GetUserLiveChannels
- 4.8.40 GetUserLiveChannelsPlayback
- 4.8.41 GetUserLiveChannelTag
- 4.8.42 GetUserLockedChannels
- 4.8.43 SetLastViewedLiveChannel
- 4.8.44 SetUserLiveChannelTag
- 4.9 Event Service
- 4.10 Genre Service
- 4.11 Movie Service
- 4.12 Network Pvr Service
- 4.13 Payment Service
- 4.14 Person Service
- 4.15 Playback Service
- 4.16 Playlist Service
- 4.17 Purchase Service
- 4.17.1 CancelProduct
- 4.17.2 CancelPurchase
- 4.17.3 ConfirmPurchase
- 4.17.4 CreatePurchase
- 4.17.5 CreatePurchaseStb
- 4.17.6 GetActiveProductEndDate
- 4.17.7 GetActiveProductPurchaseStatus
- 4.17.8 GetAvailablePaymentMethods
- 4.17.9 GetAvailablePricingModels
- 4.17.10 GetPricingModel
- 4.17.11 GetProductName
- 4.17.12 SetInstanceDeviceDefaultPayment
- 4.17.13 SetUserDefaultPayment
- 4.18 Registration Service
- 4.18.1 ChangePassword
- 4.18.2 DisableUser
- 4.18.3 EnableUser
- 4.18.4 GetAllTrustedDevices
- 4.18.5 GetApplicationToken
- 4.18.6 GetPairedApplications
- 4.18.7 GetRegistrationFields
- 4.18.8 GetTrustedDeviceChallengeCode
- 4.18.9 GetTrustedDevices
- 4.18.10 ModifyTrustedDevice
- 4.18.11 ModifyUser
- 4.18.12 RegisterTrustedDevice
- 4.18.13 RegisterTrustedDeviceChallenge
- 4.18.14 RegisterUser
- 4.18.15 RemoveApplicationToken
- 4.18.16 RemoveTrustedDevice
- 4.18.17 RemoveUser
- 4.18.18 SendConfirmationEmail
- 4.18.19 SetMinimumAgeRating
- 4.19 Remote Pvr Service
- 4.19.1 AddRecordingDefinition
- 4.19.2 GetProgramInfos
- 4.19.3 GetRecordings
- 4.19.4 GetStorageInfos
- 4.19.5 RemoveCompletedRecordings
- 4.19.6 RemoveRecordingDefinition
- 4.19.7 RemoveUpcomingRecordings
- 4.19.8 UpdateCompletedRecording
- 4.19.9 UpdateOneTimeToSeries
- 4.19.10 UpdateRecordingDefinition
- 4.19.11 UpdateRecordingDefinitionPriorities
- 4.19.12 UpdateUpcomingRecording
- 4.20 Search Service
- 4.21 Subscription Service
- 4.21.1 GetAllSubscriptions
- 4.21.2 GetAllSubscriptionsCatalogItems
- 4.21.3 GetMovieSubscriptions
- 4.21.4 GetStbSubscriptions
- 4.21.5 GetSubscription
- 4.21.6 GetSubscriptionChannels
- 4.21.7 GetSubscriptionLiveChannels
- 4.21.8 GetSubscriptionMovies
- 4.21.9 GetSubscriptionPlaylists
- 4.21.10 GetSubscriptions
- 4.21.11 GetSubscriptionServices
- 4.22 Time Service
- 4.23 Timeshift Service
- 4.24 User Service
- 4.24.1 ChangePin
- 4.24.2 CheckPin
- 4.24.3 DisablePin
- 4.24.4 EnablePin
- 4.24.5 GetDefaultOBPinNumber
- 4.24.6 GetFullView
- 4.24.7 GetNodeRecommendations
- 4.24.8 GetMiniUserProducts
- 4.24.9 GetRootRecommendationsByView
- 4.24.10 GetRootRecommendationsCombined
- 4.24.11 GetUser
- 4.24.12 GetUserAudioDefault
- 4.24.13 GetUserBundles
- 4.24.14 GetUserBundlesCatalogItems
- 4.24.15 GetUserChallengeCode
- 4.24.16 GetUserPlaylists
- 4.24.17 GetUserPreference
- 4.24.18 GetUserProducts
- 4.24.19 GetUserQueue
- 4.24.20 GetUserRecommendations
- 4.24.21 GetUserRentedProducts
- 4.24.22 GetUserRentedSimpleMovies
- 4.24.23 GetUserServices
- 4.24.24 GetUserSeasons
- 4.24.25 GetUserSubscriptions
- 4.24.26 GetUserSubscriptionsCatalogItems
- 4.24.27 GetUserSubtitleDefault
- 4.24.28 GetUserTaggedProducts
- 4.24.29 GetUserTaggedSimpleMovies
- 4.24.30 GetUserTags
- 4.24.31 GetUserTimestamp
- 4.24.32 GetUserWatchHistory
- 4.24.33 GetUserWithEmail
- 4.24.34 LockedByMandatorySubscription
- 4.24.35 RemoveWatchHistory
- 4.24.36 SetUserAudioDefault
- 4.24.37 SetUserPreference
- 4.24.38 SetUserSubtitleDefault
- 4.24.39 TagProduct
- 4.24.40 UntagProduct
- 4.24.41 UpdateUserFirstAccess
- 4.25 WebOnlyRegistration Service
Introduction
This document includes basic API definitions for the UNI API, including protocols, method calling conventions, data exchange formats, methods, data objects and enumerations. It is assumed that the reader is familiar with the encoding of objects using JSON (http://www.json.org/). This document will use its notation when describing data results.
Overview
The API is exposed as a REST service. It receives the parameters through the URL and a query-string, and it returns response data using a JSON-encoded string. To ensure that only authorized clients can access the API, all operations require an identifier composed of a “ConsumerKey“ and “ConsumerSecret“, which are unique for each client application accessing the API. These are also be used to sign the URL using OAuth and HMAC-SHA1 signatures. Access to the API can only be performed through HTTP and HTTPS protocol. Different methods may accept both protocols, or may require the secure version.
URL Structure
Each service has a different root URL, such as: http://api_environment_url/AuthenticationService.svc/ http://api_environment_url/ChannelService.svc/ http://api_environment_url/MovieService.svc/
The service can use separate URLs for different services, to allow better load balancing of high-load methods. However, this feature is currently not being used. The URLs vary depending on the environment (dev, cert, preprod, prod) and the device type (there is load balancing at client level) It’s recommended that any application consuming the UNI API include a centralized and easy to update configuration for the service URLs, to simplify switching between development and production environments.
To access a method, the client application must construct the URL by appending the method name to the root URL, such as: http://api_environment_url/ChannelService.svc/GetChannel
Parameters are sent as part of the querystring: http://api_environment_url/ChannelService.svc/GetChannel?token=c2FtcGxlIHJlbmV3ZWQgdG9rZW4&channelId=102
The URL must then be signed using the method described in the OAuth Signature section. The API signature process can also be disabled for debugging purposes.
OAuth Signature
To prevent the usage of the API by unauthorized parties, all requests must be signed using a valid ConsumerKey/ConsumerSecret pair, using the HMAC-SHA1 signing method described by the OAuth 1.0 specification.
More details about OAuth can be found at: http://oauth.net/, where you can find also some implementations in different languages.
The ConsumerKey and ConsumerSecret vary depending on the environment and applications should not expose this information (at least the ConsumerSecret) outside the application as then the security would be compromised.
If you are starting to develop an application, please request your ConsumerSecret and ConsumerKey to be generated for the different environments by sending an email to gvp@tid.es.
Please notice that it is not required a complete implementation of the OAuth authentication protocol, only the signature algorithm to be applied to the requests. It’s important to remark that the “oauth_consumer_key” must be sent in every request, even if the API call does not required a signature.
A sample for the OAuth signature process can be found here
GET and POST Support
Depending on the API method, the use of the POST method may be required. When performing a call using POST, the device must:
- Generate the signature as if all the parameters were to be sent over query-string
- Send the entire data in the form body, using the same format as if the data was to be sent over a query-string
In other words, take this request:
- Method: GET
- URL: http://api_environment_url/ChannelService.svc/GetChannel?token=c2FtcGxlIHJlbmV3ZWQgdG9rZW4&channelId=102
- Body: <Empty String>
It can be sent as POST using this format:
- Method: POST
- URL: http://api_environment_url/ChannelService.svc/GetChannel
- Body:token=c2FtcGxlIHJlbmV3ZWQgdG9rZW4&channelId=102
Currently (as for GVP 2.4) don't require POST for any method request. GET can be used for all UNIAPI requests.
It is important to remark that the usage of url encode functions is recomendable for those parameters that might contain special characters.
Authentication
UNI API methods that require any kind of user identification or filtering require a Token parameter. This is necessary even for anonymous users. This token parameter is URL-safe, and doesn’t need to be url encoded before passing it through the request.
Currently, several authentication methods supported:
- Anonymous
- Username/Password
- ApplicationToken
- Trusted Device (DeviceId)
To use the Trusted Device authentication method, the device must first be linked to the user. The user can register the device through two different processes:
- Using the Website: Device requests a Challenge Code, that has to be entered in the website to allow device registration.
- Without using the Website: The device itself asks the user for the Username/Password, performs authentication, then request the registration of the DeviceId associated to this user account.
Regardless of which authentication method was used, the token has the same format and this token may be used for all other API methods.
The token has a time-based expiration, which is also be reported by the authentication methods.
A token renewal method (Renew) is also be available, and it’s recommended that the client device uses it to renew the token before expiration.
If any client accessing UNI API receives a “Expired Token” or “Invalid Token” error, it is be expected to start over the authentication process from one of the login methods.
Multi-Instance Support
Due to the need of having different content available to different countries, the authentication methods require an InstanceId parameter. An instance is an identification code for a country or group of countries that has a specific service settings.
This allow to use a single, shared database for all countries where the Product is deployed, even if parts of the video library are only available for a restricted subset of countries.
An instance also includes some default properties for that particular region, such as the default language. We call this Instance Settings
Multi-Platform Support
Inside an Instance, it is supported the concept of multiple “Platforms”, to allow the usage of different authentication/provisioning/billing platforms in the same Instance.
This option is only available only for Telefonica users. For non-Telefonica users the “platformId” is always equal to zero.
Starting from version 1.12, platform is no longer exposed through the UNI API, and it’s only used in the communication between the MIB backend and GAL (for OSS/BSS integration)
Multi-Language Support
All methods in the API support an LanguageId parameter informing in which language the metadata to be retrieved. It is also used to translate the status messages returned by the API. To simplify the notation it is omitted from the individual method specifications, but you can safely assume this parameter is present and is always accepted by all methods.
If the LanguageId parameter is omitted but a token parameter is present, the default language for the instance used in the authentication process is used. If neither of these parameters is present the API assumes the language to be English..
The LanguageId parameter, if present, has precedence over the token parameter, allowing a client application to override the default language for that particular instance.
Registration
The fields required by the registration process will be different depending on the instance in use. In order the support this, the device is expected to perform the following process when attempting to register an user:
- Obtain instance where the user will be registered, either by Geolocation or by requesting to the user directly
- Request from the API the list of fields to be used in the registration form
- Collect the information from the user
- Post the information to the API for user registration
The following fields are assumed to be the “minimum” that must be present in the registration form of all instances:
- First Name
- Last Name
- Password
- Repeat Password
- Adult Confirmation
- Mobile Number
- Birth Date
- Gender
TV Series Handling
A TV Series can be accessed in three different manners:
- By Series
- By Seasons
- By Episodes
In this API, all of these are also represented by the Movie object. The Type property identifies what type of object is being dealt with. All objects that return a list of movies also offer the possibility of filtering by type.
Playback can only be requested for an Episode. Series and Seasons are only used by navigation.
Purchase
The API is being designed assuming that the purchase process gives an instantaneous response. Non-Telefonica users can only make purchases from devices using credit already in their e-wallet.
Analytics
The analytics API is based on a generic “Event Collector” method. An event is defined of a unique string identifier and a well-defined JSON object including the properties for this particular event.
Developers working on client device implementations are encouraged to send events as often as possible, and are also encourage to propose additional events that would be helpful in monitoring the health of the platform, or would help diagnose problems with devices.
The event API has the “token” parameter marked as optional, however devices are required to send this parameter whenever available. Events without token should only happen on the very rare circumstances where the device has access to the API but cannot perfom any kind of authentication.
A section will list the events required by the platform, as well as the accompanying data structures.
Globalization and Culture Info
Dates and Times All dates and times will be reported by the service in the UTC (GMT) timezone. It’s the responsibility of the client application to adjust them to the user’s timezone before displaying. Values will be returned as posix time, which is defined as the number of number of seconds elapsed since the reference date of January 1st, 1970, 00:00 GMT. It’s recommended that both the server and the client applications use a Time Server to maintain its current time and timezone information up-to-date. We also recommend that all APIs implement a public, non-signed method informing the current time in the server.
Floating-Point Numbers All floating-point numbers (float/single, double, decimal/fixed) will use a dot (“.”) as a decimal separator. There will be no separator for thousands.
Strings All text will be encoded using UTF-8.
URL Whenever a URL is specified, will be an absolute URL including domain and full path.
TimeSpan All representations of elapsed time (movie length, rental duration) will be represented as an integer with the total of elapsed seconds.
Session Cookie generation
Until GVP 2.4, the load balancing sticky mode was being controlled through a cookie generated by the IIS. However, the IIS was not able to set the cookie domain name, and thus, the devices accessing through cross domain were not able to access this cookie. Due to this, those devices didn't send the cookie back in their requests, what caused the IIS to generate new cookies all the time and the sticky session was not effective. In GVP 2.4, this cookie generation has been implemented at UNIAPI level, which allows to set domain name in the response. This is configure in the UNIAPI configuration, at GvpApiConfig.mibconfig file.
- Set-Cookie:ASP.NET_SessionId=va5f2no2svtlfjpex5zhhth1; path=/; HttpOnly; domain: ucand.gvp.telefonica.com
Enumerations
AdultFilterType
AutoCompleteResultType
BundleStatus
CatalogItemType
CatalogType (openGvp)
CommercializationType
ContentCriteriaField
ContentCriteriaObject
ContentType (openGvp)
DeviceType
DRMType
ExtraMetadataType
Gender
GenreSearchType
HighlightType
HtmlType
ImageType
LinkType
MediaType
MovieAccessReason
MovieSearchType
MovieSortType
MovieType
PaymentType
PersonSearchType
PlaybackRight
PlaybackType
PlaylistStatus
PlayType
PriceType
ProductType
ProgramType
PurchaseStatus
Quality
QueueType
RecommendationType
RecordingScheduleState
RecurrenceType
RegistrationFieldType
RegistrationRequiredFieldType
ReminderType
Role
ServiceIdType
SocialNetworkType
StatusCode
StreamingType
SubscriptionPurchaseType
SubscriptionStatus
SubscriptionType
TagType
TimeShiftStatus
TVTransport
UrlType
UserPinType
UserRecommendationsType
UserStatus
UserStorageType
UserStorageUnit
UserType
Data Types
AccessReason
Instance
InstanceAgeRating
CatalogItem
Channel
ChannelCount
ChannelMap
ChannelMapLiveChannel
Distributor
EditorialContent
EpgLiveSchedule
EpgLiveChannel
EpgLiveProgram
EpgLiveProgramDetails
Genre
Image
InstanceAgeRating
InstanceSettings
Language
LicenseInfo
LiveChannel
LiveChannelsPlayback
LiveChannelStreams
LiveProgram
LiveSchedule
LiveStream
Login
Media
MediaUrlResult
MiniAccessReason
MiniUserProduct
Movie
MovieStaff
OBPinDefault
Person
PersonalLiveChannel
PricingModel
Producer
Product
PurchaseResponse
QueueItem
RecordingSchedule
ReducedLiveSchedule
Region
RegistrationField
Result
Service
SimpleMovie
Subscription
SubtitleJSON
SubtitlesJSON
TrustedDevice
TrustedDeviceChallenge
TrustedDeviceList
TVTechnology
User
UserCustomField
UserPinStatus
UserProduct
UserQueue
UserSocialNetworkStatus
UserStorageInfo
UserTags
UserVideoServiceInfo
Services and methods
Authentication Service
LoginAnonymous
LoginApplicationToken
LoginRememberUser
LoginTrustedDevice
LoginUserCode
LoginUserHashCode
LoginUserPassword
LoginUserPasswordTEF
RecoverPassword
RecoverPasswordLink
RememberUser
Renew
AutoComplete Service
SearchAutoComplete
Bundle Service
GetAllBundles
GetBundle
GetBundleCatalogItems
GetBundleMovies
GetBundles
GetMovieBundles
Channel Service
GetAllChannels
GetChannel
GetChannelCatalogItems
GetChannelChildren
GetChannelEditorialContents
GetChannelHighlights
GetChannels
GetChannelSimpleMovies
GetChannelSimpleMoviesCount
GetChannelSimpleProducts
GetChannelSimpleProductsCount
GetChannelSimpleProductsStb
GetChannelTopHighlights
GetDetailedChannelProductsTree
GetDetailedChannelTree
GetLiveChannelCommercialOffers
GetTopRecommendedContents
Configuration Service
GetInstance
GetInstanceID
GetInstances
GetInstanceSettings
GetLanguages
GetVersion
Content Criteria Service
GetContentSelection
Dictionary Service
GetDictionary
Epg Service
GetActiveLiveChannels
GetAESKey
GetAllLiveChannels
GetChannelAvailableStreams
GetChannelMap
GetChannelMapLiveChannels
GetDetailedLiveChannelsSchedule
GetDetailedLiveChannelsSchedules
GetDetailedLiveProgram
GetDetailedLivePrograms
GetEpgVersion
GetLastViewedLiveChannelId
GetLiveChannel
GetLiveChannelByCallLetter
GetLiveChannelCommercialOffers
GetLiveChannelDetailedPrograms
GetLiveChannelPrograms
GetLiveChannelsCatalogItems
GetLiveChannelsPlayback
GetLiveChannelsReducedLiveSchedules
GetLiveChannelsReducedLiveSchedulesByGenre
GetLiveChannelsSchedule
GetLiveChannelsScheduleBlock
GetLiveChannelsSchedules
GetLiveChannelUrl
GetLiveChannelUrlList
GetLiveProgramSchedules
GetLiveProgramSchedulesWithDate
GetLiveProgramsScheduleBlock
GetLiveSchedule
GetLiveSchedules
GetLiveSchedulesById
GetPersonalLiveChannels
GetRegions
GetTVTechnologiesByRegion
GetUserAvailableStreams
GetUserChannelMap
GetUserFavoriteLiveChannels
GetUserLiveChannels
GetUserLiveChannelsPlayback
GetUserLiveChannelTag
GetUserLockedChannels
SetLastViewedLiveChannel
SetUserLiveChannelTag
Event Service
AddEvent
AddEventBatch
AddEventPerformsAction
AddEventPlayback
Genre Service
GetAllGenres
GetGenre
GetGenres
GetGenreSimpleMovies
SearchGenres
Movie Service
GetAllMoviesCatalogItems
GetAllSimpleMovies
GetExtCatchUpURL
GetMovie
GetMovieCommercialOffers
GetMovies
GetSeasonEpisodeSimpleMovies
GetSeriesSeasonSimpleMovies
GetSubtitle
Network Pvr Service
AddRecordingSchedule
CancelRecordingSchedule
DeleteRecordingSchedule
GetAllRecordingSchedules
GetRecordingSchedule
GetUserStorageInfo
SetUserRecordingPin
Payment Service
GetInstanceCredits
GetPaymentSettings
Person Service
GetAllPersons
GetPerson
GetPersonProducts
GetPersons
SearchPersons
GetPersonSimpleMovies
Playback Service
CanWatchMedia
GetMediaUrl
GetMediaUrlsStb
GetMediaUrlStb
GetMovieResumeData
GetMovieResumesData
GetPlayReadyLicenseInfo
GetUserResumeData
PlaybackHeartBeatLive
PlaybackHeartBeatVod
SetMovieResumeData
Playlist Service
GetAllPlaylists
GetAllPlaylistsTimeStamp
GetMoviePlaylists
GetPlaylist
GetPlaylistMovies
GetPlaylists
Purchase Service
CancelProduct
CancelPurchase
ConfirmPurchase
CreatePurchase
CreatePurchaseStb
GetActiveProductEndDate
GetActiveProductPurchaseStatus
GetAvailablePaymentMethods
GetAvailablePricingModels
GetPricingModel
GetProductName
SetInstanceDeviceDefaultPayment
SetUserDefaultPayment
Registration Service
ChangePassword
DisableUser
EnableUser
GetAllTrustedDevices
GetApplicationToken
GetPairedApplications
GetRegistrationFields
GetTrustedDeviceChallengeCode
GetTrustedDevices
ModifyTrustedDevice
ModifyUser
RegisterTrustedDevice
RegisterTrustedDeviceChallenge
RegisterUser
RemoveApplicationToken
RemoveTrustedDevice
RemoveUser
SendConfirmationEmail
SetMinimumAgeRating
Remote Pvr Service
AddRecordingDefinition
GetProgramInfos
GetRecordings
GetStorageInfos
RemoveCompletedRecordings
RemoveRecordingDefinition
RemoveUpcomingRecordings
UpdateCompletedRecording
UpdateOneTimeToSeries
UpdateRecordingDefinition
UpdateRecordingDefinitionPriorities
UpdateUpcomingRecording
Search Service
SearchContent
Subscription Service
GetAllSubscriptions
GetAllSubscriptionsCatalogItems
GetMovieSubscriptions
GetStbSubscriptions
GetSubscription
GetSubscriptionChannels
GetSubscriptionLiveChannels
GetSubscriptionMovies
GetSubscriptionPlaylists
GetSubscriptions
GetSubscriptionServices
Time Service
GetTime
Timeshift Service
GetCurrentInstanceChannelSet
GetCurrentUserChannelSet
GetInstanceChannelSet
GetInstanceData
GetUserChannelSet
GetUserData
GetUserStatus
NewTermsAccepted
UserActivation
UserDeactivation
UserMaxCapacityReached
User Service
ChangePin
CheckPin
DisablePin
EnablePin
GetDefaultOBPinNumber
GetFullView
GetNodeRecommendations
GetMiniUserProducts
GetRootRecommendationsByView
GetRootRecommendationsCombined
GetUser
GetUserAudioDefault
GetUserBundles
GetUserBundlesCatalogItems
GetUserChallengeCode
GetUserPlaylists
GetUserPreference
GetUserProducts
GetUserQueue
GetUserRecommendations
GetUserRentedProducts
GetUserRentedSimpleMovies
GetUserServices
GetUserSeasons
GetUserSubscriptions
GetUserSubscriptionsCatalogItems
GetUserSubtitleDefault
GetUserTaggedProducts
GetUserTaggedSimpleMovies
GetUserTags
GetUserTimestamp
GetUserWatchHistory
GetUserWithEmail
LockedByMandatorySubscription
RemoveWatchHistory
SetUserAudioDefault
SetUserPreference
SetUserSubtitleDefault
TagProduct
UntagProduct
UpdateUserFirstAccess