Bỏ qua để đến nội dung

Số dư và sự kiện

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"
}

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.

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ạiKhi nàodata
order.provisioningđơn hàng đã chuyển sang cấp phátfamily, client_reference
order.completedcấ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.refundedtiền đã được hoàn+ refunded
package.traffic_lowphần còn lại giảm xuống dưới 10%purchased_gb, left_gb
package.traffic_exhausteddung lượng đã dùng hếtpurchased_gb, left_gb
package.expiredgói địa chỉ cố định đã hết hạn, địa chỉ không phản hồiexpired_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.creditedkhoản nạp tiền đã được ghi cóamount, external_reference
api_key.revokedkhóa đã bị thu hồiapi_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; null nghĩa là không có sự kiện mới.
  • events rỗ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ý.