LineItem.weight がGraphQL Admin API 2026-07 以降、注文明細(LineItem)の重量を Weight オブジェクト(value + unit)として直接クエリできる。REST の grams から単位を手で換算する必要がなくなる。
LineItem 型に対して weight フィールドをクエリできるようになった。grams から単位変換する手間がなくなる。
REST Admin API は明細重量をグラム単位の整数(grams)で返す。kg や lb で扱いたい場合は、自前で割り算・単位ラベル付けをしていた。
2026-07 以降の GraphQL Admin API なら weight { value unit } をそのままクエリ。値と単位がセットで返るので、換算コードが不要になる。
重量の数値部分。単位とセットで意味を持つ。
重量の単位部分。値とペアで返るため、表示・計算の際に単位を別途推測する必要がない。
weight が「value と unit を持つ Weight オブジェクト」であることまでが明示されている。unit が取り得る具体的な値(列挙)の一覧は記載なし。実装時は API スキーマ(GraphQL の Weight / WeightUnit)で確認すること。| 項目 | 従来 : REST Admin API | 新 : GraphQL Admin API(2026-07〜) |
|---|---|---|
| 取得対象 | LineItem の grams |
LineItem の weight |
| 返り値の形 | スカラー グラム単位の整数 | オブジェクト Weight(value + unit) |
| 単位の扱い | 常にグラム固定。他単位は自前換算 | 単位が unit として一緒に返る |
| 換算コード | 必要 | 不要 |
| 利用可能バージョン | 従来通り | GraphQL Admin API 2026-07 以降 |
※ REST の grams 提供有無や非推奨に関する記述は本記事には無い(記載なし)。本記事は GraphQL 側で weight が使えるようになった点のみを伝えている。
記事内のフィールド名(LineItem.weight → Weight { value unit })から組み立てた代表的なクエリ例。実際のフィールド構成は API スキーマで確認のこと。
この weight フィールドは GraphQL Admin API バージョン 2026-07 から。それ未満のバージョンを指定しているクライアントではクエリできない。
スカラーではなく Weight オブジェクト。value と unit をそれぞれサブフィールドとして取得する。
REST の grams から kg/lb 等へ手作業で換算していたボイラープレートを削除できる。単位の取り違えバグの予防にもなる。
注文全体ではなく、注文明細ごとの重量を取得できる。明細別の配送・料金計算に直接使える粒度。
これまで重量取得のために REST を残していたコードも、GraphQL 一本で扱えるようになる。unit が取り得る具体値は記事に記載が無いため、移行時は GraphQL スキーマの Weight / WeightUnit を確認してから実装すること。
grams で取得し、kg/lb へ手作業で換算して送料計算していた。換算箇所が散らばりバグの温床。LineItem.weight { value unit } を使い、値と単位をそのまま取得する。weight の value/unit を中継データにそのまま採用する。weight.value / weight.unit を ETL でそのまま取り込む。