ðïļ RewardService (3 APIs)
API āļŠāļģāļŦāļĢāļąāļāļĢāļ°āļāļāļāļāļāļĢāļēāļāļ§āļąāļĨ â āļāļđāļĢāļēāļĒāļāļēāļĢ, āđāļĨāļāđāļāđāļĄ, āļāļđāļāļĢāļ°āļ§āļąāļāļī
1. āļāļķāļāļĢāļēāļĒāļāļēāļĢāļāļāļāļĢāļēāļāļ§āļąāļĨ (Get Reward List)â
Authorizationâ
| Type | Key | Value |
|---|---|---|
| Bearer Token | Authorization | Bearer <token> |
Requestâ
GET {{ENDPOINT}}/member-hook/reward-list?sort={sortType}
Query Parametersâ
| Parameter | āļāļąāļ§āļāļĒāđāļēāļ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|
sort | point_asc | āđāļĢāļĩāļĒāļāļĨāļģāļāļąāļ (āđāļāđāļ point_asc, point_desc, newest) |
Exampleâ
Request
curl -X GET '{{ENDPOINT}}/member-hook/reward-list?sort=point_asc' \
-H 'Authorization: Bearer <token>'
Response 200 OK
{
"data": [
{
"_id": "65o0d1e2f3a4b5c6d7e8f9a0",
"name": "āđāļāļĢāļāļīāļ 50 āļāļēāļ",
"point_cost": 500,
"image": "https://cdn.example.com/reward-50.png",
"stock": 100
},
{
"_id": "65o0d1e2f3a4b5c6d7e8f9a1",
"name": "iPhone 15 Pro",
"point_cost": 100000,
"image": "https://cdn.example.com/iphone.png",
"stock": 1
}
]
}
2. āđāļĨāļāļāļāļāļĢāļēāļāļ§āļąāļĨ (Redeem Reward)â
Authorizationâ
| Type | Key | Value |
|---|---|---|
| Bearer Token | Authorization | Bearer <token> |
Requestâ
POST {{ENDPOINT}}/member-hook/reward-point
Body application/jsonâ
| Field | āļāļąāļ§āļāļĒāđāļēāļ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|
member_id | "64a1b2c3d4e5f6a7b8c9d0e1" | ID āļāļāļāļŠāļĄāļēāļāļīāļ |
reward_id | "65o0d1e2f3a4b5c6d7e8f9a0" | ID āļāļāļāļĢāļēāļāļ§āļąāļĨ |
Exampleâ
Request
curl -X POST '{{ENDPOINT}}/member-hook/reward-point' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{
"member_id": "64a1b2c3d4e5f6a7b8c9d0e1",
"reward_id": "65o0d1e2f3a4b5c6d7e8f9a0"
}'
Response 200 OK
{
"status": true,
"message": "āđāļĨāļāļāļāļāļĢāļēāļāļ§āļąāļĨāļŠāļģāđāļĢāđāļ",
"remaining_point": 1500
}
3. āļāļđāļāļĢāļ°āļ§āļąāļāļīāđāļĨāļāļāļāļāļĢāļēāļāļ§āļąāļĨ (Reward History)â
Authorizationâ
| Type | Key | Value |
|---|---|---|
| Bearer Token | Authorization | Bearer <token> |
Requestâ
GET {{ENDPOINT}}/member-hook/reward-history/{memberId}
Parametersâ
| Parameter | āļāļąāļ§āļāļĒāđāļēāļ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|
memberId | 64a1b2c3d4e5f6a7b8c9d0e1 | ID āļāļāļāļŠāļĄāļēāļāļīāļ (Path Parameter) |
Exampleâ
Request
curl -X GET '{{ENDPOINT}}/member-hook/reward-history/64a1b2c3d4e5f6a7b8c9d0e1' \
-H 'Authorization: Bearer <token>'
Response 200 OK
{
"data": [
{
"reward_name": "āđāļāļĢāļāļīāļ 50 āļāļēāļ",
"point_used": 500,
"status": "completed",
"created_at": "2024-01-15T14:30:00.000Z"
}
]
}