Skip to content

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

PropertyTypeRequiredDescription
ratingintegerrequiredThe score, from 1 to 5.
bodytextThe reviewer’s words.
venuestringThe venue it was posted on, by id; empty for the Startup’s own Site.
displayConsentbooleanTrue once the reviewer agreed it may be shown on the Startup’s own Pages. Never randomized.
statusstringrequiredWhere it stands; a removed Review is kept, never deleted.
customerCustomerThe Customer who wrote it, when known.

Object

JSON
{
  "$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, inverse reviews.

Lifecycle

Review lifecycle: submitted, published, withheld, removed (ends)submitted → published: Review.publishsubmitted → withheld: Review.withholdsubmitted → removed: Review.removepublished → withheld: Review.withholdpublished → removed: Review.removewithheld → published: Review.publishwithheld → removed: Review.removesubmittedpublishedwithheldremoved
StateMeaningMoves to
submitted (first)Written and not yet shown.published by Review.publish; withheld by Review.withhold; removed by Review.remove
publishedShown on the Startup’s Pages or its venue, with its rating counted.withheld by Review.withhold; removed by Review.remove
withheldKept off display for a recorded reason, never for its rating.published by Review.publish; removed by Review.remove
removedTaken down for good at its author’s or its venue’s request; the record stays.None: it ends here.

Verbs

  1. createCreates a Review.
    POST /{namespace}/reviewsdoReview.created
  2. getReturns one Review by id.
    GET /{namespace}/reviews/{id}readNo Event
  3. listReturns Reviews, newest first, one page at a time.
    GET /{namespace}/reviewsreadNo Event
  4. updateChanges the given properties of a Review.
    PATCH /{namespace}/reviews/{id}doReview.updated
  5. publishPublish shows a Review on the Startup’s Pages with its rating counted, whatever the rating.
    POST /{namespace}/reviews/{review}/publishdoReview.published
  6. removeRemove takes a Review down for good when its author or its venue asks; the record is kept.
    POST /{namespace}/reviews/{review}/removedoReview.removed
  7. withholdWithhold keeps a Review off display for one of five reasons, none of them its rating or its tone.
    POST /{namespace}/reviews/{review}/withholddoReview.withheld

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Review.createYesYesYesNo
Review.getYesYesYesYes
Review.listYesYesYesYes
Review.updateYesYesYesNo
Review.publishYesYesYesNo
Review.removeYesYesYesNo
Review.withholdYesYesYesNo

Call it

Text
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.