Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Sr No.API EndpointDescriptionTasksStatusPhase
1POST /shopping-listsTo create a new shopping list.
PlanningI
2GET /shopping-listsTo get the list of shopping lists.
PlanningI
3GET /shopping-lists/{shoppingListId}To get the detail of a shopping list. This will also bring the list of available interval/frequency data for setting the recurrence detail using the update shopping list API.
PlanningI
4PUT /shopping-lists/{shoppingListId}To update the shopping list detail. Recurrence info can also be set from this API.
PlanningI
5POST /shopping-lists/{shoppingListId}/itemsAdd an item to the shopping list.
PlanningI
6GET /shopping-lists/{shoppingListId}/itemsGet the list of items on a shopping list.
PlanningI
7PUT /shopping-lists/{shoppingListId}/items/{itemId}Update the particular item on the shopping list.
PlanningI
8DELETE /shopping-lists/{shoppingListId}/items/{itemId}Remove the particular item from the shopping list.
PlanningI
9POST /quote-requestsQuotes Request can be created from the shopping list and from the cart.  This API will create a quote request.
PlanningI
10GET /quote-requestsTo get the list of quote requests(request history).
PlanningI
11GET /quote-requests/{requestId}To get the detail of a quote request.
PlanningI
12GET /quotesTo get the list of quotes.
PlanningI
13GET /quotes/{quoteId}To get the detail of a quote.
PlanningI
14POST /order-quotesTo create an order from the quote.
PlanningI


Shopping Cart & Checkout

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 EndpointDescriptionTasksStatusPhase
1POST /carts



2GET /carts/{cartReference}



3DELETE /carts/{cartReference}



4POST /carts/{cartReference}/itemsFor adding products and other order adjustments like shipping charges, tax, etc.


5GET /carts/{cartReference}/items



6PUT /carts/{cartReference}/items/{itemIditemSeqId}



7DELETE /carts/{cartReference}/items/{itemIditemSeqId}



8POST /carts/{cartReference}/promotionsTo apply the promo code on the cart.


9DELETE /carts/{cartReference}/promotions/{itemIditemSeqId}To remove an applied promotion.


10POST /carts/{cartReference}/items/shopping-list/{shoppingListId}This will add all the items of a given shopping list to the cart.


11POST /carts/{cartReference}/items/order/{orderId}This will add all the items of a given past order to the cart.


12POST /carts/{cartReference}/ship-groupsTo create a new ship group in case of split shipment.


13GET /carts/{cartReference}/ship-groupsTo get the ship groups with items.


14POST /carts/{cartReference}/ship-groups/{shipGroupSeqId}/shipping-address/{contactMechId}To add the shipping address.


15POST /carts/{cartReference}/ship-groups/{shipGroupSeqId}/itemsTo move items from one ship group to another in case of split shipment.


16POST /carts/{cartReference}/ship-groups/{shipGroupSeqId}/shipping-instructionsTo add special instructions, gift message in case of a gift, split preferences(ship all items together or ship items when available)


17PUT /carts/{cartReference}/ship-groups/{shipGroupSeqId}/shipping-instructionsTo update special instructions, gift message in case of a gift, split preferences(ship all items together or ship items when available)


18GET /shipping-methods}To get the shipping methods.


19POST /carts/{cartReference}/ship-groups/{shipGroupSeqId}/shipping-methodTo add/update the shipping method.


20GET /payment-optionsTo get the list of supported payment options.


21POST /carts/{cartReference}/payment-methodsTo add a payment method. The combination of the gift card and other payment methods are supported as of now.


22POST /checkoutTo place the order.


...