https://easyf.appساخت دانلود ها با EasyF
EasyF رابط را از قبل نشان می دهد تا توسعه دهندگان بتوانند کار خود را تخمین بزنند.بازبینی پشتیبانی هنوز قبل از وجود کلید زنده و مرز استفاده لازم است.
شروع سریع
برای توضیح میزبان API ، EasyF مدارک شناسایی فعال شده توسط پشتیبانی را از یک نقطه پایانی مستاجر اختصاص داده شده جدا می کند.یک جریان کار زبان ساده به یک مسیر تماس فقط سرور مکان خود را می دهد.
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"}'ایمنی مدارک اعتباری با ذخیره سازی مخفی سمت سرور در EasyF آغاز می شود.نمای بعدی هیچ درپوش بسته مشتری را پوشش نمی دهد.صفحه هیچ ثبت نام عمومی یا مخزن قابل مشاهده نگه نمی دارد.
حل یک پیوند
برای توضیح عملیات Resolve ، EasyF تشخیص منبع را از فرمت ها از یک URL ارسال شده جدا می کند.یک جریان کار زبان ساده به هیچ خروجی اختراع شده ای مکان خود را نمی دهد.
/v1/resolveدامنه: حل| فیلد | نوع | لازم است | شرح |
|---|---|---|---|
asset_url | نشانی وب HTTPS | بله | صفحه رسانه های عمومی یا مجاز برای تجزیه و تحلیل. |
tenant | رشته | نه | دامنه مستاجر اختصاص داده شده.معمولا حذف می شود. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}شناسه فرمت با مقدار بازگشتی بدون تغییر روی EasyF شروع می شود. نمای بعدی در دسترس بودن بر اساس پیوند را پوشش می دهد. صفحه هیچ برچسب کیفیت حدس زده شده ای را قابل مشاهده نگه می دارد.
ایجاد و پیگیری یک کار دانلود
EasyF سه نکته عملی برای ایجاد شغل ارائه میدهد. ابتدا آمادهسازی ناهمزمان انجام میشود. سپس جریان کاری به زبان ساده یک درخواست کوتاه HTTP را پوشش میدهد. نکته نهایی اجرای محدود کارگر است.
/v1/jobsحوزه: مشاغل| فیلد | نوع | لازم است | شرح |
|---|---|---|---|
asset_url | نشانی وب HTTPS | بله | همان منبع نرمال شده ارائه شده برای حل. |
variant_code | رشته | بله | یک شناسه دقیق از پاسخ حل. |
tenant | رشته | نه | دامنه مستاجر اختصاص داده شده.معمولا حذف می شود. |
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} با همان کلید| وضعیت | معنی | عمل مشتری |
|---|---|---|
queued | پذیرفته شده در صف محدود شده | دوباره با عقب نشینی نظرسنجی کنید. |
extracting | بازسازی متادیتا یا مسیر منبع | به نظر سنجی ادامه دهید. |
processing | دانلود کردن، ریماکس کردن یا ادغام کردن | نمایش پیشرفت سرور |
ready | دانلود امضا شده در دسترس است. | آدرس را برای کاربر ارسال کنید. |
failed | خطای ساختاری ترمینال | خوانده شده error_code.فقط در صورت توصیه دوباره سعی کنید |
expired | خروجی موقت حذف شد. | ایجاد یک شغل جدید |
curl https://easyf.app/v1/jobs/DELIVERY_ID \
-H "X-API-Key: $EASYF_SERVICE_KEY"EasyF از طریق یک ثانیه انتظار اولیه به Job polling نزدیک می شود، سپس backoff را محدود می کند.فرآیند کار زبان ساده تحویل موقت امضا شده را صریح نگه می دارد.
خطاهای قابل پیش بینی
EasyF قرارداد Error را در اطراف یک پاکت غیر 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 | صف / ظرفیت یا بالادست به طور موقت در دسترس نیست. | دوباره با عقب نشینی نمایی و جیتر سعی کنید. |
قرارداد عملیاتی
EasyF برای حفظ یک جریان کار هدایت شده قابل پیش بینی با هر محصول تایید شده مرزهای کاربردی را توافق می کند.
- از منطق برنامه idempotent استفاده کنید و هرگز کارهای تکراری را برای همان کلیک کاربر شروع نکنید.
- حافظه نهان به طور خلاصه فراداده را حل می کند، اما همیشه با URL های دانلود امضا شده به عنوان انقضا رفتار می کند.
- استفاده از پسانداز نمایی محدود شده با جیتر برای
429,503و خطاهای قابل بازنگری - فقط رسانه های عمومی یا رسانه هایی را که مجاز به دسترسی به آنها هستید پردازش کنید. DRM و کنترل های دسترسی دور زده نمی شوند.
- شناسه های درخواست و شناسه های کار را در لاگ های عملیاتی خصوصی نگه دارید. URL های ارسال شده را بدون نیاز به آن لاگ نکنید.
برای توضیح دسترسی Schema، EasyF فعال سازی قبل از کاوش را از احراز هویت اختصاص داده شده جدا می کند.یک جریان کار زبان ساده به اشکال درخواست مستند شده مکان خود را می دهد.
فعال سازی از طریق پشتیبانی
به EasyF بگویید چه چیزی میسازید، چند وقت یکبار API را فراخوانی میکند و کدام ارائهدهندگان اهمیت دارند. بازبینی عملیات مجاز را تعیین میکند، سپس یک اعتبارنامه را یک بار نشان میدهد در حالی که فقط خلاصه امن آن را ذخیره میکند.
درخواست فعال سازی کلیدها محدوده مستاجر، قابل لغو و از طریق فرم تماس صادر می شوند.اسکریپت های ناشناس نمی توانند کار دانلودر را اجرا کنند.