Liquid、JavaScriptなどに関する質問
英語圏でのコミュニティにて似たような質問がございますが、回答が提示されず議論が止まっておりますのでこちらで質問をさせていただきます。
Admin Order APIにて特定の商品に対してのみ割引率が適用されるクーポンでの注文を反映をさせたいのですが、
Order APIのドキュメントに載っております discount_codes で反映をさせると、全体に対して割引が適用されます。
order > line_items > discount_allocations > discount_application_index に関しても調べまして
order > discount_applications はread-only ある且つ、discount_codes にて指定した上で discount_application_index を指定するのかと思ったのですが、それでも全体に適用されてしまいます。
上記仕様からOrder APIにて特定の商品に対して割引を適用させる注文を作成するにはどのように実現すればよいかご教示いただくことは可能でしょうか。
(discount_codesのtypeにfixed_amountをamountに割引額を入れれば似たようなorderは作れると思いますが少しモヤモヤするためこちらで質問をさせていただきました。)
以下にこちらで試してみた擬似的なコード掲載させていただきます。
・Order APIにてPOST
ex ) 1,250円の商品A * 1つ、1,250円の商品B * 2つ購入し、商品Aに対してのみ割引率20%を適用したい場合
サンプルとして実在しないクーポンを適用しておりますが、実在するクーポンをdiscount_codeにて指定しても同様の現象が起きます。
{
"order":{
"discount_codes" : [
{
"code": "SAMPLE_COUPON_01",
"amount": "20.0",
"type": "percentage"
}
],
"line_items":[
{
"quantity":1,
"variant_id":11111111111111,
"discount_allocations":[
{
"amount":"250.0",
"discountApplicationIndex": 0
}
]
},
{
"quantity":2,
"variant_id":22222222222222,
"discount_allocations": []
}
]
}
}
・Response (抜粋)
割引が全体に適用されてしまっています。
{
"order": {
"currency": "JPY",
"current_subtotal_price": "3000",
"current_total_discounts": "750",
"current_total_price": "3000",
"discount_codes": [
{
"code": "SAMPLE_COUPON_01",
"amount": "750",
"type": "percentage"
}
],
"subtotal_price": "3000",
"total_discounts": "750",
"total_line_items_price": "3750",
"total_price": "3750",
"discount_applications": [
{
"target_type": "line_item",
"type": "manual",
"value": "20.0",
"value_type": "percentage",
"allocation_method": "across",
"target_selection": "all",
"title": "SAMPLE_COUPON_01",
"description": "SAMPLE_COUPON_01"
}
],
"line_items": [
{
"price": "1250",
"quantity": 1,
"total_discount": "0",
"discount_allocations": [
{
"amount": "250",
"amount_set": {
"shop_money": {
"amount": "250",
"currency_code": "JPY"
},
"presentment_money": {
"amount": "250",
"currency_code": "JPY"
}
},
"discount_application_index": 0
}
]
},
{
"price": "1250",
"quantity": 2,
"total_discount": "0",
"discount_allocations": [
{
"amount": "500",
"amount_set": {
"shop_money": {
"amount": "500",
"currency_code": "JPY"
},
"presentment_money": {
"amount": "500",
"currency_code": "JPY"
}
},
"discount_application_index": 0
}
]
}
],
}
}
以上です。
私の認識がそもそも間違えている場合ご指摘いただけますと幸いです。
何卒よろしくお願い申し上げます。
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024