Временные ссылки
Подписанный адрес /t/… на один файл: открывается без токена, но только до срока
и, если нужно, ограниченное число раз.
Два вида ссылок
по умолчаниюНичего не хранится в базе: срок зашит в подпись. Отозвать по одной нельзя — только
все ссылки бакета разом. Заметка note не сохраняется.
revocable · maxDownloadsХранится в базе, отзывается по одной, видна в списках. Скачивания считает только при
maxDownloads.
Учитываемой ссылка становится, если указать revocable: true или maxDownloads.
- У ссылки с одним
revocableсчётчикdownloadsвсегда0— скачивания считаются только приmaxDownloads. - У ссылки с
maxDownloadsне работаетRange: файл отдаётся только целиком.
POST /v1/files/{id}/link
{
"ttl": 86400,
"disposition": 1,
"maxDownloads": 5,
"revocable": true,
"note": "для подрядчика"
}| Поле | По умолчанию | Описание |
|---|---|---|
ttl |
3600 |
Срок жизни, секунды: до 2592000 (30 дней). Необязательно. |
disposition |
0 |
0 (INLINE) — открыть в браузере, если тип это позволяет (как у /o); 1 (ATTACHMENT) — скачать. |
maxDownloads |
— | Лимит скачиваний, 1–1000. Делает ссылку учитываемой. |
revocable |
false |
Можно отозвать по одной. Делает ссылку учитываемой. |
note |
"" |
Заметка для себя, до 255 символов. Сохраняется только у учитываемой ссылки. |
Возвращает 201:
{
"id": 17,
"url": "https://s5.example.com/t/…",
"expiresAt": "2026-11-08T17:10:44+00:00",
"revocable": true,
"maxDownloads": 5,
"downloads": 0,
"revoked": false,
"disposition": { "id": 1, "name": "ATTACHMENT" },
"note": "для подрядчика"
}У подписанной ссылки id — null, revocable — false.
Длинная неотзываемая ссылка
Подписанную ссылку на неделю и дольше без лимита скачиваний не отозвать по одной: если она утечёт, останется только отозвать все ссылки бакета.
GET /v1/files/{id}/links
Последние 20 учитываемых ссылок файла, новые первыми, — массивом, без пагинации. В том числе
истёкшие, отозванные и исчерпанные: ссылка хранится до 7 дней после своего expiresAt.
GET /v1/links
Учитываемые ссылки всего бакета, постранично, новые первыми — тоже включая истёкшие, отозванные
и исчерпанные, пока не прошло 7 дней после expiresAt.
DELETE /v1/links/{id}
Отзывает одну учитываемую ссылку. Возвращает 204.
DELETE /v1/links
Отзывает все ссылки бакета, в том числе подписанные, — меняет «эпоху» подписи.
Возвращает { "epoch": 3 }. Новые ссылки после этого выдаются как обычно.
Ссылка перестаёт работать и вместе с файлом: удалили файл — ссылки на него мертвы.