O API ST IT foi disponibiliza para vendedores obterem acesso aos produtos do sistema conforme o seu nivel de acesso.
As dúvidas e solicitações, relacionadas ao acesso da API, podem ser enviadas para o e-mail [email protected].
- Express
- npm install Express
- readLine (nativo)
- jsonwebtoken
- npm install jsonwebtoken
Recursos disponíveis para acesso via API:
Requisições para a API devem seguir os padrões:
Método | Descrição |
---|---|
POST |
Utilizar para iniciar sessão autenticada. |
GET |
Retorna um ou mais registros de produtos de acordo com seu level. |
Código | Descrição |
---|---|
200 |
Requisição executada com sucesso (success). |
400 |
Erros de validação ou os campos informados não existem no sistema. |
401 |
Dados de acesso inválidos. |
404 |
Registro pesquisado não encontrado (Not found). |
As ações de Return Products
permitem o envio dos seguintes parâmetros:
Parâmetro | Descrição |
---|---|
organization |
Filtra dados pela organização. |
tag |
Especificar qual produto dentro da organização deve ser retornado. |
Nossa API utiliza Token Authentication como forma de autenticação/autorização.
Para utilizar o Token Authentication, você precisará:
-
Utilizar uma das contas contidas no arquivo
users.json
enviando:- Email;
- Password;
-
Receber um
client_id
eclient_secret
, utilizados na solicitação de acesso;
Através da URL http://localhost:3003/login
nos autenticamos.
-
Request (application/json)
- Body { "email": "[email protected]", "password": "9fiD2NCGeLqjSSjhUP78kDS3ic2B93Wy" }
-
Response 200
-
Body
{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IlF5b0VkcWJmMld5emVSdGoiLCJpYXQiOjE2MjQ5MDI3NDYsImV4cCI6MTYyNDk4OTE0Nn0.Nq6FIt72wp99Fv7hqsEqb8qt-sTrL_yC9nuF_dFTQfI" }
-
O Token é valido por 24Hrs.
Nossa API utiliza parametros e querystrings para definir o que será retornado.
Para utilizar esse recurso de forma correta, você precisará:
- Token dentro do seu prazo de validade;
- Permissão para a organization passada como parametro na URL;
Através da URL http://localhost:3003/products/organizationName?tag=<tag1>
-
Request (application/json)
-
Body
-
Authorization
- type = Bearer
- Token Ex: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IlF5b0VkcWJmMld5emVSdGoiLCJpYXQiOjE2MjQ4NDI5ODEsImV4cCI6MTYyNDkyOTM4MX0.a2SoXCl78eVkFPKeXfdM_WVXqj9VmX4shbSnMsLypkg
-
-
Response 200
-
Body
{ "total": , "products": [ , , , ... ] }
-
Ex: URL http://localhost:3003/products/Toys?tag=Practical
-
Response 200
-
Body
{ "total": 7, "products": [ "Handmade Steel Bike", "Tasty Rubber Chips", "Practical Fresh Keyboard", "Practical Fresh Keyboard", "Sleek Fresh Computer", "Licensed Frozen Cheese", "Unbranded Frozen Mouse" ] }
-
Infelismente tive um problema com o estado da busca dos dados no arquivo products.txt, que ao realizar a segunda requisição não é feito a busca linha a linha do arquivo novamente, impossibilitando assim a alteração do resultado. A alteração só é feita depois de reiniciar o servidor e executar o primeiro request com os novos parametros.