# Список ошибок

## Ошибки системы

<details>

<summary>0, UNDEFINED</summary>

Неизвестная ошибка обработки.

`HTTP-статус: 400`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку.</mark>

</details>

<details>

<summary>10, MissingToken</summary>

Не распознан токен запроса. Возвращается в случае ошибки в самом токене или в случае использования просроченного токена.

`HTTP-статус: 401`

<mark style="background-color:purple;">Как устранить: получить новый токен.</mark>

```json
{
    "error": {
        "text": "Не распознан токен запроса",
        "type": "system",
        "code": 10,
        "error_id": "20001"
    }
}
```

</details>

<details>

<summary>12, WrongLoginOrPassword</summary>

Неверный логин или пароль. Возвращается в случае неверных `credentials` или неверных названий полей.

`HTTP-статус: 401`

<mark style="background-color:purple;">Как устранить: повторить запрос с корректными данными</mark>

```json
{
    "error": {
        "text": "Неверный логин или пароль",
        "type": "system",
        "code": 12,
        "error_id": "20003"
    }
}
```

</details>

<details>

<summary>13, ValidationException</summary>

Ошибка валидации входящего запроса. Ошибочные поля: `{0}`. Возвращается в случае ошибки валидации внутри чека.

`HTTP-статус: 400`

<mark style="background-color:purple;">Как устранить: повторить запрос с корректными данными</mark>

```json
{
    "status": "fail",
    "error": {
        "text": "Ошибка валидации входящего запроса. Ошибочные поля : '[dto.externalId]'",
        "type": "system",
        "code": 13,
        "error_id": "20110"
    }
}
```

</details>

<details>

<summary>20, GroupCodeAndTokenDontMatch</summary>

Код группы, указанный в запросе, не соответствует токену. Возвращается, когда груп-код или ID юзера в строке запроса не соответствует токену в строке / заголовке. Также возвращается, если груп-код не существует.

`HTTP-статус: 401`

<mark style="background-color:purple;">Как устранить: повторить запрос с корректными данными</mark>

```json
{
    "error": {
        "text": "Код группы, указанный в запросе, не соответствует токену",
        "type": "system",
        "code": 20,
        "error_id": "20002"
    }
}
```

</details>

<details>

<summary>21, NotSupportedGroupCodeForProtocol</summary>

Кассы, относящиеся к группе, не поддерживают ФФД 1.2 и версию сервиса v5. Необходимо отправить запрос на версию сервиса v4 с поддержкой ФФД 1.05.

`HTTP-статус: 401`

<mark style="background-color:purple;">Как устранить: повторить запрос с корректными данными</mark>

```json
{
    "error": {
        "text": "Код группы, указанный в запросе, не соответствует токену",
        "type": "system",
        "code": 21,
        "error_id": "20013"
    }
}
```

</details>

<details>

<summary>30, MissingUuid</summary>

Передан некорректный UUID.  Возвращается в запросах проверки статуса чека, если данный UUID чека не найден на нашей стороне

`HTTP-статус: 400`

<mark style="background-color:purple;">Как устранить: повторить запрос с корректными данными</mark>

```json
{
    "uuid": "eb5bfe24-349d-43eb-80da-bd504af149f5",
    "status": "fail",
    "error": {
        "text": "Передан некорректный UUID : 'eb5bfe24-349d-43eb-80da-bd504af149f5'. Необходимо повторить запрос с корректными данными",
        "type": "system",
        "code": 30,
        "error_id": "20010"
    }
}
```

</details>

<details>

<summary>33, IncomingExternalIdAlreadyExists</summary>

Нарушена уникальность external\_id для пользователя.&#x20;

`HTTP-статус: 401`

<mark style="background-color:purple;">Как устранить: повторить запрос, чтобы получить uuid чека или отправить запрос с новым external\_id</mark>

```json
{
    "error": {
        "text": "Чек с таким uid и external_id уже создан",
        "type": "system",
        "code": 33,
        "error_id": "20013"
    }
}
```

</details>

<details>

<summary>34, StateCheckNotFound</summary>

Состояние чека не найдено. Возвращается, если чек принят, но ещё не обработан (не вернулся результат обработки).

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: повторить запрос позднее.</mark>

```json
{
    "uuid": "753c1884-ee1a-48fb-9f74-180bdfc8f5cd",
    "status": "wait",
    "error": {
        "text": "Состояние чека не найдено. Попробуйте позднее",
        "type": "system",
        "code": 34,
        "error_id": "20011"
    }
}
```

</details>

<details>

<summary>40, BadRequest</summary>

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

`HTTP-статус: 400`

<mark style="background-color:purple;">Как устранить: повторить запрос с корректными данными</mark>

```json
{
    "error": {
        "text": "Некорректный запрос",
        "type": "system",
        "code": 40,
        "error_id": "20120"
    }
}
```

</details>

<details>

<summary>999, PaymentRequired</summary>

Доступ к API заблокирован в связи с неоплатой.

`HTTP-статус: 402`

<mark style="background-color:purple;">Как устранить: оплатить сервис и обратиться в поддержку для разблокировки</mark>

```json
{
    "error": {
        "text": "Апи недоступен. Требуется произвести оплату",
        "type": "system",
        "code": 999,
        "error_id": "20012"
    }
}
```

</details>

## Ошибки ККТ

<details>

<summary>0, Неизвестная ошибка обработки</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Неизвестная ошибка обработки",
        "type": "unknown",
        "code": 0,
        "error_id": null
    }
}
```

</details>

<details>

<summary>11, Не поддерживается в данной версии (драйвера или ККТ)</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Не поддерживается в данной версии (драйвера или ККТ)",
        "type": "driver",
        "code": 11,
        "error_id": null
    }
}
```

</details>

<details>

<summary>12, Не поддерживается в данном режиме</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Не поддерживается в данном режиме",
        "type": "driver",
        "code": 12,
        "error_id": null
    }
}
```

</details>

<details>

<summary>27, Неверная длина</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: повторить запрос с корректными данными или обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Неверная длина",
        "type": "driver",
        "code": 27,
        "error_id": null
    }
}
```

</details>

<details>

<summary>34, Вход в режим заблокирован</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Вход в режим заблокирован",
        "type": "driver",
        "code": 34,
        "error_id": null
    }
}
```

</details>

<details>

<summary>52,  Сумма не наличных платежей превышает сумму чека</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: повторить запрос с корректными данными</mark>&#x20;

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Сумма не наличных платежей превышает сумму чека",
        "type": "driver",
        "code": 52,
        "error_id": null
    }
}
```

</details>

<details>

<summary>66, Чек оплачен не полностью</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: повторить запрос с корректными данными</mark>&#x20;

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Чек оплачен не полностью",
        "type": "driver",
        "code": 66,
        "error_id": null
    }
}
```

</details>

<details>

<summary>80, В ККТ нет денег для выплаты</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "В ККТ нет денег для выплаты",
        "type": "driver",
        "code": 80,
        "error_id": null
    }
}
```

</details>

<details>

<summary>81, Чек закрыт – операция невозможна</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Чек закрыт – операция невозможна",
        "type": "driver",
        "code": 81,
        "error_id": null
    }
}
```

</details>

<details>

<summary>82, Чек открыт – операция невозможна</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Чек открыт – операция невозможна",
        "type": "driver",
        "code": 82,
        "error_id": null
    }
}
```

</details>

<details>

<summary>83, Смена открыта, операция невозможна</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Смена открыта, операция невозможна",
        "type": "driver",
        "code": 83,
        "error_id": null
    }
}
```

</details>

<details>

<summary>116, Ошибка формата передачи ФН</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Ошибка формата передачи ФН",
        "type": "driver",
        "code": 116,
        "error_id": null
    }
}
```

</details>

<details>

<summary>117, Неверное состояние ФН</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Неверное состояние ФН",
        "type": "driver",
        "code": 117,
        "error_id": null
    }
}
```

</details>

<details>

<summary>125, Буфер переполнен</summary>

Превышен объем буфера ККТ и ФН

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: уменьшите количество позиций в чеке. Например, разделите на 2 отдельных чека.</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Буфер переполнен",
        "type": "driver",
        "code": 125,
        "error_id": null
    }
}
```

</details>

<details>

<summary>136, Исчерпан ресурс КС ФН</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Исчерпан ресурс КС ФН",
        "type": "driver",
        "code": 136,
        "error_id": null
    }
}
```

</details>

<details>

<summary>142, Неверная разница во времени между двумя операциями ФН</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Неверная разница во времени между двумя операциями ФН",
        "type": "driver",
        "code": 142,
        "error_id": null
    }
}
```

</details>

<details>

<summary>143, Некорректная СНО</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: повторить запрос с корректными данными или обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Некорректная СНО",
        "type": "driver",
        "code": 143,
        "error_id": null
    }
}
```

</details>

<details>

<summary>148, Ошибка программирования реквизита </summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Ошибка программирования реквизита",
        "type": "driver",
        "code": 148,
        "error_id": null
    }

}
```

</details>

<details>

<summary>159, Ошибка интерфейса ФН</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Ошибка интерфейса ФН",
        "type": "driver",
        "code": 159,
        "error_id": null
    }
}
```

</details>

<details>

<summary>2003, ИНН, указанный в чеке, не соответствует ИНН компании</summary>

ИНН, указанный в чеке, не соответствует ИНН компании.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "ИНН, указанный в чеке, не соответствует ИНН компании.",
        "type": "agent",
        "code": 2003,
        "error_id": null
    }
}
```

</details>

<details>

<summary>2007, Некорректное значение в JSON</summary>

Ошибка на стороне ККТ.

`HTTP-статус: 200`

<mark style="background-color:purple;">Как устранить: обратитесь в поддержку</mark>

```json
{
    "uuid": "644ab8a8-d569-42a9-b5f0-3764e4bbfb8c",
    "timestamp": "28.02.22 13:27:16",
    "status": "fail",
    "error": {
        "text": "Некорректное значение в JSON",
        "type": "driver",
        "code": 2007,
        "error_id": null
    }
}
```

</details>
