TD3 – アメリカ合衆国のパスポート
44文字×2行。国籍USA。 発行国と国籍はどちらもUSAです。パスポートは、それを発行した国の国籍を証明するものだからです。
P<USAPARADEIGMA<<ELENI<SOFIA<<<<<<<<<<<<<<<<
AM73045184USA9403084F3203101PN48291630<<<<72アメリカ合衆国のパスポートの写真を送ると、同じHTTPレスポンスで構造化データが返ります。解析済みの機械読み取りゾーン(MRZ)、検証済みのICAO 9303チェックディジット、抽出済みの視覚フィールドです。インストールするSDKも、ポーリングするキューもありません。
アメリカ合衆国のパスポートはICAO 9303規格に準拠しています。データページの下部、人が読む視覚検査ゾーンの下に、44文字×2行の機械読み取りゾーン(フォーマットTD3)が印字されています。最初の5文字はP<USAで、書類コードに続いて、発行国がISO 3166-1 alpha-3コードUSAで示されます。APIは両方のゾーンを読み取り、MRZのチェックディジットを照合し、すべてのキーを含む1つの形式のレスポンスを返します。
アメリカ合衆国は、alpha-2のリストではUS、ゾーンではUSAです。この場合、長いコードは短いコードの後ろにAを付けたものです。ただしこれはこの組み合わせに限った話で、規則ではありません。一方からもう一方を導き出すと、当てはまらない最初の国でバグになります。
9303はゾーンのレイアウトを3種類定めており、APIはそのすべてを読み取れます。以下では、架空の所持人(実在しない人物で、paradeigmaはギリシャ語で例という意味です)を各レイアウトで示し、発行国はUSAとしています。チェックディジットはすべて、手で入力したものではなく隣の文字から計算したものなので、このページのゾーンはどれも検証を通ります。
44文字×2行。国籍USA。 発行国と国籍はどちらもUSAです。パスポートは、それを発行した国の国籍を証明するものだからです。
P<USAPARADEIGMA<<ELENI<SOFIA<<<<<<<<<<<<<<<<
AM73045184USA9403084F3203101PN48291630<<<<7236文字×2行。国籍GRC。 USAがGRC国籍の人に発行したものなので、2つのコードは異なります。ここでは氏名欄が、パスポートの39文字ではなく31文字です。
I<USAPARADEIGMA<<ELENI<SOFIA<<<<<<<<
TR61850420GRC9403084F2911043<<<<<<<230文字×3行。国籍GRC。 30文字×3行で、氏名は独立した1行に入ります。書類コードはIDです。9303 Part 5は1文字目をA、C、Iのいずれかに定め、2文字目は発行国に委ねています。
IDUSAAK472913<4PN48291630<<<<<
9403084F3405204GRC<<<<<<<<<<<9
PARADEIGMA<<ELENI<SOFIA<<<<<<<発行国を保護するチェックディジットはありません。3つのレイアウトのいずれでも、計算の対象は書類番号、日付、任意データで、誰が書類を発行したかを示す3文字は対象外です。すべての桁が正しいゾーンであっても、アメリカ合衆国が発行したことの証明にはなりません。それを証明するのは、視覚ゾーンと書類自体のセキュリティ機能です。
MRZパーサーにMRZを貼り付けてチェックディジットを検証するか、MRZジェネレーターでMRZを作成できます。
認識されたアメリカ合衆国のパスポートは、どれも同じ構造化フィールドを返します。読み取れなかった値はnullになり、キーが省略されることはありません。
すべてのフィールドは書類フィールド一覧(英語)で確認できます。
公開サンドボックスに対して実行してください。登録不要で、本物の認識が、限られた件数の書類まで無料で、IPごとに1時間あたり10リクエストまで利用できます。アメリカ合衆国のパスポートの認識を続けるには、サンドボックスキーをご自身の本番用キーに置き換えてください。
curl -X POST https://api.doc.cheap/v1/scans \
-H "Authorization: Bearer sk_sandbox_public" \
-H "Content-Type: application/json" \
-d "{\"image\": \"$(base64 < document.jpg | tr -d '\n')\"}"このページではアメリカ合衆国に固有の内容を扱っています。それ以外のことはすべて、以下の4つのページ(英語)にまとめています。
上の呼び出しを実際の書類で、curl、JavaScript、Pythonで実行する方法と、レスポンスの各キーの説明。
書類が同じデータを2回印字する理由、両者が食い違うときにどちらを信じるか、チェックディジットで証明できることとできないこと。
MRZはラテン文字への翻字であり、視覚ゾーンはそうではありません。どの読み取り結果が元の文字体系を保持するか、言語識別子がどの言語に対応するか。
APIが返しうるすべてのエラーコードを1つの表に。原因、再試行で解決しうるか、その呼び出しが課金されたかどうか。
最初の呼び出しが成功するまで60秒以内、書類1件あたり1¢、書類の画像は保存されません。
お支払いいただくのは、実際に認識できた書類の分だけです。
写真がぼやけている、フレーム内に書類がない、種類が不明、といった場合はどれも無料です。失敗したスキャンに料金がかかることはありません。