Skip to content

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"
                }
            ]
        }
    ]
}
Error
{
  "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."
}