First, you need to import the data attached to the channels available in your account.
An update once a day is enough.
List of channels available for user account.
Returns, for a specific channel, the list of categories to which it belongs.
Returns channel IDs and channel numbers available from all EPG providers processed by Plurimédia.
Returns the list of days available on the API for the channels to which you have access.
Useful tips : One call before each import.
Returns the list of channels/day on which a broadcasts or contents have been modified since the date/time passed in parameter (yyyyMMddHHmmss).
All channels/days returned by this endpoint must be reimported.
Deletes are not indicated : full schedule must be reimported.
Useful tips : if lastUpdate returned by the API is lower than the date/time passed in parameter, it means that broadcast data didn’t changed (times, attributes…), but data of at least one program has changed (guest added, text modified or photo updated).
Returns all broadcasts of the channel passed in parameter, over the period passed in parameter, with all the metadata associated to the contents broadcasted.
Useful tips : Several photos can be returned by the API
Select the image with the lowest hierarchy :
“hierarchy”: 1 => image attached to the broadcast
“hierarchy”: 2 => image attached to the content
“hierarchy”: 3 => image attached to the series or season
“hierarchy”: 4 => generic image, linked to the category of the content.
Returns Collections IDs / Master Content ID / Season Content ID attached to content broadcasted on the channel passed in parameter, over the period passed in parameter.
Useful tips :
Returns standard data attached to the person whose ID is passed in parameter
Returns the Wikipedia biography of the person whose ID is passed in parameter
Returns the casting image of the person whose ID is passed in parameter
returns the awards attached to the person whose ID is passed in parameter
Returns list of keywords and keywords category attached to content broadcast on the channel passed in parameter, over the period passed in parameter.
V1/Tags|ContentTags/{id}
For contents available only in a VOD catalog, it’s necessary to go back to API V1 and get Tags content by content.
Useful tips : Most important/significant keywords are those with the lowest weight.
V1/Awards|ContentAwards/{contentId}
Returns the awards data related to the content passed in parameter.
V1/SportTeams|ContentSportTeams
Returns metadata related to sport teams attached to the content passed in parameter.
Returns all trailers available on the perimeter to which user have access.
Returns the IDs (content, broadcast or collection) related to the video ID passed in parameter.
Returns all contents released at the cinemas on the date passed in parameter.
TrackChanges method is used to identify contents whose ObjectType passed in parameter has been updated since the date passed in parameter.
ObjectType are :
Returns all episodes attached to the Season Content ID passed in parameter or all episodes attached to the Master Content ID passed in parameter.
Returns the list of catalogs available to the user.
Returns the list of contents availalble in in the catalog passed as parameter.
Useful tips : You can use pagination to have 10.000 contents per page.
https://api.plurimedia.fr/v1/api/v1/catalogs/{id}?page=1
Header return
X-Available-Pages: number of pages to be imported.
X-Max-Page-Size: maximum amount of content returned by the API on each page.
For each content id returned by V1 Catalogs|Catalogs/{id}, 1 additional call must be made on V2/Content/{id} to get content’s metadata.
Returns data attached to the content ID passed in parameter.
This endpoint returns text, cast, images, collection ID + ID and lastupdate for Master and Season Content.
Returns the list of content added or updated or removed from the catalog ID passed in parameter since the date passed in parameter.
Useful tips : Once a catalog has been initialized by the user, V1/Catalogs|Catalogs/{id} should no longer be used.
Only V2/Catalogs|CatalogsLastUpdated/{id} should be used to get updates.
This endpoint is used to post orders for content to be matched. A command is in JSON format. It must be conform to the described below.
The goal is to establish a link between content in a client’s database and the same content in Media Press’s database. Once the link has been established, it is possible to import metadata using the various Endpoints.
Format of the JSON file to be posted.
“clientId“: ID that will allow the API to identify that the order is sent by a specific customer (Mandatory),
“orderSource”: Origin of the order, VOD or Replay (Mandatory),
“provider”: Channel name for Replay or Provider name for VOD (Mandatory),
“orderType”: Type of order : Content, Season, Series (content by default if not sent),
“catalogId”: Catalog ID (Mandatory),
“title”: Title of the content to be matched (Mandatory),
“subTitle”: Subtitle of the content to be matched,
“originalTitle”: Original title of the content to be matched,
“originalSubTitle”: Original subtitle of the content to be matched,
“productionYear”: Year of production,
“category”: Format of the content to be matched (film, series, documentary, magazine, sport, TV movie),
“seasonNumber”: Season number,
“episodeNumber”: Episode number,
“director”: First name Last name of the director (only 1),
“actor”: First name Last name of the main actor (only 1),
“duration”: Duration of the content,
“text”: Text field to insert a summary sent by the Provider (only 1),
“assetId”: Customer Asset ID of the order (Mandatory),
“plurimediaId”: Plurimedia Content ID,
“externalId”: External Content ID,
“imdbId”: IMDB ID,
“isanId“: ISAN ID,
“airingDateTime”: Broadcast date and time (if Replay),
“availableFrom”: Availability start date,
“availableTo”: Availability end date,
Order uploaded by Plurimedia API
=> API response 202: the order has been successfully downloaded and is awaiting import.
=> API response 500: there’s an error uploading the order. It needs to be pushed back to the API.
Once the order has been matched, the matching result will be sent back to the API.
When the matching result is synchronized on the API, 2 solutions possibles :