https://easyf.appConstruiți descărcări cu EasyF
EasyF arată interfața în avans, astfel încât dezvoltatorii să își poată estima munca. O analiză de asistență este încă necesară înainte ca o cheie live și o limită de utilizare să existe.
Start rapid
Pentru a explica gazda API, EasyF separă credențialele activate pentru suport de un endpoint de tenant atribuit. Un flux de lucru în limbaj simplu oferă propriului traseu de apel doar pe server un loc distinct.
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"}'Siguranța acreditărilor începe cu stocarea secretelor pe server pe EasyF. Următoarea vizualizare acoperă lipsa încorporării în pachetul client. Pagina nu păstrează niciun jurnal public și niciun depozit vizibil.
Rezolvarea unui link
Pentru a explica operațiunea Resolve, EasyF separă detectarea sursei de formatele dintr-o singură adresă URL trimisă. Un flux de lucru în limbaj simplu nu oferă ieșirilor inventate propriul lor loc.
/v1/resolveScop: rezolva| Câmp | Tip | Obligatoriu | Descrierea |
|---|---|---|---|
asset_url | URL HTTPS | Da. | Pagina media publică sau autorizată pentru a analiza. |
tenant | șir | Nu. | Domeniul entității găzduite atribuite. De obicei omis. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Identificatorul de format începe cu valoarea returnată, neschimbată, pe EasyF. Vizualizarea următoare acoperă disponibilitatea pentru fiecare link. Pagina nu păstrează afișată nicio etichetă de calitate presupusă.
Crearea și urmărirea unei lucrări de descărcare
EasyF prezintă trei puncte practice pentru crearea de Job. Primul este pregătirea asincronă. Fluxul de lucru în limbaj simplu acoperă apoi o scurtă cerere HTTP. Ultimul său punct este execuția limitată a workerului.
/v1/jobsDomeniul de aplicare: locuri de muncă| Câmp | Tip | Obligatoriu | Descrierea |
|---|---|---|---|
asset_url | URL HTTPS | Da. | Aceeași sursă normalizată prezentată pentru a rezolva. |
variant_code | șir | Da. | Un ID exact din răspunsul de rezolvare. |
tenant | șir | Nu. | Domeniul entității găzduite atribuite. De obicei omis. |
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} cu aceeași cheie.| Starea | Semnificație | Acțiune de client |
|---|---|---|
queued | Admis în coada limitată. | Sondaj din nou cu backoff. |
extracting | Reîmprospătarea metadatelor sursă sau a rutei. | Continuă să votezi. |
processing | Descărcarea, remixarea sau îmbinarea. | Afișați progresul serverului. |
ready | Descărcarea semnată este disponibilă. | Trimiteți URL-ul utilizatorului. |
failed | Eroare structurată terminală. | Citiți error_code. Reîncercaţi numai atunci când este recomandat. |
expired | Ieșirea temporară a fost eliminată. | Creați un loc de muncă nou. |
curl https://easyf.app/v1/jobs/DELIVERY_ID \
-H "X-API-Key: $EASYF_SERVICE_KEY"EasyF abordează interogarea Job printr-o așteptare inițială de o secundă, apoi printr-un backoff plafonat. Fluxul de lucru exprimat în limbaj simplu păstrează explicită livrarea semnată temporară.
Erori previzibile
EasyF organizează contractul de eroare în jurul unui singur plic non-2xx. Fluxul său în limbaj simplu compară un ID de solicitare de asistență. Gestionarea previzibilă de către client rămâne verificarea finală.
{
"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 | Semnificație tipică | Acțiune |
|---|---|---|
| 400 | URL nevalid, corp sau format indisponibil. | Corectați solicitarea. Rezolvați din nou pentru formate. |
| 401 | Cheie lipsă, nevalidă, expirată sau cu domeniu incorect. | Verificați acreditările de pe partea serverului. |
| 403 | Politica chiriașului sau a sursei a respins solicitarea. | Nu ocoliți politica. Contactați asistența. |
| 404 | Loc de muncă necunoscut sau expirat. | Creați un nou loc de muncă, dacă este cazul. |
| 429 | A fost atinsă limita de solicitări sau de lucrări active. | Onoare. retry_after_seconds. |
| 503 | Coada/capacitatea sau sursa din amonte sunt temporar indisponibile. | Reîncercați cu backoff exponențial și jitter. |
Contract de exploatare
EasyF stabilește limitele de utilizare practică pentru fiecare produs aprobat, pentru a păstra un flux de lucru ghidat și previzibil.
- Folosiți logică de aplicație idempotentă și nu porniți niciodată joburi duplicate pentru același clic al utilizatorului.
- Stocați temporar metadatele rezolvate în cache, dar tratați întotdeauna URL-urile semnate de descărcare ca expirabile.
- Utilizați backoff exponențial limitat cu jitter pentru
429,503şi erori reîncercabile. - Procesează doar media publică sau media la care ești autorizat să ai acces. DRM și controalele de acces nu sunt ocolite.
- Păstrați ID-urile cererilor și ID-urile joburilor în jurnalele operaționale private. Nu înregistrați inutil URL-urile trimise.
Pentru a explica accesul Schema, EasyF separă activarea înainte de explorare de autentificarea atribuită. Un flux de lucru în limbaj simplu oferă propriul loc formelor de cerere documentate.
Activați prin asistență
Spuneți-i lui EasyF ce construiți, cât de des va apela API-ul și care furnizori contează. Revizuirea decide operațiunile permise, apoi afișează o dată o credențială, salvând doar rezumatul ei securizat.
Solicitați activarea Cheile sunt limitate la nivel de chiriaș, pot fi revocate și sunt emise prin formularul de contact. Scripturile anonime nu pot executa sarcini de descărcare.