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.
O tamanho máximo de uma imagem aceita é de 10MB.
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):
facedriver_licenseidcontract
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_approvedregistration_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.
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.