# Операции перформанс-ревью

Пять методов чтения отдают кампании, карточки этапов и вопросы менеджерского этапа, один метод записи сохраняет черновик ответа менеджера или завершает оценку. Переключайте методы во вкладках — у каждого свои параметры, поля ответа и коды ошибок.

**Скоуп:** `performan` | **Базовый URL:** `https://vibecode.bitrix24.tech/v1` | **Авторизация:** `X-Api-Key`

## Операции

- [Кампании ревью](./campaigns.md) — `GET /v1/performan/review/campaigns`
- [Карточки самооценки](./self-reviews.md) — `GET /v1/performan/review/self-reviews`
- [Карточки оценки коллегами](./peer-reviews.md) — `GET /v1/performan/review/peer-reviews`
- [Вопросы менеджерского этапа](./manager-questions.md) — `GET /v1/performan/review/manager/questions`
- [Карточки менеджерского ревью](./manager-reviews.md) — `GET /v1/performan/review/manager/reviews`
- [Ответ менеджера](./manager-answer.md) — `POST /v1/performan/review/manager/answers`

## Доступ

Нужен скоуп `performan`. Он не расширяет видимость данных: методы отдают только то, что относится к владельцу ключа — его кампании, его карточки самооценки и оценки коллегами, те менеджерские связи, где он оценивающий. Администратор портала получает тот же срез, что и остальные сотрудники.

Запись разрешена оценивающему этой карточки. Карточка другого сотрудника и несуществующая карточка отвечают одинаково — `403 BITRIX_ACCESS_DENIED`.

## Постраничная навигация

Все пять списков обходятся курсором. Параметр `limit` задаёт размер страницы, максимум 200, по умолчанию 50. Значение из `meta.nextCursor.id` передаётся в параметр `afterCursorId` следующего запроса, и так до ответа, где `meta.nextCursor` равен `null`.

Записи в каждом списке идут по убыванию `id`. Параметра `offset` у этих методов нет, общего количества записей они не возвращают.

## Типовой сценарий

1. Получить кампании: [`GET /v1/performan/review/campaigns`](./campaigns.md). Из ответа взять `id` нужной кампании.
2. Прочитать вопросы менеджерского этапа: [`GET /v1/performan/review/manager/questions`](./manager-questions.md) с параметром `campaignId`.
3. Найти карточку по сотруднику: [`GET /v1/performan/review/manager/reviews`](./manager-reviews.md) с параметрами `campaignId` и `revieweeUserId`. Из ответа взять `id` — это `relationId` записи.
4. Сохранить черновик: [`POST /v1/performan/review/manager/answers`](./manager-answer.md). Из ответа взять `stateHash` для следующей записи по этой карточке.

## Смотрите также

- [Перформанс-ревью](/docs/performan)
- [Сотрудники](/docs/entities/users)
- [Ошибки](/docs/errors)
