Skip to content
This repository has been archived by the owner on Oct 26, 2019. It is now read-only.

Latest commit

 

History

History
285 lines (196 loc) · 3.66 KB

API_DOCS.md

File metadata and controls

285 lines (196 loc) · 3.66 KB

API Documentation


Authentication Routes

  • POST ~/api/user/auth/register

    Register New User in Database.

    Parameters

     {
     	"username" : "<String>",
     	"name"     : "<String>",
     	"password" : "<String>"
     }
  • POST ~/api/user/auth/login

    Login Existing User

    Parameters

     {
     	"username" : "<String>",
     	"password" : "<String>"
     }
  • POST ~/api/user/auth/signout

    Signout Existing User

    Parameters

     {
     	"username" : "<String>"
     }
  • GET ~/api/user/auth/verify?username={<String>}

    Check if username already exists


Cart Routes

  • GET ~/api/user/cart?username={<String>}

    Get all products in user cart

  • PUT ~/api/user/cart/item

    Add item to user cart

    Parameters

     {
     	"username"  : "<String>",
     	"productId" : "<String>"
     }
  • DELETE ~/api/user/cart/item

    Delete item from user cart

    Parameters

    {
    	"username"  : "<String>",
    	"productId" : "<String>"
    }

Backend Analytics Routes

  • PUT ~/api/analytics/event/click

    Register an event when user clicks on a product

    Parameters

     {
     	"productId": "<String>"
     }
  • PUT ~/api/analytics/event/cart/add

    Register an event when user adds an item to cart

    Parameters

     {
     	"productId": "<String>"
     }
  • PUT ~/api/analytics/event/cart/delete

    Register an event when user deletes an item from cart

    Parameters

     {
     	"productId": "<String>"
     }
  • PUT ~/api/analytics/event/buy

    Register an event when user buys a product

    Parameters

     {
     	"productId": "<String>"
     }
  • GET ~/api/analytics/product/top/buy?count={<Integer>}

    Get top bought Dell products

  • GET ~/api/analytics/product/worst/buy?count={<Integer>}

    Get least bought Dell products

  • GET ~/api/analytics/product/top/view?count={<Integer>}

    Get top viewed Dell products

  • GET ~/api/analytics/order-conversion-rate?productId={<String>}

    Get order conversion rate of a particular Dell product


Dynamic Sale Routes

  • GET ~/api/sale

    Get sale fields

  • PUT ~/api/sale

    Set sale fields

    Parameters

     {
     	"saleDays": "<Integer>",
     	"saleDiscount": "<Double>"
     }
  • PUT ~/api/sale/status

    Set sale status for current/upcoming month

    Parameters

     {
     	"saleStatus": "<Boolean>"
     }
  • PUT ~/api/sale/product

    Add Dell products to cart.

    Parameters

     {
     	"productId": "<String>"
     }
  • DELETE ~/api/sale/product

    Delete Dell products from sale.

    Parameters

     {
     	"productId": "<String>"
     }

Recommendation/ML Routes

  • POST ~/api/recommend/product/search

    Search Dell products.

    Parameters

     {
     	"username": "<String>",
     	"query": "<String>",
     	"filters": "<Map>"
     }
  • POST ~/api/recommend/product/trending

    Recommend products based on user browser history.

    Parameters

     {
     	"username": "<String>"
     }
  • POST ~/api/recommend/product/browsing-history

    Recommend products based on user activity on dell.com, and browser history

    Parameters ``json { "username": "" }

    
    
  • POST ~/api/recommend/product/gadgets

    Recommend related gadgets to given product.

    Parameters

     {
     	"username": "<String>",
     	"productId": "<String>"
     }
  • POST ~/api/recommend/product/similar-bought

    Recommend related gadgets to given product.

    Parameters

     {
     	"username": "<String>",
     	"productId": "<String>"
     }