Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.scanify.com.br/llms.txt

Use this file to discover all available pages before exploring further.

A API aceita PDFs, imagens (JPEG, PNG, TIFF) e XML (para NFE). Antes do OCR, cada arquivo passa por detecção de formato (magic bytes, MIME e extensão) e por uma checagem de segurança.

Formatos suportados

FormatoExtensõesMIME typesObservações
PDF.pdfapplication/pdfMulti-página.
JPEG.jpg, .jpegimage/jpeg, image/jpgImagens.
PNG.pngimage/pngImagens.
TIFF.tif, .tiffimage/tiff, image/tifImagens. Multi-página suportado.
XML.xmlapplication/xml, text/xml, application/nfe+xmlApenas para documentType=NFE. Não aceito em /classify.
A detecção segue a ordem: magic bytes → Content-Type → extensão. Magic bytes têm prioridade; divergência com o Content-Type é registrada em log mas não bloqueia.

Como enviar

Dois caminhos:
  • Upload direto (multipart/form-data): campo file com o binário. Outros campos (documentType, callbackUrl, etc.) vão como partes do mesmo form.
  • URL pública (application/json): no objeto file, informe fileUrl apontando para uma URL HTTPS pública. O Scanify faz o download.
Alternativamente, você pode enviar fileBase64 + filename em JSON quando não tiver uma URL pública.

Regras de segurança para fileUrl

Antes de baixar, a URL é validada:
  • Apenas http:// e https://.
  • URLs que resolvem para endereços IP não-públicos (loopback, privados, link-local, multicast, internos da nuvem) são bloqueadas com 400 Endereço IP não permitido. Use apenas URLs públicas.
  • Redirects HTTP não são seguidos (maxRedirects: 0). URLs presigned de S3 que dependem de redirect serão recusadas com erro 400. Use a URL final.
  • O DNS é resolvido uma vez e o IP é fixado para o download, evitando DNS rebinding entre a checagem e o request.

Validação de segurança do conteúdo

Antes do OCR, o buffer do arquivo é inspecionado. Arquivos contendo executáveis, scripts ou conteúdo malicioso conhecido são rejeitados com 400 Arquivo bloqueado pela validação de segurança. Arquivos vazios também são rejeitados com 400.
Não há um limite de tamanho documentado nesta página. Verifique o erro retornado pela API caso um upload muito grande seja recusado.