Skip to content

Reviews API

API for managing provider reviews and ratings

Endpoints

List Reviews

Get a list of reviews

http
GET /api/rpc/provider/reviews/list

Parameters

NameTypeDescription
providerIdUUIDProvider ID
ratingnumberFilter by rating (1-5)
pagenumberPage (default: 1)
limitnumberItems per page (default: 20)

Response

json
{
  "reviews": [
    {
      "id": "rev_123",
      "customerId": "cust_456",
      "customerName": "John Doe",
      "rating": 5,
      "comment": "Great service, friendly staff",
      "createdAt": "2025-01-15T10:00:00Z",
      "response": "Thank you very much"
    }
  ],
  "total": 120,
  "averageRating": 4.8
}

Create Review

Create a review (for customers)

http
POST /api/rpc/provider/reviews/create

Body

json
{
  "providerId": "provider_123",
  "bookingId": "booking_456",
  "rating": 5,
  "comment": "Great service"
}

Respond to Review

Respond to a review (for providers)

http
POST /api/rpc/provider/reviews/respond

Body

json
{
  "reviewId": "rev_123",
  "response": "Thank you very much, please come again"
}

Review Response Templates

Manage review response templates

http
GET /api/rpc/provider/reviewResponseTemplates/list
POST /api/rpc/provider/reviewResponseTemplates/create

Example Code

typescript
// Get reviews
const reviews = await fetch(
  '/api/rpc/provider/reviews/list?providerId=provider_123',
  { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } },
);

// Create review
await fetch('/api/rpc/provider/reviews/create', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    providerId: 'provider_123',
    bookingId: 'booking_456',
    rating: 5,
    comment: 'Great service',
  }),
});

Released under the MIT License.