https://easyf.appDownloads mit EasyF erstellen
EasyF zeigt die Schnittstelle im Voraus, so dass Entwickler ihre Arbeit einschätzen können. Eine Unterstützungsprüfung ist noch erforderlich, bevor ein Live-Schlüssel und eine Verwendungsgrenze bestehen.
Schnellstart
Um API-Host zu erklären, trennt EasyF die durch den Support aktivierten Anmeldeinformationen von einem zugewiesenen Mandanten-Endpunkt. Ein einfacher Workflow gibt einem reinen Server-Aufrufpfad seinen eigenen Platz.
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"}'Die Sicherheit von Anmeldeinformationen beginnt mit der serverseitigen geheimen Speicherung auf EasyF. Die Seite hält keine öffentlichen Logs oder Repositories sichtbar.
Auflösen eines Links
Um die Funktionsweise von Resolve zu erklären, trennt EasyF die Quellenerkennung von den Formaten einer übermittelten URL. Ein einfacher Workflow gibt keinen erfundenen Ausgaben ihren eigenen Platz.
/v1/resolveGeltungsbereich: resolve| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
asset_url | HTTPS-URL | Ja | Öffentliche oder autorisierte Medienseite zu analysieren. |
tenant | Zeichenfolge | Nein | Zugewiesene Mandantendomäne. Normalerweise weggelassen. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Der Formatbezeichner beginnt mit dem unveränderten Rückgabewert auf EasyF. Die nächste Ansicht deckt die Verfügbarkeit pro Link ab. Die Seite hält kein erratene Qualitätslabel sichtbar. Die Seite hält kein erraten Qualitätssiegel sichtbar.
Download-Auftrag erstellen und verfolgen
EasyF stellt drei praktische Punkte für die Job-Erstellung vor. Zuerst kommt die asynchrone Vorbereitung, dann folgt der Klartext-Workflow, der eine kurze HTTP-Anfrage abdeckt, und schließlich die Ausführung eines bounded Workers.
/v1/jobsGeltungsbereich: Jobs| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
asset_url | HTTPS-URL | Ja | Die gleiche normalisierte Quelle, die zur Auflösung eingereicht wurde. |
variant_code | Zeichenfolge | Ja | Eine genaue ID aus der Auflösungsantwort. |
tenant | Zeichenfolge | Nein | Zugewiesene Mandantendomäne. Normalerweise weggelassen. |
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} mit dem gleichen Schlüssel.| Status | Bedeutung | Client-Action |
|---|---|---|
queued | In die begrenzte Warteschlange aufgenommen. | Abstimmung nochmal mit Rückzug. |
extracting | Aktualisierung von Quellmetadaten oder Route. | Fahren Sie mit dem Abstimmen fort. |
processing | Herunterladen, Remuxen oder Zusammenführen. | Serverfortschritt anzeigen. |
ready | Signierter Download ist verfügbar. | Senden Sie die URL an den Benutzer. |
failed | Terminal strukturierter Fehler. | Read error_code. Wiederholen Sie den Versuch nur, wenn empfohlen. |
expired | Temporäre Ausgabe wurde entfernt. | Erstellen Sie einen neuen Job. |
curl https://easyf.app/v1/jobs/DELIVERY_ID \
-H "X-API-Key: $EASYF_SERVICE_KEY"EasyF nähert sich dem Job-Polling durch eine anfängliche Wartezeit von einer Sekunde, dann wird der Rücklauf begrenzt.
Vorhersehbare Fehler
EasyF organisiert den Fehlervertrag um einen Nicht-2xx-Umschlag. Sein Workflow in Klarsprache vergleicht eine Supportanfrage-ID.
{
"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 | Typische Bedeutung | Action |
|---|---|---|
| 400 | Ungültige URL, ungültiger Text oder unzugängliches Format. | Korrigieren Sie die Anfrage. Lösen Sie erneut für Formate auf. |
| 401 | Fehlender, ungültiger, abgelaufener oder falscher Schlüsselbereich. | Überprüfen Sie die serverseitigen Anmeldeinformationen. |
| 403 | Die Anforderung wurde von der Mandanten- oder Quellenrichtlinie abgelehnt. | Umgehen Sie die Richtlinie nicht. Wenden Sie sich an den Support. |
| 404 | Unbekannter oder abgelaufener Job. | Erstellen Sie ggf. einen neuen Auftrag. |
| 429 | Anfrage- oder Aktiv-Job-Limit erreicht. | Honor retry_after_seconds. |
| 503 | Warteschlange/Kapazität oder Upstream vorübergehend nicht verfügbar. | Wiederholen Sie den Versuch mit exponentiellem Rückschlag und Jitter. |
Betriebsvertrag
EasyF vereinbart mit jedem zugelassenen Produkt praktische Verwendungsgrenzen, um einen vorhersehbaren geführten Arbeitsablauf zu gewährleisten.
- Verwenden Sie idempotente Anwendungslogik und starten Sie niemals doppelte Aufträge für denselben Benutzerklick.
- Speichern Sie Auflösungsmetadaten nur kurz zwischen und behandeln Sie signierte Download-URLs stets als ablaufend.
- Verwenden Sie begrenzte exponentielle Rückkopplung mit Jitter für
429,503und wiederholbare Fehler. - Verarbeiten Sie nur öffentliche Medien oder Medien, auf die Sie zugreifen dürfen, und umgehen Sie keine DRM- und Zugriffskontrollen.
- Bewahren Sie Anforderungs-IDs und Auftrags-IDs in privaten Betriebsprotokollen auf und protokollieren Sie übermittelte URLs nicht unnötig.
Um den Schema-Zugriff zu erklären, trennt EasyF die Aktivierung vor der Exploration von der zugewiesenen Authentifizierung und gibt dokumentierte Anforderungsformen einen eigenen Platz.
Aktivieren durch Unterstützung
Tell EasyF Die Überprüfung entscheidet über die zulässigen Vorgänge, gibt dann einmalig eine Anmeldeinformation preis und speichert nur den sicheren Digest. Die Überprüfung entscheidet über die zulässigen Vorgänge, gibt dann einmalig eine Anmeldeinformation preis und speichert nur den sicheren Digest.
Aktivierung anfordern Schlüssel sind mandantenspezifisch, widerrufbar und werden über das Kontaktformular ausgestellt. Anonyme Skripte können keine Downloader-Arbeit ausführen.