Skip to Content

Vizualizări API

Vizualizările API sunt punctul de intrare principal pentru a obține conținutul video. Ele suportă capabilități puternice de filtrare, sortare și etichetare.

Lista Vizualizărilor

Retrage o listă paginată de vizualizări. Acest endpoint este foarte flexibil și acceptă mai multe parametri de întrebare pentru a rafina rezultatele. Răspunsul conține un array de obiective VideoSummary.

GET /vizualizari

Parametri de întrebare

NumeTipDescriere
căutarestringOptional. Filtrează vizualizările către o cale specifică a colecției, de exemplu, root/movies.
filtreobiectOptional. Filtrează după metadata. Vezi exemplificarea filtrării mai jos pentru sintaxă.
etichetestringOptional. O listă separată cu etichete pentru a filtra (de exemplu, laravel,api). Găsește vizualizările cu toate etichetele specificate.
sortarestringOptional. Sortează rezultatele. Utilizați un prefix - pentru ordinea descrescătoare. Câmpuri permise: created_at, titlu, durata_in_seconds. Implicit: -created_at.
per_pageintegerOptional. Numărul de rezultate pe pagină. Implicit: 15, Max: 100.

Exemplificarea filtrării

Parametrul filtre este cea mai puternică funcționalitate. Sintaxa este filtre[field_name][operator]=value.

Filtrează după Cale a Colecției

Aceasta găsește toate vizualizările din folderele educație/php.

GET /api/client/v1/vizualizari?căutare=root/educație/php

Filtrează după un singur câmp de metadata (Egal)

Aceasta găsește toate vizualizările unde genul este ‘Acțiune’, cu case-insensibilitate. Utilizarea unei valori directe este o scurtătură pentru operatorul eq (egal).

GET /api/client/v1/vizualizari?filtre[genul]=Acțiune

Filtrează după Cale și Metadata

Aceasta găsește toate ‘vizualizările de început’ în special din colecția fitness/yoga.

GET /api/client/v1/vizualizari?căutare=root/fitness/yoga&filtre[greutate]=începător

Filtrează după “Mai mare decât” (gt)

Aceasta găsește toate vizualizările mai lungi de 10 minute (600 secunde).

GET /api/client/v1/vizualizari?filtre[durata_in_seconds][gt]=600

Filtrează după “Mai mic sau egal cu” (lte)

Aceasta găsește toate vizualizările cu o notă de 3 sau mai puțin.

GET /api/client/v1/vizualizari?filtre[notă][lte]=3

Filtrează după “Într-o listă” (in)

Aceasta găsește toate vizualizările unde dificultatea este fie începător sau intermediar. Funcționează pentru câmpuri selectiv și multi-select.

GET /api/client/v1/vizualizari?filtre[dificultate][in]=începător,intermediar

Filtrează după “Nu egal” (neq)

Aceasta găsește toate vizualizările unde prezentatorul nu este ‘Jane Doe’.

GET /api/client/v1/vizualizari?filtre[prezentator][neq]=Jane Doe

Exemplificarea sortării și etichetării

Filtrează după Etichete

Aceasta găsește toate vizualizările etichetate cu ambele ‘yoga’ și ‘începător’.

GET /api/client/v1/vizualizari?etichete=yoga,începător

Sortează după Titlu (Ascendent)

Aceasta listează toate vizualizările sortate alfabetic după titlu.

GET /api/client/v1/vizualizari?sortare=titlu

Sortează după Dată (Descendent)

Aceasta listează toate vizualizările cu cele mai noi înaintea celorlalte. Acesta este comportamentul implicit și este echivalent cu furnizarea unui parametru sortare gol.

GET /api/client/v1/vizualizari?sortare=-created_at

Răspuns complet: GET /vizualizari

Acesta este un exemplu complet, ne-truncat al unei răspunsuri paginată.

Răspuns: 200 OK
{ "data": [ { "id": "9c1a9e3e-6c9b-4f8a-8e2d-9b3c1d4e0f6a", "titlu": "Design Avansat de API în Laravel", "descriere": "O explorare adâncă a construirii API-urilor robuste.", "durata_in_seconds": 3620, "url_imaginii": "https://your-cdn.com/path/to/thumb1.jpg", "creat_at": "2024-08-10T12:00:00Z", "metadata": { "dificultate": "avansat", "prezentator": "Jane Doe" } }, { "id": "9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f", "titlu": "Introducere în Yoga", "descriere": "O ghidă pentru începători a pozelor de yoga.", "durata_in_seconds": 1800, "url_imaginii": "https://your-cdn.com/path/to/thumb2.jpg", "creat_at": "2024-08-09T10:00:00Z", "metadata": { "dificultate": "începător", "prezentator": "John Smith" } } ], "legături": { "primul": "https://your-app.com/api/client/v1/vizualizari?page=1", "ultimul": "https://your-app.com/api/client/v1/vizualizari?page=5", "precedent": null, "următor": "https://your-app.com/api/client/v1/vizualizari?page=2" }, "meta": { "pagina_curenta": 1, "de_la": 1, "ultima_pagina": 5, "legături": [ { "url": null, "eticheta": "« Precedent", "activ": false }, { "url": "https://your-app.com/api/client/v1/vizualizari?page=1", "eticheta": "1", "activ": true }, { "url": "https://your-app.com/api/client/v1/vizualizari?page=2", "eticheta": "2", "activ": false }, { "url": "https://your-app.com/api/client/v1/vizualizari?page=3", "eticheta": "3", "activ": false }, { "url": "https://your-app.com/api/client/v1/vizualizari?page=4", "eticheta": "4", "activ": false }, { "url": "https://your-app.com/api/client/v1/vizualizari?page=5", "eticheta": "5", "activ": false }, { "url": "https://your-app.com/api/client/v1/vizualizari?page=2", "eticheta": "Următor »", "activ": true } ], "căutare": "https://your-app.com/api/client/v1/vizualizari", "per_page": 2, "până_la": 2, "total": 10 } }

Obține o singură vizualizare

Retrage datele detaliate complete pentru o singură vizualizare, potrivite pentru un jucător. Răspunsul este un obiect Video.

GET /vizualizari/{idVizualizare}

Parametri de căutare

NumeTipDescriere
idVizualizareuuidRecomandat. Identificatorul unic al vizualizării.

Exemplu de cerere

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

Răspuns complet: GET /vizualizari/{idVizualizare}

Răspuns: 200 OK
{ "data": { "id": "9c1a9e3e-6c9b-4f8a-8e2d-9b3c1d4e0f6a", "titlu": "Design Avansat de API în Laravel", "descriere": "O explorare adâncă a construirii API-urilor robuste.", "durata_in_seconds": 3620, "creat_at": "2024-08-10T12:00:00Z", "manifest": { "url_hls": "https://your-cdn.com/path/to/master.m3u8", "url_dash": "https://your-cdn.com/path/to/manifest.mpd" }, "subtitrari": [ { "eticheta": "Engleză", "limbă": "en", "este_defalcat": true, "url": "https://your-cdn.com/path/to/en.vtt" }, { "eticheta": "Spaniolă", "limbă": "es", "este_defalcat": false, "url": "https://your-cdn.com/path/to/es.vtt" } ], "transcriere": { "tip": "vtt", "url": "https://your-cdn.com/path/to/transcript.vtt" }, "miniaturi": [ { "url": "https://your-cdn.com/path/to/thumb1.jpg" }, { "url": "https://your-cdn.com/path/to/thumb2.jpg" } ], "etichete": ["laravel", "api", "php"], "metadata": { "dificultate": "avansat", "prezentator": "Jane Doe", "curs_relasiunea": "API Mastery", "limbă": "en-US" } } }