ایجاد دانلود با فایل تورنت یا یوزنت
https://api.parsget.com/api/v1/downloads/uploadبرای پیگیری درخواست در لاگها، یک شناسه بین ۱ تا ۱۰۰ کاراکتر بفرستید. اگر این هدر را نفرستید، سرور شناسه میسازد.
هدرهای استانداردبرای ثبت دانلود از فایل تورنت یا یوزنت، فایل .torrent، .nzb یا .xml را در فیلد file با multipart/form-data بفرستید. سقف اندازه فایل ۴۰ MiB است.
مانند POST /downloads، پاسخ 201 و data.kind برابر download یعنی دانلود ثبت شده است. پاسخ 200 و data.kind برابر selection یعنی باید یک گزینه انتخاب کنید. client_reference و webhook_url در هر دو روش رفتار یکسانی دارند.
OAuth Scope: downloads:write
اگر به انتخاب کاربر نیاز باشد، پاسخ شامل data.kind=selection و گزینههای قابل انتخاب است.
اگر همان تورنت (با همان info hash) هماکنون برای کاربر دیگری در حال دانلود باشد، دانلود شما به همان دانلود متصل میشود: پاسخ یک دانلود عادی است، پیشرفت آن با کمی تأخیر (تا حدود ۱۵ ثانیه) بهروز میشود و هزینه مثل هر دانلود دیگری هنگام تکمیل کسر میشود. اگر آن دانلود ناموفق شود، دانلود شما هم با همان خطا ناموفق میشود و اعتبار رزروشده آزاد میشود. فقط وقتی آن تورنت در حال seed باشد، یا درخواست دیگری برای همان تورنت پس از چند ثانیه هنوز در حال پردازش باشد، پاسخ 409 با error.code برابر resource_conflict برمیگردد و هزینهای کسر نمیشود؛ کمی بعد دوباره تلاش کنید.
Request body
| Field | Type | Description |
|---|---|---|
file | stringrequiredbinary | فایل .torrent، .nzb یا .xml تا ۴۰ MiB، یا فایل لینک (.dlc، .rsdf، .ccf، .metalink، .meta4، .sfdl) تا ۲ MiB. سرور نوع فایل را تشخیص میدهد. فایل لینک دانلود نمیشود: لینکهای داخل آن در یک مرحله انتخاب (kind=selection) برمیگردند. |
directory | stringoptional | مسیر پوشه مقصد در فضای کاربر، مانند Movies. |
client_reference | stringoptional | برچسب دلخواه برای ارتباط دانلود با دادههای برنامه شما. چند دانلود میتوانند برچسب یکسان داشته باشند. |
webhook_url | stringoptionaluri | آدرس عمومی HTTPS برنامه شما برای دریافت نتیجه دانلود، شامل تکمیل، خطا یا لغو آن. پیش از استفاده، برای Personal API Key یا برنامه OAuth خود webhook secret بسازید. |
Response schema
object| Field | Type | Description |
|---|---|---|
kind | stringselection | — |
selection | object | |
id | string | — |
prompt | string | عنوان یا راهنمای مرحله انتخاب برای نمایش به کاربر |
expires_at | stringdate-time | مهلت انتخاب کاربر. پس از این زمان، شناسه مرحله و گزینههای آن معتبر نیستند. |
items | object[] | |
id | string | شناسه گزینه در مرحله انتخاب فعلی. |
parent_id | string | شناسه گزینهای که این مورد زیرمجموعه آن است. برای گزینههای سطح اول، null است. |
name | string | — |
size_bytes | integerint64min 0 | — |
kind | stringdirectoryvideoaudioimagedocumentnull | — |
status | stringnonesubmittedreadynull | — |
tags | Record<string, string> | — |
thumbnail_url | stringuri | — |
selectable | boolean | اگر true باشد، کاربر میتواند این گزینه را انتخاب کند. |
object| Field | Type | Description |
|---|---|---|
kind | stringdownload | — |
download | object | |
id | string | — |
client_reference | string | برچسب دلخواه برای ارتباط دانلود با دادههای برنامه شما، مثلاً شناسه قسمت یک مجموعه. چند دانلود میتوانند برچسب یکسان داشته باشند. |
name | string | — |
status | stringqueuedprocessingdownloadingfinalizingcompletedblockedfailedcanceled | وضعیت دانلود. queued یعنی در صف، processing یعنی در حال بررسی و آمادهسازی دانلود، downloading یعنی دریافت فایل و finalizing یعنی آمادهسازی نهایی. completed یعنی تکمیل شده، blocked یعنی نیازمند پرداخت، failed یعنی ناموفق و canceled یعنی لغوشده. |
activity | stringseedingwaiting_for_capacitynull | پس از تکمیل تورنت، ممکن است ارسال فایل به دیگر کاربران تورنت ادامه داشته باشد. در این حالت، activity برابر seeding و status برابر completed است. وقتی همه اکانتهای سرویس موقتاً مشغول یا در محدودیت هستند، دانلود با status برابر queued و activity برابر waiting_for_capacity منتظر میماند و با آزاد شدن ظرفیت خودکار ادامه پیدا میکند؛ اگر در مهلت تلاش مجدد ظرفیتی آزاد نشود، failed میشود. |
source | object | |
type | stringurltorrentusenet | — |
hash | string | هش تورنت (فقط برای دانلودهای تورنت مقدار دارد) |
host | string | کد سرویس دانلود؛ برای اطلاعات سرویس آن را با code در GET /services تطبیق دهید. |
file_id | string | شناسه فایل ایجادشده پس از تکمیل موفق دانلود |
mime_type | string | — |
size_bytes | integerint64 | — |
progress | object | |
percent | numberfloatmin 0max 100 | درصد پیشرفت دانلود از ۰ تا ۱۰۰. |
bytes_completed | integerint64min 0 | حجم دریافتشده بر حسب بایت. |
speed_bytes_per_second | numbermin 0 | سرعت دریافت بر حسب بایت بر ثانیه؛ اگر مشخص نباشد null است. |
eta_seconds | numbermin 0 | زمان تخمینی باقیمانده بر حسب ثانیه؛ اگر مشخص نباشد null است. |
can_cancel | boolean | اگر true باشد، میتوانید دانلود را لغو کنید. دکمه لغو را بر اساس این مقدار نمایش دهید. |
can_retry | boolean | اگر true باشد، میتوانید دانلود را دوباره شروع کنید. دکمه تلاش مجدد را بر اساس این مقدار نمایش دهید. |
error | object | null | |
code | stringsource_unavailabledownload_expiredquota_exceededdownload_failed | — |
message | string | — |
created_at | stringdate-time | — |
updated_at | stringdate-time | — |
completed_at | stringdate-time | — |
attempt | integermin 1 | شماره تلاش دانلود، از ۱. با شروع موفق یک تلاش جدید از طریق endpoint retry افزایش مییابد. |
error