Skip to content

guicarm/FIAP.DELIVERY

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚜️ F I A P   D E L I V E R Y ⚜️

API do Projeto Fiap Delivery


💡 Requisitos - Geral

💡 Requisitos - Usuários

💡 Requisitos - Admin



📃 Documentação da API - Geral

💠 Visualização do Cardápio

GET /cardapio

Lista todos os produtos disponíveis.

Resposta - sucesso

{
    cardapio: [
        {
            categoria: "sanduíche",
            produtos: [
                {
                    id: "1",
                    nome: "X-Fiapinho",
                    preco: 30,
                    porcentagem_desconto: 0,
                    ingredientes: "Pão, 2x carnes de 80g",
                    image: "...",
                }
            ]
        },
        {
            categoria: "pizza",
            produtos: [
                {...},
                {...}
            ]
        }
    ]
}

Resposta - erro

{
    error: "Erro ao recuperar o cardápio.",
    message: "Ocorreu um erro ao processar a solicitação. Por favor, tente novamente."
}

Códigos de Status

código descrição
200 O cardápio foi retornado com sucesso.

💠 Visualização do Produto

GET /cardapio/{id}

Lista detalhadamente informações sobre o produto.

Requisição - via id

Resposta - sucesso

{
    id: "1",
    nome: "X-Fiapinho",
    preco: 30,
    porcentagem_desconto: 0,
    ingredientes: "Pão, 2x carnes de 80g",
    image: "...",
}

Resposta - erro

{
    error: "Produto não encontrado.",
    message: "O produto com o ID fornecido não foi encontrado."
}

Códigos de Status

código descrição
200 Detalhes do produto retornado com sucesso.
404 Produto referente ao {id} não encontrado



📃 Documentação da API - Usuários

💠 Autenticação de Usuário

POST /login

Sistema de login de usuário

Requisição

{
    email: "user@email.com",
    senha: "senha123",
}

Resposta - sucesso

{
  id_usuario: "123",
  message: "Login bem-sucedido."
}

Resposta - erro

{
  error: "Credenciais inválidas.",
  message: "Usuário não encontrado. Verifique suas credenciais."
}

Códigos de Status

código descrição
200 Login bem-sucedido.
401 Usuário não autorizado.

💠 Registro de Usuário

POST /registro

Cadastra um usuário no sistema

Requisição

{
    nome: "usuario",
    sobrenome: "balacobaco",
    email: "user@email.com",
    senha: "senha123",
    cep: "99999222",
    numero: 444
}

Resposta - sucesso

{
    id_usuario: "123",
    message: "Usuário cadastrado com sucesso."
}

Resposta - erro

{
    erro: "Erro ao cadastrar usuário",
    message: "Usuário já existente. Verifique e/ou altere suas credenciais."
}

Códigos de Status

código descrição
201 Usuário cadastrado com sucesso.
400 Requisição inválida, dados ausentes, mal formatados ou usuário já existente.

💠 Atualização das Informações do Usuário

GET /usuario

Obtém as informações do usuário.

Resposta - sucesso

{
    id_usuario: "123",
    nome: "Usuario",
    sobrenome: "Balacobaco",
    email: "user@email.com",
    senha: "senha123",
    cep: "99999222",
    numero: 444
}

Resposta - erro

{
    error: "Configurações do usuário não encontradas.",
    message: "Não foi possível encontrar as configurações para o usuário especificado."
}

Códigos de Status

código descrição
200 Configurações retornadas com sucesso.
401 Configurações de usuário não encontradas .

PUT /usuario

Altera informações do usuário.

Requisição

{
  id_usuario: "123",
  cep: "00077111",
  numero: 777
  senha: "novaSenha123"
}

// OU

{
  id_usuario: "123",
  senha: "novaSenha123"
}

Resposta - sucesso

{
  message: "Configurações do usuário atualizadas com sucesso.";
}

Resposta - erro

{
  error: "Erro ao atualizar as configurações do usuário.",
  message: "Ocorreu um erro ao processar a atualização das configurações do usuário."
}

Códigos de Status

código descrição
200 Configurações do usuário foram atualizadas com sucesso.
400 Requisição inválida, como dados de entrada ausentes ou mal formatados.

💠 Envio de pedido

POST /pedido

Envia para o sistema os detalhes do pedido feito pelo usuário

Requisição

{
    id_usuario: "123",
    produtos: [
        {
            id_produto: "1",
            quantidade: 2
        },
        {
            id_produto: "3",
            quantidade: 1
        }
    ],
    total: 90,
}

Resposta - sucesso

{
  id_pedido: "123123",
  message: "Pedido realizado com sucesso."
}

Resposta - erro

{
    error: "Error ao realizar pedido",
    message: "Ocorreu um erro ao processar o pedido. Por favor, tente novamente."
}

Códigos de Status

código descrição
201 Pedido realizado com sucesso.
400 Pedido inválido. Dados ausente ou mal formatados

💠 Histórico de pedidos

GET /pedidos

Envia para o sistema os detalhes do pedido feito pelo usuário

Resposta - sucesso

{
  pedidos: [
    {
      id_pedido: "123123",
      produtos: [
        {
          id_produto: "123",
          quantidade: 1,
        },
        {
          id_produto: "456",
          quantidade: 2,
        },
      ],
      total: 90,
      data: "2024-03-05T15:30:00",
    },
  ];
}

Resposta - erro

{
    error: "Nenhum pedido encontrado.",
    message: "Não há histórico de pedidos disponível."
}

Códigos de Status

código descrição
200 Histórico de pedidos retornado com sucesso.
404 Histórico de pedidos não encontrado.



📃 Documentação da API - Admin

💠 CRUD de produtos

POST /admin/produto

Adiciona um novo produto no cardápio.

Requisição

{
    categoria: "sanduíches",
    nome: "X-Fiapinho",
    preco: 30,
    porcentagem_desconto: 0,
    ingredientes: "Pão, 2x carnes de 80g",
    imagem: "..."
}

Resposta - sucesso

{
  message: "Produto adicionado com sucesso.";
}

Resposta - erro

{
    error: "Erro ao adicionar o produto.",
    message: "Ocorreu um erro ao adicionar o produto."
}

Códigos de Status

código descrição
201 Produto adicionado com sucesso.
400 Requisição inválida, como dados de entrada ausentes ou mal formatados.

PUT /admin/produto/{id}

Edita um produto do cardápio.

Requisição

{
    categoria: "sanduíches",
    nome: "X-Fiapinho Deluxe",
    preco: 30,
    porcentagem_desconto: 0,
    ingredientes: "Pão, 2x carnes de 80g",
    imagem: "..."
}

Resposta - sucesso

{
  message: "Produto atualizado com sucesso.";
}

Resposta - erro

{
    error: "Erro ao atualizar o produto.",
    message: "Ocorreu um erro ao atualizar o produto."
}

Códigos de Status

código descrição
200 Produto atualizado com sucesso.
400 Requisição inválida, como dados de entrada ausentes ou mal formatados.
404 Produto referente ao {id} não encontrado.

DELETE /admin/produto/{id}

Deleta um produto do cardápio.

Requisição - via id

Resposta - sucesso

{
  message: "Produto excluído com sucesso.";
}

Resposta - erro

{
    error: "Erro ao deletar o produto.",
    message: "Ocorreu um erro ao deletar o produto."
}

Códigos de Status

código descrição
204 Produto excluído com sucesso.
404 Produto referente ao {id} não encontrado.

About

API do Projeto FIAP.DELIVERY - Aplicação de delivery mobile

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages