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
| 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 | Discount's code and name | No | null |
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
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
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
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Request Body
| Parameter | Type | Description | Required |
|---|---|---|---|
| name | string | Discount's degree | Yes |
| description | string | Discount's description | Yes |
| method | string | Discount's method | Yes |
| amount | integer | Discount's amount | Yes |
| general_uses | integer | Discount's general uses | Yes |
| display_in_checkout | bool | Discount's display in checkout | Yes |
| uses_per_customer | integer | Discount's uses per customer | Yes |
| code | string | Discount's code | Yes |
| active | bool | Discount's active | Yes |
| from | date | Discount's from date | Yes |
| to | date | Discount's to date | Yes |
| all_discountable | bool | Discount's all discountable | Yes |
| all_customers | bool | Discount's all customers | Yes |
| customer_ids | aray | Discount's customer ids | Yes |
| discountable_type | string | Discount's discountable type | Yes |
| discountable_ids | string | Discount's discountable ids | Yes |
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
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Request Body
| Parameter | Type | Description | Required |
|---|---|---|---|
| name | string | Discount's degree | No |
| description | string | Discount's description | No |
| method | string | Discount's method | No |
| amount | integer | Discount's amount | No |
| general_uses | integer | Discount's general uses | No |
| display_in_checkout | bool | Discount's display in checkout | No |
| uses_per_customer | integer | Discount's uses per customer | No |
| code | string | Discount's code | No |
| active | bool | Discount's active | No |
| from | date | Discount's from date | No |
| to | date | Discount's to date | No |
| all_discountable | bool | Discount's all discountable | No |
| all_customers | bool | Discount's all customers | No |
| customer_ids | aray | Discount's customer ids | No |
| discountable_type | string | Discount's discountable type | No |
| discountable_ids | string | Discount's discountable ids | No |
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
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Request Body
| Parameter | Type | Description | Required |
|---|---|---|---|
| ids | array | Discount's id | No |
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
| 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 | Discount's customers name | No | null |
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
| 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 | Discount's categories name | No | null |
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
| 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 | Discount's coaches name | No | null |
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
}