fulfillmentOrderHoldのmutationを叩いた際の、uninterruptible stateというエラーについて

Shopify Appを開発しています。

Admin APIのfulfillmentOrderHoldのmutationを叩いた際に、userErrorsの返り値に

Cannot apply a fulfillment hold on a fulfillment order in an uninterruptible state.

というエラーが入っていることがありました。

これは毎回ではなく、1回だけ再現しています。

実際にはfulfillmentOrderHoldによるフルフィルメントを保留にする処理は成功していましたが、

userErrorsに値が入っていると例外を出すようにアプリを実装しているので、後続の処理は止まってしまいました。

このエラーおよびuninterruptible stateについて、調べてみましたが文献が見つからず、

これはどのような状態で、無視しても問題はないものかについてお聞きしたいです。

おそらくですが、オーダーが作成されてすぐにフルフィルメント保留のAPIを読んだ場合などに、両者は非同期で走るので、オーダーの注文のステータス変更が追いついていなくて起こるエラーかもしれません。

タイミングをずらすなどでして、検証していただけますか?

どうしても解決しない場合は、パートナーダッシュボードのサポートメニューから、Report an issueで、実際のmutationとレスポンス、その時のRequrst IDを添えて、不具合として報告してください(英語での報告の方がスムーズです)

ご回答ありがとうございます。

まさに、Order作成後すぐにmutationを叩いておりました。

現状ではこのエラーが出てもフルフィルメント保留にはなっているようですが、

このエラーが出たときは、念の為フルフィルメント状態が保留になっているか確認し、なっていなければ再度mutationを実行するという実装にしておこうと思います。

相談窓口も案内いただきありがとうございました。

1 Like

こちらですが、すでにフルフィルメントが保留になっているfifllmentOrderに対してfulfillmentOrderHoldを叩くと、100%再現することを確認しました。

1 Like