https://dwyt.appDWYT ile indirmeler oluşturun
DWYT kod örnekleri gelecekteki istek dizisini belgelemektedir. Video istemcisi incelenip operatör tarafından atanan kimlik bilgileri etkinleştirilene kadar üretim çağrıları kapalı kalır.
Hızlı başlangıç
DWYT'nin format haritası, API sunucusu için destek etkinleştirilmiş kimlik bilgilerini gözden geçirir. Sonraki atanan kiracı uç noktasını gösterir ve yalnızca sunucu çağrı yolunu gizlemez.
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"}'Kimlik bilgisi güvenliği için, DWYT sunucu tarafı gizli depolama ile başlar. Format haritası, bunu istemci paketi gömme olmamasıyla eşleştirir ve genel günlükler veya depolar olmamasıyla sona erer.
Bir bağlantıyı çözmek
DWYT'in format haritası, Resolve işlemi için kaynak algılamayı inceler. Bir gönderilen URL'den sonraki formatları gösterir ve uydurma çıktıları gizlemez.
/v1/resolveKapsam: çözüm| Alan | Tip | Gerekli | Açıklama |
|---|---|---|---|
public_media | HTTPS URL'si | Evet | Analiz için genel veya yetkili medya sayfası. |
tenant | dize | Hayır. | Atanmış kiracı alanı. Genellikle atlanır. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Format tanımlayıcı için, DWYT döndürülen değeri değiştirmeden başlatır. Format haritası bunu bağlantı başına kullanılabilirlikle eşleştirir ve tahmin edilen kalite etiketi olmadan sona erer.
Bir indirme işi oluştur ve takip et
İş oluşturma için, DWYT kısa bir HTTP talebinden önce senkronize hazırlığı kontrol eder. Bu biçim haritası ayrıca sınırlı çalışan yürütmeyi açık hale getirir.
/v1/jobsKapsam: işler| Alan | Tip | Gerekli | Açıklama |
|---|---|---|---|
public_media | HTTPS URL'si | Evet | Çözümlemek için gönderilen aynı normalize edilmiş kaynak. |
rendition_key | dize | Evet | Çözüm yanıtından tam bir kimlik. |
tenant | dize | Hayır. | Atanmış kiracı alanı. Genellikle atlanır. |
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} aynı anahtarla.| Durum | Anlamı | Müşteri işlemi |
|---|---|---|
queued | Sınırlı kuyruğa kabul edildi. | Geri çekilerek tekrar anket yap. |
extracting | Kaynak meta verileri veya rota yenileniyor. | Oylamaya devam edin. |
processing | İndiriliyor, yeniden paketleniyor veya birleştiriliyor. | Sunucu ilerlemesini göster. |
ready | İmzalı indirme mevcut. | URL'yi kullanıcıya gönderin. |
failed | Terminal yapılı hata. | Oku error_codeSadece önerildiğinde yeniden deneyin. |
expired | Geçici çıktı kaldırıldı. | Yeni bir iş oluşturun. |
curl https://dwyt.app/v1/jobs/FLOW_ID \
-H "X-API-Key: $DWYT_FLOW_SECRET"DWYT üzerinde iş anketi, bir saniyelik ilk bekleme ile başlar. Bu format haritası daha sonra sınırlandırılmış geri çekilmeyi sunar. Son gerçek geçici imzalı teslimattır.
Öngörülebilir hatalar
DWYT, Hata sözleşmesini önce bir 2xx olmayan zarfı tanımlayarak ele alır. Ardından bir destek talebi kimliği izler ve öngörülebilir istemci işlemesini göz önünde bulundurur.
{
"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 | Tipik anlamı | Eylem |
|---|---|---|
| 400 | Geçersiz URL, içerik veya kullanılamayan format. | İsteği düzeltin. Formatlar için tekrar çözün. |
| 401 | Eksik, geçersiz, süresi dolmuş veya yanlış kapsamda anahtar. | Sunucu tarafı kimlik bilgilerini kontrol et. |
| 403 | Kiracı veya kaynak politikası isteği reddetti. | Politikayı atlamayın. Destek ile iletişime geçin. |
| 404 | Bilinmeyen veya süresi dolmuş iş. | Uygunsa yeni bir iş oluşturun. |
| 429 | İstek veya aktif iş limiti aşıldı. | Onur retry_after_seconds. |
| 503 | Kuyruk/kapasite veya üst akış geçici olarak kullanılamıyor. | Üssel geri çekilme ve jitter ile yeniden dene. |
Operasyon sözleşmesi
DWYT, hem video istemcisini hem de yukarı akım hizmetlerini koruyan kotaları seçmeden önce entegrasyonu gözden geçirir.
- idempotent uygulama mantığını kullanın ve aynı kullanıcı tıklama için asla çifte işler başlatmayın.
- Önbellek meta verileri kısaca çözer, ancak imzalanmış indirme URL'lerine her zaman son kullanma tarihi olarak davranır.
- İçin sınırlı üstel geri çekilmeyi jitter ile kullanın
429,503ve yeniden denenebilir hatalar. - Sadece kamusal medya veya erişimine izin verdiğiniz medyayı işleyin. DRM ve erişim kontrolleri atlatılmadı.
- İstek kimliklerini ve iş kimliklerini özel operasyon kayıtlarında tutun. Gereksiz yere gönderilen URL'leri kayıt altına almayın.
DWYT'in format haritası, Şema erişimi için keşif öncesinde etkinleştirmeyi gözden geçirir. Sonra atanan kimlik doğrulamayı gösterir ve belgelenmiş istek şekillerini gizlemez.
Destek aracılığıyla etkinleştir
İsteğin arkasındaki uygulamayı, aylık trafik tahminini ve kullanacağı video hizmetlerini açıklayın. DWYT bu detayları inceler, gerekli API izinlerini atar ve kurtarılabilir anahtar değerini saklamaz.
Aktivasyon iste Anahtarların kiracı kapsamı vardır, geri alınabilir ve İletişim formu aracılığıyla verilir. Anonim scriptler indirme işlemini gerçekleştiremez.