Documentação - POST /api/firmware

Criada por Ivan Faria, Modificado em Tue, 19 Nov, 2024 às 12:10 PM por Ivan Faria

Descrição

Esta API permite a postagem de versões de firmware utilizando o método POST. Os parâmetros necessários são o arquivo binário do firmware, a versão do firmware, o ID do produto, e o checksum para garantir a integridade dos dados.

Autenticação

1. Acessar a API do APP

Inicialmente, você precisa acessar o link da API do aplicativo. Este link será o ponto de entrada para todas as requisições que você fará.

Exemplo de URL da API:

2. Autenticar-se no Endpoint /api/auth/signin

Para realizar alterações, você deve primeiro autenticar-se usando uma conta com a role ADMIN.

Requisição

  • Método: POST
  • URL: /api/auth/signin
  • Corpo da Requisição:
{  
  "username": "admin",
  "password": "senha123" 
}

Resposta Esperada

  • Status: 200 OK
  • Corpo da Resposta:
  "accessToken": "seu_jwt_token", 
"tokenType": "Bearer"
}

Informações Importantes:

  • accessToken: Token JWT que deve ser usado nas requisições subsequentes para autenticação.
  • tokenType: Tipo do token, geralmente Bearer.


3. Inserir o acessToken em "Authorize"
Após obter o acessToken ao logar na sua conta, você precisa inseri-lo no "Authorize" para que ganhe suas credenciais

Na parte superior da API é possível ver o botão "Authorize",você deve clicar nele e inserir o valor do campo "acessToken" 

do passo anterior


Endpoint

POST /api/firmware


Parâmetros da Solicitação


  • arquivo:(obrigatório) O arquivo binário do firmware.
  • version: (obrigatório) A versão do firmware.
  • productId: (obrigatório) O ID do produto associado ao firmware.
  • providedChecksum:(obrigatório) O checksum do arquivo binário para garantir a integridade dos dados.



Exemplo de Solicitação


{ 
"arquivo": "firmware-cris-12_productID_22.bin",  
"version": "12",
"productId": "10",  
"checksum": "cd0802ed506f88c927f111ef3670605e577210002e1daca3ad6f2c75306f1f68"
}


Respostas

  •  201 OK: A solicitação foi bem-sucedida e o firmware foi postado corretamente e pode ser visualizado no repositório e no bucket S3.
{  
    "id": 148,
    "fileLocation": "https://s3.us-east-1.amazonaws.com/firmware-version-control/firmware-cris-v15_productID_206.bin",
    "fileName": "firmware-cris-v15_productID_206.bin", 
    "version": "v15", 
    "checksum": "bbd7ca3e6f4861ecc499d16cbc8d8609d8be313022f72b50f19e44dabecd7722",
    "product": 
    {    
        "id": 206,
        "name": "Vitale Class B 21L",
        "imgUrl": "https://www.cristofoli.com/image/cache/catalog/produtos/vitale-class/autoclave-vitale%20Class-12L-300x300.png",
        "youtubePlaylist": null,
        "allowClientUnlock": true,
        "prefixo": "VCB54"  
    }
}


  • 400 Bad Request: A solicitação contém parâmetros inválidos ou ausentes.
  • 401 Unauthorized: A API identifica que o usuário não tem a permissão de acessar a requisição.
  • 500 Internal Server Error: Ocorreu um erro no servidor ao processar a solicitação.


Considerações

  • Certifique-se de fornecer o arquivo binário válido e um checksum que corresponda ao arquivo enviado, ao contrário a API não aceitará.
  • Em caso de verificação de arquivos acessar o bucket S3.
  • Só é preciso fornecer o ID do produto, as informações sobre ele serão automaticamente preenchidas, Assim como a fileLocation do firmware.
  • Site usado para gerar checksums: https://defuse.ca/checksums.htm (sha256)

Este artigo foi útil?

Isso é ótimo!

Obrigado pelo seu feedback

Lamentamos por não termos podido ajudá-lo(a)

Obrigado pelo seu feedback

Diga-nos como podemos melhorar este artigo!

Selecione pelo menos um motivo
A verificação CAPTCHA é obrigatória.

Comentário enviado

Agradecemos o seu esforço e iremos tentar corrigir o artigo