Skip to main content
Envia um arquivo para a Chargefy. A purpose define onde o arquivo fica (público ou privado), o limite de entrada e o formato final. Imagens de avatar, produto, logo principal e KYC são normalizadas antes de serem armazenadas; PDFs, o logotipo do rodapé e arquivos de evidência de disputa permanecem no formato enviado. O file retornado descreve o binário final e carrega uma url que aponta para ele. Apenas purpose e file são obrigatórios, enviados como multipart/form-data. filename assume o nome do arquivo enviado, e a URL é gerada automaticamente pela Chargefy. Use o objeto file.url em campos que aceitam URL de mídia, como product.image_url. Esses campos aceitam apenas URLs de file da própria Chargefy; não envie URLs externas. O upload em si não vincula o arquivo a recurso nenhum — a vinculação é responsabilidade do recurso destino.

Autenticação

A API key da sua organização atua diretamente nela. Não envie o header Organization nesse caso.
Com Chargefy for Platforms, envie também Organization: org_... para atuar em uma organização filha ativa da plataforma.

Tipo de conteúdo

multipart/form-data.

Attributes

binary
obrigatório
O arquivo em si. Tamanho máximo varia por purpose.
string
Nome amigável a aparecer em metadados. Padrão: o nome do arquivo enviado.
string
Objeto livre string → string para correlacionar com o seu sistema. Envie campos repetidos no formulário somente quando precisar preenchê-lo. Ao omitir todos eles, o arquivo retorna metadata: {}.
string
obrigatório
Define como o arquivo é validado e armazenado.user_avatar, platform_avatar, branding_logo e branding_footer_logo são gerenciados pelo Dashboard. API keys não podem criar esses purposes; a resposta é 403 permission_denied.dispute_evidence é um documento da defesa de uma disputa — recibo, conversa com o comprador, comprovante de envio. Um PDF protegido por senha ou com conteúdo ilegível é recusado com 400. A defesa tem limites somados de páginas e tamanho, conferidos quando você anexa o arquivo à disputa e no envio — o PDF conta as páginas reais e cada imagem conta como uma página. Depois do upload, referencie o file_* em um campo de arquivo de evidence com POST /v1/disputes/{id} — o passo a passo está em Responder a disputas.kyc_document é a foto de documento de identidade ou selfie usada no cadastro financeiro de uma organização. Depois do upload, referencie o file_* no bloco verification com POST /v1/organizations/{id} — o fluxo completo está em Ativar organização por API. Nesse purpose o tipo real do binário prevalece sobre o Content-Type declarado. Uma imagem só é rejeitada quando não pode ser normalizada dentro do limite final; não é necessário comprimi-la antes do upload. PDFs não são recomprimidos. O arquivo espera 30 dias pelo cadastro: a resposta traz expires_at e, vencido esse prazo sem ser apontado, o bloco verification o recusa com 400 file_expired — envie o arquivo de novo. Apontado, a validade zera. Nenhum arquivo é apagado pela validade.Arquivos públicos retornam url com a URL permanente em storage.chargefy.io. Arquivos privados retornam url com uma URL assinada de curta validade (1 hora) — refaça GET /v1/files/:id para obter uma URL nova.

O que a Chargefy resolve sozinha

  • filename — quando omitido, usa o nome do arquivo enviado no formulário.
  • Preparação de imagens — valida o arquivo e, quando necessário, ajusta a resolução e a compressão antes de gravar em WebP. Um WebP que já atende à política pode ser armazenado sem nova codificação. filename, mime_type, size e url descrevem sempre o binário armazenado.
  • url — gerada automaticamente: permanente em storage.chargefy.io para purposes públicos; assinada com validade de 1 hora para purposes privados.
  • Visibilidade e armazenamento — definidos pelo purpose; você não escolhe bucket nem visibilidade no payload.

(a) Foto de produto

Envia uma foto que você vai usar em product.image_url.
Depois, atualize o produto apontando para a URL retornada:
Se a imagem deixar de ser usada, remova o arquivo com DELETE /v1/files/:id.

(b) Avatar de organização

Envia o avatar exibido em listas, recibos e e-mails transacionais.
Avatar de organização

(c) Evidência de disputa

Envia um documento da defesa de uma disputa. Faça um upload por documento — cada campo de arquivo da defesa recebe um file_* próprio.
Evidência de disputa
Depois, anexe o file_* retornado ao campo correspondente de evidence:

Resposta

200 OK com o objeto file completo. Todo campo declarado pelo DTO público é sempre retornado; vazio é null ou {}.

Erros comuns