https://dwyt.appVytvárať sťahovania s DWYT
Ukážky kódu DWYT opisujú budúcu postupnosť požiadaviek. Produkčné volania zostávajú uzavreté, kým sa neposúdi video klient a nepovolia prihlasovacie údaje pridelené prevádzkovateľom.
Rýchly štart
Hostiteľ API v DWYT vyžaduje prihlasovacie údaje aktivované podporou a pridelený koncový bod tenanta. Volania musia prebiehať iba zo servera.
X-API-Key: pending_activation_…DwytFlowv1# Available only after support activation
export DWYT_FLOW_SECRET="issued-after-review"
curl -X POST https://dwyt.app/v1/resolve \
-H "X-API-Key: $DWYT_FLOW_SECRET" \
-H "Content-Type: application/json" \
-d '{"public_media":"https://www.youtube.com/watch?v=VIDEO_ID"}'Na ochranu prihlasovacích údajov DWYT ukladá tajné údaje na serveri. Nevkladá ich do klientskych balíkov, verejných záznamov ani repozitárov.
Vyriešiť odkaz
Pri analýze odkazu DWYT najprv rozpozná zdroj a potom zobrazí formáty z jednej zadanej URL. Prehľad jasne uvádza, že výstupy sa nevymýšľajú.
/v1/resolveRozsah: vyriešiť| Pole | Typ | Povinné | Popis |
|---|---|---|---|
public_media | HTTPS URL | Áno | Verejná alebo oprávnená mediálna stránka na analýzu. |
tenant | reťazec | Nie | Priradená doména nájomníka. Zvyčajne sa vynecháva. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Identifikátor formátu v DWYT uchovávajte presne tak, ako bol vrátený. Dostupnosť závisí od konkrétneho odkazu a označenie kvality sa nesmie odhadovať.
Vytvorte a sledujte úlohu sťahovania
Pri vytváraní úlohy DWYT rozlišuje asynchrónnu prípravu a krátku požiadavku HTTP. Prehľad formátov jasne vysvetľuje aj spracovanie pracovným procesom v stanovených limitoch.
/v1/jobsRozsah: pracovné ponuky| Pole | Typ | Povinné | Popis |
|---|---|---|---|
public_media | HTTPS URL | Áno | Rovnaký normalizovaný zdroj predložený na vyriešenie. |
rendition_key | reťazec | Áno | Presné ID z odpovede na vyriešenie. |
tenant | reťazec | Nie | Priradená doména nájomníka. Zvyčajne sa vynecháva. |
curl -X POST https://dwyt.app/v1/jobs \
-H "X-API-Key: $DWYT_FLOW_SECRET" \
-H "Content-Type: application/json" \
-d '{"public_media":"https://www.youtube.com/watch?v=VIDEO_ID","rendition_key":"18"}'flow_id.GET /v1/jobs/{flow_id} s rovnakým kľúčom.| Stav | Význam | Akcia klienta |
|---|---|---|
queued | Prijatý do ohraničeného frontu. | Anketa znova s odstupom. |
extracting | Obnovovanie zdrojových metadát alebo trasy. | Pokračujte v hlasovaní. |
processing | Sťahovanie, remuxovanie alebo spájanie. | Zobrazenie priebehu servera. |
ready | Podpísané stiahnutie je k dispozícii. | Odoslanie URL adresy používateľovi. |
failed | Terminál štruktúrovaná chyba. | Čítať error_codeOpakujte pokus iba v prípade, že vám to odporučia. |
expired | Dočasný výstup bol odstránený. | Vytvorte novú úlohu. |
curl https://dwyt.app/v1/jobs/FLOW_ID \
-H "X-API-Key: $DWYT_FLOW_SECRET"Opakované zisťovanie stavu úlohy v DWYT začína čakaním jednej sekundy. Intervaly kontrol sa potom predlžujú iba do stanoveného maxima. Doručenie používa dočasný podpísaný odkaz.
Predvídateľné chyby
DWYT vracia chyby v jednotnej odpovedi so stavom mimo rozsahu 2xx. Pripája identifikátor požiadavky pre podporu, aby klient mohol chyby spracovať predvídateľne.
{
"success": false,
"error": {
"code": "RATE_LIMITED",
"category": "rate_limited",
"message": "Too many requests. Please try again shortly.",
"retryable": true,
"details": {"retry_after_seconds": 20}
},
"request_id": "…"
}| HTTP | Typický význam | Akcia |
|---|---|---|
| 400 | Neplatná adresa URL, telo alebo nedostupný formát. | Opravte požiadavku. Vyriešte znova pre formáty. |
| 401 | Chýbajúci, neplatný, neplatný alebo nesprávny rozsah kľúča. | Skontrolujte poverenie na strane servera. |
| 403 | Nájomca alebo zdrojová politika odmietli žiadosť. | Neobchádzajte pravidlá. Obráťte sa na podporu. |
| 404 | Neznáma alebo vypršaná pracovná ponuka. | V prípade potreby vytvorte novú úlohu. |
| 429 | Dosiahnutý limit požiadaviek alebo aktívnych úloh. | Česť retry_after_seconds. |
| 503 | Fronta/kapacita alebo upstream dočasne nedostupné. | Skúste to znova s exponenciálnym spätným odrazom a jitterom. |
Prevádzková zmluva
DWYT kontroluje integráciu pred výberom kvót, ktoré chránia video klienta aj upstream služby.
- Používajte idempotentnú aplikačnú logiku a nikdy nespúšťajte duplicitné úlohy pre to isté kliknutie používateľa.
- Vyrovnávacia pamäť vyriešiť metadáta krátko, ale vždy zaobchádzať podpísané stiahnuť URL ako vypršať.
- Použite ohraničený exponenciálny spätný chod s jitterom pre
429,503a opakovatelné chyby. - Spracovávajte iba verejné médiá alebo médiá, ku ktorým máte oprávnený prístup. DRM a kontroly prístupu nie sú obídené.
- Uchovávajte ID žiadostí a ID úloh v súkromných prevádzkových denníkoch. Nezapisujte odoslané adresy URL zbytočne.
Prístup ku schéme v DWYT najprv vyžaduje aktiváciu. Potom použite pridelené overovacie údaje a zdokumentovanú štruktúru požiadaviek.
Aktivácia prostredníctvom podpory
Opíšte aplikáciu, ktorá požiadavky odosiela, odhad jej mesačnej prevádzky a videoslužby, ktoré bude používať. DWYT údaje posúdi, pridelí potrebné oprávnenia API a neuchováva obnoviteľnú hodnotu kľúča.
Požiadať o aktiváciu Kľúče sú viazané na nájomníka, možno ich odvolať a vydávajú sa prostredníctvom kontaktného formulára. Anonymné skripty nemôžu vykonávať prácu sťahovača.