Overview
Store Reviews API provides comprehensive review and rating functionality including customer reviews, store responses, helpfulness voting, review flagging, and review management. Location:convex/stores/reviews.ts
Verified Purchase Logic
Reviews do not require a verified purchase. Any authenticated customer can leave a review on any store. TheisVerifiedPurchase flag is set automatically:
- If
orderIdis provided: the flag is set totrue(order must exist, belong to the customer, and be from the target store) - If
orderIdis omitted: the system checks if the customer has any delivered order from the store. If yes,isVerifiedPurchaseistrue; otherwisefalse
Add Review
Creates a new review for a store. Requires authentication. One review per order per customer (whenorderId is provided).
Store ID to review
Optional order ID to link the review to a specific order. If provided, automatically sets
isVerifiedPurchase to true.Rating from 1-5 stars
Review title (at least one of
title or comment is required)Review comment (at least one of
title or comment is required)Array of storage IDs for review photos
Update Review
Updates an existing review. Only the review author can update their own review.Review ID to update
Updated rating (1-5)
Updated title
Updated comment
Updated photo IDs
Delete Review
Deletes a review and all associated data (helpful votes, flags). Only the review author can delete their own review.Review ID to delete
Get Store Reviews
Lists reviews for a store with pagination, sorting, and filtering. Only visible reviews are returned. Does not require authentication, but authenticated users see their own helpfulness votes.Store ID
Pagination options
Sort order:
newest, oldest, highest_rating, lowest_rating, most_helpfulFilter by specific rating (1-5)
Show only verified purchase reviews
Get Store Review Stats
Returns denormalized review statistics for a store. Fast query — reads pre-computed stats from the store document.Store ID
Get Review
Fetches a single review by ID with full details including customer info, store info, photo URLs, and current user’s permissions and vote.Review ID
Get Customer Reviews
Lists all reviews written by the authenticated customer with pagination. Includes store info and store responses.Pagination options
Add Store Response
Allows a store owner to respond to a review. One response per review.Review ID to respond to
Store response comment
Update Store Response
Allows a store owner to edit their existing response.Review ID with the response to update
Updated response comment
Vote on Review
Vote on whether a review is helpful or not. Customers cannot vote on their own reviews. One vote per customer per review (can be changed).Review ID to vote on
true for helpful, false for not helpfulFlag Review
Report a review for moderation. One flag per customer per review. Creates a pending flag for admin review and sends an admin notification (high priority for offensive/fake reasons).Review ID to flag
Reason for flagging:
spam, inappropriate, fake, offensive, irrelevant, otherAdditional details about the flag
Reviews include photo support, verified purchase indicators, helpfulness voting, store owner responses, and a full flagging/moderation pipeline.
