NAV
shell
  • Introdução
  • Enviando um Documento
  • Status HTTP
  • Introdução

    Bem vindo à API de OCR (Optical Character Recognition) para leitura de documentos da Zaig. Você pode utilizar esta API para enviar uma imagem de um documento a ser reconhecido, como uma Carteira de Habilitação ou Cédula de identidade, e referência-lo através de uma chave nos demais produtos do sistema ZAIG.

    Problemas?

    Nós não somos uma companhia que se esconde atrás de uma API! Entre em contato com o nosso suporte e nós responderemos o mais rápido possível. Fique à vontade para nos ligar caso deseje uma resposta rápida!

    Adoramos Feedback

    Mesmo que você já tenha resolvido o seu problema ou que ele seja muito simples (Até mesmo um typo ou uma organização inadequada que você já entendeu), envie-nos um e-mail, assim nós tornamos a documentação cada vez mais prática e a próxima pessoa não vai precisar sofrer as dores que você sofreu!

    Ambientes

    Possuímos dois ambientes para os nossos clientes. A URL base das APIs são:

    Somente HTTPS

    Por questão de segurança, toda a comunicação com as APIs da Zaig devem ser realizadas utilizando a comunicação HTTPS. Para garantir que, por desatenção ou qualquer outro motivo, não ocorram chamadas HTTP, este servidor somente disponibiliza a porta 443 com comunicação TLS 1.2. Chamadas realizadas utilizando outros protocolos serão automaticamente negadas.

    Autenticação

    Para autenticar uma chamada, utilize o código seguinte:

    # No shell, você somente precisa adicionar o header adequado em cada requisição
    curl "api_endpoint_here"
      -H "Authorization: TESTETESTETESTE"
    

    Substitua a API key 'TESTETESTETESTE' com a sua chave adquirida com o nosso suporte.

    Utilizamos uma API Key para permitir acesso a nossa API. Ela provavelmente já foi enviada por e-mail para você. Caso ainda não tenha recebido a sua chave, envie um e-mail para suporte.caas@qitech.com.br.

    Nossa API espera receber a API Key em todas as requisições ao nosso servidor em um header como o abaixo:

    Authorization: TESTETESTETESTE

    Enviando um Documento

    Envie um documento utilizando o endpoint /image conforme indicado abaixo. Este endpoint retornará um identificador GUID (Globally Unique Identifier) para o documento, que poderá então ser referenciado nos demais serviços do sistema ZAIG.

    Envio

    Para enviar um documento, basta realizar via método POST o envio do código base64 da imagem em formato json para o seguinte endereço:

    https://api.caas.qitech.app/ocr/image

    Exemplo de envio

      {
        "document_b64": "<BASE64_IMAGE>",
        "template": "cnh",
        "file_type": "jpeg"
      }
    

    Substitua o código base64 de seu documento documento no lugar do placeholder.

    Descrição dos Atributos de Envio

    Atributo Descrição
    document_b64 Campo obrigatório. Imagem do documento a ser análisado em formato base64.
    template Campo obrigatório. Declara o template que deve ser aplicado para análise da imagem.
    file_type Campo facultativo. Identifica o formato do arquivo enviado, jpeg ou pdf. Caso não seja enviado, o valor jpeg é assumido.

    Templates disponíveis

    Neste momento, a ZAIG apresenta os seguintes templates disponíveis para análise OCR. Caso o seu documento necessário não esteja incluso nesta lista, envie um e-mail para suporte.caas@qitech.com.br e informe-se dos detalhes quanto a implementação desta feature.

    Template Descrição
    cnh Carteira Nacional de Habilitação brasileira completa.
    cnh_front Carteira Nacional de Habilitação brasileira frente (Lado da foto).
    cnh_back Carteira Nacional de Habilitação brasileira frente (Lado da assinatura).
    cnh_digital PDF da Carteira Nacional de Habilitação brasileira digital.
    rg_front Carteira de Identidade brasileira frente (Lado da foto).
    rg_back Carteira de Identidade brasileira verso (Lado dos dados).
    danfe Documento Auxiliar da Nota Fiscal Eletrônica (NF-e).
    proof_of_address Comprovante de residência.
    letter_of_attorney Procuração que concede poderem com relação a uma empresa.
    company_statute Contrato social ou estatudo de uma empresa.

    Imagem

    Visando garantir uma maior confiabilidade das análises executadas, é necessário que o cliente siga algumas regras na hora de tirar a foto:

    Requisitos da Imagem

    Para o funcionamento adequado da API, atente-se aos seguintes parâmetros.

    Resposta

    Caso sua requisição de leitura de documento seja processada com sucesso, será retornado um HTTP status 200 e um objeto JSON com o identificador que aponta para o documento que foi enviada.

    Exemplo de retorno

        {
            "ocr_key": "f1c0d2e1-f950-4360-896d-36588e443fc9"
        }   
    

    Descrição dos Atributos de Resposta

    Atributo Descrição
    ocr_key Chave de identificação da imagem fornecida que pode ser utilizada em qualquer outro serviço do sistema ZAIG.

    Recuperação de um documento

    Recuperação de imagem

        curl "https://api.caas.qitech.app/ocr/image/f4b5337a-7b50-406e-8c8e-7d0e77b5aa02/file" \
             -H "Authorization: EXAMPLE_API_KEY"
    

    Em qualquer momento é possível recuperar as imagens enviadas. Para isso, basta enviar uma requisição GET adequadamente autenticada no endpoint:

    https://api.caas.qitech.app/ocr/image/{image_key}/file

    Onde image_key é o valor retornado durante o envio da imagem.

    Validação de qualidade da imagem

    Exemplo de retorno em caso de imagem inválida

        {
            "title": "bad_quality",
            "description": "The uploaded image cannot be successfully processed."
        }
    

    Ao realizar um post no endpoint de imagem, caso a imagem não seja suficiente para validação, um HTTP Status Code 400 será retornado, como pode ser visto no exemplo ao lado. O Status Code 400 também é retornado quando o documento não atende aos requisitos de imagem, citados anteriormente.

    Atenção - Existem outros motivos pelos quais retornamos 400 (Todos relacionados a dados inválidos). Somente os retornos com o title "bad_quality" são resultantes de uma validação de má qualidade da imagem e portanto devem ser repassados ao usuário.

    Status HTTP

    Todas as APIs da Zaig utilizam a seguinte padronização nos status HTTP de retorno, de acordo com o RFC 7231:

    Status HTTP Significado Descrição
    400 Bad Request A requisição enviada possui algum erro de formatação. Na maioria dos casos, retornamos no corpo da mensagem uma explicação de onde está o erro.
    401 Unauthorized Houve algum problema na autenticação, verifique se a API Key está correta e no header correto, de acordo com a seção Autenticação.
    403 Forbidden O endpoint acessado é de uso interno e não está disponível para esta API Key.
    404 Not Found O dado requisitado não foi encontrado usando a chave utilizada. Este status também é retornado quando um endpoint inválido é requisitado.
    405 Method Not Allowed O método HTTP utilizado não se aplica ao endpoint utilizado.
    406 Not Acceptable Os dados enviados no corpo da requisição são inválidos. Em geral, isso significa que os dados enviados não são um JSON válido.
    409 Conflict O id da requisição corresponde a um id já processado anteriormente. Este status é retornado no caso de requisições duplicadas enviadas ao servidor.
    500 Internal Server Error Tivemos um problema para processar esta requisição, ao encontrarmos esse erro nossos especialistas são automaticamente notificados e iniciam a análise e solução imediatamente.
    503 Service Unavailable Você se deparou com uma indisponibilidade, planejada ou não, de infraestrutura dos nossos servidores.