Tài liệu API đại lý

Mua hàng tự động từ bot hoặc website của bạn.

Bắt đầu

Lấy API key trong menu API đại lý trên bot. Gửi key trong header X-Api-Key ở mọi request. Dữ liệu gửi và nhận đều là JSON, tiền tính bằng VND.

Địa chỉ APIhttp://api.clonzen.tech/api/v1
HeaderX-Api-Key: ck_...

Kết quả thành công có dạng {"success": true, "data": ...}. Khi lỗi: {"success": false, "error": {"code": "...", "message": "..."}}.

Xem số dư

GET /balance

{"success": true, "data": {"balance": 1500000, "currency": "VND"}}

Danh sách sản phẩm

GET /products

{"success": true, "data": [
  {"id": "sp_a", "name": "Sản phẩm A", "category": "Danh mục 1",
   "price": 45000, "pricing_tiers": [{"quantity": 10, "price": 40000}],
   "min_quantity": 1, "stock": 37}
]}

Giá đã trừ chiết khấu của bạn. Mua từ quantity trong pricing_tiers trở lên thì được giá tương ứng.

Mua hàng

POST /orders
{"product_id": "sp_a", "quantity": 2, "request_id": "don-0001"}

{"success": true, "data": {
  "order_id": "482913", "request_id": "don-0001",
  "product_id": "sp_a", "quantity": 2, "amount": 90000,
  "status": "COMPLETED", "items": ["user1|pass1", "user2|pass2"]
}}

request_id là mã đơn do bạn tự đặt, mỗi đơn một mã (tối đa 100 ký tự gồm chữ, số và _ . : -). Gửi lại cùng mã sẽ nhận lại đúng đơn cũ, không bị trừ tiền lần hai. Vì vậy khi bị timeout hay mất mạng, cứ gửi lại với mã cũ.

COMPLETEDĐã có hàng trong items.
PROCESSINGĐã trừ tiền, đang lấy hàng (HTTP 202). Gọi tra cứu đơn sau vài giây.
FAILEDKhông giao được, tiền đã hoàn lại. Lý do trong failure_reason.

Tra cứu đơn

GET /orders/{request_id}

Trả về cùng dạng với khi mua hàng.

Mã lỗi

HTTPcodeÝ nghĩa
400INVALID_PARAMS, BELOW_MIN_QUANTITYThiếu hoặc sai tham số, ít hơn số lượng tối thiểu
401UNAUTHORIZEDThiếu hoặc sai API key
402INSUFFICIENT_BALANCEKhông đủ số dư
403CLIENT_PENDING, CLIENT_DISABLED, IP_NOT_ALLOWEDChưa được duyệt, bị khoá, hoặc IP không được phép
404PRODUCT_NOT_FOUND, ORDER_NOT_FOUNDKhông tìm thấy
409OUT_OF_STOCK, REQUEST_ID_CONFLICTHết hàng; mã đơn đã dùng cho đơn khác
429RATE_LIMITEDGọi quá nhiều trong một phút
500INTERNAL_ERRORLỗi hệ thống, gửi lại với cùng request_id

Ví dụ

curl -X POST http://api.clonzen.tech/api/v1/orders \
  -H "X-Api-Key: ck_xxx" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"sp_a","quantity":1,"request_id":"don-0001"}'