https://dwyt.appCostruire i download con DWYT
I campioni di codice DWYT documentano la sequenza futura delle richieste. Le chiamate di produzione rimangono chiuse fino a quando il client video non viene revisionato e le credenziali assegnate dall'operatore sono abilitate.
Quick start
La mappa di formato di DWYT esamina le credenziali attivate dal supporto per l'host API. Mostra un endpoint tenant assegnato successivamente e non oscura un percorso di chiamata solo 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"}'Per la sicurezza delle credenziali, DWYT inizia con l'archiviazione segreta lato server. La sua mappa di formato abbina ciò all'assenza di incorporamento di bundle client e termina senza log pubblici o repository.
Risolvere un collegamento
La mappa dei formati di DWYT esamina il rilevamento della fonte per l'operazione Resolve. Mostra i formati da un URL inviato successivamente e non oscura output inventati.
/v1/resolveAmbito di applicazione: risolvere| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
public_media | URL HTTPS | Sì | Pagina media pubblica o autorizzata da analizzare. |
tenant | stringa | No. | Dominio tenant assegnato. In genere omesso. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Per l'identificatore di formato, DWYT inizia con il valore restituito invariato. La sua mappa di formato lo associa alla disponibilità per collegamento e termina senza etichetta di qualità ipotizzata.
Creare e seguire un processo di download
Per la creazione di un Job, DWYT controlla la preparazione asincrona prima di una breve richiesta HTTP.
/v1/jobsAmbito: posti di lavoro| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
public_media | URL HTTPS | Sì | La stessa fonte normalizzata è stata inviata per la risoluzione. |
rendition_key | stringa | Sì | Un ID esatto dalla risposta di risoluzione. |
tenant | stringa | No. | Dominio tenant assegnato. In genere omesso. |
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} con la stessa chiave.| Stato | Significato | Azione del cliente |
|---|---|---|
queued | Ammesso alla coda limitata. | Sondaggio di nuovo con backoff. |
extracting | Aggiornamento dei metadati di origine o della rotta. | Continua a sondare. |
processing | Scaricare, remux o unire. | Visualizza il progresso del server. |
ready | Il download firmato è disponibile. | Invia l'URL all'utente. |
failed | Errore strutturato terminale. | Leggi error_codeRiprova solo quando ti viene consigliato. |
expired | L'uscita temporanea è stata rimossa. | Creare un nuovo lavoro. |
curl https://dwyt.app/v1/jobs/FLOW_ID \
-H "X-API-Key: $DWYT_FLOW_SECRET"Il polling del lavoro inizia con un'attesa iniziale di un secondo su DWYT. Questa mappa di formato presenta quindi un backoff limitato.
Errori prevedibili
DWYT gestisce il contratto di Errore identificando prima una busta non 2xx. Segue con un ID richiesta di supporto e mantiene in vista una gestione prevedibile del client.
{
"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 | Significato tipico | Azione |
|---|---|---|
| 400 | URL, corpo o formato non valido. | Correggi la richiesta. Risolvi di nuovo per i formati. |
| 401 | Chiave mancante, non valida, scaduta o con ambito errato. | Verificare le credenziali lato server. |
| 403 | Criterio di tenant o di origine ha rifiutato la richiesta. | Non aggirare la politica. Contattare l'assistenza. |
| 404 | Offerta di lavoro sconosciuta o scaduta. | Creare un nuovo lavoro, se del caso. |
| 429 | Richiesta o limite di lavori attivi raggiunto. | Onore retry_after_seconds. |
| 503 | Coda/capacità o upstream temporaneamente non disponibile. | Riprova con backoff esponenziale e jitter. |
Contratto operativo
DWYT esamina l'integrazione prima di scegliere le quote che proteggono sia il client video che i servizi a monte.
- Usa una logica applicativa idempotente e non avviare mai lavori duplicati per lo stesso clic dell'utente.
- Memorizza brevemente i metadati di risoluzione, ma considera sempre le URL di download firmate come scadute.
- Usa il backoff esponenziale limitato con jitter per
429,503e errori riprovabili. - Elabora solo media pubblici o media a cui sei autorizzato ad accedere. DRM e controlli di accesso non vengono bypassati.
- Conserva gli ID delle richieste e gli ID dei lavori nei registri operativi privati. Non registrare inutilmente gli URL inviati.
La mappa di formato di DWYT verifica l'attivazione prima dell'esplorazione per l'accesso allo Schema. Mostra l'autenticazione assegnata successivamente e non oscura le forme di richiesta documentate.
Attivazione tramite supporto
Spiega l'applicazione dietro la richiesta, la sua stima di traffico mensile e i servizi video che utilizzerà. DWYT esamina tali dettagli, assegna le autorizzazioni API necessarie e non conserva alcun valore chiave recuperabile.
Richiedi attivazione Le chiavi sono limitate all'inquilino, revocabili e rilasciate tramite il modulo di contatto. Gli script anonimi non possono eseguire lavori di download.