FLASH X QUEST API
REST API สำหรับทำเควส Discord อัตโนมัติ
ราคา 0.001 บาท / เควส — ตัดจากยอดเงินในระบบ
ราคา 0.001 บาท / เควส — ตัดจากยอดเงินในระบบ
Base URL: https://flashshop.xyz/api/v1
แนะนำ API
API ให้คุณทำเควส Discord ผ่าน HTTP Request โดยไม่ต้องเปิดหน้าเว็บ
เหมาะสำหรับการ integrate เข้ากับบอท, สคริปต์, หรือแอปของคุณ
Content-Type — ทุก request ที่มี body ต้องใช้
Rate Limit — 60 requests / นาที ต่อ API Key
Response — ทุก response เป็น JSON พร้อม field
Content-Type: application/jsonRate Limit — 60 requests / นาที ต่อ API Key
Response — ทุก response เป็น JSON พร้อม field
success: true/false
Authentication
ทุก request ต้องใส่ API Key ใน HTTP Header
| Header | ค่า | หมายเหตุ |
|---|---|---|
x-api-key Required |
string | API Key ของคุณ เช่น vapark-abc123xyz... |
x-discord-token Required (เควส) |
string | Discord User Token สำหรับ endpoint ที่เกี่ยวกับเควส |
Content-Type Required (POST) |
application/json |
ทุก POST request |
ตัวอย่าง Header
x-api-key: vapark-abc123xyz456def x-discord-token: YOUR_DISCORD_TOKEN Content-Type: application/json
Error Codes
เมื่อเกิด error response จะมี
success: false และ code บอกสาเหตุMISSING_API_KEY
ไม่ได้ใส่ x-api-key header
INVALID_API_KEY
API Key ไม่ถูกต้องหรือไม่มีในระบบ
API_KEY_DISABLED
API Key ถูกปิดใช้งาน
MISSING_TOKEN
ไม่ได้ใส่ x-discord-token
INVALID_DISCORD_TOKEN
Discord Token ไม่ถูกต้องหรือหมดอายุ
INSUFFICIENT_BALANCE
ยอดเงินไม่พอ
NO_QUESTS
ไม่พบเควสที่ทำได้
QUEST_NOT_FOUND
ไม่พบ index/id ที่ระบุ
RATE_LIMIT
คำขอมากเกินไป (60/นาที)
ORDER_NOT_FOUND
ไม่พบ order_ref
ดึงรายการเควส
GET
/api/v1/quests
ดึงรายการเควสที่ทำได้จาก Discord Token
ดึงรายการเควสทั้งหมดที่ยังไม่ได้ทำและยังไม่หมดอายุ พร้อมข้อมูลราคาและ balance ปัจจุบัน
Headers
| Header | ประเภท | รายละเอียด |
|---|---|---|
x-api-key Required | string | API Key ของคุณ |
x-discord-token Required | string | Discord User Token |
curl -X GET "https://flashshop.xyz/api/v1/quests" \ -H "x-api-key: vapark-your-key-here" \ -H "x-discord-token: YOUR_DISCORD_TOKEN"
import requests
headers = {
"x-api-key": "vapark-your-key-here",
"x-discord-token": "YOUR_DISCORD_TOKEN"
}
res = requests.get("https://flashshop.xyz/api/v1/quests", headers=headers)
data = res.json()
if data["success"]:
print(f"พบ {data['total_quests']} เควส")
for q in data["quests"]:
print(f"[{q['index']}] {q['name']} — {q['task_type']}")
const res = await fetch("https://flashshop.xyz/api/v1/quests", {
headers: {
"x-api-key": "vapark-your-key-here",
"x-discord-token": "YOUR_DISCORD_TOKEN"
}
});
const data = await res.json();
if (data.success) {
console.log(`พบ ${data.total_quests} เควส`);
data.quests.forEach(q => {
console.log(`[${q.index}] ${q.name}`);
});
}
Response 200
{
"success": true,
"balance": 50.00,
"price_per_quest": 2,
"total_quests": 3,
"can_afford": 25,
"quests": [
{
"index": 0,
"id": "1234567890123456789",
"name": "Play Game X for 15 minutes",
"application": "Game X",
"application_id": "9876543210987654321",
"task_type": "PLAY_ON_DESKTOP",
"expires_at": "2025-12-31T23:59:59.000Z",
"is_enrolled": false,
"is_completed": false
}
]
}
เริ่มทำเควส
POST
/api/v1/quests/start
เริ่มทำเควสที่เลือก ตัดเงินทันที
ระบบจะตัดเงินทันทีที่ส่ง request สำเร็จ แล้วรันเควสใน background
ตรวจสอบสถานะได้ที่
status_url ใน responseRequest Body
| Field | ประเภท | รายละเอียด |
|---|---|---|
discord_token Required |
string | Discord User Token |
quest_indexes Optional* |
number[] | Array ของ index เควส เช่น [0, 1, 2] (จาก GET /quests) |
quest_ids Optional* |
string[] | Array ของ quest ID เช่น ["1234...", "5678..."] |
* ต้องระบุอย่างใดอย่างหนึ่ง
curl -X POST "https://flashshop.xyz/api/v1/quests/start" \
-H "x-api-key: vapark-your-key-here" \
-H "Content-Type: application/json" \
-d '{
"discord_token": "YOUR_DISCORD_TOKEN",
"quest_indexes": [0, 1, 2]
}'
import requests
res = requests.post(
"https://flashshop.xyz/api/v1/quests/start",
headers={
"x-api-key": "vapark-your-key-here",
"Content-Type": "application/json"
},
json={
"discord_token": "YOUR_DISCORD_TOKEN",
"quest_indexes": [0, 1, 2]
}
)
data = res.json()
if data["success"]:
order_ref = data["order_ref"]
print(f"ออร์เดอร์: {order_ref}")
print(f"ตัดเงิน: {data['total_price']} ฿")
print(f"ตรวจสถานะ: {data['status_url']}")
const res = await fetch("https://flashshop.xyz/api/v1/quests/start", {
method: "POST",
headers: {
"x-api-key": "vapark-your-key-here",
"Content-Type": "application/json"
},
body: JSON.stringify({
discord_token: "YOUR_DISCORD_TOKEN",
quest_indexes: [0, 1, 2] // หรือ quest_ids: ["id1","id2"]
})
});
const data = await res.json();
if (data.success) {
console.log("Order:", data.order_ref);
console.log("ตรวจสถานะ:", data.status_url);
}
Response 200
{
"success": true,
"order_ref": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"quest_count": 3,
"price_per_quest": 2,
"total_price": 6,
"balance_after": 44.00,
"status": "processing",
"status_url": "/api/v1/quests/status/a1b2c3d4-...",
"message": "เริ่มทำเควสแล้ว ตรวจสอบสถานะได้ที่ status_url"
}
ตรวจสอบสถานะเควส
GET
/api/v1/quests/status/:order_ref
ดูสถานะและผลลัพธ์ของออร์เดอร์
| Parameter | ประเภท | รายละเอียด |
|---|---|---|
:order_ref Required |
string | Order Ref จาก /quests/start |
?stream=1 Optional |
query | รับ progress แบบ SSE (Server-Sent Events) realtime |
curl -X GET "https://flashshop.xyz/api/v1/quests/status/ORDER_REF" \ -H "x-api-key: vapark-your-key-here"
import requests, time
order_ref = "YOUR_ORDER_REF"
headers = {"x-api-key": "vapark-your-key-here"}
while True:
res = requests.get(
f"https://flashshop.xyz/api/v1/quests/status/{order_ref}",
headers=headers
)
data = res.json()
print(f"สถานะ: {data['status']} — {data['progress']}%")
if data["status"] in ("completed", "failed"):
for r in data["results"]:
icon = "✓" if r["success"] else "✗"
print(f" {icon} {r['message']}")
break
time.sleep(10) # poll ทุก 10 วินาที
// SSE: รับ progress realtime (?stream=1)
// หมายเหตุ: EventSource ไม่รองรับ custom headers
// ใช้ query param แทน: ?api_key=...&stream=1
const url = `https://flashshop.xyz/api/v1/quests/status/ORDER_REF?api_key=vapark-...&stream=1`;
const source = new EventSource(url);
source.onmessage = (e) => {
const data = JSON.parse(e.data);
if (data.type === "progress") {
console.log(`${data.questName}: ${data.overallPercent}%`);
} else if (data.type === "done") {
console.log("เสร็จแล้ว!", data.results);
source.close();
}
};
Response 200
{
"success": true,
"order_ref": "a1b2c3d4-...",
"status": "completed",
"progress": 100,
"quest_count": 3,
"quest_names": ["Play Game X", "Watch Video Y"],
"price_per_quest": 2,
"total_price": 6,
"results": [
{ "success": true, "message": "Play Game X" },
{ "success": false, "message": "Watch Video Y: Task ไม่รองรับ" }
],
"created_at": "2025-06-01T12:00:00.000Z",
"updated_at": "2025-06-01T12:05:30.000Z"
}
ค่าของ
status| ค่า | ความหมาย |
|---|---|
pending | รอเริ่มต้น |
processing | กำลังทำเควส — ดู progress จาก field progress (0-100) |
completed | เสร็จสิ้นทั้งหมด — ดูผลใน results |
failed | ล้มเหลว |
ยอดเงิน
GET
/api/v1/balance
ดูยอดเงินคงเหลือ
curl -X GET "https://flashshop.xyz/api/v1/balance" \ -H "x-api-key: vapark-your-key-here"
Response 200
{
"success": true,
"username": "myusername",
"balance": 44.00
}
ประวัติออร์เดอร์
GET
/api/v1/orders
ดูประวัติออร์เดอร์ API ล่าสุด
| Query | ประเภท | รายละเอียด |
|---|---|---|
?limit Optional | number | จำนวนรายการ (default: 20, max: 100) |
curl -X GET "https://flashshop.xyz/api/v1/orders?limit=10" \ -H "x-api-key: vapark-your-key-here"
Response 200
{
"success": true,
"total": 2,
"orders": [
{
"order_ref": "a1b2c3d4-...",
"status": "completed",
"progress": 100,
"quest_count": 3,
"total_price": 6,
"created_at": "2025-06-01T12:00:00.000Z"
}
]
}
TrueMoney Wallet API
Endpoint สำหรับรับเงินจากซองของขวัญ (Gift Voucher) เข้าเบอร์โทรศัพท์ที่ระบุ
ค่าธรรมเนียม: 0.10 บาท / รายการที่สำเร็จ
ค่าธรรมเนียม: 0.10 บาท / รายการที่สำเร็จ
POST
/api/v1/tmw
รับเงินจากซองของขวัญ
ใช้สำหรับรับเงินจากซองอั่งเปา TrueMoney Wallet โดยระบบจะหักค่าธรรมเนียมจากยอดเงินในบัญชีของคุณ
| Parameter | Type | คำอธิบาย |
|---|---|---|
phone Required |
string | เบอร์โทรศัพท์ผู้รับเงิน (10 หลัก) |
voucher Required |
string | URL ซองอั่งเปา หรือรหัสซอง (v=...) |
{
"phone": "0812345678",
"voucher": "https://gift.truemoney.com/campaign/?v=abc123def"
}
curl -X POST https://flashshop.xyz/api/v1/tmw \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone": "0812345678",
"voucher": "abc123def"
}'
Response (Success)
{
"success": true,
"message": "ได้รับเงินจากซองอั่งเปาแล้วจำนวน 50.00",
"amount": "50.00",
"name_owner": "สมชาย ใจดี",
"fee_deducted": 0.1,
"balance_after": 149.9
}