Saltar para o conteúdo

Receber arquivos

O recebimento tem duas etapas: listar os arquivos disponíveis e baixar cada arquivo pelo linkURL retornado na listagem.

ÁreaListagemDownload
PrincipalGET /download/listGET /download/file (pelo linkURL)
BackupGET /download/list/backupGET /download/file/backup (pelo linkURL)

Liste os arquivos

curl -s -G \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  --data-urlencode 'page=0' \
  "$API_BASE/download/list"

Para a área de backup, use /download/list/backup com os mesmos parâmetros.

A resposta traz os arquivos em files:

{
  "status": 0,
  "description": "<descrição retornada pela API>",
  "apiver": "v2 (9.0.1)",
  "user": "USUARIO",
  "files": [
    {
      "id": 1,
      "name": "documento.pdf",
      "length": 12345,
      "modified": 1760000000000,
      "linkURL": "https://api.exemplo.com/directlink/v2/download/file?..."
    }
  ],
  "page_next": "1",
  "time": "<data e hora>"
}
CampoDescrição
files[].idIdentificador do arquivo na listagem.
files[].nameNome do arquivo.
files[].lengthTamanho, em bytes.
files[].modifiedData de modificação, em milissegundos desde 1970-01-01 UTC.
files[].linkURLLink assinado para baixar o arquivo.
page_nextÍndice da página seguinte.

Quando não houver arquivos, files pode vir vazio.

Baixe o arquivo

Use o linkURL do arquivo escolhido, sem alterações, com o mesmo token usado na listagem:

export FILE_URL='<linkURL retornado pela listagem>'
curl -L --fail \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  --output ./documento-baixado.pdf "$FILE_URL"

O mesmo comando vale para a área principal e para o backup: o link já aponta para a rota correta.

Paginação

O parâmetro page seleciona a página de resultados, a partir de 0. Valores ausentes ou inválidos são tratados como 0. Para percorrer a lista, repita a chamada com o valor de page_next até que files venha vazio.

Boas práticas

  • O download responde com o conteúdo binário do arquivo. Salve-o em disco; não tente interpretá-lo como JSON.
  • O download exige o linkURL da listagem e a credencial do mesmo usuário que fez a listagem. O link sozinho não dá acesso ao arquivo. Não monte manualmente os parâmetros de /download/file.
  • O linkURL é uma credencial de uso limitado: não o exponha em logs nem em chamados.
  • Use curl --fail (ou verifique o status HTTP no seu cliente) para não gravar uma página de erro como se fosse o arquivo.

Contrato completo em Referência: Transferências.

Verificar a integridade

Quando o remetente informou o hash no upload, o download devolve o SHA-256 esperado no header X-STCPDIRECTLINK-HASH. Compare-o com o hash do arquivo salvo, por exemplo com sha256sum.