https://dwyt.appConstruiți descărcări cu DWYT
Mostrele de cod DWYT documentează secvența viitoare a solicitărilor. Apelurile de producție rămân închise până când clientul video este revizuit și sunt activate credențialele atribuite de operator.
Start rapid
Harta de formate DWYT revizuiește credențialele activate pentru suport pentru gazda API. Afișează apoi un endpoint de tenant atribuit și nu obscurează o cale de apel doar pentru server.
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"}'Pentru siguranța credențialelor, DWYT începe cu stocarea secretă pe partea de server. Harta sa de format combină acest lucru cu lipsa încorporării în pachetul client și se încheie cu lipsa jurnalelor publice sau a depozitelor.
Rezolvarea unui link
Harta de formate a DWYT examinează detectarea sursei pentru operațiunea Resolve. Afișează formatele dintr-un URL trimis în continuare și nu ascunde nicio ieșire inventată.
/v1/resolveScop: rezolva| Câmp | Tip | Obligatoriu | Descrierea |
|---|---|---|---|
public_media | URL HTTPS | Da. | Pagina media publică sau autorizată pentru a analiza. |
tenant | șir | Nu. | Domeniul entității găzduite atribuite. De obicei omis. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Pentru identificatorul de format, DWYT începe cu valoarea returnată neschimbată. Harta sa de formate o asociază cu disponibilitatea pe fiecare link și se încheie fără nicio etichetă de calitate ghicită.
Crearea și urmărirea unei lucrări de descărcare
Pentru crearea Job-ului, DWYT verifică pregătirea asincronă înaintea unei cereri HTTP scurte. Această hartă de format clarifică, de asemenea, execuția limitată a worker-ului.
/v1/jobsDomeniul de aplicare: locuri de muncă| Câmp | Tip | Obligatoriu | Descrierea |
|---|---|---|---|
public_media | URL HTTPS | Da. | Aceeași sursă normalizată prezentată pentru a rezolva. |
rendition_key | șir | Da. | Un ID exact din răspunsul de rezolvare. |
tenant | șir | Nu. | Domeniul entității găzduite atribuite. De obicei omis. |
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} cu aceeași cheie.| Starea | Semnificație | Acțiune de client |
|---|---|---|
queued | Admis în coada limitată. | Sondaj din nou cu backoff. |
extracting | Reîmprospătarea metadatelor sursă sau a rutei. | Continuă să votezi. |
processing | Descărcarea, remixarea sau îmbinarea. | Afișați progresul serverului. |
ready | Descărcarea semnată este disponibilă. | Trimiteți URL-ul utilizatorului. |
failed | Eroare structurată terminală. | Citiți error_code. Reîncercaţi numai atunci când este recomandat. |
expired | Ieșirea temporară a fost eliminată. | Creați un loc de muncă nou. |
curl https://dwyt.app/v1/jobs/FLOW_ID \
-H "X-API-Key: $DWYT_FLOW_SECRET"Interogarea jobului începe cu o așteptare inițială de o secundă pe DWYT. Această hartă de format prezintă apoi o creștere treptată plafonată. Faptul final este livrarea temporară semnată.
Erori previzibile
DWYT gestionează contractul de eroare identificând mai întâi un plic ne-2xx. Urmează cu un ID de solicitare către suport și are în vedere o gestionare previzibilă din partea clientului.
{
"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 | Semnificație tipică | Acțiune |
|---|---|---|
| 400 | URL nevalid, corp sau format indisponibil. | Corectați solicitarea. Rezolvați din nou pentru formate. |
| 401 | Cheie lipsă, nevalidă, expirată sau cu domeniu incorect. | Verificați acreditările de pe partea serverului. |
| 403 | Politica chiriașului sau a sursei a respins solicitarea. | Nu ocoliți politica. Contactați asistența. |
| 404 | Loc de muncă necunoscut sau expirat. | Creați un nou loc de muncă, dacă este cazul. |
| 429 | A fost atinsă limita de solicitări sau de lucrări active. | Onoare. retry_after_seconds. |
| 503 | Coada/capacitatea sau sursa din amonte sunt temporar indisponibile. | Reîncercați cu backoff exponențial și jitter. |
Contract de exploatare
DWYT revizuiește integrarea înainte de a alege cote care protejează atât clientul video, cât și serviciile din amonte.
- Folosiți logică de aplicație idempotentă și nu porniți niciodată joburi duplicate pentru același clic al utilizatorului.
- Stocați temporar metadatele rezolvate în cache, dar tratați întotdeauna URL-urile semnate de descărcare ca expirabile.
- Utilizați backoff exponențial limitat cu jitter pentru
429,503şi erori reîncercabile. - Procesează doar media publică sau media la care ești autorizat să ai acces. DRM și controalele de acces nu sunt ocolite.
- Păstrați ID-urile cererilor și ID-urile joburilor în jurnalele operaționale private. Nu înregistrați inutil URL-urile trimise.
Harta de formate DWYT revizuiește activarea înainte de explorare pentru accesul la Schema. Arată autentificarea atribuită în continuare și nu obscurează formele de solicitare documentate.
Activați prin asistență
Explică aplicația din spatele solicitării, estimarea traficului lunar și serviciile video pe care le va folosi. DWYT analizează aceste detalii, atribuie permisiunile API necesare și nu păstrează nicio valoare de cheie recuperabilă.
Solicitați activarea Cheile sunt limitate la nivel de chiriaș, pot fi revocate și sunt emise prin formularul de contact. Scripturile anonime nu pot executa sarcini de descărcare.