Skip to content

GustavoM96/Kenzie-Shop-back-end

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bem vindo a nossa API - Kenzie Shop

Nosso projeto tem o foco de um "Ekomerce" da Kenzie Academy com validações e verificações, reforçando a segurança e o desempenho!!!

🥳 Rotas:

Validando Criando Buscando Alterando Deletando

👾 Validando Acessos

Para ter acesso a maior parte dos componentes precisamos validar a entrada

Validação do admin

Method - POST

Endpoint - /auth/admins

Body - {
	"email": "[email protected]",
	"password": "123456"
}

Request - 200

Retornando o token de acesso do admin


01



Validação do usuário

Method - POST

Endpoint - /auth/customers

Body - {
	"email": "[email protected]",
	"password": "123456"
}

Request - 200

Retornando o token de acesso do usuário




👤 Criando Elementos

Aqui está todas as informações que você poderá inserir na API


Criando um admin

Method - POST

Endpoint - /admins

Body - {
	"name": "Admin",
	"email": "[email protected]",
	"password": "123456"
}

Request - 201

Retorna admin referente as informações passada por body


Criando um usuário

Method - POST

Endpoint - /customers

Body - {
	"name": "Silvio",
	"last_name": "Romano",
	"email": "[email protected]",
	"password": "123456"
}

Request - 201

Retorna usuário referente as informações passada por body



Adicionando Endereço ao usuário

Method - POST

Endpoint - /customers/<int:customer_id>/addresses

Header - Authorization: Bearer <token_user>

Body - {
		"name": "Rua Dom Pedro II",
		"number": 79,
		"complement": "Casa", 
		"zipcode": "12345-678", 		
		"city": "João Pessoa",		
		"state": "PB"		
	}

Request - 201

Retorna endereço referente ao body


Adicionando um produto ao sistema (Apenas Admin)

Method - POST (ADMIN)

Endpoint - /products

Header - Authorization: Bearer <token_admin>

Body - {
	"name":"Camiseta",
	"description":"Camiseta Branca M",
	"current_price":29.99,
	"discount":0,
	"amount_products":100,
	"image_url":"https://img.elo7.com.br/product/main/2256D07/camiseta-branca-malha-fria-camiseta-para-trabalho.jpg"
}

Request - 201

Retorna produto referente ao body


Adicionar produto ao carinho do usuário

Method - POST

Endpoint - /customers/<int:customer_id>/cart/products/<int:product_id>

Header - Authorization: Bearer <token_user>

Body - No Content

Request - 201

Retorno do produto adicionado

Criando Ordem ao comprar item

Method - POST

Endpoint - /customers/<int:customer_id>/orders

Header - Authorization: Bearer <token_user>

Body - {
	"invoice_url": https://url_tested_matrix;
	"payment_type": Cartão de Credito;
}

Request - 201

Retorno a ordem da compra

Enviando Email da compra

Method - POST

Endpoint - /customers/<int:customer_id>/addresses/<int:address_id>/orders/<int:order_id>/email

Header - Authorization: Bearer <token_user>

Body - No Content

Request - 201

Envia Email para o usuário da compra



👾 Pegando elementos da API

Aqui estão todos os elementos que podem ser buscados na API

Trazendo todos os usuários cadastrados (APENAS ADMINs)

Method - GET (ADMIN)

Endpoint - /customers

Body - No Content

Request - 200 

Retorna todos os usuários cadastrados


Trazendo usuário respectivo

Method - GET 

Endpoint - /customers/<int:customer_id>

Header - Authorization: Bearer <token_user>

Body - No Content

Request - 200 

Retorna um usuário respectivo


Trazendo todos os endereços de um usuário

Method - GET 

Endpoint - /customers/<int:customer_id>/addresses

Header - Authorization: Bearer <token_user>

Body - No Content

Request - 200 

Retorna todos os endereços cadastrados de um usuário


Trazendo endereços especificos dos usuários

Method - GET 

Endpoint - /customers/<int:customer_id>/addresses/<int:address_id>

Header - Authorization: Bearer <token_user>

Body - No Content

Request - 200 

Retorno


Trazendo todos os endereços (APENAS ADMINs)

Method - GET (ADMIN)

Endpoint - /addresses

Header - Authorization: Bearer <token_user>

Body - No Content

Request - 200 

Retorno


Trazendo endereço especifico (APENAS ADMINs)

Method - GET (ADMIN)

Endpoint - /addresses/<int:address_id>

Header - Authorization: Bearer <token_user>

Body - No Content

Request - 200 

Retorno

👾 Modificando Elementos da API

Aqui estão todos os elementos que podem ser Modificados na API


Fazendo alterações no usuário

Method - PATCH

Endpoint - /customers/<int:customer_id>

Header - Authorization: Bearer <token_user>

Body - {
		"name": "Romano",
		"last_name": "Silvio",
		"email":"[email protected]",
	}

Request - 200

Devem passar pelo menos um item no body, quantidade opcional


Fazendo alterações no endereço

Method - PATCH

Endpoint - /customers/<int:customer_id>/addresses/<int:address_id>

Header - Authorization: Bearer <token_user>

Body - {
		"name": "Rua Dom Torreto",
		"number": 857,
		"complement": "Apartamento", 
		"zipcode": "12345-698", 		
		"city": "Curitiba",		
		"state": "PR"		
	}

Request - 200

Devem passar pelo menos um item no body, quantidade opcional


Fazendo alterações no produto (APENAS ADMINs)

Method - PATCH (ADMIN)

Endpoint - /products/<int:product_id>

Header - Authorization: Bearer <token_admin>

Body - {
	"name":"Camiseta G",
	"description":"Camiseta Laranja",
	"current_price":44.99,
	"discount":22,
	"amount_products":110,
	"image_url":"https://img.elo7.com.br/product/main/2256D07/camiseta-branca-malha-fria-camiseta-para-trabalho.jpg"
}

Request - 201

Devem passar pelo menos um item no body, quantidade opcional


Fazendo alterações na quantidade de um produto no cart

Method - PATCH 

Endpoint - /customers/<int:customer_id>/cart/products/<int:product_id>?quantity_product=value

Header - Authorization: Bearer <token_user>

Body - No Content

Request - 201

Valor passado por url quantity_product

Fazendo alteração no order

Method - PATCH 

Endpoint - /customers/<int:customer_id>/orders/<int:order_id>

Header - Authorization: Bearer <token_user>

Body - {
	"payment_type": "Boleto",
	"invoice_url": "https://fiscal_boletod"
}

Request - 201

Devem passar pelo menos um item no body, quantidade opcional

👾 Deletando elementos da API

Aqui estão todos os elementos que podem ser deletados da API


Deletando todos os produtos do carrinho de um usuário

Method - DELETE

Endpoint - /customers/<int:customer_id>/cart

Header - Authorization: Bearer <token_user>

Body - no content

Request - 204

Sem Retorno

Deletando Produto especifico do carrinho de um usuário

Method - DELETE

Endpoint - /customers/<int:customer_id>/cart/products/<int:product_id>

Header - Authorization: Bearer <token_user>

Body - no content

Request - 204

Sem Retorno

About

aplicação back-end para e-commerce

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages