問題
- APIコールで新規注文を作成し、注文アイテムにオプションを追加しました。
ステップ:
1. ミニサイトを作成する。
2. ビジネスアカウントを作成し、管理者ユーザーを追加する。
3. ミニカタログで商品(例:コーヒー)を作成する。
4. Optionsタブに移動し、新しいオプションを作成する(例:Textタイプのsugar)。
5. channelIdとaccountIdをメモしておき(UIで確認できる)、後のAPIコールで使用する。
6. 以下のAPIのレスポンスから商品のproductIdを取得します:
そして、productIDが必要とされる行でそれを使用する。
7. APIコールのレスポンスから "id "フィールドを取得する:
を使用し、skuIdが必要な行でそれを使用する。
8. APIコールで新規注文を作成する
そしてこんな体:
{"accountId":33816, "channelId":32351, "orderItems": [ { "options":"[{\"key\":\"sugar\",\"required\":false,\"value\":[\"no\"]}]", "quantity":1, "skuId":33824, "productId":33821 } ], "printedNote":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse at tellus non nulla venenatis fringilla vel sit amet sem. Maecenas.", "currencyCode":"USD" }
9. 以下のAPIを使用して、発注済み注文のリストを取得する:
を実行し、結果を確認する。
結果: APIリクエストに含まれているにもかかわらず、"options "フィールドは空である。
Environment
- 7.4
解決策
-
これは意図された行動である。 POSTAPIでオプションを追加できるのは、CommerceOrderが で
headless.admin.order
を開いている場合のみです。 -
したがって、POST API
"orderStatus" の一部として以下を追加する:2
会員限定記事
Liferay エンタープライズ サブスクリプションをお持ちのお客様は1500件を超えるベストプラクティス、トラブルシューティング、その他のソリューション記事を閲覧できます。ログインすると、記事全体をお読みいただけます。
ログイン