# Коды ошибок

## Ожидаемые ошибки

**Ожидаемые ошибки** — это ошибки, которые всегда возвращаются с кодом статуса HTTP 200 OK. Эти ошибки указывают на то, что **запрос** был успешно обработан, даже если результат привел к ошибке. Стандартный формат ответа JSON для ожидаемых ошибок указан ниже:

```json
{
    "status": true,
    "status_code": 0,
    "message": "Success",
    "result": {
        "error_code": 1042,
        "message": "duplicate external id",
        "data": null,
    }
}
```

Детали ошибки  находятся в параметре `result` в полях `error_code` и `message`.

| Code | Text message                 | Description                                               | HTTP Status |
| ---- | ---------------------------- | --------------------------------------------------------- | ----------- |
| 0    | Success                      | Запрос успешно обработан                                  | 200         |
| 8301 | Unexpected db error          | Неопознанная ошибка при обработке ресурса                 | 200         |
| 1407 | Cache: item not found        | Запрашиваемый ресурс не найден                            | 200         |
| 1041 | Order not found              | Платеж с таким идентификатором не найден                  | 200         |
| 1042 | duplicate external id        | Повторное проведение платежа с одинаковым идентификатором | 200         |
| 9718 | provider not found           | Запрашиваемый поставщик не найден                         | 200         |
| 8015 | account doesn't exist        | Запрашиваемый баланс не найден                            | 200         |
| 9724 | showcase not found           | Запрашиваемая витрина не найдена                          | 200         |
| 9721 | showcase service not found   | Запрашиваемая услуга витрины не найдена                   | 200         |
| 5103 | transaction not found        | Запрашиваемая транзакция не найдена                       | 200         |
| 5413 | transaction already finished | Запрашиваемая транзакция финализирована                   | 200         |
| 8008 | project doesn't exist        | Запрашиваемый проект не найден                            | 200         |
| 1410 | not enough balance           | Недостаточно средств на балансе витрины                   | 200         |
| 9902 | parking doesn't exists       | Parking doesn't exists                                    | 200         |
| 9726 | project limit not found      | Ошибка на стороне платежной организации                   | 200         |
| 2012 | project commission not found | Ошибка на стороне платежной организации                   | 200         |
| 1600 | amount limit exceeded        | Сумма транзакции выходит за допустимые пределы проекта    | 200         |

## Неожидаемые ошибки

**Неожидаемые ошибки** — это ошибки, которые возвращаются с кодом HTTP, указывающим на сбой (например, 400 или 500). Эти ошибки сигнализируют о том, что запрос не был выполнен из-за таких проблем, как ошибки валидации, проблемы аутентификации или системные ошибки. Стандартный формат ответа JSON для неожиданных ошибок указан ниже:

```json
{
    "status": false,
    "status_code": 1014,
    "message": "Invalid signature",
    "result": {}
}
```

Поля`status_code` и`message` предоставляют основную информацию об ошибке.

<table><thead><tr><th>Code</th><th>Text message</th><th>Description</th><th width="149">HTTP Status</th></tr></thead><tbody><tr><td>500</td><td>Internal Server Error</td><td>Неопознанна ошибка сервера</td><td>500</td></tr><tr><td>1014</td><td>Invalid signature</td><td>Неправильно сформулированная подпись</td><td>400</td></tr><tr><td>1021</td><td>request validation error</td><td>Неправильное тело запроса</td><td>400</td></tr><tr><td>1404</td><td>Invalid action request</td><td>Не передано значение поля</td><td>400</td></tr><tr><td>5629</td><td>empty service code</td><td>не передано значение service_code</td><td>400</td></tr><tr><td>5610</td><td>invalid project code</td><td>не передано значение project, либо неверное значение</td><td>400</td></tr><tr><td>1301</td><td>login is not verified</td><td>не передано значение username</td><td>400</td></tr><tr><td>999999</td><td>Unknown error</td><td>Непредвиденная ошибка</td><td>500</td></tr></tbody></table>
