feat(product): implement sprint 9 product engagement module
This commit is contained in:
@@ -49,6 +49,54 @@ Tenant rule:
|
||||
Must not change:
|
||||
- item identifiers/price semantics relied on frontend checkout/cart logic.
|
||||
|
||||
## /products/{id}/rating
|
||||
Purpose:
|
||||
- return product rating aggregate for engagement UI.
|
||||
|
||||
High-level response shape:
|
||||
- average rating
|
||||
- total reviews
|
||||
- star distribution (5..1)
|
||||
|
||||
Tenant rule:
|
||||
- aggregate must be computed only from tenant-visible reviews.
|
||||
|
||||
## /products/{id}/reviews
|
||||
Purpose:
|
||||
- paginated review feed for product page.
|
||||
|
||||
High-level response shape:
|
||||
- review list
|
||||
- page/pageSize/total metadata
|
||||
|
||||
Tenant rule:
|
||||
- only tenant-allowed and moderation-approved reviews.
|
||||
|
||||
## /products/{id}/questions
|
||||
Purpose:
|
||||
- paginated questions and answers feed for product page.
|
||||
|
||||
High-level response shape:
|
||||
- question list with answers
|
||||
- page/pageSize/total metadata
|
||||
|
||||
Tenant rule:
|
||||
- only tenant-visible questions/answers.
|
||||
|
||||
## /products/{id}/reviews (POST)
|
||||
Purpose:
|
||||
- create review (rating/title/text/anonymous).
|
||||
|
||||
Must not change:
|
||||
- request validation semantics expected by frontend engagement form.
|
||||
|
||||
## /products/{id}/questions (POST)
|
||||
Purpose:
|
||||
- create product question (text/anonymous).
|
||||
|
||||
Must not change:
|
||||
- acknowledgement contract expected by frontend engagement form.
|
||||
|
||||
## /categories
|
||||
Purpose:
|
||||
- category tree retrieval
|
||||
|
||||
Reference in New Issue
Block a user