https://dwyt.appTéléchargements de construction avec DWYT
Les exemples de code DWYT documentent la séquence de requête future. Les appels en production restent fermés jusqu'à ce que le client vidéo soit examiné et que les identifiants attribués par l'opérateur soient activés.
Démarrage rapide
DWYT Il affiche un point de terminaison de client affecté à côté et ne masque pas un chemin d'appel uniquement pour le serveur.
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"}'Pour la sécurité des identifiants, DWYT commence par un stockage secret côté serveur. Sa carte de format associe cela à l'absence d'intégration de bundle client et se termine sans journaux publics ni dépôts.
Résoudre un lien
DWYT Il montre les formats d'une URL soumise à côté et ne masque pas les sorties inventées. Il montre des formats d'une URL soumise à côté et n'obscurcit pas les sorties inventées.
/v1/resolvePortée: résoudre| SUR LE TERRAIN | Type de | Requis | Description |
|---|---|---|---|
public_media | URL HTTPS | Oui | Page média publique ou autorisée à analyser. |
tenant | string | Non | Domaine du locataire affecté. Généralement omis. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Pour l'identifiant de format, DWYT commence par la valeur retournée inchangée. Sa carte de format associe cela à la disponibilité par lien et se termine sans étiquette de qualité supposée.
Créer et suivre une tâche de téléchargement
Pour la création de tâche, DWYT vérifie la préparation asynchrone avant une courte requête HTTP. Cette carte de format clarifie également l'exécution limitée des travailleurs.
/v1/jobsPortée: emplois| SUR LE TERRAIN | Type de | Requis | Description |
|---|---|---|---|
public_media | URL HTTPS | Oui | La même source normalisée soumise à résoudre. |
rendition_key | string | Oui | Un ID exact de la réponse de résolution. |
tenant | string | Non | Domaine du locataire affecté. Généralement omis. |
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} avec la même clé.| État d ' avancement | Signification | Action du client |
|---|---|---|
queued | Admis dans la file d'attente limitée. | Sondage à nouveau avec backoff. |
extracting | Actualisation des métadonnées source ou de l'itinéraire. | Continuez à voter. |
processing | Téléchargement, remixage ou fusion. | Afficher la progression du serveur. |
ready | Téléchargement signé est disponible. | Envoyez l'URL à l'utilisateur. |
failed | Erreur structurée terminale. | Lire error_code. Réessayez seulement quand conseillé. |
expired | La sortie temporaire a été supprimée. | Créer un nouveau job. |
curl https://dwyt.app/v1/jobs/FLOW_ID \
-H "X-API-Key: $DWYT_FLOW_SECRET"Le sondage de tâche commence par une attente initiale d'une seconde sur DWYT. Cette carte de format présente alors un décalage plafonné.
Les erreurs prévisibles
DWYT gère le contrat d'erreur en identifiant d'abord une enveloppe non 2xx. Il suit avec un ID de demande de support et maintient une gestion client prévisible en vue.
{
"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 | Signification typique | Action |
|---|---|---|
| 400 | URL, corps ou format non valide. | Corrigez la requête. Résolvez à nouveau pour les formats. |
| 401 | Clé manquante, invalide, expirée ou de mauvaise portée. | Vérifiez les informations d'identification côté serveur. |
| 403 | La politique du locataire ou de la source a rejeté la demande. | Ne contournez pas la politique. Contactez le support. |
| 404 | Offre d'emploi inconnue ou expirée. | Créez une nouvelle tâche si nécessaire. |
| 429 | Limite de demandes ou de tâches actives atteinte. | Honor retry_after_seconds. |
| 503 | File d'attente/capacité ou amont temporairement indisponible. | Réessayez avec un décalage et une gigue exponentiels. |
Contrat d ' exploitation
DWYT examine l'intégration avant de choisir des quotas qui protègent à la fois le client vidéo et les services en amont.
- Utilisez une logique d'application idempotente et ne démarrez jamais de tâches en double pour le même clic utilisateur.
- Le cache résout brièvement les métadonnées, mais traite toujours les URL de téléchargement signées comme expirant.
- Utiliser un décalage exponentiel limité avec gigue pour
429,503et erreurs retentables. - Traitez uniquement les médias publics ou les médias auxquels vous êtes autorisé à accéder. Les contrôles DRM et d'accès ne sont pas contournés.
- Conservez les ID de requête et les ID de tâche dans des journaux opérationnels privés.
La carte de format de DWYT examine l'activation avant l'exploration pour l'accès au Schéma. Elle affiche l'authentification assignée ensuite et ne masque pas les formes de requête documentées.
Activer par le biais du support
Expliquez l'application derrière la demande, son estimation de trafic mensuel et les services vidéo qu'elle utilisera. DWYT examine ces détails, attribue les autorisations API nécessaires et ne conserve aucune valeur de clé récupérable.
Demande d'activation Les clés sont limitées à la portée du client, révocables et émises via le formulaire de contact.