Notas da versão 1.3.5

Visão geral de serviços e recomendações

A API myDRIC (v1.3.5) expõe serviços REST para:

  • Autenticação e Sessão: (login, refresh de tokens, confirmação de 2FA).Autenticação & Sessão (login, refresh de tokens, confirmação de 2FA).
  • ACP (Encoding): envio e obtenção de artefatos produzidos pelo pipeline de codificação (.ebp, .pebp, .tree, .idx, etc.).
  • ADP (Decoding): envio e obtenção de artefatos usados/reconstruídos no pipeline de decodificação.
  • Listagens & Histórico: consulta de arquivos e tarefas (jobs) executadas.

Todos os recursos seguem convenções HTTP (métodos, status codes, headers), usam JSON para metadados e octet-stream para binários, e retornam IDs de tarefa para operações assíncronas de processamento.

Versionamento & Base URL

  • Base URL: https://api.dric.digital/v1
  • Versão: 1.3.5 (mantém compatibilidade com v1, adicionando campos em respostas, se necessário).
  • Content negotiation: Accept: application/json
  • Locale padrão: pt-BR (sobreponível via Accept-Language)

Segurança

  1. Autenticação:
    1. JWT de acesso (curta duração) em Authorization: Bearer <token>.
    2. Refresh token (longa duração) usado somente no endpoint de refresh.
  2. 2FA (TOTP / App autenticador):
    1. Após o Signin, se a conta exigir 2FA, o login retorna requires_2fa=true e um challenge_id.
    2. Confirmar via Confirmation 2FA com o código TOTP.
  3. Transporte:
    1. TLS obrigatório (HTTPS).
  4. Scope/Claims (opcional):
    1. Tokens podem incluir sub, exp, roles, scopes (ex.: acp:write, adp:read).
  5. Rate limiting:
    1. Cabeçalhos: X-RateLimit-Limit, X-RateLimit-Remaining, Retry-After.
  6. Idempotência:
    1. Uploads aceitam Idempotency-Key (UUID) para evitar duplicidade.
  7. Checksums:
    1. Recomenda-se Content-MD5 no upload para integridade.

Modelo de Processamento

  • ACP (Encoding): você envia um arquivo para codificação (lossy/lossless conforme política do job). O sistema enfileira, processa e produz artefatos como .ebp (conteúdo codificado), .pebp (conteúdo criptografado), .tree (mapa de reconstrução), .seeds (árvore guiada), .idx (índice de offsets) e outros arquivos internos.
  • ADP (Decoding): você envia os artefatos gerados (.ebp ou .pebp) e o sistema retorna o arquivo reconstruído, conforme parâmetros do job (ex.: checagem de consistência, política de merge/entropia, etc.).
  • Assíncrono por padrão: uploads retornam um task_id; acompanhe via Task History. Downloads servem conteúdo pronto (quando o job já finalizou).

Tamanhos & Tipos

  • Binários: application/octet-stream
  • JSON: application/json; charset=utf-8
  • Chunked upload (opcional): negocia via Transfer-Encoding: chunked ou endpoints dedicados de partes.
  • Limites típicos: na API a limitação de tráfego por arquivo é de 300 MB por upload direto (maiores via multipart/chunked, se habilitado), mas em https://dev.dric.digital use arquivos de até 1Mb pois, o portal apresenta limitaçoes via GUI.

Erros frequentes e como evitar

  • 401 unauthorized: token ausente/expirado → faça Refresh Token.
  • 403 forbidden: escopo insuficiente → verifique roles/scopes.
  • 409 conflict: reprocessamento sem idempotência → use Idempotency-Key.
  • 415 unsupported media type: binário sem Content-Type correto → use application/octet-stream.
  • 429 too many requests: aguarde Retry-After.