Início rápido: sua primeira extração em 10 minutos!Neste guia, você gera um token, envia um documento para a rota Content Extraction e lê o resultado: tipo do documento, campos extraídos e o score de confiança de cada campo.Escolha seu caminho#
| Quero... | Caminho |
|---|
| Ver o resultado sem escrever código | Envie um documento no Portal Demo |
| Integrar pela API | Siga os passos abaixo |
Antes de começar#
Client key de POC. Ela tem consumo limitado e serve para testes. Já é cliente? Solicite em comercial@most.com.br. Chamadas a partir do backend. A API deve ser consumida pelo seu servidor, nunca direto do app ou do navegador. Qualquer comunicação com apps e dispositivos passa pelo seu backend antes de chegar ao mostQI.
Um documento de teste. Uma foto ou PDF de CNH, RG ou outro documento do catálogo, com até 5 páginas. Ainda não é nosso cliente?
Registre-se no portal. Após o cadastro, um de nossos representantes entrará em contato para ajudar você. Guarde a client key em uma variável de ambiente:Como funciona#
O diagrama mostra as chamadas que você vai fazer nos passos abaixo. Tudo acontece a partir do seu backend.Passo 1 – Gerar o token#
É obrigatório usar a rota de autenticação antes de qualquer requisição às APIs.
A autenticação usa o padrão JWT, com tokens únicos e temporários gerados pela rota Authenticate (Get JWT) a partir da sua client key. O token vale por 10 minutos e pode ser usado uma única vez: gere um novo para cada chamada.Requisição: POST https://mostqiapi.com/user/authenticate{ "token": "<sua client key>" }
{ "token": "eyJhbGciOi..." }
Passo 2 – Enviar o documento#
Envie o arquivo codificado em base64 no campo fileBase64. Se o arquivo estiver numa URL pública, use fileUrl no lugar.No Linux. No macOS, troque
base64 -w0 documento.jpg por
base64 -i documento.jpg.
Passo 3 – Ler o resultado#
A resposta traz uma lista result com um item por documento encontrado no arquivo. Um mesmo arquivo pode conter vários documentos, como frente e verso.Exemplo resumido de resposta, com valores ilustrativos:{
"result": [
{
"type": "documento-pessoal",
"stdType": "personal-document",
"score": 0.98,
"pageNumber": 1,
"tags": ["country=bra", "subtype=rg", "region=verso"],
"fields": [
{ "name": "nome", "stdName": null, "value": "MARIA DA SILVA", "score": 0.99 },
{ "name": "cpf", "stdName": null, "value": "00000000000", "score": 0.99 },
{ "name": "data_nascimento", "stdName": null, "value": "1986-05-16", "score": 1 }
],
"tables": [],
"crops": []
}
],
"requestId": "6ERWpivDfUmhEoqnXeDHi",
"elapsedMilliseconds": 1089,
"status": { "code": "200", "message": "Ok", "errors": null }
}
| Campo | O que é | Como usar |
|---|
result | Lista com um item por documento encontrado no arquivo | Percorra todos os itens; um arquivo pode ter frente e verso |
type / stdType | Tipo do documento, em português e na forma padronizada | Confirme se é o documento que você esperava |
tags | Características do documento (país, subtipo, lado) | Use para separar frente e verso ou filtrar subtipos |
score (documento) | Avaliação geral, de 0 a 1, da qualidade da imagem e da leitura | Documentos com score baixo são candidatos a nova captura |
fields[].name | Nome do campo extraído | Localize campos sempre pelo nome |
fields[].value | Valor lido | Grave no seu sistema se o score do campo passar do limiar |
fields[].score | Confiança da leitura do campo, de 0 a 1 | Decida entre seguir automático ou revisar |
requestId | Identificador da requisição | Informe ao suporte em caso de dúvida |
A ordem dos campos não é garantida. Sempre localize um campo pelo name, nunca pela posição.
Passo 4 – Decidir pelo score#
Cada campo tem um score de 0 a 1, e o documento também tem um score geral. Quanto maior, mais confiável a leitura. Use o score para decidir o caminho de cada documento:Score igual ou acima do seu limiar: o dado segue automático para o seu sistema.
Score abaixo do limiar: o documento vai para revisão humana, no seu time ou no mostValid.
Na POC, trate campos com score abaixo de 0.5 como candidatos à revisão humana. Teste com documentos reais da sua operação e acompanhe quantos itens ficam abaixo desse valor. O 0.5 é um ponto de partida, não uma garantia de acurácia: ajuste o limiar conforme o risco de cada campo. Um limiar mais alto reduz erros e aumenta a revisão; um mais baixo faz o contrário.Se a quantidade de itens para revisão for relevante, ou se a sua operação já exige um processo controlado, planeje usar o mostValid. Nele, você envia os documentos pelos endpoints do próprio mostValid, e as tarefas de revisão são abertas automaticamente conforme regras definidas para a sua operação.Se algo der errado#
| Código | HTTP | O que significa | O que fazer |
|---|
| R117 | 401 | Token inválido, expirado ou já usado | Gere um novo token para cada requisição |
| R101 | 400 | Parâmetro incorreto | Confira o nome dos campos e envie fileBase64 ou fileUrl |
| R103 ou R115 | 400 | Base64 inválido | Codifique o arquivo inteiro em base64 (RFC 4648) |
| R113 ou R130 | 400 | Formato de arquivo não suportado | Use um formato da lista de extensões suportadas |
| E400 | 400 | Arquivo grande demais | Até 50 MB para PDF e 20 MB para imagem |
| R120 | 408 | Tempo de processamento esgotado | Para PDFs com mais de 5 páginas, use a rota assíncrona |
| R110 | 429 | Limite de requisições atingido | Aguarde alguns segundos e reenvie |
| S101 ou S103 | 400 | Conta sem o serviço ou sem créditos | Fale com comercial@most.com.br |
Antes de ir para produção#
Troque a client key de POC pela client key de produção.
Use o domínio de produção com whitelist e cadastre os IPs do seu backend (veja a tabela abaixo).
Arquivos: até 50 MB para PDF e 20 MB para imagem.
Domínios#
| Domínio | Uso | Acesso |
|---|
production-mostqiapi.com | Produção | Só para IPs cadastrados na whitelist do mostQI |
mostqiapi.com | Homologação e POC | A partir de qualquer IP |
Os dois domínios apontam para o mesmo ambiente de produção. Não use o mostqiapi.com em produção: ele pode sofrer interrupções associadas a gatilhos de segurança.Todas as requisições devem usar o protocolo HTTPS.
Segurança e uso responsável#
Os testes feitos diretamente nesta documentação devem usar apenas a client key de POC, destinada a demonstração e com consumo limitado. A client key de produção deve ser usada exclusivamente na integração direta pelo seu backend.
Segurança da client key: é responsabilidade do cliente manter a client key em segurança e sigilo, com medidas adequadas contra acessos não autorizados. O cliente é responsável pelos custos de todas as consultas feitas com a sua client key.
Uso responsável: o uso da API e das client keys deve seguir os termos dos acordos de serviço e as políticas de segurança da sua organização.
Próximos passos#