---
metadata:
  - name: generator
    content: Diplodoc Platform v5.57.3
alternate:
  - https://yandex.ru/dev/tasks-api/doc/ru/quality-control-rules/completed.md
  - href: https://yandex.ru/dev/tasks-api/doc/ru/quality-control-rules/completed.md
    type: text/markdown
    title: Markdown version
  - href: https://yandex.ru/dev/tasks-api/doc/ru/llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/tasks-api/doc/ru/llms.txt

# Количество выполненных заданий

<!-- source: ru/_includes/button-text.md -->
Напишите нам, если не нашли ответ в Справке. Вы можете приложить скриншоты или видео, чтобы ускорить помощь:
<!-- endsource: ru/_includes/button-text.md -->

<a class="support_btn msg" target="_blank" href="https://yandex.ru/chat?context=%7B%22entrypoint%22%3A%22%7B%5C%22page_name%5C%22%3A%5C%22quality-control-rules-completed%5C%22%2C%5C%22a_pageurl%5C%22%3A%5C%22https%3A%2F%2Fyandex.ru%2Fdev%2Ftasks-api%2Fdoc%2Fru%2Fquality-control-rules%2Fcompleted%5C%22%7D%22%7D#/user/bb41c200-08e6-94b4-5c5b-e9694fa7b06e">Написать в чат</a>

Вы можете ограничить количество заданий в пуле на каждого исполнителя, чтобы:

- Получить ответы как можно большего числа исполнителей (в этом случае устанавливается низкий порог, например, одна страница заданий).
- Обеспечить защиту от роботов (в этом случае порог должен быть выше, например, 10% заданий пула).

Задайте значения ключей в массиве `quality_control.configs` в настройках пула.

## Тело и параметры запроса {#body}

Вы можете заблокировать доступ исполнителя к проекту, после выполнения 12 страниц заданий, на необходимое количество дней, часов, минут (по отдельности и в совокупности) или навсегда.

### Пример

Блокировка на 10 дней

```json
{
  "configs": [
    {
      "collector_config": {
        "type": "ANSWER_COUNT"
      },
      "rules": [
        {
          "conditions": [
            {
              "key": "assignments_accepted_count",
              "operator": "GTE",
              "value": 12
            }
          ],
          "action": {
            "type": "RESTRICTION_V2",
            "parameters": {
              "scope": "POOL",
              "duration_unit": "DAYS",
              "duration": 10,
              "private_comment": "Completed 12 pages of tasks in the pool"
            }
          }
        }
      ]
    }
  ]
}
```

<!-- source: ru/_includes/reusables/qcr/duration.md -->
Чтобы задать другой период блокировки, измените значение параметров [duration_unit](*duration_unit) и [duration](*duration) ключа `configs.rules.action.parameters`:
<!-- endsource: ru/_includes/reusables/qcr/duration.md -->

{% list tabs %}

- на 12 часов

  ```json
  {
    ...
    "action": {
      "type": "RESTRICTION_V2",
      "parameters": {
        "scope": "POOL",
        "duration_unit": "HOURS",
        "duration": 12,
        "private_comment": "Completed 12 pages of tasks in the pool"
      }
    }
    ...
  }
  ```

- на 30 минут

  ```json
  {
    ...
    "action": {
      "type": "RESTRICTION_V2",
      "parameters": {
        "scope": "POOL",
        "duration_unit": "MINUTES",
        "duration": 30,
        "private_comment": "Completed 12 pages of tasks in the pool"
      }
    }
    ...
  }
  ```

- навсегда

  ```json
  {
    ...
    "action": {
      "type": "RESTRICTION_V2",
      "parameters": {
        "scope": "POOL",
        "duration_unit": "PERMANENT",
        "private_comment": "Completed 12 pages of tasks in the pool"
      }
    }
    ...
  }
  ```

{% endlist %}

### Параметры

<!-- source: ru/_includes/reusables/qcr/parameters.md -->
Все настройки правил контроля качества определяются в _массиве объектов_ `configs[]`. Он является **обязательным** и содержит следующие параметры:

#|
|| **Параметр**| **Описание** ||
|| [collector_config](#collector-config-section)[*](*required_value) | _object_

Параметры для сбора статистики (например, количество пропусков заданий в пуле).||
|| [rules](#rules-section)[*](*required_value) | _object_

Набор правил контроля качества, которые нужно применить. ||
|#

#### 'configs[].collector_config' {#collector-config-section}

#|
|| **Параметр**| **Описание** ||
|| `type`[*](*required_value) | _string_

Критерий, на котором основан блок качества:

- `ACCEPTANCE_RATE` — доля ответов исполнителя, которые были отклонены при отложенной приемке заданий.

- `ANSWER_COUNT` — количество страниц заданий, выполненных исполнителем в пуле.

- `ASSIGNMENT_SUBMIT_TIME` — количество «быстрых» ответов (минимальная скорость ответа задается в параметрах).

- `ASSIGNMENTS_ASSESSMENT` — количество принятых или отклоненных заданий при включенной отложенной приемке заданий.

- `CAPTCHA` — количество успешно и неуспешно введенных капч.

- `GOLDEN_SET` — количество правильных и неправильных ответов в контрольных заданиях.

- `INCOME` — плата за задания, выполненные исполнителем за последние 24 часа.

- `MAJORITY_VOTE` — доля ответов, которые совпали с мнением большинства.

- `SKIPPED_IN_ROW_ASSIGNMENTS` — количество пропущенных подряд страниц заданий.

- `USERS_ASSESSMENT` — значение навыка исполнителя и его блокировка. ||
|| [parameters](#collector-config-parameters-section) | _object (**обязательный при условии**)_

**Обязательный**, если `configs.collector_config.type` равно одному из значений:

- `ASSIGNMENT_SUBMIT_TIME`
- `ASSIGNMENTS_ASSESSMENT`
- `CAPTCHA`
- `GOLDEN_SET`
- `MAJORITY_VOTE`
- `USERS_ASSESSMENT`

Параметры для сбора данных (зависят от блока контроля качества, указанного в ключе `type`).||
|#

##### 'configs[].collector_config.parameters' {#collector-config-parameters-section}

#|
|| **Параметр**| **Описание** ||
|| `answer_threshold` | _integer (**обязательный при условии**)_

**Обязательный**, если значение `configs.collector_config.type` равно `MAJORITY_VOTE`.

Количество исполнителей, которое считается большинством (например, 3 из 5).||
|| `fast_submit_threshold_seconds` | _integer (**обязательный при условии**)_

**Обязательный**, если значение `configs.collector_config.type` равно `ASSIGNMENT_SUBMIT_TIME`.

Минимальная приемлемая скорость ответа в секундах.||
|| `history_size` | _integer (**обязательный при условии**)_

**Обязательный**, если `configs.collector_config.type` равно одному из значений:

- `ASSIGNMENTS_ASSESSMENT`
- `GOLDEN_SET`
- `MAJORITY_VOTE`
- `USERS_ASSESSMENT`

Максимальное количество последних заданий, выполненных исполнителем в проекте, ответов исполнителя или показов капчи в рамках проекта, которое нужно учитывать при подсчете.

Если поле отсутствует, в расчете учитываются все задания, ответы исполнителя или показы капчи в пуле.||
|#

#### 'configs[].rules' {#rules-section}

#|
|| **Параметр**| **Описание** ||
|| [action](#rules-action-section)[*](*required_value) | _object_

Действие в случае выполнения условий (например, закрыть доступ к проекту).||
|| [conditions](#rules-conditions-section)[*](*required_value) | _object_

Условия (например, пропуск 10 страниц заданий подряд). Несколько условий объединяются с помощью оператора «и».||
|#

##### 'configs[].rules.action' {#rules-action-section}

#|
|| [parameters](#rules-action-parameters-section)[*](*required_value) | _object_

Параметры действия.||
|| `type`[*](*required_value) | _string_

Тип действия:

- `APPROVE_ALL_ASSIGNMENTS` — принять все ответы исполнителя. Например, если исполнитель выполняет большинство заданий качественно и вас устраивает такой результат.

- `CHANGE_OVERLAP` — изменить перекрытие. Например, чтобы повторно отправить страницу заданий на выполнение другим исполнителям или отменить повторное выполнение уже принятых заданий.

- `REJECT_ALL_ASSIGNMENTS` — отклонить все ответы исполнителя. Например, спустя несколько ответов исполнителя стало понятно, что он некачественно выполняет задания.

- `RESTRICTION_V2` — заблокировать доступ к проектам или пулам.

- `SET_SKILL` — присвоить навыку указанное константное значение.

- `SET_SKILL_FROM_OUTPUT_FIELD` — присвоить навыку значение «доля правильных ответов» (используется в блоках [Контрольный набор](https://yandex.ru/dev/tasks-api/doc/ru/quality-control-rules/goldenset.md) и [Мнение большинства](https://yandex.ru/dev/tasks-api/doc/ru/quality-control-rules/mv.md)).

    Значение навыка можно использовать для отбора исполнителей. ||
|#

##### 'configs[].rules.action.parameters' {#rules-action-parameters-section}

#|
|| **Параметр**| **Описание** ||
|| `scope`[*](*required_value) | _string_

Уровень ограничения:

- `POOL` — пул. Не влияет на рейтинг исполнителя.
- `PROJECT` — проект. Влияет на рейтинг исполнителя.
- `ALL_PROJECTS` — все проекты заказчика.||
|| `skill_id` | _string (**обязательный при условии**)_

**Обязателен**, если `type=SET_SKILL_FROM_OUTPUT_FIELD`.

Идентификатор навыка, который необходимо обновлять по мере выполнения заданий.||
|| `from_field` | _string (**обязательный при условии**)_

**Обязателен**, если `type=SET_SKILL_FROM_OUTPUT_FIELD`.

Значение, которое нужно присвоить навыку:

- `correct_answers_rate` — доля правильных ответов;
- `wrong_answers_rate` — доля неправильных ответов.||
|| `skill_value` | _integer (**обязательный при условии**)_

**Обязателен**, если `type=SET_SKILL_FROM_OUTPUT_FIELD`.

Фиксированное значение, которое нужно присвоить навыку (число от **0** до **100**).||
|| `delta` | _integer (**обязательный при условии**)_

**Обязателен**, если `type=CHANGE_OVERLAP`.

Значение определяет, на сколько изменить перекрытие.||
|| `public_comment` | _string (**обязательный при условии**)_

**Обязателен**, если `type=REJECT_ALL_ASSIGNMENTS`.

Комментарий (причина отклонения ответов). Доступен заказчику и исполнителю.||
|| `duration_unit` | _string_

Единица измерения длительности блокировки:

- `MINUTES` — минуты;
- `HOURS` — часы;
- `DAYS` — дни;
- `PERMANENT` — навсегда.
 ||
|| `duration` | _integer_

Длительность блокировки.
 ||
|| `private_comment` | _string_

Комментарий (причина блокировки). Доступен только заказчику.||
|| `open_pool` | _boolean_

Определяет, нужно ли открыть закрытый пул:

- `true` — открыть пул после изменения, если он закрыт.
- `false` — не открывать пул после изменения, если он закрыт.||
|#
<!-- endsource: ru/_includes/reusables/qcr/parameters.md -->

##### 'configs[].rules.conditions' {#rules-conditions-section}

#|
|| **Параметр**| **Описание** ||
|| `key`[*](*required_value) | _string_

Значения, которые проверяются в условии:

- `assignments_accepted_count` — количество страниц заданий, выполненных исполнителем.

Несколько условий с одинаковым значением поля `key` объединяются с помощью логического «и». ||
|| `operator`[*](*required_value) | _string_

Оператор сравнения (данные `key` сравниваются с пороговым значением из `value`):

- `EQ` («Equal») — равно.
- `GT` («Greater than») — больше чем.
- `GTE` («Greater than equal to») — больше или равно.
- `LT` («Less than») — меньше чем.
- `LTE` («Less than equal to») — меньше или равно.
- `NE` («Not equal to») — не равно.
 ||
|| `value`[*](*required_value) | _integer_

Пороговое значение переменной, указанной в `key`.
 ||
|#

<!-- source: ru/_includes/contact-support.md -->
<!-- source: ru/_includes/btn-style.md -->

<!-- endsource: ru/_includes/btn-style.md -->

[![Написать в службу поддержки](../_images/contact-support.svg)](https://yandex.ru/support/tasks-requester/ru/guide/troubleshooting/support/)
<!-- endsource: ru/_includes/contact-support.md -->

[*required_value]: Обязательный параметр

[*duration_unit]: <!-- source: ru/_includes/reusables/qcr/duration-unit-parameter.md -->
Единица измерения длительности блокировки:

- `MINUTES` — минуты;
- `HOURS` — часы;
- `DAYS` — дни;
- `PERMANENT` — навсегда.
<!-- endsource: ru/_includes/reusables/qcr/duration-unit-parameter.md -->

[*duration]: <!-- source: ru/_includes/reusables/qcr/duration-parameter.md -->
Длительность блокировки.
<!-- endsource: ru/_includes/reusables/qcr/duration-parameter.md -->