HELPER VPS

เริ่มต้น VPS API อย่างรวดเร็ว: สร้างคีย์ API และเซิร์ฟเวอร์แรก

HELPER VPS API คือ REST API ที่รับส่ง JSON ผ่าน HTTPS คีย์เดียวทำได้ทั้งการดูสเปก สร้างเซิร์ฟเวอร์ จัดการเปิดปิด ต่ออายุ และลบ ลองทำตามตั้งแต่คำขอแรกจนถึงการสร้างและลบเซิร์ฟเวอร์หนึ่งเครื่อง

ขั้นที่ 1 สร้างคีย์ API

คุณสามารถสร้างคีย์ API ได้หลังจากชำระเงินครั้งแรกเสร็จสิ้น ดูวิธีชำระเงินในคู่มือการชำระเงิน USDT

  • กดสร้างคีย์ API ในเมนูคีย์ API ของบัญชี
  • คีย์ที่ขึ้นต้นด้วย hvp_ จะแสดงเพียงครั้งเดียว คัดลอกแล้วบันทึกไว้ในโปรแกรมจัดการรหัสผ่านทันที
  • หน้าจอจะเหลือเพียงตัวท้ายของคีย์ ให้รู้ว่ากำลังใช้คีย์ไหน
  • เมื่อกดสร้างคีย์ใหม่ จะได้คีย์ใหม่ และคีย์เดิมจะใช้งานไม่ได้ทันที

คีย์คือกุญแจที่จัดการได้ทั้งบัญชี จึงควรใส่เป็นตัวแปรสภาพแวดล้อมไม่ให้ปรากฏในคลังโค้ดหรือการแชร์หน้าจอ ตัวอย่างในคู่มือนี้เริ่มจากเก็บคีย์ไว้ในตัวแปรหนึ่งตัวในเทอร์มินัล

เทอร์มินัล
export HVP_KEY=hvp_ใส่คีย์ของคุณที่นี่
export HVP=https://helpervps.com/api/v1

ขั้นที่ 2 การยืนยันตัวตนและคำขอแรก

ทุกคำขอส่งไปภายใต้ที่อยู่หลัก https://helpervps.com/api/v1 และแนบส่วนหัว Authorization: Bearer คีย์ คำขอแรก ลองดึงรายการเซิร์ฟเวอร์ของคุณ หากยังไม่มีเซิร์ฟเวอร์จะได้รายการว่าง []

เทอร์มินัล
curl -s $HVP/servers -H "Authorization: Bearer $HVP_KEY"

แต่ละบัญชีส่งคำขอได้สูงสุด 300 ครั้งต่อนาที และสร้างเซิร์ฟเวอร์ได้สูงสุด 10 ครั้งต่อ 10 นาที คำขอตรวจสถานะซ้ำ ๆ เว้นห่างสักสองสามวินาทีก็เพียงพอ การตอบกลับเป็น JSON ทั้งหมด และเมื่อเกิดข้อผิดพลาดจะได้รูปแบบ {"error": "รหัส"} พร้อมรหัสสถานะ

ขั้นที่ 3 เลือกสเปก ภูมิภาค และอิมเมจ

ค่าที่ใส่ตอนสร้างเซิร์ฟเวอร์มาจากแค็ตตาล็อกทั้งหมด GET /catalog ส่งคืนสเปกที่เปิดขาย (plans) ภูมิภาค (locations) อิมเมจ (images) และตัวเลือกเสริม (addons) ในครั้งเดียว หากมี jq จะเลือกดูเฉพาะส่วนที่ต้องการได้สะดวก

เทอร์มินัล
curl -s $HVP/catalog -H "Authorization: Bearer $HVP_KEY" | jq '.plans[] | {code, type, vcpu, ram_mb, disk_gb, monthly}'
curl -s $HVP/catalog -H "Authorization: Bearer $HVP_KEY" | jq '.locations, .images'
  • รหัสสเปก: เช่น s1, s2 บอกประเภทและขนาด type คือ basic (มาตรฐาน SSD), fast (ประสิทธิภาพสูง NVMe), cpu (CPU เฉพาะ), mem (หน่วยความจำสูง) ส่วน monthly คือค่าบริการรายเดือนเป็นดอลลาร์สหรัฐ
  • รหัสภูมิภาค: ชื่อเมือง เช่น frankfurt, singapore, seoul
  • รหัสอิมเมจ: ระบบปฏิบัติการ เช่น ubuntu-24-04, debian-13, almalinux-10 และแอป เช่น app-docker, app-wordpress
  • ตัวเลือกเสริม: อัตราแบ็กอัปอัตโนมัติ ขนาดดิสก์เสริมและราคาต่อ GB และค่าป้องกัน DDoS ตัวเลือกที่ไม่ได้เปิดขายจะเป็น null

หากยังไม่มี ติดตั้งด้วย apt install -y jq บน Ubuntu หรือ brew install jq บน Mac เป็นรายการเดียวกับที่เลือกบนหน้าจอ ความต่างตามสเปกดูคู่กับหน้าราคาได้สะดวก

ขั้นที่ 4 สร้างเซิร์ฟเวอร์

ส่งแผนที่ตั้ง อิมเมจ และชื่อเป็น JSON ไปที่ POST /servers ชำระเงินสำหรับระยะเวลาหลักแรกของแผนที่เลือก และเริ่มต้นการสร้างเซิร์ฟเวอร์

เทอร์มินัล
curl -s -X POST $HVP/servers \
  -H "Authorization: Bearer $HVP_KEY" \
  -H "Content-Type: application/json" \
  -d '{"plan":"s2","location":"frankfurt","image":"ubuntu-24-04","label":"web-1"}'

เมื่อสำเร็จจะได้รหัสสถานะ 201 พร้อมข้อมูลเซิร์ฟเวอร์ id คือรหัสเซิร์ฟเวอร์รูปแบบ S-XXXX-XXXX-XXXX ซึ่งใช้ในทุกคำขอหลังจากนี้ root_password อยู่ในการตอบกลับนี้ครั้งเดียว จึงควรบันทึกทันที ดูในหน้าเซิร์ฟเวอร์ได้เป็นเวลา 7 วันด้วย

  • label: ชื่อเซิร์ฟเวอร์ ใช้ตัวอักษรอังกฤษ ตัวเลข จุด และขีดได้ไม่เกิน 40 ตัว อักขระอื่นจะถูกแทนด้วยขีด
  • backups: หากเป็น true จะเปิดแบ็กอัปอัตโนมัติ
  • extra_disk_gb: ขนาด NVMe block disk เสริม ใส่หนึ่งในค่า sizes_gb ของแค็ตตาล็อก (50, 100, 250, 500, 1000)
  • ddos_protection: หากเป็น true จะเปิดการป้องกัน DDoS

ค่าตัวเลือกจะรวมในค่าบริการรายเดือนของเซิร์ฟเวอร์และแสดงใน monthly ของการตอบกลับ และต่ออายุอัตโนมัติด้วยยอดเดิมทุกวันชำระ แต่ละบัญชีสร้างเซิร์ฟเวอร์ได้สูงสุด 10 เครื่อง

ขั้นที่ 5 ตรวจสถานะและเชื่อมต่อ

เซิร์ฟเวอร์ใหม่เริ่มที่สถานะ creating และเมื่อพร้อมจะเป็น running พร้อมเติมที่อยู่ ipv4 ลูปด้านล่างตรวจสถานะทุก 10 วินาที และแสดง IP เมื่อเป็น running เปลี่ยนรหัสเซิร์ฟเวอร์เป็นรหัสของเซิร์ฟเวอร์คุณ

เทอร์มินัล
ID=S-XXXX-XXXX-XXXX
until [ "$(curl -s $HVP/servers/$ID -H "Authorization: Bearer $HVP_KEY" | jq -r .state)" = "running" ]; do sleep 10; done
curl -s $HVP/servers/$ID -H "Authorization: Bearer $HVP_KEY" | jq -r .ipv4

สถานะเป็นหนึ่งใน creating, running, stopped, rebooting, installing, suspended หรือ check suspended หมายถึงเซิร์ฟเวอร์ถูกระงับเนื่องจากไม่มีการต่ออายุในวันเรียกเก็บเงิน และ check หมายถึงเรากำลังตรวจสอบผลการตั้งค่าเซิร์ฟเวอร์ เมื่อ IP ปรากฏขึ้น เชื่อมต่อด้วย ssh root@IP วิธีเชื่อมต่ออยู่ในคู่มือการล็อกอินครั้งแรก

ขั้นที่ 6 เปิดปิด ต่ออายุ และลบ

เทอร์มินัล
curl -s -X POST $HVP/servers/$ID/stop   -H "Authorization: Bearer $HVP_KEY"
curl -s -X POST $HVP/servers/$ID/start  -H "Authorization: Bearer $HVP_KEY"
curl -s -X POST $HVP/servers/$ID/reboot -H "Authorization: Bearer $HVP_KEY"
curl -s -X POST $HVP/servers/$ID/renew  -H "Authorization: Bearer $HVP_KEY"
curl -s -X DELETE $HVP/servers/$ID     -H "Authorization: Bearer $HVP_KEY"
  • start: เปิดเซิร์ฟเวอร์ที่หยุดอยู่ (stopped)
  • stop, reboot: ปิดหรือรีสตาร์ตเซิร์ฟเวอร์ที่กำลังทำงาน (running)
  • renew: ชำระเงินสำหรับ 1, 3, 6 หรือ 12 เดือนเพิ่มเติมทันที เซิร์ฟเวอร์ที่ถูกระงับจะกลับมาทำงานด้วยคำขอนี้ด้วย
  • DELETE: ลบเซิร์ฟเวอร์และดิสก์ แล้วส่งคืน {"state": "deleted"} ไม่คืนเงินสำหรับช่วงที่เหลือของเดือนที่ชำระแล้ว

หากส่งคำสั่งที่ทำไม่ได้ในสถานะปัจจุบัน จะได้ 409 wrong_state เช่น ส่ง start ไปยังเซิร์ฟเวอร์ที่เปิดอยู่แล้ว การติดตั้งใหม่และการสร้างรหัสผ่าน root ใหม่ทำในหน้าเซิร์ฟเวอร์ ขั้นตอนอยู่ในคู่มือติดตั้งใหม่

รันลำดับเดียวกันด้วย Python

เขียนขั้นตอนเดียวกันเป็นสคริปต์ Python จะได้แบบนี้ ใช้ไลบรารี requests (pip install requests)

create_server.py
import os, time, requests

API = "https://helpervps.com/api/v1"
H = {"Authorization": f"Bearer {os.environ['HVP_KEY']}"}

r = requests.post(f"{API}/servers", headers=H, json={
    "plan": "s2", "location": "frankfurt",
    "image": "ubuntu-24-04", "label": "web-1",
})
r.raise_for_status()
server = r.json()
print("id:", server["id"], "root password:", server["root_password"])

while True:
    s = requests.get(f"{API}/servers/{server['id']}", headers=H).json()
    if s["state"] == "running" and s["ipv4"]:
        print("ready:", s["ipv4"])
        break
    time.sleep(10)

รหัสข้อผิดพลาดที่พบบ่อย

  • 401 unauthorized: ไม่มีคีย์หรือคีย์ไม่ถูกต้อง ตรวจว่าส่วนหัวอยู่ในรูปแบบ Authorization: Bearer hvp_...
  • 403 not_allowed: จะเปิดใช้เมื่อการชำระเงินครั้งแรกได้รับการยืนยัน
  • 400 bad_request: ชื่อฟิลด์หรือค่าไม่ถูกต้อง ใช้รหัสตามค่าในแค็ตตาล็อก
  • 402 not_enough_balance: จำนวนเงินที่ชำระต่ำกว่า $25 ส่งอีกครั้งด้วยอย่างน้อย $25
  • 409 limit: ถึงจำนวนเซิร์ฟเวอร์สูงสุดที่บัญชีสร้างได้แล้ว
  • 409 not_created: ไม่สามารถสร้างเซิร์ฟเวอร์ได้ และค่าบริการจะถูกโอนเข้าบัญชีเครดิตของคุณ
  • 202 checking: เรากำลังตรวจสอบผลการตั้งค่าเซิร์ฟเวอร์ อย่าส่งคำขอเดิมซ้ำ ตรวจสอบรายการเซิร์ฟเวอร์ของคุณ เซิร์ฟเวอร์จะเสร็จสมบูรณ์หรือค่าบริการจะถูกคืนเข้าบัญชีเครดิตของคุณ
  • 404 not_found: รหัสเซิร์ฟเวอร์หรือที่อยู่ที่ไม่มีในบัญชีของคุณ
  • 409 wrong_state: ทำรายการนี้ไม่ได้ในสถานะปัจจุบัน
  • 429 rate_limited: ถึงขีดจำกัดคำขอต่อนาทีแล้ว รอสักครู่แล้วส่งใหม่

ทุก endpoint ฟิลด์การตอบกลับ และตัวอย่าง รวมไว้ในเอกสาร API ดูสิ่งที่ทำได้และการใช้งาน API ได้ที่หน้า VPS API

คู่มือที่ควรอ่านต่อ

การตั้งค่าที่ควรทำต่อจากคู่มือนี้

ดูคู่มือทั้งหมด