# Общий формат ответа

Все ответы API MoreLogin имеют стандартный формат JSON.

## Структура ответа

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

| Поле | Тип | Описание |
|  --- | --- | --- |
| `code` | `integer` | Код результата. `0` = успех, другие значения указывают на ошибки. |
| `msg` | `строка | ноль` | Сообщение об ошибке. `null` в случае успеха |
| `data` | `объект | массив | ноль` | Полезная нагрузка ответа. Структура зависит от конечной точки |
| `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` означает, что запрос был получен, но не прошел проверку.