ข้ามการนำทาง
SMM Velox

SMM Velox · API V1

เอกสาร API

เชื่อมต่อเว็บไซต์กับบริการ กระเป๋า VND และคำสั่งซื้อ SMM Velox ผ่าน API

เริ่มต้นใช้งาน

POST · VND · HTTPS

ส่ง key/action ใน body แบบ application/x-www-form-urlencoded หรือ JSON ไม่รับ query ใน URL Production ต้องใช้ HTTPS ไม่รองรับ GET ตัวอย่างเป็นข้อมูลสมมติ

API Endpoint

https://smmvelox.com/api/v2
ตัวอย่าง cURL
curl -X POST 'https://smmvelox.com/api/v2' \
  --data-urlencode 'key=YOUR_API_KEY' \
  --data-urlencode 'action=add' \
  --data-urlencode 'service=123' \
  --data-urlencode 'link=https://example.com/post' \
  --data-urlencode 'quantity=1000' \
  --data-urlencode 'client_order_id=YOUR_UNIQUE_ORDER_ID' \
  --data-urlencode 'max_charge=11550'

การยืนยันตัวตนด้วย API Key

เก็บ Key เป็นความลับ ส่งใน body เท่านั้น ห้ามใส่ URL หรือโค้ดหน้าบ้านหรือแชร์ผู้อื่น การเปลี่ยน/เพิกถอนมีผลทันที บัญชีต้องใช้งานได้และยืนยันอีเมลแล้ว

ส่ง API Key ผ่าน HTTPS ใน body ของ POST เท่านั้น ห้ามใส่ใน URL หรือโค้ดเบราว์เซอร์

ราคาและการชำระผ่าน API ใช้ VND เสมอ USD บนหน้าจอเป็นข้อมูลอ้างอิงเท่านั้น

POST

รายการบริการ

V1 รองรับเฉพาะ Default ที่ตรวจสอบ mapping/หน่วยแล้ว rate คือ VND ต่อ 1,000 หน่วย charge = rate × quantity / 1,000 service เป็น DV-ID ภายใน order เป็นสตริง ID ภายใน ไม่แสดง ID ต้นทาง เงินเป็น decimal string สูงสุด 12 ตำแหน่ง

คำขอ (body)
key=YOUR_API_KEY&action=services
การตอบกลับ JSON
[
  {
    "service": 123,
    "name": "Example",
    "desc": "",
    "type": "Default",
    "category": "Facebook",
    "platform": "facebook",
    "rate": "11550.000000000000",
    "rate_unit": "per_1000",
    "min": "100",
    "max": "100000",
    "refill": false,
    "cancel": false,
    "dripfeed": false,
    "currency": "VND"
  }
]
POST

ตรวจสอบยอดเงิน

ราคาและการชำระผ่าน API ใช้ VND เสมอ USD บนหน้าจอเป็นข้อมูลอ้างอิงเท่านั้น

คำขอ (body)
key=YOUR_API_KEY&action=balance
การตอบกลับ JSON
{
  "balance": "100000.000000000001",
  "currency": "VND"
}
POST

สร้างคำสั่งซื้อ

add ต้องใช้ service จำนวนเต็มบวก link http/https ไม่เกิน 2,000 ตัวอักษร quantity จำนวนเต็มใน min/max ไม่รับ price/rate/discount/currency/user_id/status/provider หรือฟิลด์นอกสัญญา status แบบชุดสูงสุด 100 ID

พารามิเตอร์ข้อกำหนดคำอธิบาย
keyจำเป็นAPI Key ของบัญชี
actionจำเป็นคำสั่ง add
serviceจำเป็นID บริการจากรายการ API
linkจำเป็นลิงก์เนื้อหาแบบ http/https
quantityจำเป็นจำนวนเต็มภายใน min/max
client_order_idไม่บังคับรหัสอ้างอิงเฉพาะบัญชีเพื่อป้องกันคำสั่งซื้อซ้ำ
idempotency_keyไม่บังคับชื่ออื่นของ client_order_id; เลือกส่งเพียงช่องเดียว ห้ามส่งทั้งสองช่อง
max_chargeไม่บังคับยอดชำระสูงสุดที่ยอมรับ (สตริง VND) ไม่ใช่ราคาที่ลูกค้าตั้งเอง
คำขอ (body)
key=YOUR_API_KEY&action=add&service=123&link=https://example.com/post&quantity=1000&client_order_id=YOUR_UNIQUE_ORDER_ID
การตอบกลับ JSON
{
  "order": "456"
}
POST

สถานะคำสั่งซื้อ

สถานะ Pending/Processing/In progress/Completed/Partial/Canceled ตามหลักฐาน รายการไม่ชัดเจนคืน Pending และ review_required=true start_count/remains เป็น null หากไม่มีหลักฐาน ไม่สมมติ 0 charge ใช้ยอดที่จ่ายแล้ว

คำขอ (body)
key=YOUR_API_KEY&action=status&order=456
การตอบกลับ JSON
{
  "charge": "11550",
  "status": "Pending",
  "start_count": null,
  "remains": null,
  "currency": "VND",
  "review_required": false
}
POST

สถานะหลายคำสั่งซื้อ

ตอบกลับเป็นออบเจ็กต์ตาม ID โดย ID ที่ไม่พบมีข้อผิดพลาดแยกกัน สูงสุด 100 ID

คำขอ (body)
key=YOUR_API_KEY&action=status&orders=456,999
การตอบกลับ JSON
{
  "456": {
    "charge": "11550",
    "status": "Pending",
    "start_count": null,
    "remains": null,
    "currency": "VND",
    "review_required": false
  },
  "999": {
    "error": "Incorrect order ID"
  }
}
400

คำสั่งที่ยังไม่รองรับ

ไม่รองรับและซ่อน Package/per_unit, custom comments, subscriptions, dripfeed cancel/refill/refill_status ตอบ HTTP 400 Action is not supported ไม่เปลี่ยนสถานะหรือคืนเงินอัตโนมัติ flags ทั้งสามเป็น false ใน V1

คำขอ (body)
key=YOUR_API_KEY&action=cancel
การตอบกลับ JSON
{
  "error": "Action is not supported"
}

กฎการสั่งซื้อและสถานะ

แนะนำ client_order_id (หรือ idempotency_key) 1–64 ตัว A–Z/a–z/0–9/_.:- ไม่ซ้ำในบัญชี รหัสและ service/link/quantity/max_charge เดิมคืนคำสั่งซื้อเดิม เนื้อหาต่างตอบ 409 max_charge เป็นเพดาน VND แบบสตริง ไม่ใช่ราคาที่ลูกค้ากำหนด

ไม่มีรหัสฝั่งลูกค้า add ที่ถูกต้องแต่ละครั้งสร้างคำสั่งซื้อใหม่แม้ข้อมูลเหมือนกัน อย่าส่งซ้ำทันทีเมื่อ timeout ไม่รับประกัน exactly-once หากไม่มีรหัส

ราคาคำนวณโดยเซิร์ฟเวอร์ ราคาอาจถูกจำกัดด้วยเกณฑ์ความปลอดภัยเมื่อมีส่วนลด โดยราคาเว็บไซต์ไม่เปลี่ยนแปลง

API OFF บล็อก add รวม replay แต่ Key ที่ถูกต้องยังอ่าน services/balance/status ได้ การส่งผู้ให้บริการขึ้นกับ gate/คิว ไม่รับประกันทันที คำสั่งซื้อ API ไม่มีค่าคอมมิชชัน Affiliate

การจัดการข้อผิดพลาดและการลองใหม่อย่างปลอดภัย

ป้องกันการดำเนินการซ้ำ

การเชื่อมต่ออาจขาดหลังจากระบบรับคำสั่งซื้อและหักเงินแล้ว การหมดเวลาหรือ HTTP 503 ไม่ได้ยืนยันว่าคำขอยังไม่ถูกประมวลผล ควรใช้รหัสอ้างอิงเฉพาะสำหรับแต่ละคำสั่งซื้อ

  1. ก่อนส่ง add ครั้งแรก ให้สร้าง client_order_id ที่ไม่ซ้ำ (หรือ idempotency_key) และบันทึกไว้พร้อม service, link, quantity และ max_charge ที่ส่ง
  2. หากได้รับ order ID ให้บันทึกไว้และตรวจสอบด้วย action=status และ order ไม่ควรส่ง add ใหม่เพียงเพื่อตรวจสอบสถานะ
  3. หากหมดเวลาหรือไม่ได้รับคำตอบและยังไม่มี order ID ให้ลองใหม่เฉพาะเมื่อการเชื่อมต่อและ API พร้อม โดยส่ง action=add รหัสเดิมและพารามิเตอร์เดิมทุกค่า ห้ามสร้างรหัสใหม่
  4. หากการลองใหม่ส่งกลับ order ID ให้ใช้ ID นั้นติดตามผล หากยังไม่ชัดเจนให้หยุดการลองใหม่อัตโนมัติและติดต่อฝ่ายช่วยเหลือพร้อมรหัสอ้างอิง (อย่าส่ง API Key)

ป้องกันการเรียกเก็บเงินซ้ำ

การเปลี่ยนหรือไม่ส่ง client_order_id อาจทำให้สร้างคำสั่งซื้อและหักเงินซ้ำ คงค่า max_charge เดิมเมื่อส่งซ้ำ รหัสเดียวกันแต่เปลี่ยน service/link/quantity/max_charge จะถูกปฏิเสธด้วย 409 เมื่อ API ปิดอยู่ การลองส่ง add ซ้ำก็ถูกบล็อก

ตัวอย่าง add ครั้งแรกหรือส่งซ้ำด้วยรหัสและพารามิเตอร์เดิม
curl -X POST 'https://smmvelox.com/api/v2' \
  --data-urlencode 'key=YOUR_API_KEY' \
  --data-urlencode 'action=add' \
  --data-urlencode 'service=123' \
  --data-urlencode 'link=https://example.com/post' \
  --data-urlencode 'quantity=1000' \
  --data-urlencode 'client_order_id=YOUR_UNIQUE_ORDER_ID' \
  --data-urlencode 'max_charge=11550'

action=status ต้องใช้ order ID ไม่สามารถค้นหาด้วย client_order_id หากยังไม่มี ID ให้ส่ง add ซ้ำด้วยข้อมูลเดิมเมื่อ API พร้อม หรือติดต่อฝ่ายช่วยเหลือ

ตัวอย่างข้อผิดพลาด JSON และแนวทางแก้ไข

HTTP 409

รหัสอ้างอิงขัดแย้งกับข้อมูลเดิมหรือ charge เกิน max_charge ให้หยุดและตรวจสอบข้อมูลกับราคา อย่าสร้างรหัสใหม่เพื่อหลบข้อผิดพลาด

การตอบกลับ JSON
{
  "error": "Client order ID conflicts with an existing request"
}
HTTP 422

พารามิเตอร์หรือเงื่อนไขการซื้อไม่ถูกต้อง ตรวจสอบ fields และแก้สาเหตุก่อนส่งคำขอใหม่ อย่าลองซ้ำโดยไม่ตรวจสอบ

การตอบกลับ JSON
{
  "error": "Invalid request parameters",
  "fields": [
    "quantity"
  ]
}
HTTP 429

เกินขีดจำกัดคำขอ ให้รอตาม header Retry-After ลดความถี่ และคงรหัสเดิมสำหรับการส่ง add ซ้ำ

Retry-After: 60

การตอบกลับ JSON
{
  "error": "Rate limit exceeded"
}
HTTP 503

API ปิด ผู้ให้บริการไม่พร้อม หรือเกิดข้อผิดพลาดชั่วคราว ให้หยุดส่งซ้ำจำนวนมากและรอ หากไม่แน่ใจผลของ add ให้ใช้รหัสและข้อมูลเดิมเท่านั้น

การตอบกลับ JSON
{
  "error": "API order creation is disabled"
}

JSON เป็นตัวอย่างรูปแบบข้อผิดพลาดจริง ข้อความ error อาจต่างกันตามสาเหตุ ให้พิจารณารหัส HTTP และสาเหตุเป็นหลัก

รหัสสถานะ HTTP

ข้อผิดพลาดใช้ JSON ที่มีฟิลด์ error และไม่เปิดเผยข้อมูลภายใน

HTTPคำอธิบาย
200สำเร็จ (แต่ละรายการใน batch อาจมีข้อผิดพลาด)
400คำสั่งหรือพารามิเตอร์ไม่ถูกต้อง
401API Key หรือสิทธิ์ไม่ถูกต้อง
403ต้องใช้ HTTPS
404ไม่พบบริการ/คำสั่งซื้อ หรือเป็นของบัญชีอื่น
405ไม่รองรับ HTTP method
409รหัสคำขอขัดแย้งหรือเกิน max_charge
413body คำขอใหญ่เกินกำหนด
415ไม่รองรับ Content-Type
422พารามิเตอร์ ราคา หรือเงื่อนไขการซื้อไม่ถูกต้อง
429เกินขีดจำกัดคำขอ โปรดดู Retry-After
503API ปิด ยังไม่ติดตั้ง หรือไม่พร้อมใช้งานชั่วคราว

ความปลอดภัย ขีดจำกัด และข้อผิดพลาด

ไม่บังคับ: สูงสุด 20 IPv4/IPv6 แบบตรงตัว บรรทัดละ IP เว้นว่างคือไม่จำกัด IP ไม่รองรับ CIDR รายการผิดถูกปฏิเสธและคงค่าเดิม

ต่อนาที: 60 คำขอต่อ IP ก่อนยืนยันตัวตน และเพิ่มเพดาน 120 อ่านหรือ 15 add ต่อผู้ใช้/Key body สูงสุด 64 KiB 429 มี Retry-After ไม่เชื่อ Forwarded/X-Forwarded-For จากลูกค้า

FAQ: รับ Key หลังเข้าสู่ระบบ หากลืมต้องเปลี่ยน Key ไม่สามารถแสดง secret เดิมได้ Key ผู้ให้บริการใช้ไม่ได้ที่นี่ V1 (2026-10-30): services, balance, add Default และ status เดี่ยว/ชุด งานหลังการขายรอ V2 ที่ปลอดภัย