テーブル利用の注文APIで注文する際のNewOrderItemのsellingPrice
現在、クライアント専用のモバイルオーダーサイトを運用しています。
注文APIでオーダーする際に、
オーダーする商品ごとに、NewOrderItemを作成して、APIをコールしています。
現在、NewOrderItemの、sellingPriceは、項目を設定せずにコールすると、
商品マスタの課税区分、金額、及び、店舗の課税区分に応じたオーダーがはいっています。
これは私の想定したとおりの動作で問題がないのですが、
sellingPriceを指定しない場合、商品マスタの設定に従うという動作が、公式な作法なのかどうかを知りたいです。
もし、公式であれば問題ないのですが、そうでなくたまたまうまくいっているだけであれば、対処したいと考えております。
Waiterの仕様書をみると、同じ注文APIでも、
nameには、
>メニュー名 (項目がない場合、メニューマスタの設定が適用されます)
と記載されていると思えば
>customContentId string Nullable
のように、Nullを指定可能と明示されている(ではnameに項目がない場合ってどういう意味?)
ものもあり、項目がないと、Nullableはどう違うのかなど、
項目がない場合、どのような挙動なのか、よくわからない箇所があります。
今は実際に実験して、確認していますが、公式の作法でなかった場合、
気が付かないうちに挙動が変化していると困ります。
よろしくお願いいたします。
ベストアンサー
-
>sellingPriceを指定しない場合、商品マスタの設定に従うという動作が、公式な作法なのかどうかを知りたいです。
検証していただいた通り、sellingPriceを指定しない場合はメニューマスタの設定が適用されます。
なお、こちらは公式の動作です。(仕様書に明記されておらず申し訳ありません。)
弊社からの仕様変更のお知らせ等が無いまま急に動作が変わってしまうことはありませんのでご安心ください。
>Waiterの仕様書をみると、同じ注文APIでも、
>nameには、
>メニュー名 (項目がない場合、メニューマスタの設定が適用されます)
>と記載されていると思えば
>customContentId string Nullable
>のように、Nullを指定可能と明示されている(ではnameに項目がない場合ってどういう意味?)
>ものもあり、項目がないと、Nullableはどう違うのかなど、
>項目がない場合、どのような挙動なのか、よくわからない箇所があります。
「項目がない場合」は【リクエストにその項目がない場合】を意味しています。
対して、「Nullable」は【リクエストにその項目がある場合にnullを指定可能】を意味しています。
また、name(メニュー名)はリクエストにnameが無い場合にメニューマスタの設定が適用されます。
nameはNullを指定することが出来ないため、リクエストにnameを入れた場合は必ず文字列を入れる必要があります。
customContentId(お好みオーダー内容ID)では、記載していただいている通りnullを指定可能としているため、
リクエストにcustomContentIdを入れた場合、文字列を入れなくとも注文の登録が出来ます。
答え
ありがとうございます。