0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Square 割引価格Sale Price API

Posted at

TL;DR

商品の割引価格APIはドキュメント化されていない。
list_catalog APIで、タイプをSALE_PRICEを指定すれば全ての割引設定を取得できる。

割引価格とは

商品情報を編集画面で割引価格を追加できる。これはスクエアのsale_priceということだ。

image.png

ここに追加して保存すれば、割引価格が反映される

ノードキュメント

このデータに関するドキュメントは一切ない。Googleでsite:developer.square.comを検索しても何も出てこない。

当然CatalogのObject Typeページにも記載なし。

オフィシャル掲示板でスレがあるが、答えは、「残念ながら、現時点(2023/10)で割引価格を取得するAPIを提供していない」。

image.png

2年前の情報だったが、一番最新でもある。

推測

ではどうやってこの秘密APIを見つけたか?

フロントエンド側の商品画面で割引情報があるということは、HTTPリクエストで取得できるということなので、商品編集画面で発行されたリクエストをDev Toolsで確認してみた。

GETリクエスト先:
https://app.squareup.com/v2/catalog/frontend/object/hogehoge?object_id=hogehoge&include_related_objects=true

レスポンスには下記の情報があるので、

  • 割引価格はitem_variation_dataにあるから、少なくともcatalogデータの一部であることに間違いない
  • タイプ名はSALE_PRICE
"item_variation_data": {
    "item_id": "hogehoge",
    "name": "ZIND.dev一年契約",
    "sku": "362341R",
    "ordinal": 1,
    "pricing_type": "FIXED_PRICING",
    "price_money": {
        "amount": 120000,
        "currency": "USD"
    },
    "location_overrides": [
        {
            "location_id": "YOKOHAMA",
            "track_inventory": true
        }
    ],
    "track_inventory": true,
    "sellable": true,
    "stockable": true,
    "channels": [
        "CH_ZIND.DEV",
    ],
    "sale_prices": [
        {
            "type": "SALE_PRICE",
            "id": "hogehoge",
            "updated_at": "2025-09-02T15:07:12.925Z",
            "created_at": "2025-09-02T15:07:13.018Z",
            "version": 1756825632925,
            "is_deleted": false,
            "present_at_all_locations": true,
            "sale_price_data": {
                "item_variation_id": "hogehoge",
                "sale_price_type": "SALE_PRICE_TYPE_FIXED_AMOUNT",
                "amount_money": {
                    "amount": 100000,
                    "currency": "USD"
                }
            }
        }
    ]
}

上記の情報+脳内妄想で、もしかしたらCatalogのList APIでObject TypeをSALE_PRICEに指定すればいい?

ビンゴー。

終わり

というわけで。Squareの割引APIの推理コントでした。

って、なぜ普通にリクエストできるのに、ドキュメントされていないか?

  • 単純に忘れてしまった
  • 最近リリースしたばかりなのでまだ不安定、みんなに使われたくない
  • そもそも公開すべきではなかったAPIをうっかり公開しちゃった

だと思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?