Skip to main content

Imagens

Em várias situações é necessário enviar imagens para a nossa API, a fim de realizar operações de OCR, FaceMatch e validação de documentos. Para tanto, é preciso inicialmente realizar o upload da imagem para depois enviá-la para análise.

Ao enviar uma imagem utilizando o endpoint /image uma GUID (Globally Unique Identifier) é retornada. Este valor deverá ser utilizado nas chamadas subsequentes para referenciar esta imagem.

warning

O tamanho máximo de uma imagem aceita é de 10MB.

warning

Neste momento, somente imagens com formato jpg são aceitas.

Envio

Exemplo de envio utilizando o cUrl:

curl -F "data=@path/to/local/file" \
-H "Authorization: TESTETESTETESTE" \
-H "DocumentNumber: 000.000.000-00" \
"https://api.caas.qitech.app/car_rental/image?type=face"

Exemplo de retorno:

{
"image_key": "f1c0d2e1-f950-4360-896d-36588e443fc9",
"file_name": "05696664903.jpg",
"file_size": 47407,
"width_px": 0,
"height_px": 0,
"type": "face",
"created_at": "2020-07-29T18:40:57Z"
}

Para enviar uma imagem, basta realizar o envio da imagem no formato .jpg em multipart/form-data com uma requisição POST no endpoint:

POST https://api.caas.qitech.app/car_rental/image?type=$type

Onde $type é a classificação da imagem e deve ser enviado conforme um dos seguintes enumeradores (Caso a imagem sendo enviada não se enquadre em nenhuma das classificações, entrar em contato com o suporte para que providenciem a adição):

  • face
  • driver_license
  • id
  • contract

Após o envio, será retornado um objeto JSON com a GUID que aponta para a imagem que foi enviada.

Análise da Imagem para App

Ao utilizar a api_key do App, o resultado contará com um valor adicional, chamado de result que pode receber os seguintes valores:

  • registration_approved
  • registration_reproved

Que indica se o cadastro da foto foi aprovado ou reprovado.

Neste momento, a qualidade da foto também é avaliada, podendo receber um resultado 400, conforme descrito no próximo item.

Exemplo de retorno para o App:

{
"image_key": "f1c0d2e1-f950-4360-896d-36588e443fc9",
"file_name": "05696664903.jpg",
"file_size": 47407,
"width_px": 0,
"height_px": 0,
"type": "face",
"result": "registration_approved",
"created_at": "2020-07-29T18:40:57Z"
}

Validação de qualidade da imagem

Exemplo de retorno em caso de imagem inválida:

{
"title": "image_quality",
"description": "A imagem enviada não possui uma face"
}

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 acima.

O valor do campo description é a mensagem que explica o motivo da imagem ser inválida.

info

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

Recuperação dos Arquivos

Leitura de imagem:

curl "https://api.caas.qitech.app/car_rental/image/{image_key}/file" \
-H "Authorization: TESTETESTETESTE"

Após o envio de uma imagem para a API, é possível recuperá-la por meio de uma requisição GET adequadamente autenticada no endpoint:

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

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

Recuperação dos meta-dados do arquivo

Leitura de meta dados:

curl "https://api.caas.qitech.app/car_rental/image/{image_key}" \
-H "Authorization: TESTETESTETESTE"

Após o envio de uma imagem para a API, é possível recuperar os meta-dados da imagem utilizando o endpoint:

GET https://api.caas.qitech.app/car_rental/image/{image_key}

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