Kudosi (formerly Ali Reviews) | Public APIs
This document describes the structure and usage of the Public API service for Kudosi, which includes endpoints for managing reviews, ratings, and questions.
On this Page
- 1. Authentication
- 2. List Reviews
- 3. React to a Review
- 4. Product Ratings
- 5. List Questions
- 6. React to a Question
1. Authentication
- Our API uses an API key to authenticate. You can get the API key of a shop from the App menu Integration → API key.
- Bearer Token needs to be sent in the request header.
2. List Reviews
Endpoint:
GET /public/reviews
Request Headers
****
Authorization
( required) - API key provided by the app.
Request Parameters
****
limit
(optional, query) - Maximum number of reviews to retrieve.cursor
(optional, query) - Cursor for pagination.product_id
(optional, query) - Filter by product ID.search
(optional, query) - Search term for filtering reviews.sort
(optional, query) - Sort field (by_date
,by_rating
,by_content
,by_media
).direction
(optional, query) - Sort direction (asc
ordesc
).
Response Example
****
{
"status": true,
"message": "Success",
"data": {
"reviews": [...],
"cursor": ""
}
}
Curl Example
****
curl --location 'https://pub.kudosi.ai/public/reviews?limit=2&sort=by_date&direction=asc&product_id=9476891607337' \
--header 'Authorization: Bearer api_key'
3. React to a Review
Endpoint:
PUT /public/reviews/:review_id/reactions
Request Headers
****
Authorization
( required) - API key provided by the app.
Request Parameters
****
review_id
( required, path) - ID of the review to react to.reaction
( required, body) - Type of reaction (like
ordislike
).
Response Example
****
{
"status": true,
"message": "",
"data": {
"total_likes": 10,
"total_dislikes": 2
}
}
Curl Example
****
curl --location --request PUT 'https://pub.kudosi.ai/public/reviews/6710b08a8df6c7ceca2cd0ff/reactions' \
--header 'Authorization: Bearer api_key' \
--header 'Content-Type: application/json' \
--data '{ "reaction": "like" }'
4. Product Ratings
Endpoint:
GET /public/products/rating
Request Headers
****
Authorization
( required) - API key provided by the app.
Request Parameters
product_ids
( required, query) - Comma-separated product IDs.
Response Example
****
{
"status": true,
"data": {
"8126036083008": {
"average_rating": 3.03,
"total": 63,
"details": [
{ "star_rating": 5, "total": 12 },
{ "star_rating": 4, "total": 16 },
{ "star_rating": 3, "total": 8 },
{ "star_rating": 2, "total": 16 },
{ "star_rating": 1, "total": 11 }
]
}
}
}
Curl Example
****
curl --location --globoff 'https://pub.kudosi.ai/public/products/rating?product_ids=8126036083008' \
--header 'Authorization: Bearer api_key'
5. List Questions
Endpoint:
GET /public/questions
Request Headers
****
Authorization
( required) - API key provided by the app.
Request Parameters
****
limit
(optional, query) - Maximum number of questions to retrieve.cursor
(optional, query) - Cursor for pagination.product_id
( required, query) - Filter by product ID.
Response Example
****
{
"status": true,
"data": {
"questions": [...],
"cursor": ""
}
}
Curl Example
****
curl --location 'https://pub.kudosi.ai/public/questions?product_id=9476891607337&limit=100' \
--header 'Authorization: Bearer api_key'
6. React to a Question
Endpoint:
PUT /public/questions/:question_id/reactions
Request Headers
****
Authorization
( required) - API key provided by the app.
Request Parameters
question_id
( required, path) - The ID of the question being reacted to.reaction
( required, body) - The reaction type (like
ordislike
).type
( required, body) - Type of item being reacted to (question
orreply
).
Response Example
****
{
"status": true,
"data": {
"total_likes": 6,
"total_dislikes": 1
}
}
Curl Example
****
curl --location --request PUT 'https://pub.kudosi.ai/public/questions/66506544a94e6f15ec0b4d2e/reactions' \
--header 'Authorization: Bearer api_key' \
--header 'Content-Type: application/json' \
--data '{ "type": "question", "reaction": "like" }'
Hope this helps! If you have any questions, please feel free to contact us via live chat or email us at support@kudosi.ai
Updated on: 11/02/2025
Thank you!