เอกสาร API ของ SMM Panel

ทุกฟังก์ชันของ SMM Panel นี้เรียกใช้ผ่าน API ได้ 2 ชุดแยกกัน ทั้งสองชุดใช้บัญชี ยอดเงินคงเหลือ และแคตตาล็อกบริการเดียวกัน ต่างกันที่รูปแบบและความสามารถ

ทุกฟังก์ชันของ SMM Panel นี้เรียกใช้ผ่าน API ได้ 2 ชุดแยกกัน ทั้งสองชุดใช้บัญชี ยอดเงินคงเหลือ และแคตตาล็อกบริการเดียวกัน ต่างกันที่รูปแบบและความสามารถ

ทำไมถึงมี API 2 ชุด?

API สำหรับตัวแทนจำหน่ายแบบคลาสสิก (v2) ที่ใช้กันทั่ววงการจะส่งฟอร์มไปยัง Endpoint เดียว และตอบกลับด้วย HTTP 200 เสมอ ซึ่งตรงกับรูปแบบที่ซอฟต์แวร์พาเนลสำเร็จรูปต้องการพอดี เราจึงคงไว้ตามเดิม แต่นักพัฒนาที่เขียนระบบของตัวเองมักติดข้อจำกัดของ API ชุดนี้ซ้ำ ๆ: แยกแยะข้อผิดพลาดไม่ได้ แคตตาล็อกมาเป็นก้อนเดียว และต้องคอยเช็กสถานะคำสั่งซื้อซ้ำไปเรื่อย ๆ เราจึงสร้าง v3 ขึ้นมาเพื่อนักพัฒนากลุ่มนี้

เราจะไม่ปิด API เดิม ไม่มีกำหนดวันยุติการให้บริการ และคุณไม่จำเป็นต้องแก้การเชื่อมต่อที่ใช้งานได้อยู่แล้ว

เปรียบเทียบ

คุณสมบัติเดิม (v2)ใหม่ (v3)
รูปแบบEndpoint เดียว ส่งแบบฟอร์ม ใช้พารามิเตอร์ actionREST แบบอิงทรัพยากร (resource) ส่ง body เป็น JSON
สถานะ HTTP200 เสมอ แม้คำขอจะล้มเหลวโค้ดจริง (400, 401, 402, 404, 409, 429, 502)
ข้อผิดพลาดข้อความอิสระtype + code ที่คงที่ + message ตามภาษาที่เลือก + param + doc_url
สถานะคำสั่งซื้อมีแค่ข้อความตามภาษาค่าคงที่สำหรับโปรแกรม พร้อมป้ายข้อความสำหรับแสดงผลแยกต่างหาก
คำอธิบายบริการไม่มีคำอธิบาย 16 ภาษา เวลาเฉลี่ย แพลตฟอร์ม และหมวดหมู่
ฟิลด์คำสั่งซื้อต้องเดาเอาจากชื่อประเภทแต่ละบริการเผยแพร่สคีมาฟิลด์ของตัวเอง
หน่วยราคาไม่ระบุ (ต้นเหตุของราคาผิด 1,000 เท่าในบริการแบบแพ็กเกจ)ระบุชัดเจนว่า per_1000 หรือ per_order
แคตตาล็อกทุกบริการมาในการตอบกลับเดียวมีตัวกรอง พร้อมการแบ่งหน้าแบบ cursor
กันคำสั่งซื้อซ้ำไม่มีIdempotency-Key
การอัปเดตสถานะต้องคอยเช็กตลอดเวลา (polling)Webhook ที่มีลายเซ็น หรือสตรีมเหตุการณ์
สคีมาไม่มีOpenAPI 3.1
ภาษาภาษาอังกฤษและภาษาตุรกี (URL แยกกัน)16 ภาษา (ผ่าน header หรือพารามิเตอร์)
คุณภาพบริการไม่มีคะแนน ความเชื่อมั่น และหลักฐานรายบริการ พร้อมรายการคัดสรรที่จัดอันดับแล้ว

ควรใช้ API ชุดไหน?

API เดิม (v2)

เลือก API เดิม หากคุณใช้ซอฟต์แวร์พาเนลสำเร็จรูป บอท หรือพาเนลตัวแทนจำหน่าย ส่วนใหญ่แค่เปลี่ยน URL ของ API และคีย์ ก็เริ่มใช้งานได้ภายในไม่กี่นาที

API ใหม่ (v3)

เลือก v3 หากคุณเขียนแอปพลิเคชัน หน้าร้าน หรือระบบอัตโนมัติของตัวเอง การจัดการข้อผิดพลาด การกันคำสั่งซื้อซ้ำ และการแจ้งเตือนมีมาให้ในตัว ทั้งยังสร้างฟอร์มสั่งซื้อได้โดยตรงจากสคีมาของบริการ

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

  1. 1สร้างคีย์ API ในแท็บคีย์ API
  2. 2ดึงรายการบริการ แล้วดู id และสคีมาฟิลด์ของบริการที่ต้องการ
  3. 3ตรวจสอบคำสั่งซื้อด้วย preview ก่อน แล้วจึงสร้างจริง
  4. 4ลงทะเบียน Webhook หรืออ่านสตรีมเหตุการณ์ เพื่อติดตามการเปลี่ยนสถานะ

ข้อผิดพลาด (48)

โค้ดสถานะรายละเอียด
missing_api_key401ไม่พบคีย์ API กรุณาส่งในรูปแบบ 'Authorization: Bearer <key>'
invalid_api_key401คีย์ API ที่ส่งมาไม่ถูกต้อง
revoked_api_key401คีย์ API นี้ถูกเพิกถอนแล้ว ใช้งานต่อไม่ได้
account_banned403บัญชีนี้ถูกแบน
account_suspended403บัญชีนี้ถูกระงับการใช้งาน
insufficient_scope403คีย์ API นี้ไม่มีสิทธิ์เรียกใช้ Endpoint นี้
invalid_json400body ของคำขอไม่ใช่ JSON ที่ถูกต้อง
unsupported_content_type415ไม่รองรับ Content-Type นี้ กรุณาใช้ application/json หรือ application/x-www-form-urlencoded
method_not_allowed405Endpoint นี้ไม่รองรับ HTTP method นี้
payload_too_large413body ของคำขอมีขนาดใหญ่เกินไป
missing_parameter400ไม่พบพารามิเตอร์ที่จำเป็น
invalid_parameter400พารามิเตอร์มีค่าไม่ถูกต้อง
invalid_quantity400จำนวนต้องเป็นจำนวนเต็มบวก
quantity_out_of_range400จำนวนไม่อยู่ในช่วงที่บริการนี้กำหนด
invalid_comments400ฟิลด์คอมเมนต์ว่างอยู่ หรือมีจำนวนบรรทัดมากเกินไป
invalid_username400ชื่อผู้ใช้ไม่ถูกต้องสำหรับบริการนี้
invalid_subscription400พารามิเตอร์ของบริการอัตโนมัติไม่ถูกต้อง
invalid_runs400ค่า 'runs' ไม่ถูกต้องสำหรับการทยอยส่ง (Drip-feed)
invalid_interval400ค่า 'interval' ไม่ถูกต้องสำหรับการทยอยส่ง (Drip-feed)
dripfeed_not_supported400บริการนี้ไม่รองรับการทยอยส่ง (Drip-feed)
missing_required_field400ไม่พบฟิลด์ที่บริการประเภทนี้กำหนดให้ต้องใส่ หรือฟิลด์นั้นมีค่าไม่ถูกต้อง
service_inactive400บริการนี้ไม่เปิดให้สั่งซื้อในขณะนี้
invalid_cursor400cursor สำหรับแบ่งหน้าไม่ถูกต้อง
invalid_limit400พารามิเตอร์ 'limit' อยู่นอกช่วงที่อนุญาต
invalid_webhook_url400URL ของ Webhook ต้องเป็นที่อยู่ https:// ที่เข้าถึงได้สาธารณะ
invalid_events400มีประเภทเหตุการณ์ที่ระบบไม่รู้จักอย่างน้อยหนึ่งรายการ
batch_too_large400คำขอแบบ batch มีรายการมากเกินไป
cancel_not_supported400บริการนี้ไม่รองรับการยกเลิก
refill_not_supported400บริการนี้ไม่มีการเติมยอด
unknown_endpoint404ไม่พบ Endpoint นี้ ดูเส้นทางที่ใช้ได้ในเอกสาร API
service_not_found404ไม่พบบริการที่มี id นี้
order_not_found404ไม่พบคำสั่งซื้อที่มี id นี้ในบัญชีของคุณ
refill_not_found404ไม่พบคำขอเติมยอดที่มี id นี้ในบัญชีของคุณ
webhook_not_found404ไม่พบ Endpoint ของ Webhook ที่มี id นี้ในบัญชีของคุณ
order_not_cancelable409คำสั่งซื้อนี้ยกเลิกไม่ได้แล้ว เนื่องจากสถานะปัจจุบัน
cancel_rejected409ผู้ให้บริการปฏิเสธคำขอยกเลิก
order_not_completed409ขอเติมยอดได้เฉพาะคำสั่งซื้อที่เสร็จสิ้นแล้ว
idempotency_key_reuse409Idempotency-Key นี้เคยใช้กับคำขอที่มี body ต่างออกไปแล้ว
idempotency_in_progress409คำขอที่ใช้ Idempotency-Key นี้ยังประมวลผลอยู่ กรุณาลองใหม่ในอีกสักครู่
webhook_limit_reached409มี Endpoint ของ Webhook ครบจำนวนสูงสุดแล้ว
insufficient_balance402ยอดเงินไม่พอสำหรับคำสั่งซื้อนี้
rate_limit_exceeded429เกินขีดจำกัดคำขอ กรุณาดู header Retry-After ในการตอบกลับ
provider_error502ผู้ให้บริการต้นทางส่งข้อผิดพลาดกลับมา กรุณาลองอีกครั้ง
refill_failed502ผู้ให้บริการปฏิเสธคำขอเติมยอด
service_temporarily_unavailable503บริการนี้ไม่พร้อมใช้งานชั่วคราว กรุณาลองใหม่ภายหลัง
internal_error500เกิดข้อผิดพลาดที่ไม่คาดคิดในระบบของเรา