買取強化対象を取得する
LPやXの投稿用アプリが、店舗の買取強化対象(強化価格・残り枚数・掲載期間)を読むための使い方です。
買取強化対象は、店舗がしばらく通常より高く買い取るカードやBOXの一覧です。店舗は毎日コンソールで価格と残り枚数を見直し、最終見積の承諾を記録すると残り枚数が減ります(買取強化対象の使い方)。外部アプリは、この一覧をAPIで読んでLPや投稿に載せます。
必要な権限
purchase-boosts:read だけで読めます。在庫の権限(inventory:read)は要りません。店舗の連携先の登録で「買取強化対象を読み取る」を許可してもらい、認可のときに scope へ purchase-boosts:read を入れてください。
一覧を取得する
curl https://api.toreca-cloud.com/partner/v1/purchase-boosts \
-H "Authorization: Bearer $ACCESS_TOKEN"
{
"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で「受付終了」と表示したいときに使います。
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です。 - 店舗が掲載を止めると、次の取得から一覧に出なくなります。前回の結果を残して表示し続けないでください。
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リファレンスにあります。

