Conceitos
A Riversoft® STCP DirectLink API age em nome dos usuários de transferência do Riversoft STCP DirectLink: cada chamada autenticada usa a caixa postal do usuário para enviar, receber e compartilhar arquivos. Esta página reúne o que você precisa saber antes de integrar. Para a caixa postal, as regras de transferência e o roteamento, veja os conceitos do Riversoft STCP DirectLink.
URL base e host
Todas as chamadas usam o prefixo de versão /directlink/v2:
https://{host}/directlink/v2Use exatamente o host configurado para o serviço, informado pelo administrador do ambiente. A API pode recusar a requisição (HTTP 403) quando o host ou a porta enviados pelo cliente não correspondem ao endereço configurado. Por isso, evite acessar o serviço por endereço IP ou por um nome alternativo.
Versionamento
A versão da API faz parte do caminho (v2) e é informada no campo apiver das respostas, junto com a versão do produto (por exemplo, v2 (9.0.1)). Esta documentação descreve a versão v2, disponível a partir do Riversoft STCP DirectLink 9.0.1. A versão v1 não é mais atendida; veja Migração da v1 para a v2.
Métodos de autenticação
A API oferece quatro formas de autenticar um usuário. Todas resultam em uma credencial de sessão usada nas rotas protegidas.
| Método | Endpoint | Credencial obtida | Indicado para |
|---|---|---|---|
| Login local | /auth/login (HTTP Basic) | Cookie de sessão __Host-dirl_session | Aplicações que reproduzem o login interativo do usuário, com suporte a MFA. |
| Password grant (OAuth 2.0, pode ser desabilitado) | /auth/token ou /oauth2/token | Token Bearer | Integrações sistema a sistema com usuário e senha. |
| Token exchange (OAuth 2.0 e 2.1) | /auth/token ou /oauth2/token | Token Bearer | Aplicações que já autenticam o usuário em outro emissor e possuem um JWT aceito pelo ambiente. |
| Single Sign-On | /sso/login | Cookie de sessão | Login no navegador por provedor de identidade corporativo (OAuth 2.0 e 2.1/OpenID Connect ou SAML 2.0). |
Veja como escolher e usar cada método em Autenticação.
Credenciais nas rotas protegidas
As rotas protegidas aceitam a credencial de sessão de duas formas:
| Forma | Exemplo |
|---|---|
Header Authorization | Authorization: Bearer <access_token> |
| Cookie de sessão | Cookie: __Host-dirl_session=<token> |
Quando os dois são enviados, o header Authorization prevalece. Detalhes em Sessão e logout.
Fluxo de uma integração
flowchart TD
A[Cliente] --> B{Método de autenticação}
B -->|Login local| C[POST /auth/login com Basic]
C --> D{MFA habilitado?}
D -->|Sim| E[Validar desafio em /auth/mfa]
D -->|Não| F[Sessão autenticada]
E --> F
B -->|OAuth 2.0| G[POST /auth/token ou /oauth2/token]
G --> F
B -->|SSO| H[Redirecionar ao provedor]
H --> I[Callback OAuth 2.0 ou SAML 2.0]
I --> F
F --> K{Operação}
K -->|Enviar| L[POST /upload]
K -->|Receber| M[GET /download/list]
M --> N[GET linkURL retornado]
K -->|Consultar| O[GET /report]
L --> Q[POST /auth/logout ou logout SSO]
N --> Q
O --> Q
Downloads por link compartilhado seguem uma validação própria e não exigem que o destinatário inicie uma sessão. Veja Links compartilhados.
Links seguros
Algumas respostas trazem URLs emitidas pelo serviço, em geral no campo linkURL:
| Link | Emitido por | Usado para |
|---|---|---|
| Desafio MFA | /auth/login (resposta 206) | Concluir o segundo fator em /auth/mfa ou /auth/mfa/register. |
| Alteração de senha | /auth/firstaccess, /auth/forget (enviado ao usuário) | Definir a senha em POST /auth/change. |
| Download de arquivo listado | /download/list, /download/list/backup | Baixar o arquivo em /download/file ou /download/file/backup. |
| Download compartilhado | Serviço, /download/pin | Entregar o arquivo ao destinatário em /download. |
Os links seguros:
- são assinados e vinculados à operação, ao usuário e ao arquivo para os quais foram criados;
- têm prazo de validade definido pelo administrador (por padrão, 24 horas para links de download e 180 segundos para PINs) e podem exigir um PIN;
- deixam de funcionar quando o arquivo não está mais disponível.
Use cada link exatamente como recebido. Não remova, edite nem monte manualmente seus parâmetros, e trate-o como uma credencial.
Regras de acesso
Uma credencial válida não garante que toda operação será autorizada. Cada operação também é validada pelas regras configuradas para o usuário e para o ambiente, por exemplo:
- serviço de upload ou download habilitado para o usuário;
- usuário desbloqueado e autorizado;
- horário ou intervalo de acesso permitido;
- limites de tamanho, tipos de arquivo e filtros de nome;
- limite de sessões simultâneas e disponibilidade do recurso;
- sucesso das etapas de pré-processamento configuradas no ambiente.
Quando uma dessas regras impede a operação, a API responde com erro (geralmente 403). Consulte o administrador do serviço para saber quais regras se aplicam ao seu usuário.
Formatos de dados
| Tipo de conteúdo | Uso |
|---|---|
application/x-www-form-urlencoded | Emissão de tokens, códigos de MFA, PINs e alteração de senha. |
multipart/form-data | Upload com o arquivo na parte file e metadados opcionais. |
application/octet-stream | Upload com o arquivo no corpo bruto da requisição. |
application/json | Respostas da API. A API não recebe JSON nas requisições. |
Datas e horas: o campo timestamp do health check usa RFC 3339 em UTC; o campo modified das listagens usa Unix time em milissegundos. O formato dos demais campos de data (como time) é definido pelo ambiente.
Envelope de resposta
A maioria das operações responde com um objeto JSON com campos comuns:
{
"status": 0,
"description": "<descrição retornada pela API>",
"apiver": "v2 (9.0.1)",
"user": "<usuario>",
"time": "<data e hora>"
}Cada operação acrescenta seus próprios campos. Os endpoints de token seguem o formato OAuth 2.0 e não usam esse envelope. Veja Modelos de dados.
O formato do corpo de erro varia entre os endpoints: trate primeiro o status HTTP e, quando houver, use a descrição retornada. Veja Códigos e eventos.