Частично обновляет профиль текущего мастера.
Можно передавать как пользовательские, так и мастерские поля.
Правила валидации:
- валидным считается запрос, в котором корректно заполнено хотя бы одно поле
first_name,last_name, если переданы, не должны быть пустыми и не должны быть длиннее 100 символовcity, если передан, не должен быть пустым и не должен быть длиннее 30 символов- если передан
city, обязательно должна быть переданаgeolocation;geolocationбезcityразрешена avatar, если передан, должен быть положительным ID файлаavatarдолжен принадлежать текущему пользователю и быть допустимым для установки как аватарgeolocation, если передана, должна содержатьlatв диапазоне[-90, 90]иlonв диапазоне[-180, 180]category_ids, если передан, должен быть массивом существующих ID категорий; пустой массив допустимcategory_idsу мастера описывает список оказываемых им услугexample_work_images, если передан, должен содержать от 1 до 10 положительных ID файлов- все файлы из
example_work_imagesдолжны принадлежать текущему пользователю и иметь purposeCARD experience_years, если передан, должен быть в диапазоне от 0 до 60address, если передан, не должен быть пустым и не должен быть длиннее 1000 символов- если переданы
addressиgeolocation, backend сохраняет оба значения напрямую без повторного геокодирования - если передан
addressбезgeolocation, backend геокодирует адрес; при неуспешном геокодировании возвращается422 geocoding_failed - если передана
geolocationбезaddressи безcity, backend выполняет обратное геокодирование и сохраняет найденный адрес - если переданы
cityиgeolocationбезaddress, backend сохраняет координаты напрямую, аaddressустанавливает равнымcity description, если передан, не должен быть пустым и не должен быть длиннее 1000 символовinterior_description, если передан, не должен быть пустым и не должен быть длиннее 1000 символовinterior_images, если передан, должен содержать от 1 до 10 положительных ID файлов- все файлы из
interior_imagesдолжны принадлежать текущему пользователю и иметь purposeCARD advantages, если передан, должен содержать от 1 до 5 непустых строк длиной до 50 символов каждаяservice_locations, если передан, должен содержать от 1 до 3 объектов с уникальнымиservice_location; для каждого объекта обязателенaddress, необязательныйgeolocationгеокодируется по адресу, дляIN_SALONобязателенsalon_name, дляCLIENT_PLACEобязателенradius_kmиз[1, 5, 10, 20]
Требования:
- требуется JWT
ID файла, который принадлежит пользователю и может быть установлен как аватар.
Category IDs of services provided by the master. When the field is provided, it must be an array. An empty array is allowed. All IDs must exist.
ID карточек мастера. Все файлы должны принадлежать пользователю и иметь purpose CARD.
ID фотографий интерьера. Все файлы должны принадлежать пользователю и иметь purpose CARD.
Преимущества мастера. Каждый элемент должен быть непустой строкой длиной до 50 символов.
- https://felmee.comhttps://felmee.com/api/master
- http://localhost:8080http://localhost:8080/api/master
curl -i -X PATCH \
https://felmee.com/api/master \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"first_name": "Anna",
"city": "Minsk",
"geolocation": {
"lat": 53.9,
"lon": 27.56
}
}'Профиль мастера успешно обработан
Устаревший camelCase-alias поля error_code; при ошибке оба поля содержат одинаковое значение.
Код ошибки. Для успешных ответов всегда null.
{ "success": true, "message": "Master updated successfully", "error_code": null, "data": { "changed": true, "master": { … } } }