# 軽減税率対応にともなうAPIの変更について

Bカート本体の軽減税率対応に伴い、API側も軽減税率に対応を行います。

影響があるエンドポイントは下記3点となります。

・商品セット情報 (product_sets)

・受注(order)

・受注商品 (order_products)

明細区分の追加について

・明細区分の考え方について(item_type)

・従来どおりの形式で受注商品情報の取得(item_type)

参考 Bカート本体側の変更点

・アップデートのお知らせ【バージョン3.1.8】



商品セット (product_sets)の変更点一覧

追加される項目

項目名 【β版】 【正式版】 必要な対応
税区分 項目なし, "tax_type_id": 1, 1 = 標準税率 / 2 = 軽減税率 利用する場合プログラムの修正


レスポンスサンプル

"product_sets": [
        {
            "id": 1,
            "product_id": 1,
            "product_no": "XXX-1008-AA",
             ~~~~~~~~~~~~
             一部省略
             ~~~~~~~~~~~~
            "set_flag": "表示",
            "tax_type_id": 1,      //税区分
            "updated_at": "2019-07-18 16:27:09"
        }
                    ]


参考 Bカート本体側の変更点

商品セット情報編集ページに【税区分】の項目が追加



受注 (order)の変更点

追加される項目

項目名 【β版】 【正式版】 必要な対応
税率別の受注合計 項目なし, "order_totals": [] 利用する場合プログラムの修正
税率 order内に存在, "tax_rate": "0.08", 利用する場合プログラムの修正
税抜合計 項目なし, "total": "1000", 利用する場合プログラムの修正
税額 項目なし, "tax": "100",  利用する場合プログラムの修正
税込合計 項目なし, "total_incl_tax": 1080, 利用する場合プログラムの修正

※1つの注文に、軽減全税率対象商品(8%)と標準税率対象商品(10%)が存在する場合のレスポンスサンプル

    "orders": [
        {
            "id": 14,
            "code": "15016395691",
            "customer_id": 10002,
           ~~~~~~~~~~~
           一部省略
           ~~~~~~~~~~~          
            "total_price": 2000,
            "tax": 180,                  // 商品に対する税額合計 (送料/ポイント/手数料の税は含まない)
            "tax_rate": "0.08",
            "COD_cost": 0,       //税込決済手数料
            "shipping_cost": 500,          //税込送料
            "final_price": 2650, 
            "use_point": 0,
            "get_point": 0,
            "order_totals": [
                        {
                            "tax_rate": "0.08",      //軽減税率
                            "total": "1000",         //軽減税率対象商品の税抜合計
                            "tax": "80",         //軽減税率対象商品の税合計
                            "total_incl_tax": 1080,  //軽減税率対象商品の税込合計
                        },
                       {
                             "tax_rate": "0.1",      //標準税率
                             "total": "1500",        //標準税率対象商品 ・送料・決済手数料・ポイントの税抜合計
                             "tax": "100",       //標準税率対象商品・送料・決済手数料・ポイントとの税額合計
                             "total_incl_tax": 1100, //標準税率対象商品・送料・決済手数料・ポイントの税込合計
                         }
                          ],
            "customer_message": "",
           ~~~~~~~~~~~
           一部省略
           ~~~~~~~~~~~
            "status": "新規注文"
        }
           ]


受注商品 (order_products)の変更点

追加される項目

項目名 【β版】 【正式版】 必要な対応
税率 項目なし, "tax_rate": "0.1", 0.08 / 0.1 利用する場合プログラムの修正
税区分 項目なし, "tax_type_id": 1, 1 = 標準税率 / 2 = 軽減税率 利用する場合プログラムの修正
税込区分 項目なし, "tax_incl": 0 , 0 = 税抜 / 1 = 税込 利用する場合プログラムの修正
明細区分 項目なし, "item_type": "product" , product = 商品
shipping = 送料
point = ポイント
payment_fees = 決済手数料
利用する場合プログラムの修正

レスポンスサンプル

"order_products": [
        {
            "id": 21,
            "order_id": 14,
            "logistics_id": 20000017,
            "product_id": 5,
            "main_no": "",
            "product_no": "",
           ~~~~~~~~~~~
           一部省略
           ~~~~~~~~~~~ 
            "tax_rate": "0.08",      //税率
            "tax_type_id": 1,      //税区分
            "tax_incl": 0,        //税込区分
            "item_type": "product",   //明細区分
           ~~~~~~~~~~~
           一部省略
           ~~~~~~~~~~~
        }
        ]




※明細区分の考え方について

軽減税率のBカートアップデートにより商品以外の送料、ポイント利用、決済手数料も受注商品に追加されるようになります。

//受注商品内に送料が明細として追加された場合のレスポンスサンプルはこちら
"order_products": [
        {
            "id": 102,
            "order_id": 14,
            "logistics_id": null,
            "product_id": null,
            "main_no": "",
            "product_no": "",
            "jan_code": "",
            "location_no": "",
            "product_name": "送料",
            "product_set_id": null,
            "set_name": "",
            "unit_price": 500,
            "set_quantity": 1,
            "set_unit": "",
            "order_pro_count": 1,
            "shipping_size": 0,
            "tax_rate": "0.08",
            "tax_type_id": 1,
            "tax_incl": 1,
            "item_type": "shipping",  //明細区分 product = 商品 / shipping = 送料 /point = ポイント /payment_fees = 決済手数料
            "pro_custom1": "",
            "pro_custom2": "",
            "pro_custom3": "",
            "set_custom1": "",
            "set_custom2": "",
            "set_custom3": ""
        }
                            ]

また明細区分により商品、送料、ポイント利用、決済手数料(代引き手数料)が判別できるようになっています。

"item_type": product




※明細区分として、送料、ポイント利用、決済手数料が必要ない場合

受注商品情報取得時、パラメーターを?item_type=productに指定すると、明細内から商品以外の送料、ポイント利用、決済手数料の項目が削除され従来どおりの形式で受注商品情報の取得が可能です。

取得例)

/api/v1/order_products?item_type=product

従来通りの形式での受注商品情報取得のレスポンスサンプル

{
    "order_products": [
        {
            "id": 102,
            "order_id": 24,
            "logistics_id": 20000022,
            "product_id": 7,
            "main_no": "",
            "product_no": "",
            "jan_code": "",
            "location_no": "",
            "product_name": "チェアー",
            "product_set_id": 16,
            "set_name": "Sサイズ",
            "unit_price": 986000,
            "set_quantity": 1,
            "set_unit": "",
            "order_pro_count": 1,
            "shipping_size": 0,
            "tax_rate": "",
            "tax_type_id": 1,
            "tax_incl": 0,
            "item_type": "product",
            "pro_custom1": "",
            "pro_custom2": "",
            "pro_custom3": "",
            "set_custom1": "",
            "set_custom2": "",
            "set_custom3": ""
        }
    ],
    "meta": {
        "limit": 20,
        "offset": 0,
        "total": 1
    }
}