# Загальний формат відповіді

Усі відповіді MoreLogin API відповідають стандартному формату JSON.

## Структура відповіді

```json
{
  "code": 0,
  "msg": null,
  "data": {},
  "requestId": "unique-request-id"
}
```

| Поле | Тип | опис |
|  --- | --- | --- |
| `code` | `integer` | Код результату. `0` = успіх, інші значення вказують на помилки |
| `msg` | `рядок | null` | Повідомлення про помилку. `null` у разі успіху |
| `data` | `об'єкт | масив | null` | Корисне навантаження відповіді. Структура залежить від кінцевої точки |
| `requestId` | `string` | Унікальний ідентифікатор запиту. Включіть це під час звернення до служби підтримки |


## Успішна відповідь

```json
{
  "code": 0,
  "msg": null,
  "data": {
    "id": 1234567890
  },
  "requestId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
```

## Відповідь на помилку

```json
{
  "code": 99001,
  "msg": "Invalid parameters",
  "data": null,
  "requestId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
```

## Розбиті на сторінки відповіді

Кінцеві точки списку повертають розбиті на сторінки дані в такому форматі:

```json
{
  "code": 0,
  "msg": null,
  "data": {
    "total": 100,
    "current": 1,
    "pages": 10,
    "dataList": [
      { ... },
      { ... }
    ]
  },
  "requestId": "..."
}
```

| Поле | опис |
|  --- | --- |
| `total` | Загальна кількість записів |
| `current` | Номер поточної сторінки |
| `pages` | Загальна кількість сторінок |
| `dataList` | Масив записів для поточної сторінки |


## Коди стану HTTP

| Статус | опис |
|  --- | --- |
| `200` | Запит успішно оброблено (перевірте поле `code` для бізнес-результату) |
| `401` | Неавторизований — маркер доступу недійсний або прострочений |
| `403` | Заборонено — недостатньо прав |
| `429` | Забагато запитів — перевищено ліміт кількості |
| `500` | Внутрішня помилка сервера — зверніться до служби підтримки |


> **Порада**: завжди перевіряйте поле `code` у тілі відповіді, а не лише код статусу HTTP. HTTP-статус `200` із `code: 99001` означає, що запит отримано, але перевірка не пройшла.