Skip to content
eriudo edited this page Apr 24, 2021 · 20 revisions

Endpoints

Produtos

Obter todos os produtos disponíveis

GET /products

RESPONSE

[
    {
        "name": "Apple",
        "price": 10.3,
        "available": 10
    },
    {
        "name": "Banana",
        "price": 5.3,
        "available": 3
    }
]

Registrar produto

POST /products

REQUEST

[
    {
        "name": "PineApple",
        "price": 4.3,
        "available": 5
    }
]

Obter informações de um único produto

GET /products/{id}

RESPONSE

{
    "name": "Apple",
    "price": 10.3,
    "available": 10
}

Atualizar informações de um produto

PUT /products/{id}

REQUEST

{
    "name": "NewApple",
    "price": 10.3,
    "available": 5
}

Excluir um produto

DELETE /products/{id}

Exclui as informações daquele produto, identificado pela sua ID

Cupons de desconto

Obter cupons de desconto

GET /vouchers

RESPONSE

[
    {
        "type": "shipping",
        "code": "#FRETEGRATIS",
        "amount": 0,
        "available": true
    },
    {
        "type": "percentual",
        "code": "#30OFF",
        "amount": 30,
        "available": false
    },
    {
        "type": "fixed",
        "code": "#10REAIS",
        "amount": 10,
        "available": true
    }
]

Obter informações de um único cupom de desconto

GET /vouchers/{id}

RESPONSE

{
    "type": "shipping",
    "code": "#FRETEGRATIS",
    "amount": 0,
    "available": true
}

Registrar cupom de desconto

POST /vouchers

REQUEST

{
    "type": "shipping",
    "code": "#FRETESOHOJEGRATIS",
    "amount": 20,
    "available": true
}

Atualizar informações de um cupom de desconto

PUT /vouchers/{id}

REQUEST

{
    "type": "shipping",
    "code": "#FRETESOHOJEGRATIS",
    "amount": 20,
    "available": false
}

Excluir informações de um cupom de desconto

DELETE /vouchers/{id}

Exclui as informações daquele voucher, identificado pela sua ID

Compra

Processar compra

POST users/{id}/orders/{id}/checkout

RESPONSE

{
    "subtotal": 234.00,
    "shipping": 10.00,
    "discount": 1.00,
    "total": 243.00
}

Autenticação

Criar sessão de login do usuário

Registrar um usuário

POST /users

REQUEST

  {
      "name": "usuario",
      "email": "[email protected]",
      "senha": "123456789",
   }

Obter Informações de um usuário

GET /users/{id}

RESPONSE

{
    "name": "usuario",
    "email": "[email protected]"
}

Pedido

Registrar um pedido de um usuário

REQUEST

POST /users/{id}/orders

   {
      "products": [{ "product_id": "BzqfFaz12z1o", "amount": 5 }, {"product_id": "pqRaWaS91z1o", "amount": 9 }],
      "voucher_id": "sdSzXaz17z1y",
      "date": "21/03/2021"
   }

Obter Informações de um pedido

GET /users/{id}/orders

RESPONSE

   {
      "products": [{ "product_id": "sdfaWaz12z1o", "amount": 5 }, {"product_id": "sdfaWaz12z1o", "amount": 9 }],
      "voucher_id": "sdfaSsI85z1o",
      "date": "21/03/2021"
   }