新品の状態名が正しいのに、出品前で止まる問題を見直した
画面では新品を選び、保存値もAmazon向けの新品状態になっている。それでも出品処理の直前で「不正な状態」と判定される商品がありました。入力値ではなく、正規化後の値を再び検証する部分に不足がありました。
SECTION 01
入力用の名前と、送信用の名前は同じとは限らない
商品状態は、画面で使う値をAmazon向けの形式へ変換して保存することがあります。中古系の状態は変換後の値も検証表に登録されていました。
新品だけは正規化済みの値をそのまま受け付ける対応が抜けており、正しい保存値が未知の値として止められていました。
SECTION 02
正規化済みの新品値を、自己変換として受け付ける
新品の正規化済み値を、同じ値へ変換する対応として追加しました。これにより、すでに正しい形式で保存された状態も送信前検証を通過します。
新品だけを特別扱いして検証を弱めるのではなく、既存の状態変換表へ後方互換の対応を加えています。
FLOW
商品状態の確認経路
画面選択
新品や中古の状態を選びます。
正規化
Amazon向けの値へ揃えます。
送信前検証
許可済みの値だけ通します。
SECTION 03
知らない状態まで通す修正にはしない
検証エラーをなくすために、すべての文字列を許可すると本当に不正な状態まで送信されます。
回帰テストでは、Amazon向けに定義された状態は通り、未知の状態は従来どおり拒否されることを両方確認しています。
SECTION 04
変換処理は入口と出口の両方を見る
入力値から保存値への変換だけ確認しても、後段がその保存値を受け付けなければ処理は完了しません。
設定、保存、検証、送信まで同じ状態名が通ることを一つの流れとして確認する必要があります。
QUESTIONS
よくある質問
記事の内容に関連して、検索されやすい疑問を短く整理します。
Q1新品以外の商品状態も変更されましたか?
既存の中古状態の対応は維持し、新品の正規化済み値を受け付ける後方互換対応だけを追加しています。
Q2未知の商品状態も自動的に送信されますか?
いいえ。定義されていない状態は従来どおり送信前検証で拒否します。
RELATED ARTICLES