ثبت انتخاب کاربر و ادامه دانلود
https://api.parsget.com/api/v1/download-selections/{selection}/choicesبرای پیگیری درخواست در لاگها، یک شناسه بین ۱ تا ۱۰۰ کاراکتر بفرستید. اگر این هدر را نفرستید، سرور شناسه میسازد.
هدرهای استانداردشناسه گزینه انتخابشده را در item_id بفرستید. این گزینه باید متعلق به همین مرحله باشد و selectable=true داشته باشد. شناسه مرحله را در مسیر درخواست قرار دهید و انتخاب را پیش از expires_at ثبت کنید.
پاسخ 201 با data.kind=download یعنی دانلود ایجاد شده و مشخصات آن در data.download است. پاسخ 200 با data.kind=selection یعنی کاربر باید گزینه دیگری انتخاب کند؛ این بار از شناسه و گزینههای مرحله جدید استفاده کنید. client_reference و تنظیمات وبهوک در طول مراحل حفظ میشوند.
اگر item_id نامعتبر باشد یا گزینه قابل انتخاب نباشد، پاسخ 422 با کد invalid_download_selection_item میگیرید.
OAuth Scope: downloads:write
انتخاب را با همان Personal API Key یا برنامه OAuth ثبت کنید که مرحله انتخاب را ایجاد کرده است.
Parameters
| Field | Type | Description |
|---|---|---|
selection | string · pathrequired | شناسه مرحله انتخاب از data.selection.id پاسخ ایجاد دانلود یا انتخاب قبلی. |
Request body
| Field | Type | Description |
|---|---|---|
item_id | stringrequired | شناسه گزینه انتخابشده از همین مرحله. مقدار selectable آن باید true باشد. |
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 | stringseedingnull | پس از تکمیل تورنت، ممکن است ارسال فایل به دیگر کاربران تورنت ادامه داشته باشد. در این حالت، activity برابر seeding و status برابر completed است. |
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