Liquid、JavaScriptなどに関する質問
/ドメイン.myshopify.com/admin/api/2025-04/orders.json?name= 注文番号
で#から始まる注文番号を検索してIDを取得し、
それをつかってAPIでキャンセルしてました。
テストではそれで上手くいってたんですが、実装後に検索結果で出てくる注文が異なることに気が付きました。
どうやったらキャンセルAPIが使えますか?
なぜ、テストと実際の運用で結果が変わってしまうのかは分からないのですが、
まず、REST APIを利用する強い理由がないようでしたら、GraphQL APIを利用することをお勧めいたします。
https://shopify.dev/docs/api/admin-rest/2025-04/resources/order#get-orders?status=any
The REST Admin API is a legacy API as of October 1, 2024. Starting April 1, 2025, all new public apps must be built exclusively with the GraphQL Admin API. For details and migration steps, visit our migration guide.
とのことですので、今後REST APIはメンテナンスされない恐れがあります。
GraphQLでnameで注文を検索されたい場合は、
https://shopify.dev/docs/api/admin-graphql/unstable/queries/orders
を参考にしますと、
query {
orders(query: "name:#1001") {
edges {
node {
id
}
}
}
}
のようにすると、商品のIDが取得できるかと思います。
(ご存知でしたら恐縮です。)
同様に注文キャンセル用のmutationも用意されていますので、
https://shopify.dev/docs/api/admin-graphql/unstable/mutations/ordercancel
こちらを参考にGraphQLで組み直してみてはいかがでしょうか?
ご参考まで。
(キュー田辺)
いつもShopifyをご利用いただき、ありがとうございます。 Shopifyは、皆様の日本語での利用体験の向上に努めております。さらなる改善のために皆様のご意見をお寄せい...
By JasonH May 9, 2025Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025