Pular para o conteúdo principal

Documentação da API Dadosfera

Visão Geral​

A API Dadosfera oferece uma forma segura e eficiente de lidar com arquivos JSON, permitindo que usuários autenticados enviem esses arquivos. Após o recebimento, a API processa e armazena os arquivos em um bucket AWS S3.

Arquitetura​

Autenticação​

Antes de interagir com a API, os usuários devem estar autenticados. Isso garante que apenas pessoas autorizadas possam enviar arquivos JSON ao sistema.

Login​

Para se autenticar, siga estes passos:

  1. Solicite um token:

    • Endpoint: /auth/signin
    • Método: POST
    • Corpo:
      {
      "email": "user@example.com",
      "password": "yourPassword"
      }
  2. Receba o token de autenticação:

    • Após a autenticação bem-sucedida, você receberá um token.
    • Use esse token no cabeçalho das próximas requisições à API.

Envio de Arquivos JSON​

Após a autenticação, você pode enviar arquivos JSON à API, que irá processá-los e armazená-los no bucket AWS S3 designado.

Enviando um Arquivo​

  1. Prepare a requisição:

    • Endpoint: /upload/json
    • Método: POST
    • Cabeçalhos:
      • Authorization: Bearer <your_token>
    • Corpo:
      • Anexe o arquivo JSON que será enviado.
  2. Envie a requisição:

    • Use o cliente HTTP de sua preferência para enviar a requisição.
  3. Processamento e confirmação:

    • A API irá validar e processar o arquivo JSON.
    • Após o envio bem-sucedido, será enviada uma resposta de confirmação.

Estrutura da Resposta​

Após o envio bem-sucedido, você receberá uma resposta no seguinte formato:

{
"status": "success",
"message": "File uploaded successfully",
"fileDetails": {
"fileName": "<name_of_file>",
"fileSize": "<size_of_file>",
"s3Bucket": "<AWS_S3_bucket_name>"
}
}

Tratamento de Erros​

Em caso de erro, a API retornará uma resposta detalhando o problema. As respostas de erro mais comuns incluem:

401 Unauthorized: If the authentication token is missing or invalid.
400 Bad Request: If the request is improperly formatted.
500 Internal Server Error: For server-side issues.