76 lines
1.5 KiB
Markdown
76 lines
1.5 KiB
Markdown
# Shopping API
|
|
|
|
Creates the Web API for a very basic e-commerce platform. The
|
|
server is backed by PostgreSQL database.
|
|
|
|
## APIs
|
|
|
|
### 1. GET /product
|
|
|
|
- Returns a JSON response with all the events, ordered by date of creation in ascending order.
|
|
|
|
- Output
|
|
|
|
```json
|
|
[
|
|
{
|
|
"productid": 5,
|
|
"productname": "Hammer",
|
|
"created_at": "2020-11-30T21:46:41.359298"
|
|
},
|
|
{
|
|
"productid": 4,
|
|
"productname": "Soap",
|
|
"created_at": "2020-11-30T21:46:41.359298"
|
|
}
|
|
]
|
|
```
|
|
|
|
### 2. POST /orders
|
|
|
|
- Accepts a JSON request for an order that comprises one or more tickets.
|
|
|
|
- Input
|
|
|
|
```json
|
|
{
|
|
"email": "mail@id.com",
|
|
"line_items": [
|
|
{
|
|
"productid": 4,
|
|
"quantity": 10
|
|
},
|
|
{
|
|
"productid": 5,
|
|
"quantity": 10
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
### 3. GET /orders (TODO)
|
|
|
|
- Returns a JSON response with all the orders, ordered by date of creation.
|
|
|
|
- Output
|
|
|
|
```json
|
|
{
|
|
“orders”: [
|
|
{
|
|
“id”: 1,
|
|
“email”: “test@example.com”,
|
|
“line_items”: [
|
|
{
|
|
“quantity”: 5,
|
|
“product”: {
|
|
“id”: 1,
|
|
“name”: “Product1”
|
|
}
|
|
},
|
|
],
|
|
}
|
|
]
|
|
}
|
|
```
|