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

<figure><img src="/files/uFVtZJmt4iIcs4UwnH4x" alt=""><figcaption></figcaption></figure>

## 1. Сайт не найден

Пример сообщения об ошибке

```
HTTP 401 Unauthorized
{ 
    “message”: ”Сайт не найден” 
}
```

Причины возникновения ошибки:

* **Сайт не активирован.** Дождитесь активации сайта, ибо пока он в статусе модерация, вы не можете работать с ним по API
* **Некорректный API токен.** Убедитесь что не скопировали лишние символы, а то что скопировали - скопировано в полном объеме

## 2. Доступ запрещен

```json
HTTP 403 Forbidden
{
    "error": "Доступ запрещен"
}
```

Причины возникновения ошибки:

**Некорректный IP адрес.** Если вы указали белый список IP адресов, то убедитесь что вы выполняете запросы с одного из них. Иногда бывает так что в списке айпи адресов только ваши личные, а айпи адрес сервера забыли указать.

## 3. Некорректная подпись

Пример сообщения об ошибке

```
HTTP 401 Unauthorized
{ 
    "code": "invalid_signature",
    "message": "Некорректная подпись"
}
```

Причины возникновения ошибки:

* **Подпись не корректна.** Убедитесь что вы правильно ее считаете. Убедитесь что начальный слеш входит в текстовую часть, которую вы берете для подсчета подписи.

## 4. Некорректный контент запроса

Пример сообщения об ошибке

```
HTTP 400 Bad request
{
    "message": "Invalid json message received"
}
```

Причины возникновения ошибки:

* **Ошибки синтаксиса JSON.** Убедитесь что нет лишних запятых, что количество закрывающих скобок соответствует числу открывающих. Проверьте контент запроса в json валидаторе

## 5. Некорректные значения

Пример сообщения об ошибке

```
HTTP 422 Unprocessable Entity
{
  "message": "Validation failed",
  "errors": [
     "поле, с которым проблема": [
        "сообщение о проблеме №1",
        "сообщение о проблеме №2",
     ]
  ]
}
```

Причины возникновения ошибки:

* **Неподходящее значение поля.** Внутри структуры errors все ошибки будут перечислены в разрезе полей, в которых валидация выявила какие-то проблемы. Нужно внимательно посмотреть к какому полю относится ошибка и проверить действительно ли вы указали корректное значение. Например может быть ошибка о том, что такой метод не доступен. В этом случае убедитесь что у вас на сайте действительно есть и доступен указанный метод.

## 6. Страница не существует

Пример сообщения об ошибке

```
HTTP 404 Not found
```

Причины возникновения ошибки:

* **Указана несуществующая страница.** Убедитесь что не опечатались когда указывали ссылку&#x20;

## 7. Превышен лимит запросов

Пример сообщения об ошибке

```
HTTP 429 Too Many Requests
```

Причины возникновения ошибки:

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

## 8. Функционал не реализован

Пример сообщения об ошибке

```
HTTP 501 Not Implemented
{
  "code": "not_implemented",
  "message": "Not implemented"
}
```

Причины возникновения ошибки:

* **Требуемая функциональность не реализована.** Мы предоставляем максимально широкий спектр функциональности, но не все наши поставщики делают тоже самое. Например кто-то поддерживает отмену выплаты, а кто-то нет. В случае если наш поставщик услуги не поддерживает требуемую функциональность, то мы формируем ответ с указанной ошибкой.

## 9. Внутренняя ошибка

Пример сообщения об ошибке

```
HTTP 500 Internal server error
```

Причины возникновения ошибки:

* **Что-то пошло не так.** Попробуйте пожже, а если проблема не уйдет - обратитесь в  поддержку


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fkassa.gitbook.io/firekassa-api-v2/overview/errors.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
