https://downf.ioBangun unduhan dengan downf.io
DownF menjaga eksekusi API tetap dinonaktifkan sampai operator meninjau kasus penggunaan kompatibilitas. Contoh-contoh tersebut menggambarkan kontrak yang direncanakan, sementara kredensial dan kuota nyata hanya datang melalui aktivasi dukungan.
Awal yang cepat
DownF mengatur host API di sekitar kredensial yang diaktifkan dukungan. Tampilan kompatibilitasnya membandingkan titik akhir tenant yang ditugaskan. Jalur panggilan hanya server tetap menjadi pemeriksaan terakhir.
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"}'Keamanan kredensial dimulai dengan penyimpanan rahasia sisi server di DownF. Tampilan kompatibilitas ini kemudian menyajikan tidak ada penempatan bundle klien. Fakta terakhir adalah tidak ada log publik atau repositori.
Menyelesaikan sebuah tautan
DownF mengatur operasi Resolve di sekitar deteksi sumber. Tampilan kompatibilitasnya membandingkan format dari satu URL yang diajukan. Tidak ada keluaran yang diciptakan tetap menjadi pemeriksaan terakhir.
/v1/resolveScope: menyelesaikan| Medan | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
media_address | URL HTTPS | Ya | Halaman media publik atau resmi untuk dianalisis. |
tenant | string | Tidak. | Domain penyewa yang ditetapkan. Biasanya dihilangkan. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Format pengenal dimulai dengan nilai yang dikembalikan tidak berubah pada DownF. Tampilan kompatibilitas ini kemudian menyajikan ketersediaan per tautan. Fakta terakhir adalah tidak ada label kualitas yang ditebak.
Buat dan ikuti pekerjaan unduhan
Penciptaan pekerjaan dimulai dengan persiapan asinkron pada DownF. Tampilan berikutnya mencakup permintaan HTTP singkat. Halaman ini menjaga eksekusi pekerja terbatas terlihat.
/v1/jobsLingkup: pekerjaan| Medan | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
media_address | URL HTTPS | Ya | Sumber yang dinormalisasi sama diajukan untuk diselesaikan. |
output_ref | string | Ya | ID tepat dari respons penyelesaian. |
tenant | string | Tidak. | Domain penyewa yang ditetapkan. Biasanya dihilangkan. |
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} dengan kunci yang sama.| Status | Artinya | Tindakan klien |
|---|---|---|
queued | Diterima ke antrian terbatas. | Poll lagi dengan backoff. |
extracting | Menyegarkan metadata sumber atau rute. | Lanjutkan polling. |
processing | Mengunduh, meremux, atau menggabungkan. | Tunjukkan kemajuan server. |
ready | Unduh yang ditandatangani tersedia. | Kirim URL ke pengguna. |
failed | Kesalahan struktur terminal. | Baca error_code. Coba ulang hanya ketika dianjurkan. |
expired | Keluaran sementara dihapus. | Buat pekerjaan baru. |
curl https://downf.io/v1/jobs/TRANSFER_REF \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN"Tampilan kompatibilitas DownF meninjau satu detik awal menunggu untuk polling Pekerjaan. Ini menunjukkan backoff capped berikutnya dan tidak menutupi pengiriman sementara yang ditandatangani.
Kesalahan yang dapat diprediksi
DownF menyajikan tiga poin praktis untuk kontrak Error. Pertama adalah satu amplop non-2xx. Tampilan kompatibilitas kemudian mencakup ID permintaan dukungan. Poin akhirnya adalah penanganan klien yang dapat diprediksi.
{
"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 | Arti yang khas | Action |
|---|---|---|
| 400 | URL tidak valid, isi atau format tidak tersedia. | Perbaiki permintaan. Selesaikan lagi untuk format. |
| 401 | Kunci hilang, tidak valid, kedaluwarsa, atau cakupan salah. | Periksa kredensial sisi server. |
| 403 | Kebijakan penyewa atau sumber menolak permintaan. | Jangan melewati kebijakan. Hubungi dukungan. |
| 404 | Pekerjaan yang tidak diketahui atau kadaluarsa. | Buat pekerjaan baru jika sesuai. |
| 429 | Batas permintaan atau pekerjaan aktif telah tercapai. | Kehormatan retry_after_seconds. |
| 503 | Antrian/kapasitas atau hulu sementara tidak tersedia. | Coba lagi dengan penundaan eksponensial dan jitter. |
Kontrak operasional
DownF menetapkan plafon permintaan setelah meninjau klien yang dimaksud, menjaga pemeriksaan kompatibilitasnya dan penyedia hulu yang stabil.
- Gunakan logika aplikasi idempotent dan jangan pernah memulai pekerjaan duplikat untuk klik pengguna yang sama.
- Cache menyelesaikan metadata secara singkat, tetapi selalu memperlakukan URL unduhan yang ditandatangani sebagai berakhir.
- Gunakan bounded exponential backoff dengan jitter untuk
429,503dan kesalahan yang dapat dicoba kembali. - Proses hanya media publik atau media yang Anda diizinkan untuk mengakses. DRM dan kontrol akses tidak dihindari.
- Simpan ID permintaan dan ID pekerjaan dalam log operasional pribadi. Jangan log URL yang diajukan tanpa perlu.
DownF mengatur akses Schema di sekitar aktivasi sebelum eksplorasi. Tampilan kompatibilitasnya membandingkan otentikasi yang ditugaskan. Bentuk permintaan yang terdokumentasi tetap menjadi pemeriksaan terakhir.
Aktifkan melalui dukungan
Deskripsikan produk, ramalkan panggilan bulanannya, dan daftar platform yang harus dianalisis. Dukungan DownF akan mengonfirmasi cakupan yang diperlukan sebelum mengeluarkan kredensial yang terlihat satu kali yang salinannya disimpan hanya berupa hash.
Minta aktivasi Kunci adalah tenant-scoped, dapat dicabut dan dikeluarkan melalui formulir Kontak. Skrip anonim tidak dapat menjalankan pekerjaan pengunduh.