API: Content - add-ons/plugin.video.viervijfzes GitHub Wiki
Content API
API Terminology:
Program
: A tv showPage
: An episode of a tv showPlaylist
: A season, or another collection of videosVideo
: The video stream of an episode
Programs
A list of programs can be scraped of the homepage of the channel from a.program-overview__link
. We can find a title
and a path
.
Examples:
Program info
Site API
The path
of the program can be used to generate a URL that we can fetch. On that page, we can extract a JSON from a div
with an attribute data-hero
.
The same JSON is available trough an API, but we need to know the programUuid
then.
- GET
https://www.vier.be/{path}
- GET
https://www.vier.be/api/program/{programUuid}
{
"data": {
"id": "66c7e887-b468-4e2b-b0f1-534ffc51c327",
"title": "Auwch_",
"subtitle": "",
"description": "Auwch_ draait ook in dit 2de seizoen rond alledaagse pijnlijke en g\u00eanante situaties waarin Ben Segers en Axel Daeseleire voortdurend verzeild geraken. Met de gekende ongemakkelijke stiltes tot gevolg\u2026",
"label": "",
"link": "/auwch",
"images": {
"hero": "https://images.viervijfzes.be/www.vier.be/production/meta/tnwallpaper3840x2160auwchs3-q5hc5b.jpg?auto=format&crop=edges&dpr=2&fit=crop&h=780&ixlib=php-1.1.0&q=95&w=1440&s=6424ebacd202c98c36e1f93f9e04896a",
"mobile": "https://images.viervijfzes.be/www.vier.be/production/2020-02/auwchzp-q5hc5w.jpg?auto=format&crop=edges&dpr=2&fit=crop&h=530&ixlib=php-1.1.0&q=95&w=375&s=789a0652a41fea77ee7e59554de76a3c",
"poster": "https://images.viervijfzes.be/www.vier.be/production/2020-02/auwchmp-q5hc5r.jpg?auto=format&fit=crop&h=590&ixlib=php-1.1.0&q=95&w=410&s=38200a4598b02fcf3fb28db0ffac92a6",
"teaser": "https://images.viervijfzes.be/www.vier.be/production/meta/tnwallpaper3840x2160auwchs3-q5hc5b.jpg?auto=format&fit=crop&h=452&ixlib=php-1.1.0&q=85&w=682&s=48ad79e81dd385a7108dede9365a5208"
},
"header": {
"title": "Trailer nieuw seizoen",
"video": []
},
"pageInfo": {
"site": "vier",
"url": "https://www.vier.be/auwch",
"nodeId": "365",
"title": "Auwch_",
"description": "Auwch_ draait ook in dit 2de seizoen rond alledaagse pijnlijke en g\u00eanante situaties waarin Ben Segers en Axel Daeseleire voortdurend verzeild geraken. Met de gekende ongemakkelijke stiltes tot gevolg\u2026",
"type": "program",
"program": "Auwch_",
"programId": "365",
"programUuid": "66c7e887-b468-4e2b-b0f1-534ffc51c327",
"programKey": "auwch",
"tags": [
"Auwch_"
],
"publishDate": 1452784345,
"unpublishDate": 0,
"author": "[email protected]",
"notificationsScore": 0
},
"playlists": [
{
"episodes": [
{
"autoplay": false,
"cimTag": "vid.tvi.ep.vod.free",
"createdDate": 1584045900,
"description": "<p>De foemp gaat trouwen met Livia. Axel en Ben kunnen natuurlijk niet ontbreken op zijn vrijgezellenfeestje, ook al is dat dik tegen de zin van Axel.</p>\r\n",
"duration": 1501,
"embedCta": null,
"enablePreroll": true,
"episodeNumber": 5,
"episodeTitle": "S3 - Aflevering 5",
"hasProductPlacement": true,
"image": "https://images.viervijfzes.be/www.vier.be/production/meta/auwch-y03-e05-f0269534mp400072208still004-q72m4w.jpg?auto=format&fit=max&h=720&ixlib=php-1.1.0&q=65&w=1280&s=380f5f672e083e32082f6ed4b081526d",
"isProtected": true,
"isSeekable": false,
"isStreaming": false,
"link": "/video/auwch/auwch-s3/auwch-s3-aflevering-5",
"midrollOffsets": [
808
],
"pageInfo": {
"site": "vier",
"url": "https://www.vier.be/video/auwch/auwch-s3/auwch-s3-aflevering-5",
"nodeId": "30723",
"title": "Auwch_ - S3 - Aflevering 5",
"description": "De foemp gaat trouwen met Livia. Axel en Ben kunnen natuurlijk niet ontbreken op zijn vrijgezellenfeestje, ook al is dat dik tegen de zin van Axel.",
"type": "video-long_form",
"program": "Auwch_",
"programId": "365",
"programUuid": "66c7e887-b468-4e2b-b0f1-534ffc51c327",
"programKey": "auwch",
"tags": [
"Auwch_",
"Volledige Aflevering"
],
"publishDate": 1584045900,
"unpublishDate": 1672605900,
"author": "[email protected]",
"notificationsScore": 17
},
"pageUuid": "1abd0018-ccc5-4635-871c-fd3082639919",
"parentalRating": "12+",
"path": "",
"program": {
"title": "Auwch_",
"poster": "https://images.viervijfzes.be/www.vier.be/production/2020-02/auwchmp-q5hc5r.jpg?auto=format&fit=crop&h=590&ixlib=php-1.1.0&q=95&w=410&s=38200a4598b02fcf3fb28db0ffac92a6"
},
"seasonNumber": 3,
"seekableFrom": 1584047401,
"title": "Auwch_ - S3 - Aflevering 5",
"type": "long_form",
"unpublishDate": 1672605900,
"videoUuid": "b73bfbba-11aa-4a01-a614-066a1251e3a2",
"whatsonId": "10137607007678527"
},
# ... (more episodes)
],
"id": "42a6f9fc-a451-44f3-9b9d-b9a38f1bebe8",
"link": "/video/auwch/auwch-s3",
"pageInfo": {
"site": "vier",
"url": "https://www.vier.be/video/auwch/auwch-s3",
"nodeId": "30207",
"title": "Auwch_ - Seizoen 3",
"description": "Auwch_ draait ook in het 3e seizoen rond alledaagse pijnlijke en g\u00eanante situaties waarin Ben Segers en Axel Daeseleire voortdurend verzeild geraken. Met de gekende ongemakkelijke stiltes tot gevolg\u2026",
"type": "playlist",
"program": "Auwch_",
"programId": "365",
"programUuid": "66c7e887-b468-4e2b-b0f1-534ffc51c327",
"programKey": "auwch",
"tags": [],
"publishDate": 1580728083,
"unpublishDate": 0,
"author": "[email protected]",
"notificationsScore": 0
},
"title": "Seizoen 3"
},
# ... (more seasons)
],
"social": {
"facebook": "https://www.facebook.com/Auwch-703879279714068/?fref=ts",
"hashtag": "auwch",
"instagram": "https://instagram.com/opVIER",
"twitter": "https://twitter.com/@opVIER"
}
}
}
Examples:
-
https://www.vier.be/api/program/66c7e887-b468-4e2b-b0f1-534ffc51c327
-
https://www.vijf.be/api/program/ce04df1b-4966-4aa3-82f3-2e76a5408a70
-
https://www.zestv.be/api/program/d82bd1c3-1897-4165-9249-4c31192ad4a3
Backend API
When we know the programUuid
, we can also use the backend API to fetch some details. It contains less data though.
- GET
https://api.viervijfzes.be/content/{programUuid}
(authenticated)
{
"image": {
"S": "https://images.viervijfzes.be/www.vier.be/production/meta/tnwallpaper3840x2160auwchs3-q5hc5b.jpg?auto=format&fit=crop&h=590&ixlib=php-1.1.0&q=95&w=410&s=c78feafe09676e4eace0fbd3065551b2"
},
"playlists": {
"M": {
"42a6f9fc-a451-44f3-9b9d-b9a38f1bebe8": {
"M": {
"season": {
"N": "3"
},
"last": {
"M": {
"duration": {
"N": "1618"
},
"image": {
"S": "https://images.viervijfzes.be/www.vier.be/production/meta/auwch-y03-e06-f0269535mp400143505still002-q7fpnb.jpg?auto=format&fit=crop&h=590&ixlib=php-1.1.0&q=95&w=410&s=e92aba74bc6498caebbc07bfe6d0ebfb"
},
"uuid": {
"S": "8625f38c-97c0-4cd0-a216-cdeb18a128ab"
},
"url": {
"S": "/video/auwch/auwch-s3/auwch-s3-aflevering-6"
}
}
},
"uuid": {
"S": "42a6f9fc-a451-44f3-9b9d-b9a38f1bebe8"
},
"url": {
"S": "/video/auwch/auwch-s3"
},
"first": {
"M": {
"duration": {
"N": "1616"
},
"image": {
"S": "https://images.viervijfzes.be/www.vier.be/production/meta/vlcsnap-2020-02-13-10h09m53s409-q5mzh1.png?auto=format&fit=crop&h=590&ixlib=php-1.1.0&q=95&w=410&s=2e47562baeaf78ebec6e7a9f41e57fc8"
},
"uuid": {
"S": "5e9ef01e-70dd-436d-85ad-83fa0adbfb94"
},
"url": {
"S": "/video/auwch/auwch-s3/auwch-s3-aflevering-1"
}
}
}
}
},
"76f042d1-1cc1-46f6-9b39-61763c89330c": {
"M": {
"season": {
"N": "1"
},
"last": {
"M": {
"duration": {
"N": "0"
},
"image": {
"S": "https://images.viervijfzes.be/www.vier.be/production/meta/afl10-q0fwl4.png?auto=format&fit=crop&h=590&ixlib=php-1.1.0&q=95&w=410&s=842124e6bdd60ac4c952a8bf3dfac9cf"
},
"uuid": {
"S": "11b729b0-783b-49c9-85d6-c6ea361802a2"
},
"url": {
"S": "/video/auwch/auwch-seizoen-1/auwch-s1-aflevering-10"
}
}
},
"uuid": {
"S": "76f042d1-1cc1-46f6-9b39-61763c89330c"
},
"url": {
"S": "/video/auwch/auwch-seizoen-1"
},
"first": {
"M": {
"duration": {
"N": "0"
},
"image": {
"S": "https://images.viervijfzes.be/www.vier.be/production/meta/afl1-q0fvws.jpg?auto=format&fit=crop&h=590&ixlib=php-1.1.0&q=95&w=410&s=2dd61f816b4a36ce72fdee2abdd7fb70"
},
"uuid": {
"S": "1843a82f-774b-4dff-bc0c-33f97e203053"
},
"url": {
"S": "/video/auwch/auwch-seizoen-1/auwch-s1-aflevering-1"
}
}
}
}
},
"353ba363-84f8-4225-ba85-566756b210ef": {
"M": {
"season": {
"N": "2"
},
"last": {
"M": {
"duration": {
"N": "1610"
},
"image": {
"S": "https://images.viervijfzes.be/www.vier.be/production/meta/koen-os0ux1-pk192f.png?auto=format&fit=crop&h=590&ixlib=php-1.1.0&q=95&w=410&s=8355ea5c19095edd18dec8a892e684f4"
},
"uuid": {
"S": "74446180-8206-45ae-914c-1c1363e9a1c2"
},
"url": {
"S": "/video/auwch/seizoen-2/auwch-s2-auwch-2-10"
}
}
},
"uuid": {
"S": "353ba363-84f8-4225-ba85-566756b210ef"
},
"url": {
"S": "/video/auwch/seizoen-2"
},
"first": {
"M": {
"duration": {
"N": "1514"
},
"image": {
"S": "https://images.viervijfzes.be/www.vier.be/production/meta/afl1auwch-os0the-pk14ya.jpg?auto=format&fit=crop&h=590&ixlib=php-1.1.0&q=95&w=410&s=f4d7b660b76c340491c50befa98407f1"
},
"uuid": {
"S": "043c4c1a-8118-4e67-b443-86a6e241ecb7"
},
"url": {
"S": "/video/auwch/seizoen-2/auwch-s2-auwch-2-1"
}
}
}
}
}
}
},
"description": {
"S": "Auwch_ draait ook in dit 2de seizoen rond alledaagse pijnlijke en gênante situaties waarin Ben Segers en Axel Daeseleire voortdurend verzeild geraken. Met de gekende ongemakkelijke stiltes tot gevolg…"
},
"label": {
"S": "Auwch_"
},
"category": {
"M": {
"id": {
"S": "51821"
},
"label": {
"S": "Serie Komedie"
}
}
},
"uuid": {
"S": "66c7e887-b468-4e2b-b0f1-534ffc51c327"
},
"url": {
"S": "/auwch"
}
}
Examples:
- https://api.viervijfzes.be/content/66c7e887-b468-4e2b-b0f1-534ffc51c327
- https://api.viervijfzes.be/content/ce04df1b-4966-4aa3-82f3-2e76a5408a70
- https://api.viervijfzes.be/content/d82bd1c3-1897-4165-9249-4c31192ad4a3
Page info
From the Program info, we can get a list of Episodes. Each episode has a pageUuid
. The same information already exists in the Program info.
- GET
https://www.vier.be/api/video/{pageUuid}
{
"autoplay": false,
"cimTag": "vid.tvi.ep.vod.free",
"createdDate": 1584045900,
"description": "\u003Cp\u003EDe foemp gaat trouwen met Livia. Axel en Ben kunnen natuurlijk niet ontbreken op zijn vrijgezellenfeestje, ook al is dat dik tegen de zin van Axel.\u003C\/p\u003E\r\n",
"duration": 1501,
"embedCta": null,
"enablePreroll": true,
"episodeNumber": 5,
"episodeTitle": "S3 - Aflevering 5",
"hasProductPlacement": true,
"image": "https:\/\/images.viervijfzes.be\/www.vier.be\/production\/meta\/auwch-y03-e05-f0269534mp400072208still004-q72m4w.jpg?auto=format\u0026fit=max\u0026h=720\u0026ixlib=php-1.1.0\u0026q=65\u0026w=1280\u0026s=380f5f672e083e32082f6ed4b081526d",
"isProtected": true,
"isSeekable": false,
"isStreaming": false,
"link": "\/video\/auwch\/auwch-s3\/auwch-s3-aflevering-5",
"midrollOffsets": [
808
],
"pageInfo": {
"site": "vier",
"url": "https:\/\/www.vier.be\/video\/auwch\/auwch-s3\/auwch-s3-aflevering-5",
"nodeId": "30723",
"title": "Auwch_ - S3 - Aflevering 5",
"description": "De foemp gaat trouwen met Livia. Axel en Ben kunnen natuurlijk niet ontbreken op zijn vrijgezellenfeestje, ook al is dat dik tegen de zin van Axel.",
"type": "video-long_form",
"program": "Auwch_",
"programId": "365",
"programUuid": "66c7e887-b468-4e2b-b0f1-534ffc51c327",
"programKey": "auwch",
"tags": [
"Auwch_",
"Volledige Aflevering"
],
"publishDate": 1584045900,
"unpublishDate": 1672605900,
"author": "[email protected]",
"notificationsScore": 17
},
"pageUuid": "1abd0018-ccc5-4635-871c-fd3082639919",
"parentalRating": "12+",
"path": "",
"program": {
"title": "Auwch_",
"poster": "https:\/\/images.viervijfzes.be\/www.vier.be\/production\/2020-02\/auwchmp-q5hc5r.jpg?auto=format\u0026fit=crop\u0026h=590\u0026ixlib=php-1.1.0\u0026q=95\u0026w=410\u0026s=38200a4598b02fcf3fb28db0ffac92a6"
},
"seasonNumber": 3,
"seekableFrom": 1584047401,
"title": "Auwch_ - S3 - Aflevering 5",
"type": "long_form",
"unpublishDate": 1672605900,
"videoUuid": "b73bfbba-11aa-4a01-a614-066a1251e3a2",
"whatsonId": "10137607007678527"
}
Example:
Video info
To get the actual video stream, we need the videoUuid
and make the same backend call as the Program info. This videoUuid
is available in the Page info.
https://api.viervijfzes.be/content/{videoUuid}
(authenticated)
{
"video": {
"S": "https://stream1-vod.cdn1.sbs.prd.telenet-ops.be/geo/AUWCH_/S3/volledigeafleveringen/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/AUWCH__3_5_F0269534/AUWCH__3_5_F0269534.m3u8"
}
}
Example:
Other endpoints
-
GET https://www.vier.be/api/content_tree (no auth needed)
-
GET https://api.viervijfzes.be/notifications (
authorization
header required)
[
{
"nid": 30655,
"notification_created": 1583784914,
"site": "vier",
"created": 1583784846,
"id": "cc2f225f-873b-4b5e-b02b-dc9ef5ecc390",
"image": "https://images.viervijfzes.be/www.vier.be/production/meta/f0271354-otmxf10220618still004-q6s0di.jpg?auto=format&fit=crop&h=60&ixlib=php-1.1.0&q=90&w=60&s=8722dc9e3db66c278633717c730e9ec7",
"label": null,
"program": "6f8eae82-4508-41e9-81ec-8f2e3dcc7fec",
"program_title": "Topdokters",
"program_category": "Human Interest",
"score": 7,
"title": "Dr. Ombelet is een dierenliefhebber “Ontsnapte beestjes belandden op autostrade\"",
"type": "video",
"url": "https://www.vier.be/video/topdokters/dr-ombelet-is-een-dierenliefhebber-ontsnapte-beestjes-belandden-op-autostrade",
"video_type": "short_form",
"video_uuid": "55ff7360-cd13-4eb4-ac72-e5cebc10d4b1",
"read": false,
"seen": false
},
{
"nid": 30663,
"notification_created": 1583782514,
"site": "vier",
"created": 1583782500,
"id": "08ec347b-0247-4285-8670-c569b57a434a",
"image": "https://images.viervijfzes.be/www.vier.be/production/meta/tdafl07gradev1mov00400720still015-q6x369.jpg?auto=format&fit=crop&h=60&ixlib=php-1.1.0&q=90&w=60&s=4da466058804e163920b1c10eb4af401",
"label": null,
"program": "6f8eae82-4508-41e9-81ec-8f2e3dcc7fec",
"program_title": "Topdokters",
"program_category": "Human Interest",
"score": 17,
"title": "Topdokters - S7 - Aflevering 7",
"type": "video",
"url": "https://www.vier.be/video/topdokters/topdokters-s7/topdokters-s7-aflevering-7",
"video_type": "long_form",
"video_uuid": "51ef9e4c-9b1f-47aa-adb7-3aa5c7155882",
"read": false,
"seen": false
}
# ...
]
-
POST https://api.viervijfzes.be/email/change
- step
- uuid
- old_email
- new_email
-
POST https://api.viervijfzes.be/email/get
- id
-
POST https://api.viervijfzes.be/email/sync
-
POST https://api.viervijfzes.be/email/valid
-
POST https://api.viervijfzes.be/reset
- Domain
- Url
-
POST https://api.viervijfzes.be/search
- query
- sites ('vier', 'vijf', 'zes')
- page
- mode: 'byDate'
-
POST https://api.viervijfzes.be/webform
- FormId
- Created
- UserName: Wieni
- Blob
-
PUT https://api2.viervijfzes.be/selligent/lists/
- options
-
POST https://api2.viervijfzes.be/selligent/newsletter/