O provedor de serviços de vendas encontra-se hospedado no seguinte endereço:
https://sales-provider.appspot.com
Todos os serviços dessa aplicação utilizam o mecanismo de autenticação OAuth 2.0.
Para obter o token de acesso, a aplicação cliente deve fazer uma requisição ao servidor com as seguintes informações:
Método: POST
URL: http://sales-provider.appspot.com/oauth/token
Cabeçalhos:
-
Content-Type: application/x-www-form-urlencoded
-
Authorization: Basic c2llY29sYTptYXRpbGRl
Corpo da mensagem:
grant_type=password&username=matilde@siecola.com.br&password=matilde
Os valores dos campos username e password devem ser trocados para as credenciais de acesso do usuário que deseja obter o token.
A resposta a essa autenticação é o token de acesso no seguinte formato:
{
"access_token": "13968c9d-e3ef-4b32-b119-b6d93f59963f",
"token_type": "bearer",
"refresh_token": "e567d8b8-def6-4f37-8b6d-d532a47a08ac",
"expires_in": 3599,
"scope": "read write"
}
Usuário com papel ADMIN
O provedor de serviço de vendas já possui um usuário com papel de administrador, que não pode ser alterado nem apagado. Seu login é
matilde@siecola.com.br
e sua senha ématilde
.
Método: GET
URL: https://sales-provider.appspot.com/api/users
Permissão de acesso: somente usuário com papel ADMIN
Exemplo de resposta:
[
{
"id": 5741031244955648,
"email": "doralice@siecola.com.br",
"password": "doralice",
"gcmRegId": null,
"lastLogin": null,
"lastGCMRegister": null,
"role": "USER",
"enabled": true
},
{
"id": 5668600916475904,
"email": "matilde@siecola.com.br",
"password": "matilde",
"gcmRegId": null,
"lastLogin": null,
"lastGCMRegister": null,
"role": "ADMIN",
"enabled": true
}
]
Método: POST
URL: https://sales-provider.appspot.com/api/users
Permissão de acesso: não é necessário um usuário autenticado
Exemplo de corpo de requisição:
{
"email": "doralice@siecola.com.br",
"password": "doralice",
"gcmRegId": null,
"lastLogin": null,
"lastGCMRegister": null,
"role": "USER",
"enabled": true
}
Exemplo de mensagem de resposta:
{
"id": 5629499534213120,
"email": "doralice@siecola.com.br",
"password": "doralice",
"gcmRegId": null,
"lastLogin": null,
"lastGCMRegister": null,
"role": "USER",
"enabled": true
}
Método: PUT
URL: https://sales-provider.appspot.com/api/users/byemail?email={email}
Permissão de acesso: somente usuário com papel ADMIN ou o próprio usuário alvo da operação
Exemplo de corpo de requisição:
{
"id": 5629499534213120,
"email": "doralice@siecola.com.br",
"password": "doralice",
"gcmRegId": null,
"lastLogin": null,
"lastGCMRegister": null,
"role": "USER",
"enabled": true
}
Exemplo de mensagem de resposta:
{
"id": 5629499534213120,
"email": "doralice@siecola.com.br",
"password": "doralice",
"gcmRegId": null,
"lastLogin": null,
"lastGCMRegister": null,
"role": "USER",
"enabled": true
}
Método: GET
URL: https://sales-provider.appspot.com/api/users/byemail?email={email}
Permissão de acesso: somente usuário com papel ADMIN ou o próprio usuário alvo da operação
Exemplo de mensagem de resposta:
{
"id": 5629499534213120,
"email": "doralice@siecola.com.br",
"password": "doralice",
"gcmRegId": null,
"lastLogin": null,
"lastGCMRegister": null,
"role": "USER",
"enabled": true
}
Método: DELETE
URL: https://sales-provider.appspot.com/api/users/byemail?email={email}
Permissão de acesso: somente usuário com papel ADMIN ou o próprio usuário alvo da operação
Exemplo de mensagem de resposta:
{
"id": 5629499534213120,
"email": "doralice@siecola.com.br",
"password": "doralice",
"gcmRegId": null,
"lastLogin": null,
"lastGCMRegister": null,
"role": "USER",
"enabled": true
}
Método: GET
URL: https://sales-provider.appspot.com/api/products
Permissão de acesso: qualquer usuário autenticado
Exemplo de resposta:
[
{
"id": 5707702298738688,
"name": "product1",
"description": "description1",
"code": "COD1",
"price": 10
},
{
"id": 5668600916475904,
"name": "product2",
"description": "description2",
"code": "COD2",
"price": 20
}
]
Método: GET
URL: https://sales-provider.appspot.com/api/products/{code}
Permissão de acesso: qualquer usuário autenticado
Exemplo de resposta:
{
"id": 5707702298738688,
"name": "product1",
"description": "description1",
"code": "COD1",
"price": 10
}
Método: POST
URL: https://sales-provider.appspot.com/api/products
Permissão de acesso: somente usuário com papel ADMIN
Exemplo de corpo de requisição:
{
"name": "product1",
"description": "description1",
"code": "COD1",
"price": 10
}
Exemplo de resposta:
{
"id": 5707702298738688,
"name": "product1",
"description": "description1",
"code": "COD1",
"price": 10
}
Método: PUT
URL: https://sales-provider.appspot.com/api/products/{code}
Permissão de acesso: somente usuário com papel ADMIN
Exemplo de corpo de requisição:
{
"id": 5707702298738688,
"name": "product1",
"description": "description1",
"code": "COD1",
"price": 10
}
Exemplo de resposta:
{
"id": 5707702298738688,
"name": "product1",
"description": "description1",
"code": "COD1",
"price": 10
}
Método: DELETE
URL: https://sales-provider.appspot.com/api/products/{code}
Permissão de acesso: somente usuário com papel ADMIN
Exemplo de resposta:
{
"id": 5707702298738688,
"name": "product1",
"description": "description1",
"code": "COD1",
"price": 10
}
Método: GET
URL: https://sales-provider.appspot.com/api/orders
Permissão de acesso: somente usuário com papel ADMIN
Exemplo de resposta:
[
{
"id": 5668600916475904,
"email": "doralice@siecola.com.br",
"freightPrice": 40,
"orderItems": [
{
"id": 5649050225344512,
"productId": 5707702298738688,
"orderId": 5668600916475904
},
{
"id": 5724160613416960,
"productId": 5668600916475904,
"orderId": 5668600916475904
}
]
},
{
"id": 5741031244955648,
"email": "doralice@siecola.com.br",
"freightPrice": 40,
"orderItems": [
{
"id": 5685265389584384,
"productId": 5707702298738688,
"orderId": 5741031244955648
},
{
"id": 5757334940811264,
"productId": 5668600916475904,
"orderId": 5741031244955648
}
]
}
]
Método: POST
URL: https://sales-provider.appspot.com/api/orders
Permissão de acesso: usuário com papel ADMIN ou usuário autenticado dono do pedido
Exemplo de corpo de requisição:
{
"email": "doralice@siecola.com.br",
"freightPrice": 40,
"orderItems": [
{
"productId": 5707702298738688
},
{
"productId": 5668600916475904
}
]
}
Exemplo de resposta:
{
"id": 5741031244955648,
"email": "doralice@siecola.com.br",
"freightPrice": 40,
"orderItems": [
{
"id": 5685265389584384,
"productId": 5707702298738688,
"orderId": 5741031244955648
},
{
"id": 5757334940811264,
"productId": 5668600916475904,
"orderId": 5741031244955648
}
]
}
Método: GET
URL: https://sales-provider.appspot.com/api/orders/{id}
Permissão de acesso: usuário com papel ADMIN ou usuário autenticado dono do pedido
Exemplo de resposta:
{
"id": 5741031244955648,
"email": "doralice@siecola.com.br",
"freightPrice": 40,
"orderItems": [
{
"id": 5685265389584384,
"productId": 5707702298738688,
"orderId": 5741031244955648
},
{
"id": 5757334940811264,
"productId": 5668600916475904,
"orderId": 5741031244955648
}
]
}
Método: GET
URL: https://sales-provider.appspot.com/api/orders/byemail?email={email}
Permissão de acesso: usuário com papel ADMIN ou usuário autenticado dono do pedido
Exemplo de resposta:
[
{
"id": 5668600916475904,
"email": "doralice@siecola.com.br",
"freightPrice": 40,
"orderItems": [
{
"id": 5649050225344512,
"productId": 5707702298738688,
"orderId": 5668600916475904
},
{
"id": 5724160613416960,
"productId": 5668600916475904,
"orderId": 5668600916475904
}
]
},
{
"id": 5741031244955648,
"email": "doralice@siecola.com.br",
"freightPrice": 40,
"orderItems": [
{
"id": 5685265389584384,
"productId": 5707702298738688,
"orderId": 5741031244955648
},
{
"id": 5757334940811264,
"productId": 5668600916475904,
"orderId": 5741031244955648
}
]
}
]
Método: DELETE
URL: https://sales-provider.appspot.com/api/orders/{id}
Permissão de acesso: usuário com papel ADMIN ou usuário autenticado dono do pedido
Exemplo de resposta:
{
"id": 5741031244955648,
"email": "doralice@siecola.com.br",
"freightPrice": 40,
"orderItems": [
{
"id": 5685265389584384,
"productId": 5707702298738688,
"orderId": 5741031244955648
},
{
"id": 5757334940811264,
"productId": 5668600916475904,
"orderId": 5741031244955648
}
]
}