Points Record
This section covers the API endpoints for managing points records in the admin panel.
List Points Records
GET /v1/admin/points-records
Returns a paginated list of all points records.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
search_text | string | Search points records by points, customer name, or message |
search_email | string | Search by customer email |
filter[date_range] | string | Filter by date range |
filter[point_id] | string | Filter by point ID |
per_page | integer | Number of items per page. Defaults to 10 |
Response
{
"success": true,
"message": "تم جلب البيانات بنجاح.",
"data": {
"current_page": 1,
"first_page_url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=1",
"from": 1,
"last_page": 8423,
"last_page_url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=8423",
"links": [
{
"url": null,
"label": "« السابق",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=1",
"label": "1",
"active": true
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=2",
"label": "2",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=3",
"label": "3",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=4",
"label": "4",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=5",
"label": "5",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=6",
"label": "6",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=7",
"label": "7",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=8",
"label": "8",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=9",
"label": "9",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=10",
"label": "10",
"active": false
},
{
"url": null,
"label": "...",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=8422",
"label": "8422",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=8423",
"label": "8423",
"active": false
},
{
"url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=2",
"label": "التالي »",
"active": false
}
],
"next_page_url": "http://testing-api.sumaya369.net/v1/admin/points-records?page=2",
"path": "http://testing-api.sumaya369.net/v1/admin/points-records",
"per_page": 10,
"prev_page_url": null,
"to": 10,
"total": 84223,
"points": [
{
"id": "aca554a0-f6e3-11ef-8a3f-170a4b27cc3e",
"icon": "white",
"message": "اكتساب نقاط من الطلب: 2503156938",
"points": "+7",
"current_total_points": 254,
"customer_email": "test11@test.com",
"customer_name": "test11 test",
"created_at": "2025-03-02 00:25:18"
},
{
"id": "412b0350-f60c-11ef-9bbe-631c3da65176",
"icon": "white",
"message": "اكتساب نقاط من الطلب: 2502156936",
"points": "+28",
"current_total_points": 160,
"customer_email": "ahmedraed0097@gmail.com",
"customer_name": "Ahmed Raed",
"created_at": "2025-02-28 22:43:16"
},
{
"id": "19b2f680-e90c-11ef-9db8-cf8325316c70",
"icon": "white",
"message": "اكتساب نقاط من الطلب: 2502156934",
"points": "+3",
"current_total_points": 425,
"customer_email": "aalbaiti360@gmail.com",
"customer_name": "wewdw eewedw",
"created_at": "2025-02-12 09:39:25"
},
{
"id": "62bf2670-e879-11ef-8b1b-237961d1ae3a",
"icon": "white",
"message": "اكتساب نقاط من الطلب: 2502156933",
"points": "+22",
"current_total_points": 92,
"customer_email": "testknew@test.com",
"customer_name": "خلود خالد",
"created_at": "2025-02-11 16:09:11"
},
{
"id": "726be420-e872-11ef-b2ae-4b3958bb1aa8",
"icon": "white",
"message": "اكتساب نقاط من الطلب: 2502156932",
"points": "+8",
"current_total_points": 414,
"customer_email": "aalbaiti360@gmail.com",
"customer_name": "wewdw eewedw",
"created_at": "2025-02-11 15:19:31"
},
{
"id": "72b128c0-e872-11ef-84c4-69a85bccb257",
"icon": "white",
"message": "اكتساب نقاط من الطلب: 2502156932",
"points": "+8",
"current_total_points": 422,
"customer_email": "aalbaiti360@gmail.com",
"customer_name": "wewdw eewedw",
"created_at": "2025-02-11 15:19:31"
},
{
"id": "f856dff0-e77b-11ef-a992-b92af3dfdb48",
"icon": "white",
"message": "اكتساب نقاط من الطلب: 2502156931",
"points": "+14",
"current_total_points": 45,
"customer_email": "test98@test.com",
"customer_name": "تست98",
"created_at": "2025-02-10 09:55:10"
},
{
"id": "9041e5c0-e77b-11ef-b85b-9b137b952472",
"icon": "white",
"message": "اكتساب نقاط من الطلب: 2502156930",
"points": "+17",
"current_total_points": 31,
"customer_email": "test98@test.com",
"customer_name": "تست98",
"created_at": "2025-02-10 09:52:15"
},
{
"id": "93380a00-e6ec-11ef-9859-0ffebdeed187",
"icon": "white",
"message": "اكتساب نقاط من الطلب: 2502156929",
"points": "+14",
"current_total_points": 14,
"customer_email": "wz@dd.com",
"customer_name": "Ahmed Mohammed",
"created_at": "2025-02-09 16:48:42"
},
{
"id": "e021a2b0-e6eb-11ef-a77d-bd8d043a810d",
"icon": "white",
"message": "اكتساب نقاط من الطلب: 2502156928",
"points": "+14",
"current_total_points": 81,
"customer_email": "newtest@test.com",
"customer_name": "خلود تست جديد",
"created_at": "2025-02-09 16:43:42"
}
]
},
"status_code": 200
}
Get Points Statistics
GET /v1/admin/points-records/statistics
Returns statistics about points distribution including top customers by points and points distribution by country.
Response
{
"success": true,
"message": "تم حفظ البيانات بنجاح.",
"data": {
"points_customer": [
{
"avatar": "https://i.ibb.co/YhTw0wR/7-512.png",
"name": "Lama B",
"points": 3428
},
{
"avatar": "https://i.ibb.co/YhTw0wR/7-512.png",
"name": "Fatma J",
"points": 3080
},
{
"avatar": "https://i.ibb.co/YhTw0wR/7-512.png",
"name": "nouf ALsaheel",
"points": 2907
},
{
"avatar": "http://192.168.0.139:8080/storage/15320/نوف-البطلة.jpeg",
"name": "نوف عائض",
"points": 2714
}
],
"points_countries": [
[
"السعودية",
1866531
],
[
"الإمارات",
299192
],
[
"الكويت",
215303
],
[
"العراق",
108380
]
]
},
"status_code": 200
}
Create Points Record
POST /v1/admin/points-records
Create a new points record for a customer.
Request Body
| Parameter | Type | Description |
|---|---|---|
email | string | Required. Customer's email address |
message | string | Required. Message describing the points record (min: 3 characters) |
points | integer | Required. Number of points (must be greater than 0) |
point_id | string | Required. ID of the point type |
Response
{
"success": true,
"message": "تم حفظ البيانات بنجاح.",
"data": {
"id": "ad252f20-07e5-11f0-b58b-9fd272b4387b",
"icon": "green",
"message": "شكرًا جزيلا لك22",
"points": "+50",
"current_total_points": 1563,
"customer_email": "alaniafza@gmail.com",
"customer_name": "Zainab al ani",
"created_at": "2025-03-23 15:52:28"
},
"status_code": 200
}
Import Points
POST /v1/admin/points-records/import
Import points records in bulk using an Excel file.
Request Body
| Parameter | Type | Description |
|---|---|---|
points_import | file | Required. Excel file containing points records data |
Response
{
"success": true,
"message": "OK",
"data": null,
"status_code": 200
}
Get Available Points
GET /v1/admin/points-records/available-points
Returns a list of available point types with their IDs, names, and icons.
Response
{
"success": true,
"message": "تم جلب البيانات بنجاح.",
"data": [
{
"id": "19978684-6e71-409a-8f60-4e5f4b4be45f",
"name": "نقاط الخصم",
"icon": "red"
},
{
"id": "ed82ae07-b99e-4cd7-8d17-b8479fa81e0b",
"name": "نقاط الطلب",
"icon": "white"
},
{
"id": "60df038d-9273-4f8b-a2e6-bdf961a445e8",
"name": "نقاط اشتراك",
"icon": "green"
}
],
"status_code": 200
}
Authorization
All points record endpoints require admin authorization. The user must have the appropriate permissions to perform these operations.