コンテンツにスキップ

残高とイベント

権限 billing:read。チャージはダッシュボードで行います。

{
"balance": "124.30",
"currency": "USD"
}

権限 billing:read。パラメータ: offset、limit、type。

並び順は固定で変更できません: created_at の新しい順、同じ場合は id 順です。 並べ替えのパラメータはありません。

type: deposit、purchase、refund、commission、bonus - それぞれの内容は チャージとボーナス をご覧ください。

external_reference は、その動きを生んだ外部のイベントで、取引の識別子ではありません (識別子は id です)。

promo_code は bonus タイプの行で設定され、ボーナスが付与されたコードを示します。その他の タイプでは null です。

GET /api/v1/events、権限 events:read。?after=<id> から先へ読み進め、古い順です。 パラメータ: 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
}
タイプ発生するときdata
order.provisioning注文が発行処理に入ったfamily、client_reference
order.completed発行が完了した。アドレスの延長でも届くfamily、client_reference
order.failed注文が成立しなかった+ refunded
order.refunded返金された+ refunded
package.traffic_low残量が 10% を下回ったpurchased_gb、left_gb
package.traffic_exhausted容量を使い切ったpurchased_gb、left_gb
package.expired固定アドレスのパッケージの期間が終了し、アドレスが応答しないexpired_at、cut_off (true - パスワードが無効化され、延長すると新しいパスワードが発行される)
topup.creditedチャージが入金されたamount、external_reference
api_key.revokedキーが取り消されたapi_key_id、name

package.* イベントの order_id は、そのパッケージを購入した注文です。

  • 配信は at-least-once です: id で重複を除いてください。
  • next_after は次のリクエストの位置です。null は新しいイベントがないことを示します。
  • events が空なら、ログに追いついています。
  • イベントは 30 日間保存されます。
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)

配信はログのポーリングのみです。