Skip to content

Latest commit

 

History

History
233 lines (169 loc) · 7.48 KB

artifacts.md

File metadata and controls

233 lines (169 loc) · 7.48 KB

Артефакты (фото, портфолио)

Соискатель может загружать свои файлы. На данный момент это ограничивается изображениями для прикрепления их к резюме (фото и портфолио). На основном сайте этот сервис располагается в разделе настроек, пункт «изображения».

После этого в интерфейсе создания/редактирования резюме можно использовать эти изображения.

Получение артефактов

Запрос

GET /artifacts/photo
GET /artifacts/portfolio

Ответ

Успешный ответ приходит с кодом 200 OK и содержит:

{
    "items": [
        {
            "id": "92278992",
            "state": {
                "id": "ok",
                "name": "ok"
            },
            "small": "http://...",
            "medium": "http://...",
            "description": "..."
        }
    ],
    "found": 1,
    "pages": 1,
    "page": 0,
    "per_page": 1
}

где для каждого элемента items:

Имя Тип Описание
id string уникальный идентификатор изображения
state object текущий статус изображения
state.id string идентификатор текущего статуса изображения
state.name string название текущего статуса изображения
small string или null url для получения уменьшенного изображения или null, если изображение ещё не готово
medium string или null url для получения среднего по размеру изображения или null, если изображение ещё не готово
description string описание, в данный момент только у portfolio.

Статусы изображений:

  • processing — в процессе обработки
  • failed — ошибка, скорее всего неподдерживаемый формат
  • ok — обработан, доступен для использования в резюме

Ошибки

  • 403 Forbidden – текущий пользователь не соискатель

Загрузка артефакта

Запрос

POST /artifacts

Для загрузки файла необходимо отправить запрос multipart/form-data cо следующими параметрами:

Имя Обязательный Описание
type да тип артефакта: photo или portfolio
description нет текстовое описание, имеет смысл для portfolio
file да сам файл

Ограничения на типы файлов и их размер доступны в условиях загрузки артефактов.

Ответ

Успешный ответ приходит с кодом 201 Created и содержит:

{
    "id": "123456",
    "medium": null,
    "small": null,
    "state": {
        "id": "processing",
        "name": "в обработке"
    }
}

Поля ответа аналогичны полям элементов в списке артефактов.

Ошибки

  • 403 Forbidden – текущий пользователь не соискатель
  • 400 Bad Request – ошибка в параметрах запроса или добавление изображения невозможно

Дополнительно к HTTP коду сервер может вернуть описание причины ошибки.

Условия загрузки артефактов

Запрос

GET /artifacts_conditions

Ответ

Успешный ответ приходит с кодом 201 Created и содержит:

{
    "description": {
        "max_length": 255,
        "min_length": 0,
        "required": false
    },
    "file": {
        "max_size": 6291456,
        "mime_type": [
            "image/jpeg",
            "image/png",
            "image/psd"
        ],
        "required": true
    },
    "type": {
        "required": true
    }
}

В ответе для каждого поля описаны условия его заполнения:

Имя Тип Описание
required boolean является ли поле обязательным
max_length number максимальный размер текстового поля
min_length number минимальный размер текстового поля
max_size number максимальный размер файла
mime_type array список допустимых типов файлов
mime_type[] string MIME-тип

Ошибки

  • 403 Forbidden – текущий пользователь не соискатель

Редактирование артефакта

PUT /artifacts/{id}

где id - идентификатор артефакта.

Принимаемые параметры:

  • description - текстовое описание изображения

Ответ

Успешный ответ приходит с кодом 204 No Content и не содержит тела.

Ошибки

  • 403 Forbidden – текущий пользователь не соискатель
  • 404 Not Found – артефакт не существует или не принадлежит текущему пользователю
  • 400 Bad Request – ошибка в параметрах запроса или добавление изображения невозможно

Удаление артефакта

DELETE /artifacts/{id}

где id - идентификатор артефакта.

Ответ

Успешный ответ приходит с кодом 204 No Content и не содержит тела.

Ошибки

  • 403 Forbidden – текущий пользователь не соискатель
  • 404 Not Found – артефакт не существует или не принадлежит текущему пользователю

Прикрепление фото/портфолио к резюме

Для прикрепления загруженных изображений в резюме, необходимо передать id артефакта в соответствующее поле резюме. Для удаления из резюме укажите null.