GetQR API находится в бета-версии и доступен для отдельных рабочих пространств. До общего релиза детали могут измениться.
Загрузка файла
1
Зарегистрируйте файл
Вызовите Регистрацию загрузки файла с
target, contentType и size файла. target определяет допустимые типы содержимого и лимит размера. Вы получите fileId и uploadUrl.2
Отправьте файл
Отправьте файл запросом
PUT на uploadUrl. Его Content-Type и Content-Length должны точно совпадать с зарегистрированными contentType и size: всё остальное отклоняется. URL предварительно подписан, поэтому API-ключ добавлять не нужно. Он действует 10 минут.3
Используйте ID файла
Передайте
fileId, когда создаёте QR-код:- Как
fileIdдля QR-кодаpdf,imageилиvideo. Загружайте с соответствующим target. - Как
fileIdдля изображения профиля QR-кодаvcard,social,multilinkилиevent. Загружайте с targetlogo. - Как
logoOptions.fileId, сlogoOptions.type, равнымuploaded, для собственного логотипа. Загружайте с targetlogo. См. Оформление.
Лимиты
- Только MIME-тип. Передавайте один тип и подтип в нижнем регистре, например
image/png. Параметры вроде;charset=и списки отклоняются. - Без SVG. Типы на основе XML, например
image/svg+xml, не принимаются. Загрузите растровое изображение, напримерimage/pngилиimage/jpeg.
Заголовки
string
обязательно
Bearer и ваш API-ключ. См. Аутентификация.string
обязательно
application/json.Регистрация загрузки файла
POST /api/v1/files
Регистрирует файл и возвращает предварительно подписанный URL для его загрузки. Сам файл этот вызов не загружает.
string
обязательно
Для чего файл:
pdf, image, video или logo. Определяет допустимые типы содержимого и лимит размера. См. Лимиты.string
обязательно
MIME-тип файла без параметров, например
application/pdf. Запрос загрузки должен передать именно этот Content-Type.integer
обязательно
Точный размер файла в байтах, положительное целое число. Проверяется по лимиту для target. Запрос загрузки должен передать именно этот
Content-Length.string
Исходное имя файла, до 255 символов. Сохраняется для отображения в панели управления. Путь с
/ или \ отклоняется.string
ID, который нужно передать как
fileId или logoOptions.fileId.string
Предварительно подписанный URL, на который нужно отправить файл запросом
PUT.integer
Через сколько секунд истекает
uploadUrl: 600.string
HTTP-метод для загрузки:
PUT.Частые проблемы
422 "Content type … is not allowed for target"
422 "Content type … is not allowed for target"
Тип содержимого не соответствует target. Например,
pdf принимает только application/pdf. См. Лимиты.422 "must be a single lowercase type/subtype"
422 "must be a single lowercase type/subtype"
Передайте тип содержимого в нижнем регистре и без параметров:
image/png, а не Image/PNG или image/png; charset=utf-8.422 "File is too large for target"
422 "File is too large for target"
Указанный
size превышает лимит для target. Сожмите файл перед регистрацией.Загрузка на uploadUrl не проходит
Загрузка на uploadUrl не проходит
URL истекает через 10 минут после регистрации файла, а запрос должен передать точно те
Content-Type и Content-Length, которые были зарегистрированы. Зарегистрируйте файл снова, чтобы получить новый URL.422 "is registered but its content was never uploaded" при создании QR-кода
422 "is registered but its content was never uploaded" при создании QR-кода
Вы зарегистрировали файл, но
PUT на uploadUrl не завершился. Загрузите файл, затем создайте QR-код.422 "was uploaded to …" при создании QR-кода
422 "was uploaded to …" при создании QR-кода
Файл зарегистрирован с другим target, например файл
image используется для QR-кода pdf. Зарегистрируйте новую загрузку с соответствующим target.404 "File … was not found" при создании QR-кода
404 "File … was not found" при создании QR-кода
fileId не существует. Возьмите его из ответа на Регистрацию загрузки файла.