# 共通応答フォーマット

すべての 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` | 内部サーバー エラー — サポートにお問い合わせください |


> **ヒント**: HTTP ステータス コードだけでなく、応答本文の `code` フィールドを常に確認してください。 `200` HTTP ステータスと `code: 99001` は、リクエストは受信されたが検証に失敗したことを意味します。