Skip to main content

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

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Query Parameters

ParameterTypeDescriptionRequiredDefault
search_textstringSession's number, durationNonull
filter[duration]stringSession's durationNonull
filter[coach_category_id]stringSession's coach category idNonull
filter[customer_id]stringSession's customer idNonull
filter[type]stringSession's typeNonull
filter[status]stringSession's statusNonull
filter[email_or_phone]stringSession's coach email/phoneNonull
filter[amount]stringSession's amountNonull
filter[date_range]stringSession's starts at dateNonull
filter[starts_time_at]stringSession's starts at timeNonull
filter[coach_name]stringSession's coach nameNonull
filter[coach_id]stringSession's coach idNonull

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

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

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

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequired
customer_allowed_viewing_timenumericCustomer's Allowed Viewing TimeNo
coach_allowed_viewing_timenumericCoach's Allowed Viewing TimeNo

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

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequired
idsarraySession's idYes
statusstringSession's statusYes

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

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

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

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

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

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequired
cancel_reason_iduuidCancel reason idNo
canceled_fromstringSession's statusYes

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

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Query Parameters

ParameterTypeDescriptionRequiredDefault
search_textstringSession's number, durationNonull
filter[duration]stringSession's durationNonull
filter[coach_category_id]stringSession's coach category idNonull
filter[customer_id]stringSession's customer idNonull
filter[type]stringSession's typeNonull
filter[status]stringSession's statusNonull
filter[email_or_phone]stringSession's coach email/phoneNonull
filter[amount]stringSession's amountNonull
filter[date_range]stringSession's starts at dateNonull
filter[starts_time_at]stringSession's starts at timeNonull
filter[coach_name]stringSession's coach nameNonull
filter[coach_id]stringSession's coach idNonull
idsaraySession's idNonull

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

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Success Response

Video File

Recored Not Found (401)

{
"success": false,
"message": "لم يتم العثور على السجل",
"data": [],
"statusCode": 404
}