Skip to content

Создать отзыв по завершённой записи

Request

Создаёт новый отзыв текущего пользователя по service record.

Требования:

  • требуется JWT
  • отзыв можно оставить только на собственную завершённую запись
  • на одну запись можно оставить только один отзыв
  • все media_ids, если переданы, должны быть доступны пользователю и иметь purpose CARD
Security
bearerAuth or jwtCookie
Bodyapplication/jsonrequired
service_record_idinteger, (int64), >= 1required

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

Example:150
ratinginteger, [ 1 .. 5 ]required

Оценка от 1 до 5.

Example:5
liked_textstring or null, [ 10 .. 1000 ] characters

Что понравилось. Если передано, длина должна быть от 10 до 1000 символов.

Example:"Очень аккуратная работа и чистое рабочее место"
disliked_textstring or null, [ 10 .. 1000 ] characters

Что не понравилось. Если передано, длина должна быть от 10 до 1000 символов.

Example:"Немного долгое ожидание перед началом"
commentstring or null, [ 10 .. 3000 ] characters

Общий комментарий к отзыву. Если передан, длина должна быть от 10 до 3000 символов.

Example:"В целом всё понравилось, результат отличный."
tagsArray of strings or null, <= 6 items, unique

До 6 уникальных тегов отзыва.

media_idsArray of integers or null, <= 10 items

Идентификаторы файлов, прикрепляемых к отзыву. Каждый идентификатор должен быть положительным, файл должен быть доступен пользователю и иметь purpose CARD.

curl -i -X POST \
  https://felmee.com/api/review \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "service_record_id": 150,
    "rating": 5,
    "liked_text": "Очень аккуратная работа и чистое рабочее место",
    "disliked_text": "Немного долгое ожидание перед началом",
    "comment": "В целом всё понравилось, результат отличный.",
    "tags": [
      "CLEANLINESS",
      "PROFESSIONALISM"
    ],
    "media_ids": [
      101,
      102
    ]
  }'

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(ReviewResponse)required

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

Response
{ "success": true, "message": "Successfully leave review", "error_code": null, "data": { "id": 77, "service_record_id": 150, "provider_id": 20, "executor_id": 25, "user_id": 10, "rating": 5, "liked_text": "Очень аккуратная работа и чистое рабочее место", "disliked_text": "Немного долгое ожидание перед началом", "comment": "В целом всё понравилось, результат отличный.", "tags": [], "media_ids": [], "created_at": "2026-04-28T10:30:00Z" } }