...
Note: The below API endpoints are written considering the Object-Oriented implementation of Shopping Cart. We need to identify the best way to store the shopping cart object as the user session won't be in the picture here. One way to introduce a new table to keep the cart object with a unique cart ID. For better performance cache can also be used efficiently. The cart object should have the last updated timestamp so that a clear policy to remove the abandoned cart can be imposed.
Sr No. | API Endpoint | Description | Tasks | Status | Phase |
---|
Shopping Cart |
1 | POST /carts | To create a cart. |
| Planning | I |
2 |
GET PUT /carts/{cartReference} |
Planning | IDELETE GET /carts/{cartReference} | To get the complete cart. |
| Planning | I |
4 | POST /carts/{cartReference}/ |
itemsFor adding products and other order adjustments like shipping charges, tax, etcdelete | To remove items from the cart. |
| Planning | I |
5 |
GET /carts/{cartReference}/items | Planning | I | 6 | PUT /carts/{cartReference}/items/{itemSeqId} | Planning | I | 78 | DELETE /carts/{cartReference}/items/{itemSeqId} | Planning | I | POST /carts/{cartReference}/promotions | To apply the promo code on the cart. |
| Planning | I |
96 | DELETE /carts/{cartReference}/promotions |
/{itemSeqId}11 | POST /carts/{cartReference}/items/order/{orderId} | This will add all the items of a given past order to the cart. | Planning | I | Checkout |
1 | POST /carts/{cartReference}/ship-groups | To create a new ship group in case of split shipment. | Planning | I | 2 | GET /carts/{cartReference}/ship-groups | To get the ship groups with items. | Planning | I | 3 | To remove an applied promotion. |
| Planning | I |
10 | POST /carts/{cartReference}/items/shopping-list/{shoppingListId} | This will add all the items of a given shopping list to the cart. | Planning | I | 7 | POST /carts/{cartReference}/ |
ship-groups/{shipGroupSeqId}/addressTo add the shipping address.4 | POST /carts/{cartReference}/ship-groups/{shipGroupSeqId}/items | To move items from one ship group to another in case of split shipment. | Planning | I | 5 | 8 | POST /carts/{cartReference}/ |
ship-groups/{shipGroupSeqId}/instructionsTo add special instructions, gift message in case of a gift, split preferences(ship all items together or ship items when available) | Planning | I | 6 | PUT /carts/{cartReference}/ship-groups/{shipGroupSeqId}/shipping-instructions | To update special instructions, gift message in case of a gift, split preferences(ship all items together or ship items when available) | Planning | I | 7 | GET /shipping-methods} | To get the shipping .Planning | I | 8 | POST /carts/{cartReference}/ship-groups/{shipGroupSeqId}/shipping-method | To add/update the shipping method.payment-optionsTo get the list of supported payment options. | Planning | I | 10 | POST /carts/{cartReference}/payment-methods |
To add a payment method. The combination of the gift card and other payment methods are supported as of now. | Planning | I |
|
|
|
|
10 | GET carts/{cartReference}/totals |
11 | POST /checkout | To place the order. | Planning | I | Anonymous Checkout |
1 | POST /carts/{cartReference}/guest/personal-information | Set the anonymous user's detail for the order. Name, phone, email, etc. | Planning | I | 2 | PUT /carts/{cartReference}/guest/personal-information | Planning | I | 3 | POST /carts/{cartReference}/guest/shipping-address | Planning | I | 4 | PUT /carts/{cartReference}/guest/shipping-address | Planning | I | 5 | POST /carts/{cartReference}/guest/payment-informaion | Planning | I | 6 | PUT /carts/{cartReference}/guest/payment-informaion | Planning | I