0% found this document useful (0 votes)
3 views32 pages

API Documentation-2

The New Moon Blinds API documentation outlines various endpoints for user, vendor, product, order, and notification management, including authentication requirements for each. Key functionalities include user login and registration, product creation and updates, order processing, and notification handling. The API is designed to facilitate comprehensive management of blinds-related transactions and user interactions.

Uploaded by

usamait13
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views32 pages

API Documentation-2

The New Moon Blinds API documentation outlines various endpoints for user, vendor, product, order, and notification management, including authentication requirements for each. Key functionalities include user login and registration, product creation and updates, order processing, and notification handling. The API is designed to facilitate comprehensive management of blinds-related transactions and user interactions.

Uploaded by

usamait13
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

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.

You might also like