Envie a foto de um passaporte (país emissor: Reino Unido) e receba os dados estruturados na mesma resposta HTTP – a zona de leitura mecânica (MRZ) interpretada, os dígitos verificadores ICAO 9303 conferidos e os campos visuais extraídos. Sem SDK para instalar, sem fila para consultar.
Um passaporte emitido por este país (Reino Unido) segue a norma ICAO 9303: uma zona de leitura mecânica de duas linhas de 44 caracteres (formato TD3) impressa no pé da página de dados, abaixo da zona de inspeção visual, que é lida por uma pessoa. Os cinco primeiros caracteres dela são P<GBR – o código do documento e, em seguida, o Estado emissor no código ISO 3166-1 alfa-3 GBR. A API lê as duas zonas, confere os dígitos verificadores da MRZ e devolve um único formato de resposta com todas as chaves presentes.
Em uma lista alfa-2, o código deste país é GB; na zona, é GBR: aqui o código mais longo é o mais curto seguido de R. Isso vale para este par, não como regra, então derivar um do outro é um bug esperando o primeiro país em que não se encaixa.
Reino Unido: zonas de leitura mecânica emitidas pelo país
A norma 9303 define três layouts de zona, e a API lê os três. Abaixo está uma titular inventada – ela não é ninguém, e paradeigma é a palavra grega para exemplo – em cada layout, com GBR como Estado emissor. Cada dígito verificador é calculado a partir dos caracteres ao lado dele, e não digitado, então cada zona desta página é válida.
TD3 – Passaporte (país emissor: Reino Unido)
2 linhas de 44. Nacionalidade GBR. O Estado emissor e a nacionalidade são ambos GBR: um passaporte certifica a nacionalidade do Estado que o emitiu.
TD2 – Documento de viagem (país emissor: Reino Unido)
2 linhas de 36. Nacionalidade GRC. Emitido por GBR para uma pessoa de nacionalidade GRC, então os dois códigos diferem. Aqui o nome tem 31 caracteres, em vez dos 39 do passaporte.
TD1 – Documento de identidade ou autorização de residência (país emissor: Reino Unido)
3 linhas de 30. Nacionalidade GRC. Três linhas de 30, com o nome em uma linha só para ele. O código do documento é ID – a parte 5 da 9303 fixa o primeiro caractere como A, C ou I e deixa o segundo a critério do Estado emissor.
Nenhum dígito verificador cobre o Estado emissor: nos três layouts, a aritmética passa pelo número do documento, pelas datas e pelos dados opcionais, nunca pelos três caracteres que dizem quem emitiu o documento. Uma zona cujos dígitos conferem todos não provou que veio deste país (Reino Unido) – quem faz isso é a zona visual e os elementos de segurança do próprio documento.
Cole uma MRZ no leitor de MRZ para validar os dígitos verificadores dela, ou monte uma com o gerador de MRZ.
Os campos que você recebe
Todo passaporte reconhecido deste país (Reino Unido) devolve os mesmos campos estruturados. Um valor que não pôde ser lido é null, nunca uma chave ausente.
Rode isto no sandbox público – sem cadastro, com reconhecimento real, grátis para um número limitado de documentos e 10 requisições por hora por IP. Troque a chave do sandbox pela sua própria chave de produção para continuar reconhecendo passaportes deste país (Reino Unido).
Por que um documento imprime os mesmos dados duas vezes, em qual zona confiar quando elas discordam e o que os dígitos verificadores podem e não podem provar.