FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

APIで注文キャンセルしたい

APIで注文キャンセルしたい

mxmtst0314
訪問者
3 0 0

/ドメイン.myshopify.com/admin/api/2025-04/orders.json?name= 注文番号 

で#から始まる注文番号を検索してIDを取得し、

それをつかってAPIでキャンセルしてました。

テストではそれで上手くいってたんですが、実装後に検索結果で出てくる注文が異なることに気が付きました。

 

どうやったらキャンセルAPIが使えますか?

1件の返信1

Qcoltd
Shopify Partner
1402 543 519

@mxmtst0314 様

 

なぜ、テストと実際の運用で結果が変わってしまうのかは分からないのですが、

まず、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で組み直してみてはいかがでしょうか?

 

ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/