> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fin-observe.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Опрацювання помилок

При зверненні клієнта до сервісу CheckLists по API, можуть виникати ситуації коли сервіс чи пошукові реєстри, які використовує сервіс, недоступні. Для коректного опрацювання даних ситуацій необхідно знати наступне. У відповідь на запит сервіс повертає HTTP-статус відповіді. Аналізуючи його та структуру відповіді, можна виділити наступні ситуації в роботі сервісу:

* HTTP-статус з кодом в діапазоні 500-599 - сервіс CheckLists недоступний, або працює некоректно
* HTTP-статус з кодом в діапазоні 400-499 - сервіс CheckLists доступний, проте не може опрацювати ваш запит. У відповіді замість описаної вище структури, клієнт отримає наступну структуру з описом помилки:
  * error int
  * message string

Перелік помилок:

| **message**                                                                                           | **error**                           |
| :---------------------------------------------------------------------------------------------------- | :---------------------------------- |
| Користувач «користувач» відсутній.                                                                    | ACCOUNT\_NOTFOUND = 1;              |
| Адреса «ip адреса» відсутня у списку дозволених.                                                      | NOT\_ALLOW\_IP = 2;                 |
| Тестовий (акційний) доступ: ліміт запитів вичерпано або термін дії закінчився.                        | TEST\_ACCESS\_END = 3;              |
| Користувачу «користувач» дозволений доступ тільки через веб ресурс.                                   | SITEONLY = 6;                       |
| Дата початку користування сервісом «дата початку» ще не настала.                                      | ACCOUNT\_NOT\_ALLOWED\_YET = 7;     |
| «дата закінчення» закінчився дозволений період користування сервісом.                                 | ACCOUNT\_ACCESS\_ENDS = 8;          |
| Користувач «користувач» заблокований.                                                                 | ACCOUNT\_BLOCKED = 9;               |
| Користувач «користувач» не підтвердив реєстрацію.                                                     | ACCOUNT\_NOT\_CONFIRM = 10;         |
| Ліміт запитів («ліміт запитів») було вичерпано.                                                       | ACCOUNT\_REQUEST\_LIMIT\_ENDS = 11; |
| Не вірно вказаний параметр 'Початкова дата' для перевірки змін в ЄДРЮО і ФОП                          | REQUEST\_BEGINDATE\_ERROR = 103;    |
| Не вірно вказаний параметр 'Кінцева дата' для перевірки змін в ЄДРЮО і ФОП                            | REQUEST\_ENDDATE\_ERROR = 104;      |
| Не вірно вказаний параметр нижньої межі входження lowranklimit для пошуку по базі санкційних списків. | REQUEST\_LOWRANKLIMIT\_ERROR = 105; |

* HTTP-статусом з кодом 200 - сервіс CheckLists доступний і може опрацьовувати запити від клієнтів. Структура відповіді може змінюватися в залежності від доступу до пошукових реєстрів.
  * пошуковий реєстр до яких ви звертаєтесь працює, ви маєте до нього доступ, та опрацювання запиту не перевищує виділений для цього час - сервіс завжди повертає результат (структура описана вище по тексту, або порожній масив у разі відсутності збігів)
  * iнакше в блоці відповіді по даному пошуковому реєстру замість структури відповіді клієнт може отримати текстове повідомлення з помилкою. Перелік даних повідомлень та ситуацій при яких вони з’являються:
    * "9000.Відсутній зв'язок з сервісом" – Пошуковий реєстр не працює або сервіс немає зв’язку з ним
    * "9001.Доступ до сервісу заборонений" - Доступ до пошукового реєстру заборонений, так як він не входить в пакет послуг, які ви оплатили
    * "9003.Обробка запиту перевищує виділений для цього час. Уточніть запит" – виникає коли обробка запиту до пошукового реєстру перевищує виділений для цього час
    * "9004.Відсутній зв'язок з базою даних сервісу" - виникає коли сервіс, який обслуговує реєстр, доступний, проте відсутній зв'язок з базою даних реєстру
