Files
Create a File
Faz upload de um arquivo.
Envia um arquivo binário para a Chargefy. A
Depois, atualize o produto apontando para a URL retornada:
Se a imagem deixar de ser usada, remova o arquivo com
purpose define onde o arquivo
fica (público ou privado), o limite de tamanho e os tipos MIME aceitos. O file
retornado carrega uma url que aponta para o binário hospedado.
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 própria organização atua diretamente. A API key de plataforma exige o headerOrganization: <organization_id> apontando para uma organização
conectada ativa.
Tipo de conteúdo
multipart/form-data.
Attributes
O binário do arquivo. Tamanho máximo varia por
purpose.Nome amigável a aparecer em metadados. Quando omitido, usa o nome do arquivo
enviado.
Objeto livre
string → string para correlacionar com o seu sistema. Use
campos repetidos no formulário: metadata[reference_id]=ref_456.Define como o arquivo é validado e armazenado.
Arquivos públicos retornam
| Valor | Visibilidade | MIMEs | Tamanho máx |
|---|---|---|---|
organization_avatar | público | PNG, JPG, WebP, GIF | 5 MB |
product_image | público | PNG, JPG, WebP, GIF | 2 MB |
dispute_evidence | privado | PNG, JPG, WebP, PDF | 5 MB |
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.(a) Foto de produto
Envia uma foto que você vai usar emproduct.image_url.
DELETE /v1/files/:id.
(b) Avatar de organização
Envia o avatar exibido em listas, recibos e e-mails transacionais.Resposta
200 OK com o objeto file completo. Todo campo declarado pelo DTO público
é sempre retornado; vazio é null ou {}.
| Campo | Tipo | Observação |
|---|---|---|
id | string | ID do arquivo (file_*) |
object | string | Sempre "file" |
purpose | string | Mesmo valor enviado |
filename | string | Nome amigável |
mime_type | string | MIME do binário recebido |
size | integer | Tamanho em bytes |
url | string | null | URL para acessar o binário. Pública para organization_avatar/product_image; assinada (1h) para dispute_evidence. |
livemode | boolean | true em produção; false em ambiente de teste |
metadata | object | Eco do metadata enviado |
created_at | string | ISO 8601 |
updated_at | string | null | ISO 8601 |
Erros comuns
| Status | code | Quando ocorre |
|---|---|---|
400 | invalid_request | purpose ausente ou inválido; file ausente ou vazio; MIME não suportado para o purpose; tamanho acima do limite do purpose |
400 | invalid_request | Corpo não é multipart/form-data válido |
403 | permission_denied | purpose não permitido para o tipo de autenticação enviado (ex.: user_avatar exige sessão de admin, não API key) |

