Sessions
This guide explains how to interact with the admin manage the sessions crud.
Get All Sessions
Endpoint
- Method: GET
- URL:
/v1/admin/sessions
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Query Parameters
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
| search_text | string | Session's number, duration | No | null |
| filter[duration] | string | Session's duration | No | null |
| filter[coach_category_id] | string | Session's coach category id | No | null |
| filter[customer_id] | string | Session's customer id | No | null |
| filter[type] | string | Session's type | No | null |
| filter[status] | string | Session's status | No | null |
| filter[email_or_phone] | string | Session's coach email/phone | No | null |
| filter[amount] | string | Session's amount | No | null |
| filter[date_range] | string | Session's starts at date | No | null |
| filter[starts_time_at] | string | Session's starts at time | No | null |
| filter[coach_name] | string | Session's coach name | No | null |
| filter[coach_id] | string | Session's coach id | No | null |
Success Response
{
"success": true,
"message": "تم جلب بيانات المدرب بنجاح",
"data": {
"sessions": [
{
"id": "uuid",
"number": "number",
"customer": {
"id": "uuid",
"email": "customer@customer.com",
"name": "ماريا المجالي"
},
"coach": {
"id": "uuid",
"email": "coach@coach.com",
"name": "احمد العكبري"
},
"categoryName": "استشارة تربوية",
"type": "DIRECT",
"duration": 30,
"startsDateAt": "08/04/2025",
"startsTimeAt": "04:06 AM",
"amount": "1000.00",
"endsAt": "08/04/2025 , 04:36",
"status": "COMPLETED",
"canPostpone": false,
"postponeStatus": null
},
]
},
"statusCode": 200
}
Error Response
Unauthorized (401)
{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}
Show Session
Endpoint
- Method: GET
- URL:
/v1/admin/sessions/{id}
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Success Response
{
"success": true,
"message": "تم جلب البيانات بنجاح.",
"data": {
"id": "uuid",
"number": "number",
"date": "08/04/2025 , 04:06",
"duration": 30,
"sessionCategory": "استشارة تربوية",
"type": "DIRECT",
"status": "COMPLETED",
"cancelReason": null,
"customerEnteredAt": "04:06",
"coachEnteredAt": "04:06",
"description": "dasdasdsa",
"paymentStatus": false,
"coachRating": 0,
"customerRating": 0,
},
"statusCode": 200
}
Error Response
Unauthorized (401)
{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}
Update Session
Endpoint
- Method: PATCH
- URL:
/v1/admin/sessions/{id}
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Request Body
| Parameter | Type | Description | Required |
|---|---|---|---|
| customer_allowed_viewing_time | numeric | Customer's Allowed Viewing Time | No |
| coach_allowed_viewing_time | numeric | Coach's Allowed Viewing Time | No |
Success Response
{
"success": true,
"message": "تم تحديث البيانات بنجاح.",
"data": {
"id": "uuid",
"number": 2504001205,
"date": "10/04/2025 , 15:41",
"duration": 30,
"sessionCategory": "استشارة تربوية",
"type": "DIRECT",
"status": "CANCELLED",
"cancelReason": null,
"customerEnteredAt": "15:41",
"coachEnteredAt": "15:41",
"description": "vdvdv",
"paymentStatus": false,
"coachRating": 0,
"customerRating": 0,
"coachId": "uuid",
"coachAvatar": "https://avatar.png",
"coachFullName": "احمد محمد البيتي",
"coachLevel": "353454364 , 2000.00 - 2500.00 ريال / 60 دقيقة",
"coachCategories": "استشارة تربوية",
"coachCanViewRecording": false,
"coachAllowedViewingTime": 4,
"customerId": "uuid",
"customerAvatar": "https://avatar.png",
"customerFullName": "جهاد السحاقات",
"customerCanViewRecording": false,
"customerAllowedViewingTime": 2,
"canPostpone": false,
"postponeStatus": null,
"canViewRecording": false,
"sessionVideo": null,
"sessionChats": [],
"sessionReports": [],
"sessionNotes": []
},
"statusCode": 200
}
Error Response
Unauthorized (401)
{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}
Update Session Index
Endpoint
- Method: PATCH
- URL:
/v1/admin/sessions
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Request Body
| Parameter | Type | Description | Required |
|---|---|---|---|
| ids | array | Session's id | Yes |
| status | string | Session's status | Yes |
Success Response
{
"success": true,
"message": "تم تحديث البيانات بنجاح.",
"data": [],
"statusCode": 200
}
Error Response
Unauthorized (401)
{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}
Session's Logs
Endpoint
- Method: GET
- URL:
/v1/admin/sessions/{id}/logs
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Success Response
{
"success": true,
"message": "تم جلب البيانات بنجاح.",
"data": {
"currentPage": 1,
"data": [
{
"text": "غادر المستشار الجلسة مؤقتا",
"date": "9:30 AM",
"actionType": "TEMPORARILY_LEFT"
}
],
},
"statusCode": 200
}
Recored Not Found (404)
{
"success": false,
"message": "لم يتم العثور على السجل",
"data": [],
"statusCode": 404
}
Session's Add Note
Endpoint
- Method: GET
- URL:
/v1/admin/sessions/{id}/notes
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Success Response
{
"success": true,
"message": "تم حفظ البيانات بنجاح.",
"data": {
"id": "uuid",
"writeableId": "uuid",
"writeableType": "App\\Models\\User",
"note": "هنالك خطا",
"sessionId": "uuid",
"updatedAt": "2025-04-13T07:04:33.000000Z",
"createdAt": "2025-04-13T07:04:33.000000Z"
},
"statusCode": 200
}
Recored Not Found (404)
{
"success": false,
"message": "لم يتم العثور على السجل",
"data": [],
"statusCode": 404
}
Cancel Session
Endpoint
- Method: PATCH
- URL:
/v1/admin/cancel-session/{id}
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Request Body
| Parameter | Type | Description | Required |
|---|---|---|---|
| cancel_reason_id | uuid | Cancel reason id | No |
| canceled_from | string | Session's status | Yes |
Success Response
{
"success": true,
"message": "تم تحديث البيانات بنجاح.",
"data": {
"id": "uuid",
"status": 4,
"type": 2,
"number": 2501001161,
"startsAt": "2025-01-27T14:45:00.000000Z",
"startedAt": null,
"endedAt": null,
"customerEnteredAt": null,
"coachEnteredAt": null,
"duration": 30,
"orderId": "uuid",
"customerId": "uuid",
"customer": {
"id": "uuid",
"email": "pppjjj@yopmail.com",
},
"coach": {
"id": "uuid",
"email": "ok@bootfi.com",
},
"appointment": {
"id": "uuid",
"startAt": "2025-01-27T14:45:00.000000Z",
"endAt": "2025-01-27T15:15:00.000000Z",
"isBooked": false,
},
"orderItem": {
"id": "uuid",
"orderId": "uuid",
"coachCategoryId": "uuid",
"sessionId": "uuid",
"type": 2,
"duration": 30,
}
},
"statusCode": 200
}
Validation (422)
{
"success": false,
"message": "حدث خطأ في البيانات المرسلة يرجى التحقق منها.",
"errors": {
"cancelReasonId": "القيمة المحددة cancel reason id غير موجودة."
},
"data": [],
"statusCode": 422
}
Recored Not Found (404)
{
"success": false,
"message": "لم يتم العثور على السجل",
"data": [],
"statusCode": 404
}
Export Sessions
Endpoint
- Method: GET
- URL:
/v1/admin/sessions-export
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Query Parameters
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
| search_text | string | Session's number, duration | No | null |
| filter[duration] | string | Session's duration | No | null |
| filter[coach_category_id] | string | Session's coach category id | No | null |
| filter[customer_id] | string | Session's customer id | No | null |
| filter[type] | string | Session's type | No | null |
| filter[status] | string | Session's status | No | null |
| filter[email_or_phone] | string | Session's coach email/phone | No | null |
| filter[amount] | string | Session's amount | No | null |
| filter[date_range] | string | Session's starts at date | No | null |
| filter[starts_time_at] | string | Session's starts at time | No | null |
| filter[coach_name] | string | Session's coach name | No | null |
| filter[coach_id] | string | Session's coach id | No | null |
| ids | aray | Session's id | No | null |
Success Response
Excel File
Error Response
Unauthorized (401)
{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}
Session's Stream Record
Endpoint
- Method: GET
- URL:
/v1/admin/sessions/{id}/stream-record
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Success Response
Video File
Recored Not Found (401)
{
"success": false,
"message": "لم يتم العثور على السجل",
"data": [],
"statusCode": 404
}