Skip to content

Создать запрос на создание записи

Request

Создаёт запрос на создание записи по услуге для выбранного пользователя.

Перед созданием сервер проверяет:

  • корректность тела запроса
  • что пользователь user_id существует и имеет роль USER
  • что услуга service_id существует
  • что текущий пользователь может создать request по этой услуге:
    • индивидуальный мастер - если услуга принадлежит ему
    • владелец салона - если услуга принадлежит его салону
    • админ салона с правом RECORD_CREATE - если услуга принадлежит его салону

Время записи в этом запросе не передаётся. Слот выбирается позднее, при подтверждении запроса через /api/record/create/approve/{id}.

master_user_id при создании request не передаётся. Для салонной услуги мастер выбирается клиентом только при approve. Цена price фиксируется в create_record_request и после approve сохраняется в service_records.service_price. Для услуги с is_fix_price = false price обязателен и передаётся отправителем. Для услуги с is_fix_price = true передавать price запрещено: сервер берёт цену из карточки услуги.

После создания в Messenger отправляется request-сообщение:

  • action = CREATE_RECORD
  • source_request_id = create_record_request.id
  • payload соответствует CreateRecordRequestPayload

Требования:

  • требуется JWT
  • endpoint доступен мастеру-владельцу услуги, владельцу салона или админу салона с RECORD_CREATE
Security
bearerAuth or jwtCookie
Bodyapplication/jsonrequired
service_idinteger, (int64), >= 1required

Идентификатор услуги, по которой создаётся запрос на запись.

Example:501
user_idinteger, (int64), >= 1required

Идентификатор пользователя, который должен подтвердить создание записи.

Example:42
priceinteger, >= 1

Цена услуги для is_fix_price = false. Обязательна для услуги с пользовательской ценой. Для is_fix_price = true передача price запрещена, цена берётся из карточки услуги.

Example:1200
curl -i -X POST \
  https://felmee.com/api/record/create \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "service_id": 501,
    "user_id": 42,
    "price": 1200
  }'

Responses

Запрос на создание записи успешно создан

Bodyapplication/json
codeErrorstring or nullrequired

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

successbooleanrequired

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

Example:true
messagestringrequired

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

Example:"OK"
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"
Example:null
dataany or nullrequired

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

Example:null
Response
{ "success": true, "message": "Create record request created successfully", "error_code": null, "data": null }