Vendor Review Management API
This API allows vendors to manage product reviews, including listing, deleting reviews, and managing reports related to reviews.
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/product/review/vendor/<str:product_id>/ |
Retrieve a list of reviews acc to product |
| DELETE | /api/v1/product/review/vendor/<str:review_id>/delete/ |
Delete product review |
| GET | /api/v1/product/review/vendor/<str:review_id>/reports/ |
Retrieve a list of reports on reviews acc to product |
| DELETE | /api/v1/product/review/vendor/report/delete/<str:pk>/ |
Delete product review report |
Review API
1. List Reviews for a Product
Endpoint
- URL:
/api/v1/product/review/vendor/<str:product_id>/ - Method:
GET - Permission Required:
IsAuthenticated
Description
Retrieve all reviews for a given product that belongs to the vendor. The vendor must have the "Review Management" role.
Query Parameters
product_id(Required): ID of the product whose reviews need to be fetched
Example Query
GET /api/v1/product/review/vendor/101/
Request Payload
This endpoint does not require a request payload.
Response Examples
Success
{
"pageSize": 20,
"count": 1,
"page_count": 1,
"active_page": 1,
"next": null,
"previous": null,
"results": [
{
"id": 122,
"product": 489,
"product_name": "Product 3",
"product_description": "lina aaba kehi xaina",
"product_images": [
"http://127.0.0.1:8000/media/product/image/SAMAYA_LOGO_I5S0uEu.png",
"http://127.0.0.1:8000/media/product/image/SAMAYA_LOGO_On1qneI.png",
"http://127.0.0.1:8000/media/product/image/SAMAYA_LOGO_1d8LlOU.png",
"http://127.0.0.1:8000/media/product/image/SAMAYA_LOGO_pTgPO0G.png",
"http://127.0.0.1:8000/media/product/image/SAMAYA_LOGO_nhHhr6i.png"
],
"user_first_name": "",
"user_last_name": "",
"user_photo": null,
"rating": "3",
"headline": "sdffsd",
"review_text": "sdfsdffsd",
"review_image1": null,
"review_image2": null,
"review_image3": null,
"review_image4": null,
"review_image5": null,
"review_video": null,
"helpful_count": 0,
"reported_count": 1,
"created_at": "03-12-2025 06:16:20",
"updated_at": "03-12-2025 06:16:20",
"is_helpful": false,
"reports": [
{
"id": 12,
"user": 2,
"user_first_name": "User6",
"user_last_name": "Test6",
"review": 122,
"review_text": "sdfsdffsd",
"product_name": "Product 3",
"reason": "off_topic",
"description": "asdds",
"created_at": "03-12-2025 06:17:38"
}
]
}
]
}
{
"detail": "You do not have permission to view these reviews."
}
2. Delete a Review
Endpoint
- URL:
/api/v1/product/review/vendor/<str:review_id>/delete/ - Method:
DELETE - Permission Required:
IsAuthenticated
Description
Allows vendors to delete reviews for their own products. Vendors with the "Review Management" role can delete reviews.
Example Query
DELETE /api/v1/product/review/vendor/10/delete/
Request Payload
This endpoint does not require a request payload.
Response Examples
Success
{
"detail": "Review deleted successfully."
}
Error
{
"error": "You can only delete reviews for your own products."
}
3. Retrieve Reports for a Review
Endpoint
- URL:
/api/v1/product/review/vendor/<str:review_id>/reports/ - Method:
GET - Permission Required:
IsAuthenticated
Description
Retrieves all reports related to a specific review. The vendor must have the "Review Management" role.
Example Query
GET /api/v1/product/review/vendor/10/reports/
Request Payload
This endpoint does not require a request payload.
Response Examples
Success
{
"pageSize": 20,
"count": 1,
"page_count": 1,
"active_page": 1,
"next": null,
"previous": null,
"results": [
{
"id": 12,
"user": 2,
"user_first_name": "User6",
"user_last_name": "Test6",
"review": 122,
"review_text": "sdfsdffsd",
"product_name": "Product 3",
"reason": "off_topic",
"description": "asdds",
"created_at": "03-12-2025 06:17:38"
}
]
}
Error
{
"error": "You do not have permission to view reports."
}
4. Delete a Report
Endpoint
- URL:
/api/v1/product/review/vendor/report/delete/<str:pk>/ - Method:
DELETE - Permission Required:
IsAuthenticated
Description
Allows vendors to delete reports for their own product reviews. The vendor must have the "Review Management" role.
Example Query
DELETE /api/v1/product/review/vendor/report/delete/10/
Request Payload
This endpoint does not require a request payload.
Response Examples
Success
{
"detail": "Report deleted successfully."
}
Error
{
"error": "You do not have permission to delete this report."
}