# カード 一覧取得（顧客情報共有グループ単位）

`GET /v1/cards`

- operationId: `retrieveCardList`
- tags: カード

顧客情報共有グループ単位でカード情報を一覧取得する API


## コードサンプル

### cURL

```bash
curl \
    -X GET \
    -H "Authorization:Bearer <Secret API Key>" \
'https://api.test.fincode.jp/v1/cards?limit=10&page=1&customer_id=<Customer ID>'
```

### Node.js

```javascript
import fetch from "node-fetch";

const BASE_URL = "https://api.test.fincode.jp";

const API_KEY = "<Secret API Key>";

(async () => {
    const endpoint = new URL(`${BASE_URL}/v1/cards`);
    endpoint.search = new URLSearchParams({
        limit: "10",
        page: "1",
        customer_id: "<Customer ID>",
    }).toString();

    const response = await fetch(endpoint, {
        method: "GET",
        headers: {
            Authorization: `Bearer ${API_KEY}`,
        },
    });
    const cards = await response.json();
})();
```

### Go

```go
package main

import (
	"fmt"
	"log"
	"net/http"
)

func main() {

	apiKey := "<Secret API Key>"

	// リクエストの作成
	req, _ := http.NewRequest("GET", "https://api.test.fincode.jp/v1/cards", nil)
	req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", apiKey))

	params := req.URL.Query()
	params.Add("limit", "10")
	params.Add("page", "1")
	params.Add("customer_id", "<Customer ID>")
	req.URL.RawQuery = params.Encode()

	// リクエストの送信
	client := &http.Client{}
	res, err := client.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	defer res.Body.Close()

}
```

### PHP

```php
<?php

$apiKey = '<Secret API Key>';

$baseUrl = "https://api.test.fincode.jp";
$endpoint = "/v1/cards";
$queryParams = [
    "limit" => 10,
    "page" => 1,
    "customer_id" => '<Customer ID>',
];

$headers = [
    "Authorization: Bearer " . $apiKey,
];

$session = curl_init();
curl_setopt($session, CURLOPT_URL, $baseUrl . $endpoint . '?' . http_build_query($queryParams));
curl_setopt($session, CURLOPT_HTTPHEADER, $headers);
curl_setopt($session, CURLOPT_HTTPGET, true);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
// curl_setopt($session, CURLOPT_SSL_VERIFYPEER, );
// curl_setopt($session, CURLOPT_SSL_VERIFYHOST, );

$response = curl_exec($session);

if ($response === false) {
    # エラー処理
    echo "cURL Error: " . curl_error($session);
} else {
    # APIからのデータを処理
    var_dump($response);
}

curl_close($session);
```

### Python 3

```python
import requests

api_key = '<Secret API Key>'

url = f'https://api.test.fincode.jp/v1/cards'

# ヘッダーを設定
headers = {
    'Authorization': f'Bearer {api_key}',
}
query_params = {
    'limit': 10,
    'page': 1,
    'customer_id': '<Customer ID>',
}

try:
    response = requests.get(url, headers=headers, params=query_params)

    # レスポンスの処理
    if response.status_code == 200:
        # APIからのデータを処理
        print(f"Success: {response.json()}")
    else:
        # エラーの処理
        print(f"Error: {response.json()}")
except requests.RequestException as e:
    # 通信エラーの処理
    print(f"Request error: {e}")
```

### Ruby

```ruby
require 'net/http'
require 'uri'

API_KEY = '<Secret API Key>'
BASE_URL = 'https://api.test.fincode.jp'

def main
    endpoint = "/v1/cards"
    query_params = {
        limit: 10,
        page: 1,
        customer_id: '<Customer ID>'
    }

    uri = URI.parse(BASE_URL + endpoint)
    uri.query = URI.encode_www_form(query_params)

    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true

    # リクエストの作成
    request = Net::HTTP::Get.new(uri.request_uri)
    request['Authorization'] = "Bearer #{API_KEY}"

    # リクエストの送信
    response = http.request(request)

    case response
    when Net::HTTPSuccess
        puts 'SUCCESS'
    else
        puts 'ERROR'
    end

    # レスポンスの表示
    puts response.body
end

main
```

## パラメータ

| 名前 | 位置 | 必須 | 型 | 説明 |
| --- | --- | --- | --- | --- |
| `クエリ` | query |  | Pagination.QueryParams | カード情報の一覧取得において検索条件となるクエリパラメータ |
| `Tenant-Shop-Id` | header |  | schema | <span class="smallText color--red-400">※ 顧客情報を共有しないプラットフォームのメインショップのみ指定可</span> |

## レスポンス

### 200 リクエストに成功

| パラメータ | 型 | 必須 | 説明 |
| --- | --- | --- | --- |
| `total_count` | integer |  | 総件数 |
| `last_page` | integer |  | 最後のページのページ数 |
| `current_page` | integer |  | 現在のページのページ数 |
| `limit` | integer |  | 1ページの最大件数 |
| `link_next` | string |  | 次のページのコンテンツを取得するためのURL |
| `link_previous` | string |  | 前のページのコンテンツを取得するためのURL |
| `list` | array<Card> |  |  |

### 400 不正なリクエスト

| パラメータ | 型 | 必須 | 説明 |
| --- | --- | --- | --- |
| `errors` | array<FincodeAPIError> |  |  |

