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
| Formato | Quando usar | Metadados |
|---|---|---|
multipart/form-data | Formulários e a maioria das bibliotecas HTTP. | Campos do formulário |
application/octet-stream | Envio 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.
| Multipart | Corpo binário (header) | Descrição |
|---|---|---|
file (obrigatório) | X-STCPDIRECTLINK-FILENAME (obrigatório) | Arquivo enviado (multipart) ou nome do arquivo (corpo binário). |
d | X-STCPDIRECTLINK-DESTINATION | Destinatário ou usuário de destino. |
m | X-STCPDIRECTLINK-EMAIL | E-mail associado à notificação da transferência. |
c | X-STCPDIRECTLINK-MOBILE | Celular associado à notificação da transferência. |
h | X-STCPDIRECTLINK-HASH | Hash SHA-256 esperado do arquivo, em hexadecimal. O valor é devolvido no header X-STCPDIRECTLINK-HASH do download. |
n | X-STCPDIRECTLINK-EMAIL-FROM | Identificação ou e-mail do remetente. |
i | X-STCPDIRECTLINK-INFO | Informaçã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>"
}| Campo | Descrição |
|---|---|
id | Nome ou identificador do arquivo recebido. |
destination | Destino da transferência. |
length | Tamanho recebido, em bytes. |
linkURL | Links 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.