Resolve API β の reason_codes 定義です。decision の扱いは Resolve API β の decision を参照してください。
BankcodeJP Resolve API reason_codes 公式定義
位置づけ
reason_codes は、decision が
needs_review になった理由を機械可読に示す補助情報です。
- pro プランで返却します。
auto_confirmの場合は原則[]です。ambiguousで候補がない場合は、理由コードではなくdecisionと空候補で表します。- 判定ロジックの主契約は
decisionです。reason_codesは説明、UI 表示、監査補助、ログ分析向けの情報です。
Enum 一覧
実装では lower_snake_case を安定識別子として扱います。
| code | 意味 | 主な発生条件 |
|---|---|---|
generic_branch |
汎用的な支店名のため自動確定しない | 「本店」「営業部」「駅前」「中央」など、誤確定しやすい支店名を含む |
low_input_quality |
入力が短い、または広く一致しすぎる | 入力品質が低く安全に自動確定できない |
gap_too_small |
上位候補と次点候補の差が小さい | 候補間の差が十分でない |
below_auto_total |
自動確定に必要な水準に達していない | 最有力候補が auto_confirm 条件を満たさない |
needs_review |
自動確定できない一般理由 | 他の個別理由が付かない needs_review |
bank_alias_ambiguous |
銀行名略称が複数金融機関に該当する可能性がある | 例: 略称・通称が複数銀行にまたがる |
branch_alias_ambiguous |
支店名略称が同一銀行内の複数支店に該当する可能性がある | 例: USEN / JRE / オリーブ
などの alias ambiguity |
payment_bank_trim_or_alias |
payment 用途で銀行名の補正または別名一致を含む | 銀行名が接尾辞除去、略称、alias 由来 |
payment_branch_alias |
payment 用途で支店名の別名一致を含む | 支店名が alias 由来 |
payment_branch_trim |
payment 用途で支店名の接尾辞除去を含む | 渋谷支店 ではなく 渋谷 のような入力 |
payment_branch_supplement |
payment 用途で支店名補完を含む | 支店 などを補って候補化した |
payment_bank_suffix_missing |
payment 用途で銀行名の種別が不足している | 銀行、信用金庫
などの種別まで入力されていない |
payment_branch_suffix_missing |
payment 用途で支店名の種別が不足している | 支店、出張所、本店、営業部
などが不足している |
出力例
{
"decision": "needs_review",
"reason_codes": [
"payment_bank_suffix_missing",
"payment_branch_suffix_missing",
"payment_branch_supplement"
],
"reason_details": [
{
"code": "payment_bank_suffix_missing",
"message_ja": "payment用途では、銀行名に「銀行」「信託」「信用金庫」などの種別まで含めて入力してください(例:三菱UFJ銀行)"
}
],
"reason_summary_ja": "payment用途では、銀行名に「銀行」「信託」「信用金庫」などの種別まで含めて入力してください(例:三菱UFJ銀行)"
}複数返却
reason_codes は複数返ることがあります。
例:
- payment context で銀行名が略称
- 支店名も省略
- 候補間の差も小さい
この場合、該当した安全上の理由を配列で返します。配列の順序に業務上の優先順位を持たせないでください。代表表示には
reason_summary_ja を利用できます。
decision との関係
| decision | reason_codes |
|---|---|
auto_confirm |
原則 [] |
needs_review |
該当理由を返す |
ambiguous |
候補なしの場合は [] になり得る |
利用側では reason_codes
だけで自動確定可否を判断せず、必ず decision
を主契約として扱ってください。