#Публичный доступ к объекту

GET /v1/public-storage/:portalId/:objectId

Возвращает содержимое публично доступного объекта в виде перенаправления (302) на временную ссылку. Ключ API не требуется — эндпоинт анонимный. Анонимный доступ включается на уровне портала отдельно; по умолчанию выключен.

#Параметры

Параметр Тип Обяз. Описание
portalId (path) string (UUID) да Идентификатор портала в Вайбкод. Формат: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Получить через GET /v1/me с ключом управления — поле data.portals[n].id
objectId (path) string (CUID) да Внутренний идентификатор объекта (поле id из ответов на запись и список)

#Примеры

Ключ не требуется. Оба примера отправляются без заголовков авторизации — это анонимный эндпоинт.

#curl

Terminal
curl -L "https://vibecode.bitrix24.tech/v1/public-storage/YOUR_PORTAL_ID/YOUR_OBJECT_ID"

#JavaScript

javascript
const res = await fetch(
  'https://vibecode.bitrix24.tech/v1/public-storage/YOUR_PORTAL_ID/YOUR_OBJECT_ID',
  { redirect: 'follow' }
)
if (!res.ok) {
  const body = await res.json()
  console.error(body.error.code, body.error.message)
  return
}
// res.url — финальный URL файла

#Ответ

Поведение зависит от состояния анонимного доступа на портале:

Анонимный доступ включён на портале. Сервер возвращает 302 Found с заголовком Location, указывающим на временную ссылку хранилища. Ссылка действительна 10 минут. Заголовок ответа: Cache-Control: private, no-store.

Анонимный доступ выключен на портале (значение по умолчанию для нового портала): 503 STORAGE_PUBLIC_GET_DISABLED_FOR_PORTAL. Включается администратором портала.

#Пример ответа при ошибке

503 — анонимный доступ выключен на портале:

JSON
{
  "success": false,
  "error": {
    "code": "STORAGE_PUBLIC_GET_DISABLED_FOR_PORTAL",
    "message": "Public storage GET is disabled for this portal"
  }
}

#Ошибки

HTTP Код Описание
404 STORAGE_OBJECT_NOT_FOUND Объект не найден, имеет видимость PRIVATE, принадлежит другому порталу, или objectId не совпадает ни с одним объектом
410 STORAGE_OBJECT_DELETED Объект был удалён
429 STORAGE_RATE_LIMIT_EXCEEDED Превышен лимит 60 запросов в минуту с одного IP-адреса
503 STORAGE_PUBLIC_GET_DISABLED_FOR_PORTAL Анонимный доступ выключен на данном портале
503 STORAGE_FEATURE_DISABLED Хранилище временно недоступно на платформе

Полный список общих ошибок API — Ошибки.

#Известные особенности

  • Анонимный доступ включается отдельно. Объект с видимостью PUBLIC не становится автоматически доступным через этот эндпоинт — администратор портала должен включить анонимный доступ в настройках хранилища.
  • objectId — внутренний идентификатор, не логический ключ. Используйте поле id из ответа на загрузку (`POST /v1/storage/objects/upload`) или из списка объектов.
  • Не кешируйте адрес перенаправления — новая временная ссылка формируется при каждом запросе.

#Смотрите также