Skip to Content
DocumentationAPI ReferenceVideoklip (assuming it's referring to individual video clips) Videoklipper

videoer API

Videoer API er den primære slutpunkt for at hente videoindhold. Den understøtter kraftfulde filter, sortering og tagging-funktioner.

Liste videoer

Henter en pagineret liste over videoer. Dette endpoint er meget fleksibelt og accepterer flere spørgsmål til at finjustere resultaterne. Svar indeholder et array af VideoSummary-objekter.

GET /videos

Spørgsmålsparametre

NavnTypeBeskrivelse
pathstringValgfri. Filtre videoer til en bestemt samlingsti, f.eks. root/movies.
filtersobjectValgfri. Filter efter metadata. Se Filtereksempler nedenfor for syntax.
tagsstringValgfri. En komma-separeret liste af tags til at filter efter (f.eks. laravel,api). Finder videoer med ALLE angivne tags.
sortstringValgfri. Sorterer resultaterne. Brug en - foran for nedadgående orden. Tilladte felter: created_at, title, duration_in_seconds. Standard: -created_at.
per_pageintegerValgfri. Antal resultater pr side. Standard: 15, Max: 100.

Filtereksempler

Det filters-parameter er den mest kraftfulde funktion. Syntaxen er filters[field_name][operator]=value.

Filtre efter samlingsti

Dette finder alle videoer indenfor education/php mappe.

GET /api/client/v1/videos?path=root/education/php

Filtre efter en enkelt metadata-felt (Liges)

Dette finder alle videoer hvor genre er ‘Action’, case-insensitivt. Brug af direkte værdi er et shortcut for operatoren eq.

GET /api/client/v1/videos?filters[genre]=Action

Filtre efter sti og metadata

Dette finder alle ‘begynder’ videoer specifikt indenfor ‘fitness/yoga’-samlingen.

GET /api/client/v1/videos?path=root/fitness/yoga&filters[difficulty]=beginner

Filtre efter “Større end” (gt)

Dette finder alle videoer længere end 10 minutter (600 sekunder).

GET /api/client/v1/videos?filters[duration_in_seconds][gt]=600

Filtre efter “Mindre end eller ligeligt med” (lte)

Dette finder alle videoer med en rating på 3 eller mindre.

GET /api/client/v1/videos?filters[rating][lte]=3

Filtre efter “I en liste” (in)

Dette finder alle videoer hvor sværhedsgraden er enten ‘begynder’ eller ‘intermediat’. Det fungerer for både single-select og multi-select felter.

GET /api/client/v1/videos?filters[difficulty][in]=beginner,intermediate

Filtre efter “Ikke ligeligt med” (neq)

Dette finder alle videoer hvor præsentatoren ikke er ‘Jane Doe’.

GET /api/client/v1/videos?filters[presenter][neq]=Jane Doe

Eksempler på sortering og tagging

Filtre efter tags

Dette finder alle videoer med begge ‘yoga’ og ‘begynder’-tags.

GET /api/client/v1/videos?tags=yoga,beginner

Sorter efter titel (Stigende)

Dette lister alle videoer sorteret alfabetisk efter titel.

GET /api/client/v1/videos?sort=title

Sorter efter dato (Nedadgående)

Dette lister alle videoer med de nyeste først. Dette er standardadfærd og er ekvivalent til ikke at tilføje et sort-parameter.

GET /api/client/v1/videos?sort=-created_at

Fuldstændig svar: GET /videos

Dette er en fuldstændig, uklippet eksempel på en pagineret respons.

Svar: 200 OK
{ "data": [ { "id": "9c1a9e3e-6c9b-4f8a-8e2d-9b3c1d4e0f6a", "title": "Avanceret API Design i Laravel", "beskrivelse": "En dybdegående undersøgelse af at bygge robuste APIs.", "duration_in_seconds": 3620, "thumbnail_url": "https://din-cdn.com/sti/till/thumb1.jpg", "created_at": "2024-08-10T12:00:00Z", "metadata": { "sværhedsgrad": "avanceret", "præsentator": "Jane Doe" } }, { "id": "9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f", "title": "Indledning til Yoga", "beskrivelse": "En begynderguide til grundlæggende yoga-pose.", "duration_in_seconds": 1800, "thumbnail_url": "https://din-cdn.com/sti/till/thumb2.jpg", "created_at": "2024-08-09T10:00:00Z", "metadata": { "sværhedsgrad": "begynder", "præsentator": "John Smith" } } ], "links": { "first": "https://din-app.com/api/client/v1/videos?page=1", "last": "https://din-app.com/api/client/v1/videos?page=5", "prev": null, "next": "https://din-app.com/api/client/v1/videos?page=2" }, "meta": { "current_page": 1, "from": 1, "last_page": 5, "links": [ { "url": null, "label": "« Forrige", "aktiv": false }, { "url": "https://din-app.com/api/client/v1/videos?page=1", "label": "1", "aktiv": true }, { "url": "https://din-app.com/api/client/v1/videos?page=2", "label": "2", "aktiv": false }, { "url": "https://din-app.com/api/client/v1/videos?page=3", "label": "3", "aktiv": false }, { "url": "https://din-app.com/api/client/v1/videos?page=4", "label": "4", "aktiv": false }, { "url": "https://din-app.com/api/client/v1/videos?page=5", "label": "5", "aktiv": false }, { "url": "https://din-app.com/api/client/v1/videos?page=2", "label": "Næste »", "aktiv": true } ], "sti": "https://din-app.com/api/client/v1/videos", "per_page": 2, "to": 2, "total": 10 } }

Hent en enkelt video

Henter fuldstændigt, detaljeret data for en enkelt video, egnet til spilleren. Svar er et enkelt Video-objekt.

GET /videos/{videoId}

Sti-parametre

NavnTypeBeskrivelse
videoIduuidPåkrævet. Den unikke identifier for videoen.

Eksempel på forespørgsel

GET /api/client/v1/videos/9c1a9e3e-6c9b-4f8a-8e2d-9b3c1d4e0f6a

Fuldstændig svar: GET /videos/{videoId}

Svar: 200 OK
{ "data": { "id": "9c1a9e3e-6c9b-4f8a-8e2d-9b3c1d4e0f6a", "title": "Avanceret API Design i Laravel", "beskrivelse": "En dybdegående undersøgelse af at bygge robuste APIs.", "duration_in_seconds": 3620, "created_at": "2024-08-10T12:00:00Z", "manifest": { "hls_url": "https://din-cdn.com/sti/till/master.m3u8", "dash_url": "https://din-cdn.com/sti/till/manifest.mpd" }, "captions": [ { "label": "Engelsk", "sprog": "en", "er_standard": true, "url": "https://din-cdn.com/sti/till/en.vtt" }, { "label": "Spansk", "sprog": "es", "er_standard": false, "url": "https://din-cdn.com/sti/till/es.vtt" } ], "transcript": { "type": "vtt", "url": "https://din-cdn.com/sti/till/transcript.vtt" }, "thumbnails": [ { "url": "https://din-cdn.com/sti/till/thumb1.jpg" }, { "url": "https://din-cdn.com/sti/till/thumb2.jpg" } ], "tags": ["laravel", "api", "php"], "metadata": { "sværhedsgrad": "avanceret", "præsentator": "Jane Doe", "relateret_kurs": "API Mastery", "sprog": "en-US" } } }