Saltar para o conteúdo

Enviar arquivos

POST /upload recebe um arquivo do usuário autenticado. O arquivo pode ser enviado em multipart/form-data ou como corpo binário da requisição; os metadados opcionais são os mesmos nos dois formatos.

Escolha o formato

FormatoQuando usarMetadados
multipart/form-dataFormulários e a maioria das bibliotecas HTTP.Campos do formulário
application/octet-streamEnvio em streaming ou clientes que não montam multipart.Headers X-STCPDIRECTLINK-*

Metadados opcionais

O uso de cada metadado depende das operações habilitadas no ambiente.

MultipartCorpo binário (header)Descrição
file (obrigatório)X-STCPDIRECTLINK-FILENAME (obrigatório)Arquivo enviado (multipart) ou nome do arquivo (corpo binário).
dX-STCPDIRECTLINK-DESTINATIONDestinatário ou usuário de destino.
mX-STCPDIRECTLINK-EMAILE-mail associado à notificação da transferência.
cX-STCPDIRECTLINK-MOBILECelular associado à notificação da transferência.
hX-STCPDIRECTLINK-HASHHash SHA-256 esperado do arquivo, em hexadecimal. O valor é devolvido no header X-STCPDIRECTLINK-HASH do download.
nX-STCPDIRECTLINK-EMAIL-FROMIdentificação ou e-mail do remetente.
iX-STCPDIRECTLINK-INFOInformação adicional ou tags da transferência.

Enviar o arquivo

Envio mínimo:

curl -i \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -F 'file=@./documento.pdf' \
  "$API_BASE/upload"

Com destinatário e notificação:

curl -i \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -F 'file=@./documento.pdf' \
  -F 'd=DESTINATARIO' \
  -F 'm=destinatario@example.com' \
  -F 'c=5511999999999' \
  -F "h=$(sha256sum ./documento.pdf | cut -d' ' -f1)" \
  -F 'i=referencia-externa' \
  "$API_BASE/upload"

Interpretar a resposta

A resposta 200 traz os dados da transferência:

{
  "status": 0,
  "description": "<descrição retornada pela API>",
  "apiver": "v2 (9.0.1)",
  "user": "USUARIO",
  "id": "<identificador do arquivo>",
  "destination": "DESTINATARIO",
  "length": 12345,
  "linkURL": [],
  "time": "<data e hora>"
}
CampoDescrição
idNome ou identificador do arquivo recebido.
destinationDestino da transferência.
lengthTamanho recebido, em bytes.
linkURLLinks de notificação gerados para a transferência, quando houver.

Os valores concretos dependem do ambiente; use a resposta recebida como referência.

Dica

Compare length com o tamanho do arquivo local e informe o hash no envio para detectar transferências incompletas.

Contrato completo em Referência: Transferências.