https://easyt.ioBangun unduhan dengan EasyT
Referensi EasyT ini adalah panduan implementasi, bukan titik akhir anonim aktif. Akses produksi dimulai hanya setelah dukungan menyetujui klien dan menetapkan batasan.
Awal yang cepat
API host dimulai dengan dukungan diaktifkan kredensial pada EasyT. Pemeriksaan yang dipandu ini kemudian menyajikan titik akhir tenant yang ditugaskan. Fakta terakhir adalah jalur panggilan hanya server.
X-API-Key: pending_activation_…EasytWorkspacev1# Available only after support activation
export EASYT_WORKSPACE_TOKEN="issued-after-review"
curl -X POST https://easyt.io/v1/resolve \
-H "X-API-Key: $EASYT_WORKSPACE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"input_url":"https://www.youtube.com/watch?v=VIDEO_ID"}'Dalam EasyT, penyimpanan rahasia sisi server menjadi prioritas saat menjelaskan keamanan Kredensial. Pemeriksaan terpandu tersebut diikuti tanpa penyisipan bundel klien dan ditutup tanpa log atau repositori publik.
Menyelesaikan sebuah tautan
Operasi penyelesaian dimulai dengan deteksi sumber pada EasyT. Pemeriksaan yang dipandu ini kemudian menyajikan format dari satu URL yang diajukan. Fakta akhir adalah tidak ada keluaran yang diciptakan.
/v1/resolveScope: menyelesaikan| Medan | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
input_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
}Di EasyT, nilai yang dikembalikan tanpa perubahan muncul pertama saat menjelaskan pengenal Format. Pemeriksaan terpandu ini dilanjutkan dengan ketersediaan per tautan dan ditutup tanpa label kualitas yang ditebak.
Buat dan ikuti pekerjaan unduhan
Persiapan asinkron adalah titik awal untuk pembuatan Pekerjaan pada EasyT. Sebuah cek yang dipandu kemudian menyajikan permintaan HTTP singkat dan menjelaskan eksekusi pekerja terbatas.
/v1/jobsLingkup: pekerjaan| Medan | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
input_url | URL HTTPS | Ya | Sumber yang dinormalisasi sama diajukan untuk diselesaikan. |
stream_choice | string | Ya | ID tepat dari respons penyelesaian. |
tenant | string | Tidak. | Domain penyewa yang ditetapkan. Biasanya dihilangkan. |
curl -X POST https://easyt.io/v1/jobs \
-H "X-API-Key: $EASYT_WORKSPACE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"input_url":"https://www.youtube.com/watch?v=VIDEO_ID","stream_choice":"18"}'workspace_job.GET /v1/jobs/{workspace_job} 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://easyt.io/v1/jobs/WORKSPACE_JOB \
-H "X-API-Key: $EASYT_WORKSPACE_TOKEN"Untuk polling Job, EasyT dimulai dengan menunggu awal satu detik. Cek panduannya berpasangan dengan backoff yang dibatasi dan berakhir dengan pengiriman yang ditandatangani sementara.
Kesalahan yang dapat diprediksi
EasyT membuat Kontrak Error mudah untuk dipindai. Halaman dimulai dengan satu amplop non-2xx, pindah ke ID permintaan dukungan, dan dengan jelas menyatakan 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
EasyT memilih tunjangan operasi selama tinjauan, menyeimbangkan kebutuhan aplikasi dengan kesehatan penyedia.
- 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.
Akses skema dimulai dengan aktivasi sebelum eksplorasi pada EasyT. Pemeriksaan yang dipandu ini kemudian menyajikan otentikasi yang ditugaskan. Fakta terakhir adalah bentuk permintaan yang didokumentasikan.
Aktifkan melalui dukungan
Sertakan tujuan klien, beban kerja bulanan yang diharapkan, dan jaringan yang diminta dalam catatan aktivasi. EasyT kemudian dapat memilih penyelesaian dan ruang lingkup pekerjaan dengan benar sebelum menghasilkan rahasia satu tampilan.
Minta aktivasi Kunci adalah tenant-scoped, dapat dicabut dan dikeluarkan melalui formulir Kontak. Skrip anonim tidak dapat menjalankan pekerjaan pengunduh.