# GET /api/user

認証ユーザーとショップの情報取得

アクセストークンの所有者のアカウント情報とショップ情報を取得します。

次の情報をまとめて返します。

- アカウント情報：ログイン用メールアドレス、ニックネーム、外部サービスアカウント
- ショップ情報：ショップ識別子、公開 URL、名称、紹介文、カテゴリ、公開状態、カート専用モード、デフォルト税率

ショップデザイン、決済方法、特商法表記、経理情報など、別の専用エンドポイントで提供する項目は含みません。
取得によるデータの変更はありません。

## 要求スコープ

- `user.read`

## レスポンスボディ（200）

`application/json`

- `shop_id` string（必須）: ショップ識別子。ショップごとに一意の文字列です。
- `shop_url` string (uri)（必須）: ショップの公開 URL。独自ドメインを設定していればそのドメイン、していなければ BASE が提供するドメインになります。
- `mail_address` string (email)（必須）: ログインに使うメールアドレス
- `nickname` string | null（必須）: ニックネーム。未設定時は null です。
- `shop_name` string（必須）: ショップ名。未設定の場合は空文字列を返します。
- `shop_introduction` string | null（必須）: ショップ紹介文。利用者入力をそのまま返すため利用側で必ずエスケープしてください。未設定時は null です。
- `shop_category` NullableShopCategory（必須）: ショップが選択しているカテゴリ。最大 3 階層（大 / 中 / 小）の選択式で、選んでいない場合は null です。
  - `large` string（必須）: 大カテゴリの表示名
  - `middle` string | null（必須）: 中カテゴリの表示名。中カテゴリまで選んでいない場合は null です。
  - `small` string | null（必須）: 小カテゴリの表示名。小カテゴリまで選んでいない場合は null です。
- `able_to_business` boolean（必須）: ショップが公開中かどうか。false の間は商品ページが公開されません。
- `using_only_cart` boolean（必須）: カート専用モードかどうか。true のときは、自前サイトに BASE のカートのみを埋め込んで利用する形態です。
- `default_item_tax_type` "standard" | "reduced"（必須）: 新規商品作成時に適用するデフォルト税率。standard=標準税率, reduced=軽減税率
- `external_service_account` UserExternalServiceAccount（必須）
  - `twitter` string | null（必須）: X (旧 Twitter) のアカウント識別子。サービス側の表現に従い、@ つきハンドル等の文字列が入る場合があります。未連携時は null です。
  - `facebook` string | null（必須）: Facebook のアカウント識別子。未連携時は null です。
  - `ameba` string | null（必須）: Ameba のアカウント識別子。未連携時は null です。
  - `instagram` string | null（必須）: Instagram のアカウント識別子。未連携時は null です。
  - `line` string | null（必須）: LINE@ のアカウント識別子。未連携時は null です。
  - `youtube` string | null（必須）: YouTube のアカウント識別子。未連携時は null です。
  - `note` string | null（必須）: note のアカウント識別子。未連携時は null です。
  - `tiktok` string | null（必須）: TikTok のアカウント識別子。未連携時は null です。

## リクエスト例

```sh
curl -X GET "https://apiv2.thebase.com/api/user" \
  -H "Authorization: Bearer <your-token>"
```

## レスポンス

| Status | Description |
| --- | --- |
| `200` | 取得成功 |

## エラー

エラーは `application/problem+json` の Problem 形式で返します。認証・スコープ・予期しない内部エラーなど、すべてのエンドポイントに共通のエラーと構造・判別方法は [エラーレスポンス](/docs/errors.md) を参照してください。

このエンドポイントが返すその他のエラーは次のとおりです。

| Status | Type | Description |
| --- | --- | --- |
| `404` | `/errors/user/not-found` | 認証済みユーザーがすでに利用できない状態の場合に返します。 |

