goalsmanagement.ratingcard.changeStatus

Scope: goalsmanagement

Кто может вызывать: Админ / руководитель по правилам карточки. Подробнее: Права доступа

Сменить статус карточки оценки.

Целевой статус задаётся только через stageToChange (ID enum из ratingcard.status.list). Если stageToChange не передан, метод работает как кнопка «Далее» в карточке: переводит на следующий статус по цепочке. Если карточка уже на последнем статусе — ошибка перехода.

HTTP: POST

Побочные эффекты: смена статуса

Параметры метода

Параметр Тип Обяз. Описание
cardId int да ID карточки
stageToChange int нет Целевой статус, ID enum. Если не передан — переход «далее»
rating array нет Ratings payload (ключ rating, не ratings)
comment string нет Комментарий
ignoreGoals bool нет Не перезаписывать цели при смене статуса

Возвращаемые данные

Ответ в конверте модуля: result.result — карточка после смены статуса; result.error. Ключи total/next для не-list методов могут отсутствовать в сериализации, если не переданы.

Обработка ошибок

Справочник кодов: error-codes.md.

Код Описание
UNAUTHORIZED Пользователь не авторизован
ACCESS_DENIED Нет прав на операцию (общий запрет)
CARD_NOT_FOUND Карточка целей/оценки не найдена
INTERNAL_ERROR Внутренняя ошибка сервера

Пример запроса (POST)

Переход «далее» (без stageToChange):

curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/goalsmanagement.ratingcard.changeStatus.json" \
          -H "Content-Type: application/json" \
          -H "Accept: application/json" \
          --data '{
          "cardId": 701
        }'
        

Сразу в указанный статус:

curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/goalsmanagement.ratingcard.changeStatus.json" \
          -H "Content-Type: application/json" \
          -H "Accept: application/json" \
          --data '{
          "cardId": 701,
          "stageToChange": 3,
          "rating": [
            {
              "id": 9001,
              "progress": 65,
              "commentEmployee": "План выполнен на 65%"
            }
          ],
          "comment": "Оценка отправлена на согласование"
        }'
        

Пример ответа

{
          "result": {
            "result": {
              "id": 701,
              "needAction": true,
              "dateCreate": "2026-07-01 10:00:00",
              "status": "status_approval",
              "deadline": "2026-07-31",
              "ratings": [
                {
                  "ID": 9001,
                  "RATING_TABLE_GOAL_ID": 101,
                  "RATING_TABLE_GOAL": "Увеличить выручку отдела",
                  "RATING_TABLE_TYPE_GOAL": "Стратегическая",
                  "RATING_TABLE_WEIGHT": 40,
                  "RATING_TABLE_PROGRESS": 65,
                  "RATING_TABLE_COMMENT_EMPLOYEE": "План выполнен на 65%",
                  "RATING_TABLE_COMMENT_HEAD": "Результат подтверждён"
                }
              ],
              "dateStart": "2026-04-01",
              "dateEnd": "2026-06-30",
              "totalProgress": 65,
              "position": "Менеджер по продажам",
              "departmentId": 12,
              "deadlineFilling": "2026-07-15",
              "deadlineApproval": "2026-07-31",
              "processDuration": "12_month",
              "reportingPeriod": "3_month",
              "statusProcess": "1",
              "employeeId": 15,
              "goalCardId": 501
            },
            "error": null
          }
        }
        

См. также