Skip to main content

Discounts

This guide explains how to interact with the admin manage the discounts crud.

Get All Discounts

Endpoint

  • Method: GET
  • URL: /v1/admin/discounts

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Query Parameters

ParameterTypeDescriptionRequiredDefault
search_textstringDiscount's code and nameNonull

Success Response

{
"success": true,
"message": "تم جلب بيانات المدرب بنجاح",
"data": {
"discounts": [
{
"id": "uuid",
"name": "تست",
"amount": "20000.00 ر.س",
"used": 30,
"method": "VALUE",
"code": "123456",
"periodDiscount": "2024/07/15 - 2024/12/31",
"active": true,
"coachesCount": "كل المستشارين",
"customersCount": "كل العملاء"
},
]
},
"statusCode": 200
}

Error Response

Unauthorized (401)

{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}

Show Discount

Endpoint

  • Method: GET
  • URL: /v1/admin/discounts/{id}

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Success Response

{
"success": true,
"message": "تم جلب البيانات بنجاح.",
"data": {
"id": "uuid",
"name": "تست",
"method": "VALUE",
"amount": "20000.00",
"generalUses": 100,
"used": 30,
"usesPerCustomer": 100,
"code": "123456",
"from": "2024-07-15",
"to": "2024-12-31",
"active": true,
"displayInCheckout": true,
"discountableType": "coach",
"allDiscountable": true,
"allCustomers": true,
"discountables": [],
"customers": []
},
"statusCode": 200
}

Error Response

Unauthorized (401)

{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}

Recored Not Found (404)

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

Create Discount

Endpoint

  • Method: POST
  • URL: /v1/admin/discounts

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequired
namestringDiscount's degreeYes
descriptionstringDiscount's descriptionYes
methodstringDiscount's methodYes
amountintegerDiscount's amountYes
general_usesintegerDiscount's general usesYes
display_in_checkoutboolDiscount's display in checkoutYes
uses_per_customerintegerDiscount's uses per customerYes
codestringDiscount's codeYes
activeboolDiscount's activeYes
fromdateDiscount's from dateYes
todateDiscount's to dateYes
all_discountableboolDiscount's all discountableYes
all_customersboolDiscount's all customersYes
customer_idsarayDiscount's customer idsYes
discountable_typestringDiscount's discountable typeYes
discountable_idsstringDiscount's discountable idsYes

Success Response

{
"success": true,
"message": "تم حفظ البيانات بنجاح.",
"data": {
"id": "uuid",
"name": "new-for-test",
"method": "PERCENTAGE",
"amount": "8.00",
"generalUses": 2,
"used": null,
"usesPerCustomer": "1",
"code": "all-coach7",
"from": "2025-04-20",
"to": "2025-04-21",
"active": true,
"displayInCheckout": true,
"discountableType": "coach",
"allDiscountable": false,
"allCustomers": true,
"discountables": [
{
"id": "uuid",
"name": "Ahem Bimukhashin",
"email": "coach@coach177.com"
}
],
"customers": []
},
"statusCode": 200
}

Error Response

Unauthorized (401)

{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}

Update Discount

Endpoint

  • Method: PATCH
  • URL: /v1/admin/discounts/{id}

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequired
namestringDiscount's degreeNo
descriptionstringDiscount's descriptionNo
methodstringDiscount's methodNo
amountintegerDiscount's amountNo
general_usesintegerDiscount's general usesNo
display_in_checkoutboolDiscount's display in checkoutNo
uses_per_customerintegerDiscount's uses per customerNo
codestringDiscount's codeNo
activeboolDiscount's activeNo
fromdateDiscount's from dateNo
todateDiscount's to dateNo
all_discountableboolDiscount's all discountableNo
all_customersboolDiscount's all customersNo
customer_idsarayDiscount's customer idsNo
discountable_typestringDiscount's discountable typeNo
discountable_idsstringDiscount's discountable idsNo

Success Response

{
"success": true,
"message": "تم تحديث البيانات بنجاح.",
"data": {
"id": "uuid",
"name": "new-for-test",
"method": "PERCENTAGE",
"amount": "8.00",
"generalUses": 2,
"used": null,
"usesPerCustomer": "1",
"code": "all-coach7",
"from": "2025-04-20",
"to": "2025-04-21",
"active": true,
"displayInCheckout": true,
"discountableType": "coach",
"allDiscountable": false,
"allCustomers": true,
"discountables": [
{
"id": "uuid",
"name": "Ahem Bimukhashin",
"email": "coach@coach177.com"
}
],
"customers": []
},
"statusCode": 200
}

Error Response

Unauthorized (401)

{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}

Recored Not Found (404)

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

Delete Discount

Endpoint

  • Method: DELETE
  • URL: /v1/admin/discounts

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequired
idsarrayDiscount's idNo

Success Response

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

Error Response

Recored Not Found (404)

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

Get Discount's Customers

Endpoint

  • Method: GET
  • URL: /v1/admin/discounts/customers

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Query Parameters

ParameterTypeDescriptionRequiredDefault
search_textstringDiscount's customers nameNonull

Success Response

{
"success": true,
"message": "تم جلب بيانات المدرب بنجاح",
"data": {
"customers": [
{
"id": "uuid",
"name": "Scarlett Wagner",
"email": "jolije@mailinator.com"
},
]
},
"statusCode": 200
}

Error Response

Unauthorized (401)

{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}

Get Discount's Categories

Endpoint

  • Method: GET
  • URL: /v1/admin/discounts/categories

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Query Parameters

ParameterTypeDescriptionRequiredDefault
search_textstringDiscount's categories nameNonull

Success Response

{
"success": true,
"message": "تم جلب بيانات المدرب بنجاح",
"data": {
"categories": [
{
"id": "uuid",
"name": "استشارة طبية"
},
]
},
"statusCode": 200
}

Error Response

Unauthorized (401)

{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}

Get Discount's Coaches

Endpoint

  • Method: GET
  • URL: /v1/admin/discounts/coaches

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Query Parameters

ParameterTypeDescriptionRequiredDefault
search_textstringDiscount's coaches nameNonull

Success Response

{
"success": true,
"message": "تم جلب بيانات المدرب بنجاح",
"data": {
"coaches": [
{
"id": "uuid",
"name": "سامح ماجد",
"email": "s123@yopmail.com"
},
]
},
"statusCode": 200
}

Error Response

Unauthorized (401)

{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}