---
title: 買取強化対象を取得する
description: LPやXの投稿用アプリが、店舗の買取強化対象（強化価格・残り枚数・掲載期間）を読むための使い方です。
---

買取強化対象は、店舗がしばらく通常より高く買い取るカードやBOXの一覧です。店舗は毎日コンソールで価格と残り枚数を見直し、最終見積の承諾を記録すると残り枚数が減ります（[買取強化対象の使い方](/guides/purchase/purchase-boosts)）。外部アプリは、この一覧をAPIで読んでLPや投稿に載せます。

## 必要な権限

`purchase-boosts:read` だけで読めます。在庫の権限（`inventory:read`）は要りません。店舗の連携先の登録で「買取強化対象を読み取る」を許可してもらい、認可のときに `scope` へ `purchase-boosts:read` を入れてください。

## 一覧を取得する

```bash
curl https://api.toreca-cloud.com/partner/v1/purchase-boosts \
  -H "Authorization: Bearer $ACCESS_TOKEN"
```

```json
{
  "boosts": [
    {
      "id": "01a1…",
      "target": {
        "kind": "card",
        "card": {
          "id": "01a0…",
          "name": "リザードンex",
          "cardNumber": "201/165",
          "imageUrl": "https://images.toreca-cloud.com/…",
          "rarity": { "code": "SAR", "name": "SAR" },
          "set": { "id": "…", "code": "SV2a", "name": "ポケモンカード151" },
          "game": {
            "id": "…",
            "code": "pokemon",
            "name": "ポケモンカードゲーム"
          }
        },
        "grade": {
          "id": "…",
          "code": "10",
          "label": "PSA 10",
          "serviceCode": "psa",
          "serviceName": "PSA",
          "serviceKind": "third_party"
        }
      },
      "priceMinor": 120000,
      "currency": "JPY",
      "remainingQuantity": 2,
      "status": "open",
      "startsAt": null,
      "endsAt": "2026-10-10T15:00:00.000Z",
      "note": "美品に限ります",
      "updatedAt": "2026-10-04T09:12:33.000Z"
    }
  ],
  "generatedAt": "2026-10-04T09:30:00.000Z"
}
```

| 項目                  | 意味                                                                                                 |
| --------------------- | ---------------------------------------------------------------------------------------------------- |
| `target.kind`         | `card`（カード）か `box`（BOX・パック・デッキ）。BOXのときは `target.product` に商品の情報が入ります |
| `target.grade`        | 対象のグレード。`null` はグレードを問いません                                                        |
| `priceMinor`          | 1枚あたりの強化価格。円の整数です（120000 は12万円）                                                 |
| `remainingQuantity`   | あと何枚買い取るか。`null` は上限なしです                                                            |
| `startsAt` / `endsAt` | 掲載期間。`endsAt` の時刻になった時点で掲載が終わります。`null` は指定なしです                       |
| `note`                | 店舗がLPや投稿向けに書いた一言です                                                                   |

一覧には、いま掲載中のものだけが強化価格の高い順に入ります。開始前、一時停止中、終了したもの、期限が過ぎたものは入りません。

## 受付を締め切った強化も載せる

`include=filled` を付けると、残り枚数が0になった強化も `status: "filled"` で返ります。LPで「受付終了」と表示したいときに使います。

```bash
curl "https://api.toreca-cloud.com/partner/v1/purchase-boosts?include=filled" \
  -H "Authorization: Bearer $ACCESS_TOKEN"
```

## 使い方のこつ

- 残り枚数は買取のたびに減ります。LPは数分から15分おきに取り直すか、表示のたびにサーバー側で取得してください。応答はキャッシュせずに使う前提です。
- 投稿の文面は、`target.card.name`、グレードの `label`、`priceMinor`、`remainingQuantity` から組み立てられます。
- 画像は `imageUrl` をそのまま使えます。画像がないカードは `null` です。
- 店舗が掲載を止めると、次の取得から一覧に出なくなります。前回の結果を残して表示し続けないでください。

```ts
const yen = new Intl.NumberFormat("ja-JP");
const lines = boosts.map((boost) => {
  const name =
    boost.target.kind === "card"
      ? `${boost.target.card.name}${boost.target.grade ? ` ${boost.target.grade.label}` : ""}`
      : boost.target.product.name;
  const left =
    boost.remainingQuantity === null
      ? ""
      : `（あと${boost.remainingQuantity}枚）`;
  return `${name} ${yen.format(boost.priceMinor)}円${left}`;
});
const post = ["本日の買取強化", ...lines].join("\n");
```

項目の定義は[APIリファレンス](/api/reference)にあります。
