Created
August 14, 2020 23:06
-
-
Save thiagofa/841f4d930e8d73104783f8dc75bd2ac9 to your computer and use it in GitHub Desktop.
Documento em OpenAPI 2 da API do AlgaFood (projeto desenvolvido no curso Especialista Spring REST)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
swagger: '2.0' | |
info: | |
description: API aberta para clientes e restaurantes. | |
version: '1' | |
title: AlgaFood API | |
contact: | |
name: AlgaWorks | |
url: 'https://www.algaworks.com' | |
email: [email protected] | |
host: 'localhost:8080' | |
basePath: / | |
tags: | |
- name: Cidades | |
description: Gerencia as cidades | |
- name: Cozinhas | |
description: Gerencia as cozinhas | |
- name: Estados | |
description: Gerencia os estados | |
- name: Estatísticas | |
description: Estatísticas da AlgaFood | |
- name: Formas de pagamento | |
description: Gerencia as formas de pagamento | |
- name: Grupos | |
description: Gerencia os grupos de usuários | |
- name: Pedidos | |
description: Gerencia os pedidos | |
- name: Permissões | |
description: Gerencia as permissões | |
- name: Produtos | |
description: Gerencia os produtos de restaurantes | |
- name: Restaurantes | |
description: Gerencia os restaurantes | |
- name: Usuários | |
description: Gerencia os usuários | |
paths: | |
/v1/cidades: | |
get: | |
tags: | |
- Cidades | |
summary: Lista as cidades | |
operationId: listarUsingGET | |
produces: | |
- application/json | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/CidadesModel' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
post: | |
tags: | |
- Cidades | |
summary: Cadastra uma cidade | |
operationId: adicionarUsingPOST | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de uma nova cidade | |
required: true | |
schema: | |
$ref: '#/definitions/CidadeInput' | |
responses: | |
'201': | |
description: Cidade cadastrada | |
schema: | |
$ref: '#/definitions/CidadeModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/cidades/{cidadeId}': | |
get: | |
tags: | |
- Cidades | |
summary: Busca uma cidade por ID | |
operationId: buscarUsingGET | |
produces: | |
- application/json | |
parameters: | |
- name: cidadeId | |
in: path | |
description: ID de uma cidade | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/CidadeModel' | |
'400': | |
description: ID da cidade inválido | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Cidade não encontrada | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
put: | |
tags: | |
- Cidades | |
summary: Atualiza uma cidade por ID | |
operationId: atualizarUsingPUT | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- name: cidadeId | |
in: path | |
description: ID de uma cidade | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
- in: body | |
name: corpo | |
description: Representação de uma cidade com os novos dados | |
required: true | |
schema: | |
$ref: '#/definitions/CidadeInput' | |
responses: | |
'200': | |
description: Cidade atualizada | |
schema: | |
$ref: '#/definitions/CidadeModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Cidade não encontrada | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
delete: | |
tags: | |
- Cidades | |
summary: Exclui uma cidade por ID | |
operationId: removerUsingDELETE | |
produces: | |
- application/json | |
parameters: | |
- name: cidadeId | |
in: path | |
description: ID de uma cidade | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Cidade excluída | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Cidade não encontrada | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
/v1/cozinhas: | |
get: | |
tags: | |
- Cozinhas | |
summary: Lista as cozinhas com paginação | |
operationId: listarUsingGET_1 | |
produces: | |
- application/json | |
parameters: | |
- name: page | |
in: query | |
description: Número da página (começa em 0) | |
required: false | |
type: integer | |
format: int32 | |
x-example: 0 | |
- name: size | |
in: query | |
description: Quantidade de elementos por página | |
required: false | |
type: integer | |
format: int32 | |
x-example: 10 | |
- name: sort | |
in: query | |
description: Nome da propriedade para ordenação | |
required: false | |
type: array | |
items: | |
type: string | |
collectionFormat: multi | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/CozinhasModel' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
post: | |
tags: | |
- Cozinhas | |
summary: Cadastra uma cozinha | |
operationId: adicionarUsingPOST_1 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de uma nova cozinha | |
required: true | |
schema: | |
$ref: '#/definitions/CozinhaInput' | |
responses: | |
'201': | |
description: Cozinha cadastrada | |
schema: | |
$ref: '#/definitions/CozinhaModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/cozinhas/{cozinhaId}': | |
get: | |
tags: | |
- Cozinhas | |
summary: Busca uma cozinha por ID | |
operationId: buscarUsingGET_1 | |
produces: | |
- application/json | |
parameters: | |
- name: cozinhaId | |
in: path | |
description: ID de uma cozinha | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/CozinhaModel' | |
'400': | |
description: ID da cozinha inválido | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Cozinha não encontrada | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
put: | |
tags: | |
- Cozinhas | |
summary: Atualiza uma cozinha por ID | |
operationId: atualizarUsingPUT_1 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de uma cozinha com os novos dados | |
required: true | |
schema: | |
$ref: '#/definitions/CozinhaInput' | |
- name: cozinhaId | |
in: path | |
description: ID de uma cozinha | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: Cozinha atualizada | |
schema: | |
$ref: '#/definitions/CozinhaModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Cozinha não encontrada | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
delete: | |
tags: | |
- Cozinhas | |
summary: Exclui uma cozinha por ID | |
operationId: removerUsingDELETE_1 | |
produces: | |
- application/json | |
parameters: | |
- name: cozinhaId | |
in: path | |
description: ID de uma cozinha | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Cozinha excluída | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Cozinha não encontrada | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
/v1/estados: | |
get: | |
tags: | |
- Estados | |
summary: Lista os estados | |
operationId: listarUsingGET_2 | |
produces: | |
- application/json | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/EstadosModel' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
post: | |
tags: | |
- Estados | |
summary: Cadastra um estado | |
operationId: adicionarUsingPOST_2 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de um novo estado | |
required: true | |
schema: | |
$ref: '#/definitions/EstadoInput' | |
responses: | |
'201': | |
description: Estado cadastrado | |
schema: | |
$ref: '#/definitions/EstadoModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/estados/{estadoId}': | |
get: | |
tags: | |
- Estados | |
summary: Busca um estado por ID | |
operationId: buscarUsingGET_2 | |
produces: | |
- application/json | |
parameters: | |
- name: estadoId | |
in: path | |
description: ID de um estado | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/EstadoModel' | |
'400': | |
description: ID do estado inválido | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Estado não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
put: | |
tags: | |
- Estados | |
summary: Atualiza um estado por ID | |
operationId: atualizarUsingPUT_2 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de um estado com os novos dados | |
required: true | |
schema: | |
$ref: '#/definitions/EstadoInput' | |
- name: estadoId | |
in: path | |
description: ID de um estado | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: Estado atualizado | |
schema: | |
$ref: '#/definitions/EstadoModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Estado não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
delete: | |
tags: | |
- Estados | |
summary: Exclui um estado por ID | |
operationId: removerUsingDELETE_2 | |
produces: | |
- application/json | |
parameters: | |
- name: estadoId | |
in: path | |
description: ID de um estado | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Estado excluído | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Estado não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
/v1/estatisticas/vendas-diarias: | |
get: | |
tags: | |
- Estatísticas | |
summary: Consulta estatísticas de vendas diárias | |
operationId: consultarVendasDiariasUsingGET | |
produces: | |
- application/json | |
parameters: | |
- name: dataCriacaoFim | |
in: query | |
description: Data/hora final da criação do pedido | |
required: false | |
type: string | |
format: date-time | |
x-example: '2019-12-02T23:59:59Z' | |
- name: dataCriacaoInicio | |
in: query | |
description: Data/hora inicial da criação do pedido | |
required: false | |
type: string | |
format: date-time | |
x-example: '2019-12-01T00:00:00Z' | |
- name: restauranteId | |
in: query | |
description: ID do restaurante | |
required: false | |
type: integer | |
format: int32 | |
x-example: 1 | |
- name: timeOffset | |
in: query | |
description: Deslocamento de horário a ser considerado na consulta em relação ao UTC | |
required: false | |
type: string | |
default: '+00:00' | |
allowEmptyValue: false | |
responses: | |
'200': | |
description: OK | |
schema: | |
type: array | |
items: | |
$ref: '#/definitions/VendaDiaria' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
/v1/formas-pagamento: | |
get: | |
tags: | |
- Formas de pagamento | |
summary: Lista as formas de pagamento | |
operationId: listarUsingGET_3 | |
produces: | |
- application/json | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/FormasPagamentoModel' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
post: | |
tags: | |
- Formas de pagamento | |
summary: Cadastra uma forma de pagamento | |
operationId: adicionarUsingPOST_3 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de uma nova forma de pagamento | |
required: true | |
schema: | |
$ref: '#/definitions/FormaPagamentoInput' | |
responses: | |
'201': | |
description: Forma de pagamento cadastrada | |
schema: | |
$ref: '#/definitions/FormaPagamentoModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/formas-pagamento/{formaPagamentoId}': | |
get: | |
tags: | |
- Formas de pagamento | |
summary: Busca uma forma de pagamento por ID | |
operationId: buscarUsingGET_3 | |
produces: | |
- application/json | |
parameters: | |
- name: formaPagamentoId | |
in: path | |
description: ID de uma forma de pagamento | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/FormaPagamentoModel' | |
'400': | |
description: ID da forma de pagamento inválido | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Forma de pagamento não encontrada | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
put: | |
tags: | |
- Formas de pagamento | |
summary: Atualiza uma cidade por ID | |
operationId: atualizarUsingPUT_3 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de uma forma de pagamento com os novos dados | |
required: true | |
schema: | |
$ref: '#/definitions/FormaPagamentoInput' | |
- name: formaPagamentoId | |
in: path | |
description: ID de uma forma de pagamento | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: Forma de pagamento atualizada | |
schema: | |
$ref: '#/definitions/FormaPagamentoModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Forma de pagamento não encontrada | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
delete: | |
tags: | |
- Formas de pagamento | |
summary: Exclui uma forma de pagamento por ID | |
operationId: removerUsingDELETE_3 | |
produces: | |
- application/json | |
parameters: | |
- name: formaPagamentoId | |
in: path | |
description: ID de uma forma de pagamento | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Forma de pagamento excluída | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Forma de pagamento não encontrada | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
/v1/grupos: | |
get: | |
tags: | |
- Grupos | |
summary: Lista os grupos | |
operationId: listarUsingGET_4 | |
produces: | |
- application/json | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/GruposModel' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
post: | |
tags: | |
- Grupos | |
summary: Cadastra um grupo | |
operationId: adicionarUsingPOST_4 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de um novo grupo | |
required: true | |
schema: | |
$ref: '#/definitions/GrupoInput' | |
responses: | |
'201': | |
description: Grupo cadastrado | |
schema: | |
$ref: '#/definitions/GrupoModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/grupos/{grupoId}': | |
get: | |
tags: | |
- Grupos | |
summary: Busca um grupo por ID | |
operationId: buscarUsingGET_4 | |
produces: | |
- application/json | |
parameters: | |
- name: grupoId | |
in: path | |
description: ID de um grupo | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/GrupoModel' | |
'400': | |
description: ID da grupo inválido | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Grupo não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
put: | |
tags: | |
- Grupos | |
summary: Atualiza um grupo por ID | |
operationId: atualizarUsingPUT_4 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de um grupo com os novos dados | |
required: true | |
schema: | |
$ref: '#/definitions/GrupoInput' | |
- name: grupoId | |
in: path | |
description: ID de um grupo | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: Grupo atualizado | |
schema: | |
$ref: '#/definitions/GrupoModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Grupo não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
delete: | |
tags: | |
- Grupos | |
summary: Exclui um grupo por ID | |
operationId: removerUsingDELETE_4 | |
produces: | |
- application/json | |
parameters: | |
- name: grupoId | |
in: path | |
description: ID de um grupo | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Grupo excluído | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Grupo não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/grupos/{grupoId}/permissoes': | |
get: | |
tags: | |
- Grupos | |
summary: Lista as permissões associadas a um grupo | |
operationId: listarUsingGET_5 | |
produces: | |
- application/json | |
parameters: | |
- name: grupoId | |
in: path | |
description: ID do grupo | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/PermissoesModel' | |
'400': | |
description: ID do grupo inválido | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Grupo não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/grupos/{grupoId}/permissoes/{permissaoId}': | |
put: | |
tags: | |
- Grupos | |
summary: Associação de permissão com grupo | |
operationId: associarUsingPUT | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- name: grupoId | |
in: path | |
description: ID do grupo | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: permissaoId | |
in: path | |
description: ID da permissão | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Associação realizada com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Grupo ou permissão não encontrada | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
delete: | |
tags: | |
- Grupos | |
summary: Desassociação de permissão com grupo | |
operationId: desassociarUsingDELETE | |
produces: | |
- application/json | |
parameters: | |
- name: grupoId | |
in: path | |
description: ID do grupo | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: permissaoId | |
in: path | |
description: ID da permissão | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Desassociação realizada com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Grupo ou permissão não encontrada | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
/v1/pedidos: | |
get: | |
tags: | |
- Pedidos | |
summary: Pesquisa os pedidos | |
operationId: pesquisarUsingGET | |
produces: | |
- application/json | |
parameters: | |
- name: campos | |
in: query | |
description: 'Nomes das propriedades para filtrar na resposta, separados por vírgula' | |
required: false | |
type: string | |
- name: clienteId | |
in: query | |
description: ID do cliente para filtro da pesquisa | |
required: false | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: dataCriacaoFim | |
in: query | |
description: Data/hora de criação final para filtro da pesquisa | |
required: false | |
type: string | |
format: date-time | |
x-example: '2019-11-01T10:00:00Z' | |
- name: dataCriacaoInicio | |
in: query | |
description: Data/hora de criação inicial para filtro da pesquisa | |
required: false | |
type: string | |
format: date-time | |
x-example: '2019-10-30T00:00:00Z' | |
- name: page | |
in: query | |
description: Número da página (começa em 0) | |
required: false | |
type: integer | |
format: int32 | |
x-example: 0 | |
- name: restauranteId | |
in: query | |
description: ID do restaurante para filtro da pesquisa | |
required: false | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: size | |
in: query | |
description: Quantidade de elementos por página | |
required: false | |
type: integer | |
format: int32 | |
x-example: 10 | |
- name: sort | |
in: query | |
description: Nome da propriedade para ordenação | |
required: false | |
type: array | |
items: | |
type: string | |
collectionFormat: multi | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/PedidosResumoModel' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
post: | |
tags: | |
- Pedidos | |
summary: Registra um pedido | |
operationId: adicionarUsingPOST_5 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de um novo pedido | |
required: true | |
schema: | |
$ref: '#/definitions/PedidoInput' | |
responses: | |
'201': | |
description: Pedido registrado | |
schema: | |
$ref: '#/definitions/PedidoModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/pedidos/{codigoPedido}': | |
get: | |
tags: | |
- Pedidos | |
summary: Busca um pedido por código | |
operationId: buscarUsingGET_5 | |
produces: | |
- application/json | |
parameters: | |
- name: campos | |
in: query | |
description: 'Nomes das propriedades para filtrar na resposta, separados por vírgula' | |
required: false | |
type: string | |
- name: codigoPedido | |
in: path | |
description: Código de um pedido | |
required: true | |
type: string | |
x-example: f9981ca4-5a5e-4da3-af04-933861df3e55 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/PedidoModel' | |
'404': | |
description: Pedido não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/pedidos/{codigoPedido}/cancelamento': | |
put: | |
tags: | |
- Pedidos | |
summary: Cancelamento de pedido | |
operationId: cancelarUsingPUT | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- name: codigoPedido | |
in: path | |
description: Código do pedido | |
required: true | |
type: string | |
x-example: f9981ca4-5a5e-4da3-af04-933861df3e55 | |
responses: | |
'204': | |
description: Pedido cancelado com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Pedido não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/pedidos/{codigoPedido}/confirmacao': | |
put: | |
tags: | |
- Pedidos | |
summary: Confirmação de pedido | |
operationId: confirmarUsingPUT | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- name: codigoPedido | |
in: path | |
description: Código do pedido | |
required: true | |
type: string | |
x-example: f9981ca4-5a5e-4da3-af04-933861df3e55 | |
responses: | |
'204': | |
description: Pedido confirmado com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Pedido não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/pedidos/{codigoPedido}/entrega': | |
put: | |
tags: | |
- Pedidos | |
summary: Registrar entrega de pedido | |
operationId: entregarUsingPUT | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- name: codigoPedido | |
in: path | |
description: Código do pedido | |
required: true | |
type: string | |
x-example: f9981ca4-5a5e-4da3-af04-933861df3e55 | |
responses: | |
'204': | |
description: Entrega de pedido registrada com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Pedido não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
/v1/permissoes: | |
get: | |
tags: | |
- Permissões | |
summary: Lista as permissões | |
operationId: listarUsingGET_6 | |
produces: | |
- application/json | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/PermissoesModel' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
/v1/restaurantes: | |
get: | |
tags: | |
- Restaurantes | |
summary: Lista restaurantes | |
operationId: listarUsingGET_7 | |
produces: | |
- application/json | |
parameters: | |
- name: projecao | |
in: query | |
description: Nome da projeção de pedidos | |
required: false | |
type: string | |
enum: | |
- apenas-nome | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/RestaurantesBasicoModel' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
post: | |
tags: | |
- Restaurantes | |
summary: Cadastra um restaurante | |
operationId: adicionarUsingPOST_6 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de um novo restaurante | |
required: true | |
schema: | |
$ref: '#/definitions/RestauranteInput' | |
responses: | |
'201': | |
description: Restaurante cadastrado | |
schema: | |
$ref: '#/definitions/RestauranteModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
/v1/restaurantes/ativacoes: | |
put: | |
tags: | |
- Restaurantes | |
summary: Ativa múltiplos restaurantes | |
operationId: ativarMultiplosUsingPUT | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: IDs de restaurantes | |
required: true | |
schema: | |
type: array | |
items: | |
type: integer | |
format: int64 | |
responses: | |
'204': | |
description: Restaurantes ativados com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
delete: | |
tags: | |
- Restaurantes | |
summary: Inativa múltiplos restaurantes | |
operationId: inativarMultiplosUsingDELETE | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: IDs de restaurantes | |
required: true | |
schema: | |
type: array | |
items: | |
type: integer | |
format: int64 | |
responses: | |
'204': | |
description: Restaurantes ativados com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/restaurantes/{restauranteId}': | |
get: | |
tags: | |
- Restaurantes | |
summary: Busca um restaurante por ID | |
operationId: buscarUsingGET_6 | |
produces: | |
- application/json | |
parameters: | |
- name: restauranteId | |
in: path | |
description: ID de um restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/RestauranteModel' | |
'400': | |
description: ID do restaurante inválido | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Restaurante não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
put: | |
tags: | |
- Restaurantes | |
summary: Atualiza um restaurante por ID | |
operationId: atualizarUsingPUT_5 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de um restaurante com os novos dados | |
required: true | |
schema: | |
$ref: '#/definitions/RestauranteInput' | |
- name: restauranteId | |
in: path | |
description: ID de um restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: Restaurante atualizado | |
schema: | |
$ref: '#/definitions/RestauranteModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Restaurante não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/restaurantes/{restauranteId}/abertura': | |
put: | |
tags: | |
- Restaurantes | |
summary: Abre um restaurante por ID | |
operationId: abrirUsingPUT | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- name: restauranteId | |
in: path | |
description: ID de um restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Restaurante aberto com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Restaurante não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/restaurantes/{restauranteId}/ativo': | |
put: | |
tags: | |
- Restaurantes | |
summary: Ativa um restaurante por ID | |
operationId: ativarUsingPUT | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- name: restauranteId | |
in: path | |
description: ID de um restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Restaurante ativado com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Restaurante não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
delete: | |
tags: | |
- Restaurantes | |
summary: Inativa um restaurante por ID | |
operationId: inativarUsingDELETE | |
produces: | |
- application/json | |
parameters: | |
- name: restauranteId | |
in: path | |
description: ID de um restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Restaurante inativado com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Restaurante não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/restaurantes/{restauranteId}/fechamento': | |
put: | |
tags: | |
- Restaurantes | |
summary: Fecha um restaurante por ID | |
operationId: fecharUsingPUT | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- name: restauranteId | |
in: path | |
description: ID de um restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Restaurante fechado com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Restaurante não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/restaurantes/{restauranteId}/formas-pagamento': | |
get: | |
tags: | |
- Restaurantes | |
summary: Lista as formas de pagamento associadas a restaurante | |
operationId: listarUsingGET_8 | |
produces: | |
- application/json | |
parameters: | |
- name: restauranteId | |
in: path | |
description: ID do restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/FormasPagamentoModel' | |
'404': | |
description: Restaurante não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/restaurantes/{restauranteId}/formas-pagamento/{formaPagamentoId}': | |
put: | |
tags: | |
- Restaurantes | |
summary: Associação de restaurante com forma de pagamento | |
operationId: associarUsingPUT_1 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- name: formaPagamentoId | |
in: path | |
description: ID da forma de pagamento | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: restauranteId | |
in: path | |
description: ID do restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Associação realizada com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Restaurante ou forma de pagamento não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
delete: | |
tags: | |
- Restaurantes | |
summary: Desassociação de restaurante com forma de pagamento | |
operationId: desassociarUsingDELETE_1 | |
produces: | |
- application/json | |
parameters: | |
- name: formaPagamentoId | |
in: path | |
description: ID da forma de pagamento | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: restauranteId | |
in: path | |
description: ID do restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Desassociação realizada com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Restaurante ou forma de pagamento não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/restaurantes/{restauranteId}/produtos': | |
get: | |
tags: | |
- Produtos | |
summary: Lista os produtos de um restaurante | |
operationId: listarUsingGET_9 | |
produces: | |
- application/json | |
parameters: | |
- name: incluirInativos | |
in: query | |
description: Indica se deve ou não incluir produtos inativos no resultado da listagem | |
required: false | |
type: boolean | |
default: false | |
allowEmptyValue: false | |
x-example: false | |
- name: restauranteId | |
in: path | |
description: ID do restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/ProdutosModel' | |
'400': | |
description: ID do restaurante inválido | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Restaurante não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
post: | |
tags: | |
- Produtos | |
summary: Cadastra um produto de um restaurante | |
operationId: adicionarUsingPOST_7 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de um novo produto | |
required: true | |
schema: | |
$ref: '#/definitions/ProdutoInput' | |
- name: restauranteId | |
in: path | |
description: ID do restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'201': | |
description: Produto cadastrado | |
schema: | |
$ref: '#/definitions/ProdutoModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Restaurante não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/restaurantes/{restauranteId}/produtos/{produtoId}': | |
get: | |
tags: | |
- Produtos | |
summary: Busca um produto de um restaurante | |
operationId: buscarUsingGET_7 | |
produces: | |
- application/json | |
parameters: | |
- name: produtoId | |
in: path | |
description: ID do produto | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: restauranteId | |
in: path | |
description: ID do restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/ProdutoModel' | |
'400': | |
description: ID do restaurante ou produto inválido | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Produto de restaurante não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
put: | |
tags: | |
- Produtos | |
summary: Atualiza um produto de um restaurante | |
operationId: atualizarUsingPUT_6 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de um produto com os novos dados | |
required: true | |
schema: | |
$ref: '#/definitions/ProdutoInput' | |
- name: produtoId | |
in: path | |
description: ID do produto | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: restauranteId | |
in: path | |
description: ID do restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: Produto atualizado | |
schema: | |
$ref: '#/definitions/ProdutoModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Produto de restaurante não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/restaurantes/{restauranteId}/produtos/{produtoId}/foto': | |
get: | |
tags: | |
- Produtos | |
summary: Busca a foto do produto de um restaurante | |
operationId: buscarUsingGET_8 | |
produces: | |
- application/json | |
- image/png | |
- image/jpeg | |
parameters: | |
- name: produtoId | |
in: path | |
description: ID do produto | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: restauranteId | |
in: path | |
description: ID do restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/FotoProdutoModel' | |
'400': | |
description: ID do restaurante ou produto inválido | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Foto de produto não encontrada | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
put: | |
tags: | |
- Produtos | |
summary: Atualiza a foto do produto de um restaurante | |
operationId: atualizarFotoUsingPUT | |
consumes: | |
- multipart/form-data | |
produces: | |
- application/json | |
parameters: | |
- name: arquivo | |
in: formData | |
description: 'Arquivo da foto do produto (máximo 500KB, apenas JPG e PNG)' | |
required: true | |
type: file | |
- name: descricao | |
in: query | |
description: Descrição da foto do produto | |
required: true | |
type: string | |
- name: produtoId | |
in: path | |
description: ID do produto | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: restauranteId | |
in: path | |
description: ID do restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: Foto do produto atualizada | |
schema: | |
$ref: '#/definitions/FotoProdutoModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Produto de restaurante não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
delete: | |
tags: | |
- Produtos | |
summary: Exclui a foto do produto de um restaurante | |
operationId: excluirUsingDELETE | |
produces: | |
- application/json | |
parameters: | |
- name: produtoId | |
in: path | |
description: ID do produto | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: restauranteId | |
in: path | |
description: ID do restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Foto do produto excluída | |
'400': | |
description: ID do restaurante ou produto inválido | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Foto de produto não encontrada | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/restaurantes/{restauranteId}/responsaveis': | |
get: | |
tags: | |
- Restaurantes | |
summary: Lista os usuários responsáveis associados a restaurante | |
operationId: listarUsingGET_10 | |
produces: | |
- application/json | |
parameters: | |
- name: restauranteId | |
in: path | |
description: ID do restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/UsuariosModel' | |
'404': | |
description: Restaurante não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/restaurantes/{restauranteId}/responsaveis/{usuarioId}': | |
put: | |
tags: | |
- Restaurantes | |
summary: Associação de restaurante com usuário responsável | |
operationId: associarUsingPUT_2 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- name: restauranteId | |
in: path | |
description: ID do restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: usuarioId | |
in: path | |
description: ID do usuário | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Associação realizada com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Restaurante ou usuário não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
delete: | |
tags: | |
- Restaurantes | |
summary: Desassociação de restaurante com usuário responsável | |
operationId: desassociarUsingDELETE_2 | |
produces: | |
- application/json | |
parameters: | |
- name: restauranteId | |
in: path | |
description: ID do restaurante | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: usuarioId | |
in: path | |
description: ID do usuário | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Desassociação realizada com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Restaurante ou usuário não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
/v1/usuarios: | |
get: | |
tags: | |
- Usuários | |
summary: Lista os usuários | |
operationId: listarUsingGET_11 | |
produces: | |
- application/json | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/UsuariosModel' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
post: | |
tags: | |
- Usuários | |
summary: Cadastra um usuário | |
operationId: adicionarUsingPOST_8 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de um novo usuário | |
required: true | |
schema: | |
$ref: '#/definitions/UsuarioComSenhaInput' | |
responses: | |
'201': | |
description: Usuário cadastrado | |
schema: | |
$ref: '#/definitions/UsuarioModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/usuarios/{usuarioId}': | |
get: | |
tags: | |
- Usuários | |
summary: Busca um usuário por ID | |
operationId: buscarUsingGET_9 | |
produces: | |
- application/json | |
parameters: | |
- name: usuarioId | |
in: path | |
description: ID do usuário | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/UsuarioModel' | |
'400': | |
description: ID do usuário inválido | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Usuário não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
put: | |
tags: | |
- Usuários | |
summary: Atualiza um usuário por ID | |
operationId: atualizarUsingPUT_7 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de um usuário com os novos dados | |
required: true | |
schema: | |
$ref: '#/definitions/UsuarioInput' | |
- name: usuarioId | |
in: path | |
description: ID do usuário | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: Usuário atualizado | |
schema: | |
$ref: '#/definitions/UsuarioModel' | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Usuário não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/usuarios/{usuarioId}/grupos': | |
get: | |
tags: | |
- Usuários | |
summary: Lista os grupos associados a um usuário | |
operationId: listarUsingGET_12 | |
produces: | |
- application/json | |
parameters: | |
- name: usuarioId | |
in: path | |
description: ID do usuário | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'200': | |
description: OK | |
schema: | |
$ref: '#/definitions/GruposModel' | |
'404': | |
description: Usuário não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'500': | |
description: Erro interno do servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/usuarios/{usuarioId}/grupos/{grupoId}': | |
put: | |
tags: | |
- Usuários | |
summary: Associação de grupo com usuário | |
operationId: associarUsingPUT_3 | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- name: grupoId | |
in: path | |
description: ID do grupo | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: usuarioId | |
in: path | |
description: ID do usuário | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Associação realizada com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Usuário ou grupo não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
delete: | |
tags: | |
- Usuários | |
summary: Desassociação de grupo com usuário | |
operationId: desassociarUsingDELETE_3 | |
produces: | |
- application/json | |
parameters: | |
- name: grupoId | |
in: path | |
description: ID do grupo | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
- name: usuarioId | |
in: path | |
description: ID do usuário | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Desassociação realizada com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Usuário ou grupo não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
'/v1/usuarios/{usuarioId}/senha': | |
put: | |
tags: | |
- Usuários | |
summary: Atualiza a senha de um usuário | |
operationId: alterarSenhaUsingPUT | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
parameters: | |
- in: body | |
name: corpo | |
description: Representação de uma nova senha | |
required: true | |
schema: | |
$ref: '#/definitions/SenhaInput' | |
- name: usuarioId | |
in: path | |
description: ID do usuário | |
required: true | |
type: integer | |
format: int64 | |
x-example: 1 | |
responses: | |
'204': | |
description: Senha alterada com sucesso | |
'400': | |
description: Requisição inválida (erro do cliente) | |
schema: | |
$ref: '#/definitions/Problema' | |
'404': | |
description: Usuário não encontrado | |
schema: | |
$ref: '#/definitions/Problema' | |
'406': | |
description: Recurso não possui representação que poderia ser aceita pelo consumidor | |
'415': | |
description: Requisição recusada porque o corpo está em um formato não suportado | |
schema: | |
$ref: '#/definitions/Problema' | |
'500': | |
description: Erro interno no servidor | |
schema: | |
$ref: '#/definitions/Problema' | |
security: | |
- AlgaFood: | |
- READ | |
- WRITE | |
deprecated: false | |
securityDefinitions: | |
AlgaFood: | |
type: oauth2 | |
tokenUrl: http://localhost:8080/oauth/token | |
flow: password | |
scopes: | |
READ: Acesso de leitura | |
WRITE: Acesso de escrita | |
definitions: | |
CidadeIdInput: | |
type: object | |
required: | |
- id | |
properties: | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
title: CidadeIdInput | |
CidadeInput: | |
type: object | |
required: | |
- estado | |
- nome | |
properties: | |
estado: | |
$ref: '#/definitions/EstadoIdInput' | |
nome: | |
type: string | |
example: Uberlândia | |
title: CidadeInput | |
CidadeModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
estado: | |
$ref: '#/definitions/EstadoModel' | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
nome: | |
type: string | |
example: Uberlândia | |
title: CidadeModel | |
CidadeResumoModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
estado: | |
type: string | |
example: Minas Gerais | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
nome: | |
type: string | |
example: Uberlândia | |
title: CidadeResumoModel | |
CidadesEmbeddedModel: | |
type: object | |
properties: | |
cidades: | |
type: array | |
items: | |
$ref: '#/definitions/CidadeModel' | |
title: CidadesEmbeddedModel | |
CidadesModel: | |
type: object | |
properties: | |
_embedded: | |
$ref: '#/definitions/CidadesEmbeddedModel' | |
_links: | |
$ref: '#/definitions/Links' | |
title: CidadesModel | |
CozinhaIdInput: | |
type: object | |
required: | |
- id | |
properties: | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
title: CozinhaIdInput | |
CozinhaInput: | |
type: object | |
required: | |
- nome | |
properties: | |
nome: | |
type: string | |
example: Brasileira | |
title: CozinhaInput | |
CozinhaModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
nome: | |
type: string | |
example: Brasileira | |
title: CozinhaModel | |
CozinhasEmbeddedModel: | |
type: object | |
properties: | |
cozinhas: | |
type: array | |
items: | |
$ref: '#/definitions/CozinhaModel' | |
title: CozinhasEmbeddedModel | |
CozinhasModel: | |
type: object | |
properties: | |
_embedded: | |
$ref: '#/definitions/CozinhasEmbeddedModel' | |
_links: | |
$ref: '#/definitions/Links' | |
page: | |
$ref: '#/definitions/PageModel' | |
title: CozinhasModel | |
EnderecoInput: | |
type: object | |
required: | |
- bairro | |
- cep | |
- cidade | |
- logradouro | |
- numero | |
properties: | |
bairro: | |
type: string | |
example: Centro | |
cep: | |
type: string | |
example: 38400-000 | |
cidade: | |
$ref: '#/definitions/CidadeIdInput' | |
complemento: | |
type: string | |
example: Apto 901 | |
logradouro: | |
type: string | |
example: Rua Floriano Peixoto | |
numero: | |
type: string | |
example: '1500' | |
title: EnderecoInput | |
EnderecoModel: | |
type: object | |
properties: | |
bairro: | |
type: string | |
example: Centro | |
cep: | |
type: string | |
example: 38400-000 | |
cidade: | |
$ref: '#/definitions/CidadeResumoModel' | |
complemento: | |
type: string | |
example: Apto 901 | |
logradouro: | |
type: string | |
example: Rua Floriano Peixoto | |
numero: | |
type: string | |
example: '1500' | |
title: EnderecoModel | |
EstadoIdInput: | |
type: object | |
required: | |
- id | |
properties: | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
title: EstadoIdInput | |
EstadoInput: | |
type: object | |
required: | |
- nome | |
properties: | |
nome: | |
type: string | |
example: Minas Gerais | |
title: EstadoInput | |
EstadoModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
nome: | |
type: string | |
example: Minas Gerais | |
title: EstadoModel | |
EstadosEmbeddedModel: | |
type: object | |
properties: | |
estados: | |
type: array | |
items: | |
$ref: '#/definitions/EstadoModel' | |
title: EstadosEmbeddedModel | |
EstadosModel: | |
type: object | |
properties: | |
_embedded: | |
$ref: '#/definitions/EstadosEmbeddedModel' | |
_links: | |
$ref: '#/definitions/Links' | |
title: EstadosModel | |
EstatisticasModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
title: EstatisticasModel | |
FormaPagamentoIdInput: | |
type: object | |
required: | |
- id | |
properties: | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
title: FormaPagamentoIdInput | |
FormaPagamentoInput: | |
type: object | |
required: | |
- descricao | |
properties: | |
descricao: | |
type: string | |
example: Cartão de crédito | |
title: FormaPagamentoInput | |
FormaPagamentoModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
descricao: | |
type: string | |
example: Cartão de crédito | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
title: FormaPagamentoModel | |
FormasPagamentoEmbeddedModel: | |
type: object | |
properties: | |
formasPagamento: | |
type: array | |
items: | |
$ref: '#/definitions/FormaPagamentoModel' | |
title: FormasPagamentoEmbeddedModel | |
FormasPagamentoModel: | |
type: object | |
properties: | |
_embedded: | |
$ref: '#/definitions/FormasPagamentoEmbeddedModel' | |
_links: | |
$ref: '#/definitions/Links' | |
title: FormasPagamentoModel | |
FotoProdutoModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
contentType: | |
type: string | |
example: image/jpeg | |
descricao: | |
type: string | |
example: Prime Rib ao ponto | |
nomeArquivo: | |
type: string | |
example: b8bbd21a-4dd3-4954-835c-3493af2ba6a0_Prime-Rib.jpg | |
tamanho: | |
type: integer | |
format: int64 | |
example: 202912 | |
title: FotoProdutoModel | |
GrupoInput: | |
type: object | |
required: | |
- nome | |
properties: | |
nome: | |
type: string | |
example: Gerente | |
title: GrupoInput | |
GrupoModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
nome: | |
type: string | |
example: Gerente | |
title: GrupoModel | |
GruposEmbeddedModel: | |
type: object | |
properties: | |
grupos: | |
type: array | |
items: | |
$ref: '#/definitions/GrupoModel' | |
title: GruposEmbeddedModel | |
GruposModel: | |
type: object | |
properties: | |
_embedded: | |
$ref: '#/definitions/GruposEmbeddedModel' | |
_links: | |
$ref: '#/definitions/Links' | |
title: GruposModel | |
ItemPedidoInput: | |
type: object | |
required: | |
- produtoId | |
- quantidade | |
properties: | |
observacao: | |
type: string | |
example: 'Menos picante, por favor' | |
produtoId: | |
type: integer | |
format: int64 | |
example: 1 | |
quantidade: | |
type: integer | |
format: int32 | |
example: 2 | |
title: ItemPedidoInput | |
ItemPedidoModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
observacao: | |
type: string | |
example: 'Menos picante, por favor' | |
precoTotal: | |
type: number | |
example: 157.8 | |
precoUnitario: | |
type: number | |
example: 78.9 | |
produtoId: | |
type: integer | |
format: int64 | |
example: 1 | |
produtoNome: | |
type: string | |
example: Porco com molho agridoce | |
quantidade: | |
type: integer | |
format: int32 | |
example: 2 | |
title: ItemPedidoModel | |
Link: | |
type: object | |
properties: | |
href: | |
type: string | |
templated: | |
type: boolean | |
title: Link | |
Links: | |
type: object | |
properties: | |
rel: | |
$ref: '#/definitions/Link' | |
title: Links | |
ObjetoProblema: | |
type: object | |
properties: | |
name: | |
type: string | |
example: preco | |
userMessage: | |
type: string | |
example: O preço é obrigatório | |
title: ObjetoProblema | |
PageModel: | |
type: object | |
properties: | |
number: | |
type: integer | |
format: int64 | |
example: 0 | |
description: Número da página (começa em 0) | |
size: | |
type: integer | |
format: int64 | |
example: 10 | |
description: Quantidade de registros por página | |
totalElements: | |
type: integer | |
format: int64 | |
example: 50 | |
description: Total de registros | |
totalPages: | |
type: integer | |
format: int64 | |
example: 5 | |
description: Total de páginas | |
title: PageModel | |
PedidoInput: | |
type: object | |
required: | |
- enderecoEntrega | |
- formaPagamento | |
- itens | |
- restaurante | |
properties: | |
enderecoEntrega: | |
$ref: '#/definitions/EnderecoInput' | |
formaPagamento: | |
$ref: '#/definitions/FormaPagamentoIdInput' | |
itens: | |
type: array | |
items: | |
$ref: '#/definitions/ItemPedidoInput' | |
restaurante: | |
$ref: '#/definitions/RestauranteIdInput' | |
title: PedidoInput | |
PedidoModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
cliente: | |
$ref: '#/definitions/UsuarioModel' | |
codigo: | |
type: string | |
example: f9981ca4-5a5e-4da3-af04-933861df3e55 | |
dataCancelamento: | |
type: string | |
format: date-time | |
example: '2019-12-01T20:35:00Z' | |
dataConfirmacao: | |
type: string | |
format: date-time | |
example: '2019-12-01T20:35:10Z' | |
dataCriacao: | |
type: string | |
format: date-time | |
example: '2019-12-01T20:34:04Z' | |
dataEntrega: | |
type: string | |
format: date-time | |
example: '2019-12-01T20:55:30Z' | |
enderecoEntrega: | |
$ref: '#/definitions/EnderecoModel' | |
formaPagamento: | |
$ref: '#/definitions/FormaPagamentoModel' | |
itens: | |
type: array | |
items: | |
$ref: '#/definitions/ItemPedidoModel' | |
restaurante: | |
$ref: '#/definitions/RestauranteApenasNomeModel' | |
status: | |
type: string | |
example: CRIADO | |
subtotal: | |
type: number | |
example: 298.9 | |
taxaFrete: | |
type: number | |
example: 10 | |
valorTotal: | |
type: number | |
example: 308.9 | |
title: PedidoModel | |
PedidoResumoModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
cliente: | |
$ref: '#/definitions/UsuarioModel' | |
codigo: | |
type: string | |
example: f9981ca4-5a5e-4da3-af04-933861df3e55 | |
dataCriacao: | |
type: string | |
format: date-time | |
example: '2019-12-01T20:34:04Z' | |
restaurante: | |
$ref: '#/definitions/RestauranteApenasNomeModel' | |
status: | |
type: string | |
example: CRIADO | |
subtotal: | |
type: number | |
example: 298.9 | |
taxaFrete: | |
type: number | |
example: 10 | |
valorTotal: | |
type: number | |
example: 308.9 | |
title: PedidoResumoModel | |
PedidosResumoEmbeddedModel: | |
type: object | |
properties: | |
pedidos: | |
type: array | |
items: | |
$ref: '#/definitions/PedidoResumoModel' | |
title: PedidosResumoEmbeddedModel | |
PedidosResumoModel: | |
type: object | |
properties: | |
_embedded: | |
$ref: '#/definitions/PedidosResumoEmbeddedModel' | |
_links: | |
$ref: '#/definitions/Links' | |
page: | |
$ref: '#/definitions/PageModel' | |
title: PedidosResumoModel | |
PermissaoModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
descricao: | |
type: string | |
example: Permite consultar cozinhas | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
nome: | |
type: string | |
example: CONSULTAR_COZINHAS | |
title: PermissaoModel | |
PermissoesEmbeddedModel: | |
type: object | |
properties: | |
permissoes: | |
type: array | |
items: | |
$ref: '#/definitions/PermissaoModel' | |
title: PermissoesEmbeddedModel | |
PermissoesModel: | |
type: object | |
properties: | |
_embedded: | |
$ref: '#/definitions/PermissoesEmbeddedModel' | |
_links: | |
$ref: '#/definitions/Links' | |
title: PermissoesModel | |
Problema: | |
type: object | |
properties: | |
status: | |
type: integer | |
format: int32 | |
example: 400 | |
timestamp: | |
type: string | |
format: date-time | |
example: '2019-12-01T18:09:02.70844Z' | |
type: | |
type: string | |
example: 'https://algafood.com.br/dados-invalidos' | |
title: | |
type: string | |
example: Dados inválidos | |
detail: | |
type: string | |
example: Um ou mais campos estão inválidos. Faça o preenchimento correto e tente novamente. | |
userMessage: | |
type: string | |
example: Um ou mais campos estão inválidos. Faça o preenchimento correto e tente novamente. | |
objects: | |
type: array | |
description: Lista de objetos ou campos que geraram o erro (opcional) | |
items: | |
$ref: '#/definitions/ObjetoProblema' | |
title: Problema | |
ProdutoInput: | |
type: object | |
required: | |
- ativo | |
- descricao | |
- nome | |
- preco | |
properties: | |
ativo: | |
type: boolean | |
example: true | |
descricao: | |
type: string | |
example: 'Acompanha farinha, mandioca e vinagrete' | |
nome: | |
type: string | |
example: Espetinho de Cupim | |
preco: | |
type: number | |
example: 12.5 | |
title: ProdutoInput | |
ProdutoModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
ativo: | |
type: boolean | |
example: true | |
descricao: | |
type: string | |
example: 'Acompanha farinha, mandioca e vinagrete' | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
nome: | |
type: string | |
example: Espetinho de Cupim | |
preco: | |
type: number | |
example: 12.5 | |
title: ProdutoModel | |
ProdutosEmbeddedModel: | |
type: object | |
properties: | |
produtos: | |
type: array | |
items: | |
$ref: '#/definitions/ProdutoModel' | |
title: ProdutosEmbeddedModel | |
ProdutosModel: | |
type: object | |
properties: | |
_embedded: | |
$ref: '#/definitions/ProdutosEmbeddedModel' | |
_links: | |
$ref: '#/definitions/Links' | |
title: ProdutosModel | |
RestauranteApenasNomeModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
nome: | |
type: string | |
example: Thai Gourmet | |
title: RestauranteApenasNomeModel | |
RestauranteBasicoModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
cozinha: | |
$ref: '#/definitions/CozinhaModel' | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
nome: | |
type: string | |
example: Thai Gourmet | |
taxaFrete: | |
type: number | |
example: 12 | |
title: RestauranteBasicoModel | |
RestauranteIdInput: | |
type: object | |
required: | |
- id | |
properties: | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
title: RestauranteIdInput | |
RestauranteInput: | |
type: object | |
required: | |
- cozinha | |
- endereco | |
- nome | |
- taxaFrete | |
properties: | |
cozinha: | |
$ref: '#/definitions/CozinhaIdInput' | |
endereco: | |
$ref: '#/definitions/EnderecoInput' | |
nome: | |
type: string | |
example: Thai Gourmet | |
taxaFrete: | |
type: number | |
example: 12 | |
title: RestauranteInput | |
RestauranteModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
aberto: | |
type: boolean | |
ativo: | |
type: boolean | |
cozinha: | |
$ref: '#/definitions/CozinhaModel' | |
endereco: | |
$ref: '#/definitions/EnderecoModel' | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
nome: | |
type: string | |
example: Thai Gourmet | |
taxaFrete: | |
type: number | |
example: 12 | |
title: RestauranteModel | |
RestaurantesBasicoModel: | |
type: object | |
properties: | |
_embedded: | |
$ref: '#/definitions/RestaurantesEmbeddedModel' | |
_links: | |
$ref: '#/definitions/Links' | |
title: RestaurantesBasicoModel | |
RestaurantesEmbeddedModel: | |
type: object | |
properties: | |
restaurantes: | |
type: array | |
items: | |
$ref: '#/definitions/RestauranteBasicoModel' | |
title: RestaurantesEmbeddedModel | |
SenhaInput: | |
type: object | |
required: | |
- novaSenha | |
- senhaAtual | |
properties: | |
novaSenha: | |
type: string | |
example: 123 | |
senhaAtual: | |
type: string | |
example: 123 | |
title: SenhaInput | |
UsuarioComSenhaInput: | |
type: object | |
required: | |
- nome | |
- senha | |
properties: | |
email: | |
type: string | |
example: [email protected] | |
nome: | |
type: string | |
example: João da Silva | |
senha: | |
type: string | |
example: 123 | |
title: UsuarioComSenhaInput | |
UsuarioInput: | |
type: object | |
required: | |
- nome | |
properties: | |
email: | |
type: string | |
example: [email protected] | |
nome: | |
type: string | |
example: João da Silva | |
title: UsuarioInput | |
UsuarioModel: | |
type: object | |
properties: | |
_links: | |
$ref: '#/definitions/Links' | |
email: | |
type: string | |
example: [email protected] | |
id: | |
type: integer | |
format: int64 | |
example: 1 | |
nome: | |
type: string | |
example: João da Silva | |
title: UsuarioModel | |
UsuariosEmbeddedModel: | |
type: object | |
properties: | |
usuarios: | |
type: array | |
items: | |
$ref: '#/definitions/UsuarioModel' | |
title: UsuariosEmbeddedModel | |
UsuariosModel: | |
type: object | |
properties: | |
_embedded: | |
$ref: '#/definitions/UsuariosEmbeddedModel' | |
_links: | |
$ref: '#/definitions/Links' | |
title: UsuariosModel | |
VendaDiaria: | |
type: object | |
properties: | |
data: | |
type: string | |
format: date-time | |
totalFaturado: | |
type: number | |
totalVendas: | |
type: integer | |
format: int64 | |
title: VendaDiaria |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment