REST Admin APIによる「order risk」の作成・更新に「order_id」が必要になりました
ShopifyのREST Admin APIで「order risk」の作成や更新を行う際、新たに「order_id」の指定が必須となりました。この変更は、以前は「order_id: null」を用いてOrderRiskモデルを作成できたものの、チェックアウトのオーダーリスクを作成し、チェックアウトをブロックする前に使用されることがありました。しかし、外部アプリではこの機能は利用されていませんでした。
技術的課題の定義と現状分析
REST Admin APIを用いて「order risk」の作成・更新を行う際、以前は「order_id」の指定が不要でした。これにより、「order_id: null」を使ってOrderRiskモデルを作成し、チェックアウトのオーダーリスクを作成し、チェックアウトをブロックすることが可能でした。しかし、この方法は外部アプリでは利用されておらず、また「order_id」が指定されていない状態でのリスク作成は、混乱を招く可能性がありました。
具体的な技術的ソリューションの提案
上記の問題を解決するため、ShopifyはREST Admin APIでの「order risk」の作成・更新に「order_id」の指定を必須にしました。これにより、オーダーリスクの作成が「order_id」に紐づけられ、より明確に、また混乱を避けた形でリスク管理が行えるようになります。
実装手順とコード例
新たにREST Admin APIを使用して「order risk」を作成・更新する場合、以下のように「order_id」を指定する必要があります。
POST /admin/api/2022-07/orders/{order_id}/risks.json
{
"risk": {
"message": "This order was placed from a proxy IP",
"recommendation": "Investigate the order",
"score": 0.5,
"source": "External",
"cause_cancel": false,
"display": true
}
}
パフォーマンス・コスト分析
この変更により、各「order risk」が具体的な「order_id」に紐づくことで、リスクの管理が明確になり、混乱を避けることが可能となります。結果として、システムのパフォーマンスや効率性が向上し、コストも削減されると考えられます。
実装時の注意点・ベストプラクティス
新たに「order_id」の指定が必須となったことを確認し、APIを使用する際は「order_id」を必ず指定するようにしましょう。また、この変更は既存のコードに影響を及ぼさないため、既存のコードの更新は必要ありません。
次のステップ・発展案
この変更を機に、APIを使用したリスク管理の効率化・自動化を目指すことができます。さらに、具体的な「order_id」に紐づくリスクを作成・管理することで、より具体的なリスク分析と対策が可能となります。
参考記事: Creating or updating an order risk with the REST Admin API now requires an `order_id`






Share:
ProductVariantの翻訳可能リソースで、titleフィールドが非推奨になりました
REST Admin API - 位置情報リストの取得がページネーションに対応しました