HTTP Error: 413 Client Error: Request Entity Too Large

tk2tk2
カテゴリ: POS

店舗ごとに商品単価が違うため、APIにて商品価格を更新しています。

先日まで問題なく動作しておりましたが、今日になってHTTP Error: 413 Client Error: Request Entity Too Largeエラーが出て価格更新できなくなりました。

コール制限等でしょうか?データサイズは以前とほぼ一緒です。

答え

  • 一部自己解決しました。

    商品一括更新のpayload JSONファイルを修正したところ、今度はHTTP Error: 400 Client Error: Bad Requestとなります。

    • 商品価格の店舗IDと価格区分と適応開始日の組み合わせが重複している場合
    • リクエスト上限数が超えている場合

    のいずれかと推測していますが、以下のような場合、「商品価格の店舗IDと価格区分と適応開始日の組み合わせが重複している」ということになりますか?

    また、リクエスト上限数を超えた場合は、いつになればリセットされるのでしょうか?

    {

      "products": [

        {

          "productId": "1",

          "prices": [

            {

              "storeId": "2",

              "priceDivision": 1,

              "startDate": "2023-09-27",

              "price": "0"

            }

          ]

        },

        {

          "productId": "2",

          "prices": [

            {

              "storeId": "2",

              "priceDivision": 1,

              "startDate": "2023-09-27",

              "price": "79800"

            }

          ]

        },

        {

          "productId": "3",

          "prices": [

            {

              "storeId": "2",

              "priceDivision": 1,

              "startDate": "2023-09-27",

              "price": "19800"

            }

          ]

        }

    ]

    }

  • 無事解決しました。迅速にご対応いただきありがとうございます。

    結果として、JSONファイルの階層(括弧が1組多い)が間違っていました。ケアレスミスでお騒がせしました。

    1リクエストにつき100件までの制約があるため、

    "productId"と、"callbackUrl"は、100件ごとにPython側で付与しており問題ありませんでした。

    "priceDivision"は元々Stringで"1"としていましたが、エラーの原因と思い数値に変えてみたものです。

    スマレジ・プラットフォームAPI POS仕様書 (smaregi.dev)

    上記、「商品一括更新」API仕様書右側のリクエストサンプルでは、ダブルコーテーションがなく一見INTのように見えますが、

    左側の説明文ではStringの記載がありますね。

    以上、報告させていただきます。ありがとうございました。