API reference
Reviews, opinions, and answers
Read review data and respond to opinions.
Review operations require the reviews permission. Use the operation that matches the resource your integration needs.
opinions.list
List opinions request
GET /project/{projectId}/opinions
import { opinions } from '@orvelt/business';
const result = await opinions.list({
projectId: 'PROJECT_ID',
page: 1,
limit: 25,
sort: 'most-upvoted',
responseStatus: 'unresponded',
query: 'service',
});
if (result.error) throw new Error(result.error.message);
console.log(result.data);curl --request GET \
--url "$ORVELT_API_BASE_URL/project/PROJECT_ID/opinions?page=1&limit=25&sort=most-upvoted&responseStatus=unresponded&query=service" \
--header "x-api-key: $ORVELT_BUSINESS_API_KEY"opinions.respond
Respond to opinion request
POST /project/{projectId}/opinions/{id}/responses
import { opinions } from '@orvelt/business';
const result = await opinions.respond({
projectId: 'PROJECT_ID',
id: 'OPINION_ID',
content: 'Thanks for sharing your experience.',
});
if (result.error) throw new Error(result.error.message);curl --request POST \
--url "$ORVELT_API_BASE_URL/project/PROJECT_ID/opinions/OPINION_ID/responses" \
--header "x-api-key: $ORVELT_BUSINESS_API_KEY" \
--header "content-type: application/json" \
--data '{"content":"Thanks for sharing your experience."}'content must contain 1 through 5000 characters. The operation creates or updates the owner response.
answers.list
List answers request
GET /project/{projectId}/answers
import { answers } from '@orvelt/business';
const result = await answers.list({
projectId: 'PROJECT_ID',
page: 1,
limit: 50,
sort: 'newest',
responseVisibility: 'all',
query: 'delivery',
});
if (result.error) throw new Error(result.error.message);
console.log(result.data);curl --request GET \
--url "$ORVELT_API_BASE_URL/project/PROJECT_ID/answers?page=1&limit=50&sort=newest&responseVisibility=all&query=delivery" \
--header "x-api-key: $ORVELT_BUSINESS_API_KEY"Answers also accept dateFrom, dateTo, reviewId, and questionId filters.