https://downf.ioCrea download con downf.io
DownF mantiene l'esecuzione dell'API disabilitata fino a quando un operatore non esamina il caso d'uso di compatibilità. Gli esempi descrivono il contratto pianificato, mentre le credenziali reali e le quote arrivano solo tramite attivazione del supporto.
Quick start
La sua vista di compatibilità confronta un endpoint tenant assegnato. Un percorso di chiamata solo server rimane il controllo finale.
X-API-Key: pending_activation_…DownfBridgev1# Available only after support activation
export DOWNF_ACCESS_TOKEN="issued-after-review"
curl -X POST https://downf.io/v1/resolve \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"media_address":"https://www.youtube.com/watch?v=VIDEO_ID"}'La sicurezza delle credenziali inizia con l'archiviazione segreta lato server su DownF. Questa vista di compatibilità non presenta alcun embedding di bundle client. Il fatto finale è l'assenza di log pubblici o repository.
Risolvere un collegamento
DownF organizza l'operazione Resolve attorno al rilevamento della sorgente. La sua vista di compatibilità confronta i formati da un URL inviato. Nessun output inventato rimane il controllo finale.
/v1/resolveAmbito di applicazione: risolvere| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
media_address | 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
}L'identificatore di formato inizia con il valore restituito invariato su DownF. Questa visualizzazione di compatibilità presenta quindi la disponibilità per collegamento. Il fatto finale non è un'etichetta di qualità indovinata.
Creare e seguire un processo di download
La creazione del job inizia con la preparazione asincrona su DownF. La vista successiva copre una breve richiesta HTTP.
/v1/jobsAmbito: posti di lavoro| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
media_address | URL HTTPS | Sì | La stessa fonte normalizzata è stata inviata per la risoluzione. |
output_ref | stringa | Sì | Un ID esatto dalla risposta di risoluzione. |
tenant | stringa | No. | Dominio tenant assegnato. In genere omesso. |
curl -X POST https://downf.io/v1/jobs \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"media_address":"https://www.youtube.com/watch?v=VIDEO_ID","output_ref":"18"}'transfer_ref.GET /v1/jobs/{transfer_ref} 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://downf.io/v1/jobs/TRANSFER_REF \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN"Mostra il backoff successivo con un limite massimo e non oscura la consegna temporanea firmata.
Errori prevedibili
DownF presenta tre punti pratici per il contratto di errore. Il primo è un envelope non 2xx. La vista di compatibilità copre quindi un ID richiesta di supporto. Il suo punto finale è la gestione prevedibile del cliente.
{
"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
DownF assegna un tetto di richiesta dopo aver esaminato il client previsto, mantenendo stabili i suoi controlli di compatibilità e i provider 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.
DownF organizza l'accesso allo schema intorno all'attivazione prima dell'esplorazione. La sua visualizzazione di compatibilità confronta l'autenticazione assegnata.
Attivazione tramite supporto
Descrivi il prodotto, prevedi le chiamate mensili ed elenca le piattaforme che deve confermare gli ambiti richiesti prima di emettere una credenziale visibile una tantum la cui copia memorizzata è solo un hash.
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.