Skip to content

Создать мастера салона

Request

Создает профиль мастера внутри салона.

Правила валидации:

  • first_name обязателен, не должен быть пустым и не должен быть длиннее 100 символов
  • last_name обязателен, не должен быть пустым и не должен быть длиннее 100 символов
  • avatar, если передан, должен быть положительным ID файла
  • avatar должен принадлежать текущему пользователю и быть допустимым для установки как аватар
  • category_ids, если передан, должен быть массивом уникальных положительных ID существующих категорий
  • example_work_images, если передан, должен содержать уникальные положительные ID файлов и не больше 10 элементов
  • все файлы из example_work_images должны принадлежать текущему пользователю и иметь purpose CARD
  • experience_years, если передан, должен быть в диапазоне от 0 до 60
  • description, если передан, не должен быть пустым и не должен быть длиннее 1000 символов
  • interior_description, если передан, не должен быть пустым и не должен быть длиннее 1000 символов
  • interior_images, если передан, должен содержать уникальные положительные ID файлов и не больше 10 элементов
  • все файлы из interior_images должны принадлежать текущему пользователю и иметь purpose CARD
  • advantages, если передан, должен содержать уникальные непустые строки, не больше 5 элементов, каждый элемент не длиннее 50 символов
  • min_booking_lead_time_minutes, если передан, должен быть больше или равен 0
  • break_after_service_min, если передан, должен быть больше или равен 0

Требования:

  • требуется JWT
  • текущий пользователь должен быть владельцем или администратором салона
Security
bearerAuth or jwtCookie
Bodyapplication/jsonrequired
first_namestring, [ 1 .. 100 ] characters.*\S.*required
last_namestring, [ 1 .. 100 ] characters.*\S.*required
avatarinteger or null, (int64), >= 1

ID файла, который принадлежит пользователю и может быть установлен как аватар.

category_idsArray of integers or null, unique

Category IDs of services provided by the salon master. All IDs must be positive and must exist.

example_work_imagesArray of integers or null, [ 1 .. 10 ] items, unique

ID карточек мастера. Все файлы должны принадлежать пользователю и иметь purpose CARD.

experience_yearsinteger or null, (int64), [ 0 .. 720 ]

Опыт работы мастера в месяцах.

descriptionstring or null, [ 1 .. 1000 ] characters.*\S.*
interior_descriptionstring or null, [ 1 .. 1000 ] characters.*\S.*
interior_imagesArray of integers or null, [ 1 .. 10 ] items, unique

ID фотографий интерьера. Все файлы должны принадлежать пользователю и иметь purpose CARD.

advantagesArray of strings or null, [ 1 .. 5 ] items, unique

Преимущества мастера. Каждый элемент должен быть непустой строкой длиной до 50 символов.

min_booking_lead_time_minutesinteger or null, (int32), >= 0
break_after_service_mininteger or null, (int32), >= 0
curl -i -X POST \
  https://felmee.com/api/salon/master \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "first_name": "Anna",
    "last_name": "Ivanova",
    "avatar": 42,
    "category_ids": [
      1,
      2
    ],
    "example_work_images": [
      101,
      102
    ],
    "experience_years": 50,
    "description": "Hair master with salon and client appointments.",
    "interior_description": "Bright private studio with sterilized tools.",
    "interior_images": [
      201,
      202
    ],
    "advantages": [
      "Parking",
      "Wi-Fi"
    ],
    "min_booking_lead_time_minutes": 60,
    "break_after_service_min": 15
  }'

Responses

Мастер салона успешно создан

Bodyapplication/json
codeErrorstring or nullrequired

Устаревший camelCase-alias поля error_code; при ошибке оба поля содержат одинаковое значение.

successbooleanrequired

Флаг успешного выполнения запроса

messagestringrequired

Человекочитаемое описание результата

error_codestring or null(ERROR_CODE)required

Код ошибки. Для успешных ответов всегда null.

Enum:"invalid_body""unauthorized""not_found""conflict""object_modified_by_another_thread""action_too_late""too_many_request""code_is_gone""forbidden""user_blocked"
dataobject or null(CreateSalonMasterData)required

Полезная нагрузка. Может быть объектом, массивом или null.

Response
{ "success": true, "message": "Salon master created successfully", "error_code": null, "data": { "salon_master": {} } }