https://easyf.appBangun unduhan dengan EasyF
EasyF menunjukkan antarmuka terlebih dahulu sehingga pengembang dapat memperkirakan pekerjaan mereka. Sebuah tinjauan dukungan masih diperlukan sebelum kunci hidup dan batas penggunaan ada.
Awal yang cepat
Untuk menjelaskan host API, EasyF memisahkan kredensial yang diaktifkan dukungan dari titik akhir tenant yang ditugaskan. Alur kerja bahasa biasa memberikan jalur panggilan hanya server tempatnya sendiri.
X-API-Key: pending_activation_…EasyfClientv1# Available only after support activation
export EASYF_SERVICE_KEY="issued-after-review"
curl -X POST https://easyf.app/v1/resolve \
-H "X-API-Key: $EASYF_SERVICE_KEY" \
-H "Content-Type: application/json" \
-d '{"asset_url":"https://www.youtube.com/watch?v=VIDEO_ID"}'Keamanan kredensial dimulai dengan penyimpanan rahasia sisi server di EasyF. Tampilan berikutnya mencakup tidak ada penempatan bundle klien. Halaman ini menyimpan tidak ada log publik atau repositori yang terlihat.
Menyelesaikan sebuah tautan
Untuk menjelaskan operasi Resolve, EasyF memisahkan deteksi sumber dari format dari satu URL yang diajukan. Aliran kerja bahasa biasa tidak memberikan hasil yang diciptakan tempatnya sendiri.
/v1/resolveScope: menyelesaikan| Medan | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
asset_url | 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 EasyF. Tampilan berikutnya mencakup ketersediaan per tautan. Halaman menyimpan tidak ada label kualitas tebak yang terlihat.
Buat dan ikuti pekerjaan unduhan
EasyF menyajikan tiga poin praktis untuk pembuatan Pekerjaan. Pertama adalah persiapan asinkron. Alur kerja dengan bahasa sederhana kemudian mencakup permintaan HTTP singkat. Poin akhirnya adalah eksekusi pekerja yang terbatas.
/v1/jobsLingkup: pekerjaan| Medan | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
asset_url | URL HTTPS | Ya | Sumber yang dinormalisasi sama diajukan untuk diselesaikan. |
variant_code | string | Ya | ID tepat dari respons penyelesaian. |
tenant | string | Tidak. | Domain penyewa yang ditetapkan. Biasanya dihilangkan. |
curl -X POST https://easyf.app/v1/jobs \
-H "X-API-Key: $EASYF_SERVICE_KEY" \
-H "Content-Type: application/json" \
-d '{"asset_url":"https://www.youtube.com/watch?v=VIDEO_ID","variant_code":"18"}'delivery_id.GET /v1/jobs/{delivery_id} 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://easyf.app/v1/jobs/DELIVERY_ID \
-H "X-API-Key: $EASYF_SERVICE_KEY"EasyF mendekati Job polling melalui satu detik awal menunggu, kemudian capped backoff. Alur kerja bahasa biasa menjaga pengiriman sementara ditandatangani eksplisit.
Kesalahan yang dapat diprediksi
EasyF mengatur Kontrak Error di sekitar satu amplop non-2xx. Aliran kerja bahasa biasa-nya membandingkan sebuah ID permintaan dukungan. Penanganan klien yang dapat diprediksi tetap menjadi pemeriksaan terakhir.
{
"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
EasyF menyetujui batas penggunaan praktis dengan setiap produk yang disetujui untuk menjaga alur kerja yang dipandu yang dapat diprediksi.
- 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.
Untuk menjelaskan akses Schema, EasyF memisahkan aktivasi sebelum eksplorasi dari otentikasi yang ditugaskan. Alur kerja bahasa biasa memberikan bentuk permintaan yang terdokumentasi tempatnya sendiri.
Aktifkan melalui dukungan
Beri tahu EasyF apa yang Anda bangun, seberapa sering ia akan memanggil API dan penyedia mana yang penting. Tinjauan memutuskan operasi yang diizinkan, kemudian mengungkapkan kredensial sekali saja sambil hanya menyimpan ringkasan amanannya.
Minta aktivasi Kunci adalah tenant-scoped, dapat dicabut dan dikeluarkan melalui formulir Kontak. Skrip anonim tidak dapat menjalankan pekerjaan pengunduh.