スマレジ・デベロッパーズ・コミュニティはアーカイブされました。


これまでに投稿いただいた内容は引き続きご覧いただけます。

今後のお問い合わせはこちら

取引と取り置きの登録の際、APIエラー500

カテゴリ: POS

開発中システムで前出来ていた取引と取り置きのAPIでエラーが出てます。

スマレジ側で取引と取り置きを全部一括したからエラー出てると思いますけど、原因分かりますでしょうか?

このユニークIDがAPI呼ぶたびに増えているけど、システム側のDB値ではなさそうです: Duplicate entry '90' for key 'PRIMARY'


2022 - 06 - 06 T05: 54: 41.734 Z makeUserPurchase Error: {

    "type": "about:blank",

    "title": "Internal Server Error",

    "detail": "SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '90' for key 'PRIMARY'",

    "status": 500

}

2022 - 06 - 06 T05: 54: 41.511 Z makePurchaseAPI ペイロード: {

    "transactionHeadDivision": "1",

    "subtotal": "750",

    "total": "1240",

    "carriage": "490",

    "storeId": "1",

    "staffId": "2",

    "terminalId": "2",

    "terminalTranId": "175",

    "terminalTranDateTime": "2022-06-06T02:54:41+09:00",

    "customerId": "1",

    "customerCode": "00000000000000000001",

    "barcode": "00000000000000000175",

    "details": [{

        "transactionDetailId": "1",

        "parentTransactionDetailId": null,

        "transactionDetailDivision": "1",

        "productId": "8000047",

        "productCode": "C0000060",

        "categoryId": "8000011",

        "salesPrice": "750",

        "quantity": "1",

        "salesDivision": "0",

        "productDivision": "0"

    }]

}

ベストアンサー

  • @Batam

    大変申し訳ございませんが、確認中ですのでおまちください。

  • June 2022 編集されました 回答済み✓

    @Batam

    お世話になっております。

    ご迷惑おかけしており、申し訳ありません。

    根本の原因調査中ですが、5/30・31日付近で サンドボックス環境にて、取引全件・一括削除を実施されたお客様において発生している現象です。

    直接の原因は取引の自動採番値の不整合です。

    ご報告のエラーは特定の条件の取引・取置き・会員ポイント更新にて発生いたします。

    先ほど修正作業を実施しようとしたところ、条件が揃い、正常に取引登録できているように確認できたのですが、お間違い無いでしょうか?

    また、無事に取引登録できるようになった過程で、削除できない取引が生成されてしまったのでデータ修正で取引IDを修正したいのですが、よろしいでしょうか。(集計データへの影響はございません)

    対象の取引ID: 104 , 107

    上記その時の採番値の最大の値に修正したいと思います。(修正した後の取引IDは、修正後お伝えさせていただきます。)

    つきましては、来週、1時間ほど作業時間を頂戴したいのですが、ご都合のつく時間ございますか。

    (作業の間、取引・取置き登録を実施しないでいただきたいためです)

    大変お手数をおかけしますが、ご検討のほどお願いいたします。

  • @Batam

    お世話になります。


    お時間頂戴していて、申し訳ありません。

    取引データの物理削除検討したのですが、

    取引を物理削除すると、在庫や他のデータにも影響があることが判明したため、

    申し訳ないですが、取引IDを変更する対応に変更させていただきたいです。(変更後の取引IDはお伝えします)

    (変更した後に 削除の必要があれば、管理画面から取引一括削除で削除いただければ幸いです。)


    もし上記修正方法で問題なければ、来週 6/21(火) 17:00 ~ 18:00でデータ修正作業実施しようと思いますが、ご都合いかがでしょうか?

  • @Batam 様

    お世話になります。

    こちら、ご検討の状況いかがでしょうか。

    お困りになるのは、次に取引一括削除する際に、「該当取引が消せない」というケースかと思います。

    ご検討はその際でも問題はないですが、お返事いただけましたら、改めて日を決め、作業を実施させていただきます。

    引き続きご検討のほどよろしくお願いいたします。

答え

  • お世話になっております。

    タブレットのアプリ側で顧客選んで、商品購入する時エラー出ますが、

    顧客選択せずに購入する時エラー出ます。

    ECアプリ側で取引と取り置き両方出来ない状態です。

    APIからのエラー項目は下記の通りになっております。

    原因分からなくてすみませんが、よろしくお願いします。

        "type": "about:blank",

        "title": "Internal Server Error",

        "detail": "SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '111' for key 'PRIMARY'",

        "status": 500

  • 敏速の対応ありがとうございます!

    はい、取引と取り置きの成功を確認出来ました!

    はい、104と107を消しても大丈夫です!

    あと、これからも多分一括削除などしたいんですけど。

    問題ないでしょうか?

  • June 2022 編集されました

    @Batam

    ご回答ありがとうございます。

    取引・取置きが成功しているとのこと、承知しました。

    早速のご確認ありがとうございます。


    また、伝え方が悪く申し訳ありません。

    取引ID: 104, 107が管理画面から削除できない取引になるため、

    取引IDの番号を修正しようと思っておりました。

    こちら取引IDの番号の修正より削除の方がよろしいでしょうか?

    (その場合、物理的に取引を削除することになり、削除済み取引履歴一覧から確認できなくなるため、取引IDの番号の修正の方が望ましいかなと検討しておりました。)


    これからも多分一括削除などしたいんですけど。

    はい、一括削除いただいて、問題ない見通しです。

    一時的な問題である可能性が高いためです。(引き続き調査は続けてまいります。)

    引き続きよろしくお願いいたします。

  • June 2022 編集されました

    @Batam

    ご回答ありがとうございます。

    何度も申し訳ありません。

    念のための確認になりますが、該当日(6/10 店舗ID: 2)の日次処理画面・売上分析画面に表示される数値が変わりますが、問題ないでしょうか?

    恐れ入りますが、ご確認のほどお願いいたします。

  • @スマレジ 高橋

    はい、大丈夫です!

    お願いします。