Перейти к основному содержимому

Загрузка файлов

Данный метод позволяет выполнять загрузку файлов в систему в три этапа: инициализация, загрузка файла и завершение обработки.

Этап 1. Инициализация загрузки

Для начала вы должны инициализировать процесс загрузки файла.

Запрос

curl -X GET "https://api.postmypost.io/v4/upload/init?project_id=<ваш_project_id>&name=<имя_файла>&size=<размер_файла>" \
-H "Authorization: Bearer <ваш_токен>"

Обязательные параметры

Должны быть указаны либо следующие параметры

  • project_id — уникальный идентификатор проекта, для которого выполняется загрузка.
  • url — адрес загрузки файла.

Либо

  • project_id — уникальный идентификатор проекта, для которого выполняется загрузка.
  • name — имя загружаемого файла.
  • size — размер файла в байтах.

Пример ответа

{
"id": number,
"name": string,
"size": number,
"action": string,
"fields": {
"acl": string,
"key": string,
"X-Amz-Credential": string,
"X-Amz-Algorithm": string,
"X-Amz-Date": string,
"Policy": string,
"X-Amz-Signature": string
},
"status": 5
}

Ответ содержит

  • id — идентификатор загрузки.
  • action — URL для загрузки файла.
  • fields — объект с параметрами, которые нужно передать в заголовке при загрузке файла.

Значения status

  • 5 — ожидание загрузки.
  • 4 — загрузка файла.
  • 3 — обработка и подготовка превью.
  • 2 — ошибка обработки файла.
  • 1 — файл успешно загружен.

Этап 2. Загрузка файла

После получения информации с первого этапа нужно выполнить POST-запрос к указанному action. В запросе необходимо передать файл и параметры из fields.

Если на предыдущем этапе файл был передан по url, данный шаг игнорируется, и необходимо сразу перейти к следующему этапу.

Запрос

curl -X POST "<action>" \
-F "file=@<путь_к_файлу>" \
-F "acl=<acl>" \
-F "key=<key>" \
-F "X-Amz-Credential=<X-Amz-Credential>" \
-F "X-Amz-Algorithm=<X-Amz-Algorithm>" \
-F "X-Amz-Date=<X-Amz-Date>" \
-F "Policy=<Policy>" \
-F "X-Amz-Signature=<X-Amz-Signature>"

Обратите внимание

  • <action> — URL из ответа первого этапа.
  • Все значения из объекта fields должны быть переданы как параметры в заголовке.

Этап 3. Завершение загрузки

После успешной загрузки файла выполните запрос для завершения процесса.

Запрос

curl -X POST "https://api.postmypost.io/v4/upload/complete?id=<id>" \
-H "Authorization: Bearer <ваш_токен>"

Обязательный параметр

  • id — идентификатор загрузки, полученный на первом этапе.

Пример ответа

{
"id": number,
"status": 3
}

Этап 4. Проверка статуса

Для проверки статуса обработки файла выполните запрос.

Запрос

curl -X GET "https://api.postmypost.io/v4/upload/status?id=<id>" \
-H "Authorization: Bearer <ваш_токен>"

Пример ответа

{
"id": number,
"file_id": number | null,
"status": 1
}