Skip to main content

🎖ïļ RewardService (3 APIs)

API āļŠāļģāļŦāļĢāļąāļšāļĢāļ°āļšāļšāļ‚āļ­āļ‡āļĢāļēāļ‡āļ§āļąāļĨ — āļ”āļđāļĢāļēāļĒāļāļēāļĢ, āđāļĨāļāđāļ•āđ‰āļĄ, āļ”āļđāļ›āļĢāļ°āļ§āļąāļ•āļī


1. āļ”āļķāļ‡āļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļ‡āļĢāļēāļ‡āļ§āļąāļĨ (Get Reward List)​

Authorization​

TypeKeyValue
Bearer TokenAuthorizationBearer <token>

Request​

GET {{ENDPOINT}}/member-hook/reward-list?sort={sortType}

Query Parameters​

Parameterāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
sortpoint_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​

TypeKeyValue
Bearer TokenAuthorizationBearer <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​

TypeKeyValue
Bearer TokenAuthorizationBearer <token>

Request​

GET {{ENDPOINT}}/member-hook/reward-history/{memberId}

Parameters​

Parameterāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
memberId64a1b2c3d4e5f6a7b8c9d0e1ID āļ‚āļ­āļ‡āļŠāļĄāļēāļŠāļīāļ (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"
}
]
}