https://quickt.ioساخت دانلود ها با QuickT
QuickT مستندات نحوه ارتباط یک مشتری موبایل با سرویس را ارائه می دهد.آن نمی تواند کار تولید را ارسال کند تا زمانی که پشتیبانی طراحی را تایید کند و دسترسی محدوده را فعال کند.
شروع سریع
برای میزبان API ، QuickT مدارک شناسایی فعال شده توسط پشتیبانی را قبل از یک نقطه پایانی مستاجر اختصاص داده شده بررسی می کند.این نمای آماده دستگاه همچنین یک مسیر تماس فقط سرور را روشن می کند.
X-API-Key: pending_activation_…QuicktRoutev1# Available only after support activation
export QUICKT_ROUTE_TOKEN="issued-after-review"
curl -X POST https://quickt.io/v1/resolve \
-H "X-API-Key: $QUICKT_ROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"route_source":"https://www.youtube.com/watch?v=VIDEO_ID"}'QuickT ایمنی مدارک را حول ذخیرهسازی مخفی سمت سرور سازماندهی میکند. نمای آماده دستگاه آن هیچ جاسازی بسته کلاینتی را مقایسه نمیکند. هیچ گزارش یا مخزن عمومی باقی نمیماند که بررسی نهایی باشد.
حل یک پیوند
برای عملیات حل، QuickT تشخیص منبع را قبل از فرمت ها از یک URL ارسال شده بررسی می کند.این دید آماده دستگاه همچنین هیچ خروجی اختراع شده ای را روشن نمی کند.
/v1/resolveدامنه: حل| فیلد | نوع | لازم است | شرح |
|---|---|---|---|
route_source | نشانی وب HTTPS | بله | صفحه رسانه های عمومی یا مجاز برای تجزیه و تحلیل. |
tenant | رشته | نه | دامنه مستاجر اختصاص داده شده.معمولا حذف می شود. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}QuickT شناسه فرمت را حول مقدار بازگردانده شده بدون تغییر سازماندهی میکند. نمای آماده دستگاه آن، در دسترس بودن هر لینک را مقایسه میکند. هیچ برچسب کیفیت حدسی به عنوان بررسی نهایی باقی نمیماند.
ایجاد و پیگیری یک کار دانلود
برای توضیح ایجاد کار، QuickT آماده سازی غیرهمزمان را از یک درخواست کوتاه HTTP جدا می کند.یک دیدگاه آماده سازی دستگاه به اجرای کارگر محدود شده مکان خود را می دهد.
/v1/jobsحوزه: مشاغل| فیلد | نوع | لازم است | شرح |
|---|---|---|---|
route_source | نشانی وب HTTPS | بله | همان منبع نرمال شده ارائه شده برای حل. |
route_format | رشته | بله | یک شناسه دقیق از پاسخ حل. |
tenant | رشته | نه | دامنه مستاجر اختصاص داده شده.معمولا حذف می شود. |
curl -X POST https://quickt.io/v1/jobs \
-H "X-API-Key: $QUICKT_ROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"route_source":"https://www.youtube.com/watch?v=VIDEO_ID","route_format":"18"}'route_job.GET /v1/jobs/{route_job} با همان کلید| وضعیت | معنی | عمل مشتری |
|---|---|---|
queued | پذیرفته شده در صف محدود شده | دوباره با عقب نشینی نظرسنجی کنید. |
extracting | بازسازی متادیتا یا مسیر منبع | به نظر سنجی ادامه دهید. |
processing | دانلود کردن، ریماکس کردن یا ادغام کردن | نمایش پیشرفت سرور |
ready | دانلود امضا شده در دسترس است. | آدرس را برای کاربر ارسال کنید. |
failed | خطای ساختاری ترمینال | خوانده شده error_code.فقط در صورت توصیه دوباره سعی کنید |
expired | خروجی موقت حذف شد. | ایجاد یک شغل جدید |
curl https://quickt.io/v1/jobs/ROUTE_JOB \
-H "X-API-Key: $QUICKT_ROUTE_TOKEN"یک ثانیه انتظار اولیه نقطه شروع برای Job polling روی QuickT است.یک نمای آماده دستگاه سپس capped backoff را ارائه می دهد و تحویل موقتی امضا شده را توضیح می دهد.
خطاهای قابل پیش بینی
برای قرارداد Error، QuickT با یک پاکت غیر 2xx شروع می شود.نمایش آماده دستگاه آن را با یک شناسه درخواست پشتیبانی جفت می کند و با مدیریت پیش بینی شده مشتری به پایان می رسد.
{
"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": "…"
}| انتقال ابرمتن | معنی معمول | کنش |
|---|---|---|
| 400 | URL نامعتبر، بدنه یا فرمت در دسترس نیست. | درخواست را اصلاح کنید.برای فرمت ها دوباره حل کنید. |
| 401 | کلید گمشده، نامعتبر، منقضی شده یا با دامنه اشتباه. | اعتبار جانبی سرور را بررسی کنید. |
| 403 | مستاجر یا منبع سیاست درخواست را رد کرد. | از سیاست دور نشوید با پشتیبانی تماس بگیرید |
| 404 | شغل نامعلوم یا منقضی شده | در صورت لزوم یک شغل جدید ایجاد کنید. |
| 429 | درخواست یا حد فعال-کار رسیده است. | افتخار retry_after_seconds. |
| 503 | صف / ظرفیت یا بالادست به طور موقت در دسترس نیست. | دوباره با عقب نشینی نمایی و جیتر سعی کنید. |
قرارداد عملیاتی
QuickT محدودیت های موبایل-کاربر را در طول تأیید انتخاب می کند بنابراین شبکه های سازنده و API پاسخگو باقی می مانند.
- از منطق برنامه idempotent استفاده کنید و هرگز کارهای تکراری را برای همان کلیک کاربر شروع نکنید.
- حافظه نهان به طور خلاصه فراداده را حل می کند، اما همیشه با URL های دانلود امضا شده به عنوان انقضا رفتار می کند.
- استفاده از پسانداز نمایی محدود شده با جیتر برای
429,503و خطاهای قابل بازنگری - فقط رسانه های عمومی یا رسانه هایی را که مجاز به دسترسی به آنها هستید پردازش کنید. DRM و کنترل های دسترسی دور زده نمی شوند.
- شناسه های درخواست و شناسه های کار را در لاگ های عملیاتی خصوصی نگه دارید. URL های ارسال شده را بدون نیاز به آن لاگ نکنید.
برای دسترسی به Schema، QuickT فعال سازی را قبل از کاوش قبل از احراز هویت اختصاص داده شده بررسی می کند.این دیدگاه آماده دستگاه همچنین اشکال درخواست مستند را روشن می کند.
فعال سازی از طریق پشتیبانی
تجربه موبایل، انتظار ترافیک و شبکههای خالق مورد نیاز را توصیف کنید. QuickT از آن اطلاعات برای اختصاص تحلیل و مجوزهای صف قبل از فاش کردن راز یکباره استفاده میکند.
درخواست فعال سازی کلیدها محدوده مستاجر، قابل لغو و از طریق فرم تماس صادر می شوند.اسکریپت های ناشناس نمی توانند کار دانلودر را اجرا کنند.