Số dư và sự kiện
GET /api/v1/balance
Phần tiêu đề “GET /api/v1/balance”Quyền billing:read. Việc nạp tiền được thực hiện trong bảng điều khiển.
{ "balance": "124.30", "currency": "USD"}GET /api/v1/transactions
Phần tiêu đề “GET /api/v1/transactions”Quyền billing:read. Tham số: offset, limit, type.
Thứ tự cố định và không thể thay đổi: mới nhất ở trên, theo created_at, nếu trùng - theo id.
Không có tham số sắp xếp.
type: deposit, purchase, refund, commission, bonus - ý nghĩa của từng loại,
xem Nạp tiền và tiền thưởng.
external_reference - sự kiện bên ngoài đã tạo ra biến động, không phải mã định danh giao dịch
(mã đó là id).
promo_code được điền ở các dòng loại bonus - đây là mã đã dùng để cộng tiền thưởng. Với các loại
khác là null.
Sự kiện
Phần tiêu đề “Sự kiện”GET /api/v1/events, quyền events:read. Đọc tiến về phía trước từ ?after=<id>, cũ nhất ở trên.
Tham số: after, limit, type.
{ "events": [ { "id": 881, "type": "order.completed", "occurred_at": "2026-08-28T12:00:04+00:00", "order_id": 128, "package_id": 42, "data": { "family": "traffic_gateway", "client_reference": "deal-8891" } }, { "id": 882, "type": "package.traffic_low", "occurred_at": "2026-08-28T18:31:00+00:00", "order_id": 128, "package_id": 42, "data": { "purchased_gb": "35.000", "left_gb": "3.410" } } ], "next_after": 882}| Loại | Khi nào | data |
|---|---|---|
order.provisioning | đơn hàng đã chuyển sang cấp phát | family, client_reference |
order.completed | cấp phát thành công; cũng được gửi khi gia hạn địa chỉ | family, client_reference |
order.failed | đơn hàng không thành công | + refunded |
order.refunded | tiền đã được hoàn | + refunded |
package.traffic_low | phần còn lại giảm xuống dưới 10% | purchased_gb, left_gb |
package.traffic_exhausted | dung lượng đã dùng hết | purchased_gb, left_gb |
package.expired | gói địa chỉ cố định đã hết hạn, địa chỉ không phản hồi | expired_at, cut_off (true - mật khẩu đã bị vô hiệu hóa, gia hạn sẽ cấp mật khẩu mới) |
topup.credited | khoản nạp tiền đã được ghi có | amount, external_reference |
api_key.revoked | khóa đã bị thu hồi | api_key_id, name |
Với các sự kiện package.*, trường order_id là đơn hàng đã dùng để mua gói.
- Giao at-least-once: loại trùng theo
id. next_after- vị trí cho yêu cầu tiếp theo;nullnghĩa là không có sự kiện mới.eventsrỗng nghĩa là bạn đã đọc kịp nhật ký.- Sự kiện được lưu 30 ngày.
after = load_position()
while True: params = {"limit": 200} | ({"after": after} if after else {}) body = session.get(f"{BASE}/api/v1/events", params=params, headers=AUTH).json()
for event in body["events"]: if not already_handled(event["id"]): handle(event) mark_handled(event["id"])
if body["next_after"] is not None: after = body["next_after"] save_position(after)
if not body["events"]: sleep(15)Chỉ giao bằng cách truy vấn nhật ký.