https://downf.ioИзграждане на изтегляния с downf.io
DownF поддържа изпълнението на API деактивирано, докато оператор не прегледа случая на съвместимост. Примерите описват планирания договор, докато реалните идентификационни данни и квоти пристигат само чрез активиране на поддръжката.
Бърз старт
DownF организира API хоста около активирани с поддръжка идентификационни данни. Неговият изглед за съвместимост сравнява зададената крайна точка на наемателя. Пътят за повикване само към сървър остава последната проверка.
X-API-Key: pending_activation_…DownfBridgev1# Available only after support activation
export DOWNF_ACCESS_TOKEN="issued-after-review"
curl -X POST https://downf.io/v1/resolve \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"media_address":"https://www.youtube.com/watch?v=VIDEO_ID"}'Безопасността на удостоверенията започва със съхранение на тайни от страна на сървъра в DownF. Този изглед за съвместимост не представя вграждане на клиентски пакет. Последният факт е, че няма публични дневници или хранилища.
Разрешаване на връзка
DownF организира операцията Resolve около откриването на източника. Неговият изглед за съвместимост сравнява формати от един подаден URL. Няма измислени изходи, което остава последната проверка.
/v1/resolveОбхват: решаване| Поле | Тип | Задължително | Описание на продукта |
|---|---|---|---|
media_address | HTTPS адрес | Да | Публична или упълномощена медийна страница, която да анализира. |
tenant | низ | Не. | Присвоен домейн на наемателя. Обикновено се пропуска. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Идентификаторът на формата започва с върнатата стойност без промяна в DownF. Този изглед за съвместимост след това представя наличността на връзка. Крайният факт е, че няма предположена етикета за качество.
Създаване и проследяване на задача за изтегляне
Създаването на работни места започва с асинхронна подготовка на Следващият изглед обхваща кратка HTTP заявка. Страницата поддържа видимо изпълнение на ограничени работници.
/v1/jobsОбхват: работни места| Поле | Тип | Задължително | Описание на продукта |
|---|---|---|---|
media_address | HTTPS адрес | Да | Същият нормализиран източник, подаден за разрешаване. |
output_ref | низ | Да | Точен идентификатор от отговора за разрешаване. |
tenant | низ | Не. | Присвоен домейн на наемателя. Обикновено се пропуска. |
curl -X POST https://downf.io/v1/jobs \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"media_address":"https://www.youtube.com/watch?v=VIDEO_ID","output_ref":"18"}'transfer_ref.GET /v1/jobs/{transfer_ref} със същия ключ.| Състояние | Значение | Действие на клиента |
|---|---|---|
queued | Допуснат до ограничената опашка. | Анкета отново с отстъпление. |
extracting | Обновяване на изходните метаданни или маршрут. | Продължете да гласувате. |
processing | Изтегляне, ремиксиране или сливане. | Показване на напредъка на сървъра. |
ready | Подписано изтегляне е налично. | Изпратете адреса на потребителя. |
failed | Терминална структурирана грешка. | Прочетете error_codeПовторете опита само когато ви бъде препоръчано. |
expired | Временният изход беше премахнат. | Създаване на нова работа. |
curl https://downf.io/v1/jobs/TRANSFER_REF \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN"Изгледът за съвместимост на DownF преглежда едносекундно първоначално изчакване за анкетиране на работни места.Показва ограничено отстъпление след това и не затъмнява временно подписаната доставка.
Предсказуеми грешки
DownF представя три практични точки за договор за грешка. Първо идва един не-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": "…"
}| HTTP | Типично значение | Действие |
|---|---|---|
| 400 | Невалиден адрес, тяло или недостъпен формат. | Коригирайте заявката. Решете отново за формати. |
| 401 | Липсва, невалиден, изтекъл или с грешен обхват ключ. | Проверете идентификационните данни от страна на сървъра. |
| 403 | Наемател или източник политика отхвърли искането. | Не заобикаляйте правилата. Свържете се с поддръжката. |
| 404 | Неизвестна или изтекла работа. | Създайте нова работа, ако е подходящо. |
| 429 | Достигане на ограничението за заявки или активни задачи. | Чест. retry_after_seconds. |
| 503 | Опашка/капацитет или нагоре по веригата временно недостъпни. | Опитайте отново с експоненциално отстъпление и трептене. |
Договор за експлоатация
DownF определя таван на заявката, след като прегледа предвидения клиент, като поддържа стабилни своите проверки за съвместимост и доставчиците нагоре по веригата.
- Използвайте idempotent логика на приложението и никога не започват дублирани работни места за един и същ потребител клик.
- Кешът разрешава метаданните за кратко, но винаги третира подписаните адреси за изтегляне като изтичащи.
- Използвайте ограничен експоненциален отстъп с трептене за
429,503и повторяеми грешки. - Обработвайте само публични медии или медии, до които имате разрешение за достъп. DRM и контролите за достъп не се заобикалят.
- Съхранявайте идентификационните номера на заявките и идентификационните номера на задачите в частни оперативни регистрационни файлове.
DownF организира достъпа до Schema около активирането преди изследването. Неговият режим за съвместимост сравнява зададената автентикация. Документираните форми на заявка остават последната проверка.
Активиране чрез поддръжка
Опишете продукта, прогнозирате месечните му обаждания и изброите платформите, които трябва да анализира. Поддръжката на DownF ще потвърди необходимите обхвати преди издаването на еднократен видим идентификатор, чиято съхранена копие е само хеш.
Заявка за активиране Ключовете са с обхват на наемателя, отменяеми и издадени чрез формата за връзка.Анонимните скриптове не могат да изпълняват работа за изтегляне.