Review
A Review is one person’s rated evaluation of a Product, Offer or Brand, shown on a Site or an outside venue and mirrored from there.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
rating | integer | required | The score, from 1 to 5. |
body | text | The reviewer’s words. | |
venue | string | The venue it was posted on, by id; empty for the Startup’s own Site. | |
displayConsent | boolean | True once the reviewer agreed it may be shown on the Startup’s own Pages. Never randomized. | |
status | string | required | Where it stands; a removed Review is kept, never deleted. |
customer | Customer | The Customer who wrote it, when known. |
Object
{
"$id": "https: //api.sb/ kilnbakery.com/ reviews/ review_1",
"$type": "Review",
"rating": 1,
"body": "Example body",
"venue": "Example venue",
"displayConsent": true,
"status": "submitted",
"customer": "customer_1"
}Relationships
- A Review evaluates one Offer: a Review evaluates one Offer; Reviews of a Product or Brand roll up through its Offers.
evaluates, inversereviews.
Lifecycle
| State | Meaning | Moves to |
|---|---|---|
submitted (first) | Written and not yet shown. | published by Review.publish; withheld by Review.withhold; removed by Review.remove |
published | Shown on the Startup’s Pages or its venue, with its rating counted. | withheld by Review.withhold; removed by Review.remove |
withheld | Kept off display for a recorded reason, never for its rating. | published by Review.publish; removed by Review.remove |
removed | Taken down for good at its author’s or its venue’s request; the record stays. | None: it ends here. |
Verbs
createCreates a Review.POST /{namespace}/reviewsgetReturns one Review by id.GET /{namespace}/reviews/{id}listReturns Reviews, newest first, one page at a time.GET /{namespace}/reviewsupdateChanges the given properties of a Review.PATCH /{namespace}/reviews/{id}publishPublish shows a Review on the Startup’s Pages with its rating counted, whatever the rating.POST /{namespace}/reviews/{review}/publishremoveRemove takes a Review down for good when its author or its venue asks; the record is kept.POST /{namespace}/reviews/{review}/removewithholdWithhold keeps a Review off display for one of five reasons, none of them its rating or its tone.POST /{namespace}/reviews/{review}/withhold
Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.
| Operation | owner | admin | member | viewer |
|---|---|---|---|---|
Review.create | Yes | Yes | Yes | No |
Review.get | Yes | Yes | Yes | Yes |
Review.list | Yes | Yes | Yes | Yes |
Review.update | Yes | Yes | Yes | No |
Review.publish | Yes | Yes | Yes | No |
Review.remove | Yes | Yes | Yes | No |
Review.withhold | Yes | Yes | Yes | No |
Call it
Publish the latest review.Example
A Customer of a dental-billing app leaves a 5-star Review on an outside venue after her first clean month. She agrees to display, so the Review also appears on the app's pricing Page.