Соискатель может загружать свои файлы. На данный момент это ограничивается изображениями для прикрепления их к резюме (фото и портфолио). На основном сайте этот сервис располагается в разделе настроек, пункт «изображения».
После этого в интерфейсе создания/редактирования резюме можно использовать эти изображения.
- Получение артефактов
- Загрузка артефакта
- Условия загрузки артефактов
- Редактирование артефакта
- Удаление артефакта
- Прикрепление фото/портфолио к резюме
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
.