API Documentation
New Moon Blinds
Version 1.0
Base URL: [Link]
Introduction
This document provides comprehensive information about the New Moon Blinds API endpoints.
All endpoints require proper authentication unless otherwise specified.
Authentication
Most endpoints require a valid JWT token passed in the Authorization header:
Authorization: Bearer <your_jwt_token>
User Endpoints
User Login
POST /user/login
Authenticate a user and receive a JWT token
Authentication Required: No
Parameters:
Parameter Type Require Description
d
email string Yes User email address
password string Yes User password
User Registration
POST /user/register
Register a new user account
Authentication Required: No
Parameters:
Parameter Type Require Description
d
name string Yes User full name
email string Yes User email address
password string Yes User password
phone string No User phone number
Vendor Registration
POST /vendor/register
Register a new vendor account
Authentication Required: No
Parameters:
Parameter Type Require Description
d
name string Yes Vendor name
email string Yes Vendor email address
password string Yes Vendor password
business_name string Yes Business name
profile_pic file No Profile picture (multipart/form-data)
Update Vendor
PUT /vendor/update
Update vendor profile information
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
name string No Vendor name
business_name string No Business name
profile_pic file No Profile picture
Update User
PUT /user/update
Update user profile information
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
name string No User full name
phone string No User phone number
profile_pic file No Profile picture
Add Address
POST /user/add/address
Add a new delivery address for the user
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
address_line1 string Yes Street address
address_line2 string No Apartment, suite, etc.
city string Yes City
state string Yes State/Province
postal_code string Yes ZIP/Postal code
country string Yes Country
is_default boolean No Set as default address
Update Address
PUT /user/update/address
Update an existing address
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
address_id string Yes Address ID to update
address_line1 string No Street address
city string No City
postal_code string No ZIP/Postal code
Set Default Address
PUT /user/address/default
Set an address as the default delivery address
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
address_id string Yes Address ID to set as default
Delete Address
DELETE /user/delete/address
Delete a user address
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
address_id string Yes Address ID to delete
Update Online Status
PUT /user/update/online
Update user online status
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
is_online boolean Yes Online status
Update Account Status
PUT /user/update/status
Update user account status
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
status string Yes Account status (active, inactive, suspended)
Update Promotions
PUT /user/update/promotions
Update promotional notifications preference
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
receive_promotions boolean Yes Enable/disable promotional notifications
Update Email Notifications
PUT /user/update/email_notifications
Update email notifications preference
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
email_notifications boolean Yes Enable/disable email notifications
Update Push Notifications
PUT /user/update/push_notifications
Update push notifications preference
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
push_notifications boolean Yes Enable/disable push notifications
Update Block Status
PUT /user/update/block
Block or unblock a user
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
user_id string Yes User ID to block/unblock
is_blocked boolean Yes Block status
Update FCM Token
PUT /user/update/fcm_token
Update Firebase Cloud Messaging token for push notifications
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
fcm_token string Yes Firebase Cloud Messaging token
Get User
GET /user/user
Get current user information
Authentication Required: Yes
No parameters required.
Get Users
GET /user/users
Get list of all users (admin only)
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
page number No Page number for pagination
limit number No Number of items per page
role string No Filter by user role
Delete User
GET /user/delete
Delete user account
Authentication Required: Yes
No parameters required.
Update Password
PUT /user/update/password
Update user password
Authentication Required: No
Parameters:
Parameter Type Require Description
d
email string Yes User email
current_password string Yes Current password
new_password string Yes New password
Verify Email
GET /user/verify
Verify user email address
Authentication Required: No
Parameters:
Parameter Type Require Description
d
token string Yes Verification token (query parameter)
Resend Verification
GET /user/resend
Resend email verification token
Authentication Required: No
Parameters:
Parameter Type Require Description
d
email string Yes User email (query parameter)
Dashboard Stats
GET /dashboard/stats
Get dashboard statistics
Authentication Required: Yes
No parameters required.
Top Selling Categories
GET /dashboard/top/selling
Get top selling categories
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
limit number No Number of categories to return
Sales Graph
GET /dashboard/monthly/sales
Get monthly sales graph data
Authentication Required: No
Parameters:
Parameter Type Require Description
d
year number No Year for sales data
Weekly Sales Graph
GET /reports/sales/weakly/graph
Get weekly sales graph data
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
weeks number No Number of weeks to fetch
Monthly Sales Graph
GET /reports/sales/monthly/graph
Get monthly sales graph data
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
months number No Number of months to fetch
Wardrobe Endpoints
Create Wardrobe
POST /wardrobe/create
Create a new wardrobe
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
name string Yes Wardrobe name
description string No Wardrobe description
Update Wardrobe
PUT /wardrobe/update
Update wardrobe details
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
wardrobe_id string Yes Wardrobe ID
name string No Wardrobe name
description string No Wardrobe description
Get Wardrobes
GET /wardrobe/wardrobes
Get all wardrobes for the user
Authentication Required: Yes
No parameters required.
Delete Wardrobe
DELETE /wardrobe/delete
Delete a wardrobe
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
wardrobe_id string Yes Wardrobe ID to delete
Transaction Endpoints
Create Transaction
POST /transaction/create
Create a new transaction
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
order_id string Yes Associated order ID
amount number Yes Transaction amount
payment_method string Yes Payment method used
transaction_type string Yes Type of transaction
Get Transactions
GET /transaction/transactions
Get all transactions
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
order_id string No Filter by order ID
status string No Filter by transaction status
Update Transaction Status
PUT /transaction/update/status
Update transaction status
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
transaction_id string Yes Transaction ID
status string Yes New status
Delete Transaction
DELETE /transaction/delete
Delete a transaction
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
transaction_id string Yes Transaction ID to delete
Review Endpoints
Create Review
POST /review/create
Create a product review
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
product_id string Yes Product ID being reviewed
rating number Yes Rating (1-5)
comment string No Review comment
images file[] No Review images (max 5)
Get Reviews
GET /review/reviews
Get product reviews
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
product_id string No Filter by product ID
user_id string No Filter by user ID
Delete Review
DELETE /review/delete
Delete a review
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
review_id string Yes Review ID to delete
Product Endpoints
Create Product
POST /product/create
Create a new product
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
name string Yes Product name
description string Yes Product description
price number Yes Product price
category_id string Yes Category ID
subcategory_id string No Subcategory ID
stock_quantity number Yes Available stock quantity
images file[] No Product images (max 20)
swatch_images file[] No Swatch images (max 20)
Update Product
PUT /product/update
Update product details
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
product_id string Yes Product ID
name string No Product name
price number No Product price
stock_quantity number No Stock quantity
images file[] No Product images (max 20)
swatch_images file[] No Swatch images (max 20)
Update Product Active Status
PUT /product/update/active
Activate or deactivate a product
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
product_id string Yes Product ID
is_active boolean Yes Active status
Get Products
GET /product/products
Get all products
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
category_id string No Filter by category
subcategory_id string No Filter by subcategory
vendor_id string No Filter by vendor
is_active boolean No Filter by active status
search string No Search by product name
Delete Product
DELETE /product/delete
Delete a product
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
product_id string Yes Product ID to delete
Order Endpoints
Create Order
POST /order/create
Create a new order
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
products array Yes Array of product objects with product_id and
quantity
address_id string Yes Delivery address ID
payment_method string Yes Payment method
notes string No Order notes
Update Order Status
PUT /order/update/status
Update order status
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
order_id string Yes Order ID
status string Yes New status (pending, processing, shipped,
delivered, cancelled)
Update Order Tracking
PUT /order/update/tracking
Update order tracking information
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
order_id string Yes Order ID
tracking_number string Yes Tracking number
carrier string No Shipping carrier
Cancel Order
PUT /order/cancel
Cancel an order
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
order_id string Yes Order ID to cancel
reason string No Cancellation reason
Get Orders
GET /order/orders
Get user orders
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
status string No Filter by order status
date_from date No Filter orders from date
date_to date No Filter orders to date
Get All Orders
GET /order/all/orders
Get all orders (admin/vendor)
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
status string No Filter by order status
vendor_id string No Filter by vendor
Delete Order
DELETE /order/delete
Delete an order
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
order_id string Yes Order ID to delete
Notification Endpoints
Create Notification
POST /notification/create
Create a notification
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
user_id string Yes Target user ID
title string Yes Notification title
message string Yes Notification message
type string Yes Notification type
Mark Notification as Seen
PUT /notification/update/seen
Mark notification as seen
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
notification_id string Yes Notification ID
Get Notifications
GET /notification/notifications
Get user notifications
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
is_seen boolean No Filter by seen status
Delete Notification
DELETE /notification/delete
Delete a notification
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
notification_id string Yes Notification ID to delete
Product Listing Endpoints
Create Listing
POST /listing/create
Create a product listing
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
name string Yes Listing name
description string No Listing description
display_order number No Display order
Update Listing
PUT /listing/update
Update listing details
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
listing_id string Yes Listing ID
name string No Listing name
description string No Listing description
Update Listing Active Status
PUT /listing/update/active
Update listing active status
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
listing_id string Yes Listing ID
is_active boolean Yes Active status
Get Listings
GET /listing/listings
Get all product listings
Authentication Required: No
Parameters:
Parameter Type Require Description
d
is_active boolean No Filter by active status
Delete Listing
DELETE /listing/delete
Delete a listing
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
listing_id string Yes Listing ID to delete
Category Endpoints
Create Category
POST /category/create
Create a new category
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
name string Yes Category name
description string No Category description
listing_id string No Parent listing ID
Update Category
PUT /category/update
Update category details
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
category_id string Yes Category ID
name string No Category name
description string No Category description
Update Category Active Status
PUT /category/update/active
Update category active status
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
category_id string Yes Category ID
is_active boolean Yes Active status
Get Categories
GET /category/categories
Get all categories
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
listing_id string No Filter by listing ID
is_active boolean No Filter by active status
Delete Category
DELETE /category/delete
Delete a category
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
category_id string Yes Category ID to delete
Subcategory Endpoints
Create Subcategory
POST /subcategory/create
Create a new subcategory
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
name string Yes Subcategory name
category_id string Yes Parent category ID
description string No Subcategory description
Update Subcategory
PUT /subcategory/update
Update subcategory details
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
subcategory_id string Yes Subcategory ID
name string No Subcategory name
description string No Subcategory description
Update Subcategory Active Status
PUT /subcategory/update/active
Update subcategory active status
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
subcategory_id string Yes Subcategory ID
is_active boolean Yes Active status
Get Subcategories
GET /subcategory/subcategories
Get all subcategories
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
category_id string No Filter by category ID
is_active boolean No Filter by active status
Delete Subcategory
DELETE /subcategory/delete
Delete a subcategory
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
subcategory_id string Yes Subcategory ID to delete
Cart Endpoints
Add to Cart
POST /cart/add
Add a product to cart
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
product_id string Yes Product ID
quantity number Yes Quantity to add
Update Cart
PUT /cart/update
Update cart item quantity
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
cart_id string Yes Cart item ID
quantity number Yes New quantity
Get Cart Items
GET /cart/carts
Get all cart items for user
Authentication Required: Yes
No parameters required.
Delete from Cart
DELETE /cart/delete
Remove an item from cart
Authentication Required: Yes
Parameters:
Parameter Type Require Description
d
cart_id string Yes Cart item ID to delete
Common Response Status Codes
Status Code Description
200 Success - Request completed successfully
201 Created - Resource created successfully
400 Bad Request - Invalid request parameters
401 Unauthorized - Authentication required or failed
403 Forbidden - Insufficient permissions
404 Not Found - Resource not found
409 Conflict - Resource already exists or conflict
422 Unprocessable Entity - Validation error
500 Internal Server Error - Server error occurred
Error Response Format
All error responses follow this format:
{ "success": false, "error": "Error message description", "code":
"ERROR_CODE" }
Success Response Format
All success responses follow this format:
{ "success": true, "data": { ... }, "message": "Operation successful" }
For support or questions, please contact the development team.