Public profiles
Posts and reviews API allows to support social functions in your App, like writing reviews for recipes , add Posts (with different types attached content), leave replies.
General information
Reviews and Posts entities
Reviews and Posts are technically separated entities on Whisk from UX perspective but there are connected in the back-end side.
Review in UX - special content which user could leave for a certain recipe. Review should include binary rate mandatory, and text, image, tags as optiional parameters.
Post in UX - special type of content which could be created by user and contain text, image, recipe or review.
On back-end side when we are getting request for creating a review for some recipe from a user we automatically create post in our system and put created review in it. So from this moment client will get post id every time when requestion review. So it is possible to call operations on Post if user want to do something with review. For example, to report review client should call post reporting endpoint.
Client could create reviews via reviews api or post api but it is recommended to create and edit reviews via reviews api cause reviews have more lightweighted structure.
Review object
Review object is a group of objects and attributes
{
"recipe_with_rating": {
"text": "string"
"recipe_id": "string",
"rating": {
"liked": true
},
"tags": [
"string"
]
},
"image": {
"url": "string",
"width": 0,
"height": 0,
"selection": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
}
}
}Attributes description
recipe_idstringMandatory. Recipe id to which review relates
textstringOptional. Text which will be attached to review
ratingobject
Mandatory. Rate attached to review.
tagsobject
Optional. Array of tags attached to review
imageobject
Optional. Image object
After review creation and automatic attaching to Post on BE side review attributes text and image copy to post attributes.
Post object
Post object is a group of objects and attributes
{
"post": {
"id": "string",
"title": "string",
"text": "string",
"header": {
"image": {}
},
"title": {
"name": "string",
"user_id": "string",
"community_id": "string"
},
"subtitle": {
"name": "string",
"user_id": "string",
"community_id": "string"
}
},
"posted_by": {
"id": "string",
"first_name": "string",
"last_name": "string",
"username": "string",
"picture": {}
},
"relation": {
"is_following": true,
"is_followed_by": true,
"is_me": true
}
},
"posted_at": "string",
"time_since_added": 0,
"attachments": {
"images": [],
"recipes": [],
"recipe_with_rating": {
"recipe": {},
"rating": {
"liked": true
},
"tags": [
{
"name": "string",
"display_name": "string"
}
]
},
"communities": []
},
"replies": {
"reply_count": 0
},
"reactions": {
"count": 0,
"my_like": true,
"sample": []
}
}
}Attributes description
idstringMandatory. Post id (unique)
titlestringOptional. Deprecated. Title for conversation Post.
textobject
Optional. Text attached to post.
headerobject
Optional. Information for displaying post on HomeFeed or in profile
posted_byobject
Mandatory. Data for displaying information about author
posted_atdatetime
Mandatory. Data on post was added
time_since_addedint
Mandatory. Information about time since the post was added
attachmentsobject
Optional. Identify type of attachment for post
imagesobject
Optional. Represents image attachments to regular post
recipe_idsarray
Optional. Shows if recipe was added as attachment to post. Can't use with recipe_with_rating and other types
recipe_with_ratingobject
Optional.Shows if recipe review was added as attachment to post. Can't use with other types such as recipe_ids
community_idsarray
Optional. Shows if communities were added to posts. Can't be used with other attachment types.
repliesobject
Optional. Shows replies to post
reactionsobject
Optional. Shows reactions to post
Reply object
Reply object is a group of objects and attributes
{
"replies": [
{
"id": "string",
"text": {
"text": "string"
},
"attachments": {
"images": [],
"recipes": []
},
"user": {
"id": "string",
"first_name": "string",
"last_name": "string",
"username": "string",
"picture": {
"url": "string",
"width": 0,
"height": 0,
"selection": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
}
},
"relation": {
"is_following": true,
"is_followed_by": true,
"is_me": true
}
},
"reactions": {
"count": 0,
"my_like": true,
"sample": []
},
"time_since_added": 0
}
],
"total_count": 0,
"paging": {
"cursors": {
"after": "string",
"before": "string"
},
"total": "string"
}
}Attributes description
idstringMandatory. Reply id (unique)
textobject
Optional. Text attached to reply.
userobject
Mandatory. Data for displaying information about author
time_since_addedint
Mandatory. Information about time since the reply was added
attachmentsobject
Optional. Identify type of attachment for reply. Could be either image or recipe. If there is no attachment it could be skipped
imagesarray
Optional. Represents images attachments to reply.
recipe_idsarray
Optional. Shows if recipe was added as attachment to rely.
reactionsobject
Optional. Shows reactions to post
total_countinteger
Mandatory. Total number of replies
pagingobject
Standard pagination object
Last updated
Was this helpful?