Arquivos
File upload
Autenticação via cookiesEndpoint para upload de arquivos gerais. Espera o header multipart/form-data. Retorna os erros com mensagens e os códigos esperados para usuários não autenticados
ou para requests mal formadas.
Request
type FileUploadData = {
    file: File
    meta?: string
}
O campo opcional meta serve para armazenar informação extra sobre o arquivo, caso você precise dela no mesmo registro.
É possível enviar objetos com serialização JSON.stringify (A SDK faz isso automaticamente).
Caso seja necessário guardar muitas informações extras sobre o registro, ter uma tabela em seu próprio banco de dados referenciando
o id do arquivo é uma boa ideia.
Response
Status: 201type FileUploadResponse = {
    msg: string
    file: {
        id: string
        type: string
        path: string
        meta: string | null
        createdAt: Date
    }
}
Nota: 'type' será o mime-type do arquivo salvo.
File retrieve
Autenticação via cookiesEndpoint que disponibiliza informação sobre os arquivos e um link de download. Quando realizada a integração com seu app, você pode salvar apenas o ID do arquivo, e então retirar suas informações por este endpoint, além de já receber o link de download para enviar seu usuário.
Responses
Status: 404type RetrieveFileNotFound = {
    err: string
    sentId: string
}
Status: 200type RetrieveFileResponse = {
    file: {
        id: string
        type: string
        path: string
        meta: string | null
        createdAt: Date
    },
    downloadUrl: string
}
File download
Autenticação via cookiesResponses
Status: 404type DownloadFileNotFound = {
    err: string
    sentId: string
}
Status: 400type TriedToDecompressStaticImage = {
    err: string
    sentId: string
}
Retorna quando é tentado baixar um arquivo de imagem servido estaticamente pelos endpoints de arquivo. Este endpoint pega um arquivo
comprimido no sistema e retorna seu Buffer para o navegador, com headers que fazem o browser descomprimir o arquivo e baixá-lo.
Se você está tentando baixar uma das imagens salvas estaticamente, você não deve utilizar este endpoint, mas sim o URL da própria imagem,
recebido quando for feito o seu upload. (As imagens estáticas devem ser enviadas pelo endpoint de imagens, onde é feita uma otimização específica para elas.)
A parte de arquivos serve para enviar e baixar arquivos que serão compartilhados entre usuários de sua aplicação, como PDFs, planilhas, etc (podem ser imagens também,
mas para que seja possível baixar elas, ela deve ter sido enviada pelo endpoint /upload/file, e não terá otimizações como conversão para webp automática).
Algumas vezes isto é ok. As imagens que você precisa enviar pelo endpoint /upload/image são aquelas que você quer exibir no seu app, e não apenas salvar o arquivo.
Caso não vá mostrar essa imagem em seu app, e sim apenas enviar o arquivo, é completamente válido o uso do endpoint /upload/file para salvá-la.
Status: 200O status 200 retorna um buffer e os headers necessários para download. Não retorna JSON. Ao bater nessa URL, o arquivo será baixado automaticamente pelo browser.