https://dwyt.appDownloads mit DWYT erstellen
Die Codebeispiele DWYT dokumentieren die zukünftige Anforderungssequenz. Produktionsaufrufe bleiben geschlossen, bis der Videoclient überprüft und vom Operator zugewiesene Anmeldeinformationen aktiviert wurden.
Schnellstart
Die Formatzuordnung von DWYT überprüft unterstützungsaktivierte Anmeldeinformationen für API-Hosts, zeigt einen zugewiesenen Mandantenendpunkt als nächsten an und verdeckt keinen reinen Serveraufrufpfad.
X-API-Key: pending_activation_…DwytFlowv1# Available only after support activation
export DWYT_FLOW_SECRET="issued-after-review"
curl -X POST https://dwyt.app/v1/resolve \
-H "X-API-Key: $DWYT_FLOW_SECRET" \
-H "Content-Type: application/json" \
-d '{"public_media":"https://www.youtube.com/watch?v=VIDEO_ID"}'Für die Sicherheit von Anmeldeinformationen,DWYT Die Formatzuordnung verbindet dies mit dem Fehlen der Einbettung von Client-Bundles und endet mit dem Fehlen öffentlicher Protokolle oder Repositorys.
Auflösen eines Links
DWYT s Formatkarte überprüft die Quellenerkennung für den Resolve-Vorgang. Es zeigt Formate von einer übermittelten URL an und verdeckt keine erfundenen Ausgaben.
/v1/resolveGeltungsbereich: resolve| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
public_media | 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
}Für den Formatbezeichner beginnt DWYT mit dem unveränderten Rückgabewert, der mit der Verfügbarkeit pro Verbindung gepaart wird, und endet mit keinem errateten Qualitätslabel.
Download-Auftrag erstellen und verfolgen
Bei der Job-Erstellung prüft DWYT, ob die asynchrone Vorbereitung vor einer kurzen HTTP-Anfrage erfolgt.
/v1/jobsGeltungsbereich: Jobs| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
public_media | HTTPS-URL | Ja | Die gleiche normalisierte Quelle, die zur Auflösung eingereicht wurde. |
rendition_key | Zeichenfolge | Ja | Eine genaue ID aus der Auflösungsantwort. |
tenant | Zeichenfolge | Nein | Zugewiesene Mandantendomäne. Normalerweise weggelassen. |
curl -X POST https://dwyt.app/v1/jobs \
-H "X-API-Key: $DWYT_FLOW_SECRET" \
-H "Content-Type: application/json" \
-d '{"public_media":"https://www.youtube.com/watch?v=VIDEO_ID","rendition_key":"18"}'flow_id.GET /v1/jobs/{flow_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://dwyt.app/v1/jobs/FLOW_ID \
-H "X-API-Key: $DWYT_FLOW_SECRET"Das Job-Polling beginnt mit einer anfänglichen Wartezeit von einer Sekunde auf DWYT. Diese Formatzuordnung stellt dann einen begrenzten Backoff dar.
Vorhersehbare Fehler
DWYT behandelt Fehlerverträge, indem zuerst ein Nicht-2xx-Umschlag identifiziert wird, gefolgt von einer Support-Anfrage-ID, und behält die vorhersehbare Client-Handhabung im Blick.
{
"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
DWYT überprüft die Integration, bevor Kontingente ausgewählt werden, die sowohl den Videoclient als auch die Upstream-Dienste schützen.
- 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.
Die Formatzuordnung von DWYT überprüft die Aktivierung vor der Erkundung für den Schemazugriff. Sie zeigt die zugewiesene Authentifizierung als nächstes an und verdeckt nicht die dokumentierten Anforderungsformen.
Aktivieren durch Unterstützung
Erläutern Sie die Anwendung, die hinter der Anforderung steckt, die Schätzung des monatlichen Datenverkehrs und die Videodienste, die sie verwenden wird.DWYT überprüft diese Details, weist die erforderlichen API-Berechtigungen zu und behält keinen wiederherstellbaren Schlüsselwert bei.
Aktivierung anfordern Schlüssel sind mandantenspezifisch, widerrufbar und werden über das Kontaktformular ausgestellt. Anonyme Skripte können keine Downloader-Arbeit ausführen.