Skip to main content

Rate

This section covers the API endpoints for managing rates in the admin panel.

List Rates

GET /v1/admin/rates

Returns a paginated list of all rates.

Query Parameters

ParameterTypeDescription
sortstringSort direction (asc or desc). Available fields: name, rate, status, comment
per_pageintegerNumber of items per page. Defaults to 10
search_textstringSearch rates by name, rate, comment, rateable name, or email
filter[rateable]stringFilter by rateable type
filter[status]stringFilter by status
filter[writerable_id]stringFilter by writer ID
filter[trashed]booleanInclude trashed rates

Response

{
"success": true,
"message": "تم جلب البيانات بنجاح.",
"data": {
"current_page": 1,
"first_page_url": "http://testing-api.sumaya369.net/v1/admin/rates?page=1",
"from": 1,
"last_page": 1814,
"last_page_url": "http://testing-api.sumaya369.net/v1/admin/rates?page=1814",
"links": [
{
"url": null,
"label": "« السابق",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/rates?page=1",
"label": "1",
"active": true
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/rates?page=2",
"label": "2",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/rates?page=3",
"label": "3",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/rates?page=4",
"label": "4",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/rates?page=2",
"label": "التالي »",
"active": false
}
],
"next_page_url": "http://testing-api.sumaya369.net/v1/admin/rates?page=2",
"path": "http://testing-api.sumaya369.net/v1/admin/rates",
"per_page": 10,
"prev_page_url": null,
"to": 10,
"total": 18133,
"rates": [
{
"id": "e3b9f8e0-f997-11ef-815b-07a43845c712",
"rate": 5,
"name": "هبه",
"comment": "جداً مبهر الكورس",
"status": "pending",
"subject": "الشجاعة",
"rateable_id": "4371b190-f939-11ec-9125-ddae1a421fab",
"avatar": "https://sumaya-lms-backend-testing.s3.us-east-2.amazonaws.com/front-end/images/X5RhRI30hoC8ZiLDDhz9fUgOmHcAASwzjmqhc6lh.jpg",
"created_at": "2025-03-05",
"reply": null
},
{
"id": "aa327b20-e13a-11ef-aade-e7e07aed8f78",
"rate": 5,
"name": "Shahd Ali",
"comment": "ghgfhf",
"status": "pending",
"subject": "القبول",
"rateable_id": "a4b29590-f6b5-11ec-969d-b5640644dc3d",
"avatar": "https://sumaya-lms-backend-testing.s3.us-east-2.amazonaws.com/front-end/images/X5RhRI30hoC8ZiLDDhz9fUgOmHcAASwzjmqhc6lh.jpg",
"created_at": "2025-02-02",
"reply": null
},
{
"id": "41900050-de1c-11ef-a586-cd52c55db114",
"rate": 5,
"name": "خلود تست",
"comment": "رائع",
"status": "pending",
"subject": "الحزن",
"rateable_id": "d0783b40-b67a-11ec-9e13-e789e2016520",
"avatar": "https://sumaya-lms-backend-testing.s3.us-east-2.amazonaws.com/front-end/images/X5RhRI30hoC8ZiLDDhz9fUgOmHcAASwzjmqhc6lh.jpg",
"created_at": "2025-01-29",
"reply": null
},
]
},
"status_code": 200
}

Get Rate Statistics

GET /v1/admin/rates/statistics

Returns statistics about rates including total count, published rates, highest rated items and most commented items.

Response

{
"success": true,
"message": "تم جلب البيانات بنجاح.",
"data": {
"total_rates": "21.4K",
"published_rates": "18.9K",
"highest_rated": [
{
"poster": "http://192.168.0.139:8080/storage/24897/المصادر-الطاقية.png",
"name": "المصادر الطاقية",
"rating": "5"
}
],
"most_commented": [
{
"rating": "4.720205686630369",
"name": "قانون الجذب",
"rates_count": "1.7K"
},
{
"rating": "4.764869888475836",
"name": "طاقة الفوضى",
"rates_count": "1.1K"
},
{
"rating": "4.771773347324239",
"name": "قانون التوسع",
"rates_count": "953"
},
{
"rating": "4.631578947368421",
"name": "أهداف 2023",
"rates_count": "931"
}
]
},
"status_code": 200
}

Get Rate Details

GET /v1/admin/rates/{id}

Returns detailed information about a specific rate.

Response

{
"success": true,
"message": "Data retrieved successfully",
"data": {
"id": "uuid",
"rate": 4.5,
"name": "User Name",
"comment": "Great course!",
"status": "approved",
"rateable": {
"id": "uuid",
"name": "Item Name",
"type": "Course"
},
"created_at": "2024-01-01T00:00:00Z"
}
}

Update Rates

PATCH /v1/admin/rates

Update one or more rates.

Request Body

ParameterTypeDescription
idsarrayRequired. Array of rate UUIDs to update
ids.*stringRequired. Rate UUID
ratenumberOptional. Rating value between 0.5 and 5
statusstringOptional. Status value: rejected, approved, or pending
commentstringOptional. Comment text between 3 and 255 characters
viewablebooleanOptional. Visibility status
restorebooleanOptional. Restore soft-deleted rates

Response

{
"success": true,
"message": "تم تحديث البيانات بنجاح.",
"data": [
{
"id": "e3b9f8e0-f997-11ef-815b-07a43845c712",
"rate": 5,
"email": "hebah2@test.com",
"name": "هبه",
"comment": "جداً مبهر الكورس",
"status": "approved",
"meta": null,
"verified": true,
"rateable_id": "4371b190-f939-11ec-9125-ddae1a421fab",
"rateable_type": "App\\Models\\Course",
"writerable_id": "edf5b520-c295-11ef-afbf-7188fe42276d",
"writerable_type": "App\\Models\\Customer",
"reply": null,
"created_at": "2025-03-05 11:00:22",
"updated_at": "2025-03-23 16:09:19"
}
],
"status_code": 200
}

Delete Rates

DELETE /v1/admin/rates

Soft delete or permanently delete one or more rates.

Request Body

ParameterTypeDescription
idsarrayRequired. Array of rate UUIDs to delete
ids.*stringRequired. Rate UUID
confirm_deletionbooleanOptional. If true, permanently deletes the rates

Response

{
"success": true,
"message": "تم حذف البيانات بنجاح.",
"data": null,
"status_code": 200
}

Authorization

All rate endpoints require admin authorization. The user must have the appropriate permissions to perform these operations.