Webhook’lar
Hesabınızın tek bir webhook URL’si vardır ve tüm olaylar oraya gider. Dashboard → API sayfasından veya Webhook yapılandırma ile ayarlayın.Olaylar
Bugün altı olay mevcut.Zarf
Her teslimatta aynı üç üst düzey anahtar bulunur.timestamp, olayı oluşturduğumuz andır; ISO-8601, UTC.
Response
order.updated
number
Sipariş kimliği.
string
energy veya bandwidth.string
processing, filled, partial, failed, reclaimed veya reclaim_failed. Doğrunun kaynağı bu alandır — aşağıdaki uyarıya bakın.string
Kaynağın devredildiği adres.
number
Sipariş edilen miktar — enerji birimi ya da bandwidth puanı.
number
volume ile aynı. Hangi alanın ne anlama geldiğini araştırmadan beklenen ile teslim edileni karşılaştırabilmek için bulunur.number
Şu ana kadar gerçekte ne kadarının devredildiği. Sipariş
filled olduğunda volume ile eşittir; processing ve partial durumunda şimdiye kadar teslim edilen parçaların toplamı, başarısızlıkta 0.string
Siparişin TRX cinsinden fiyatı, ondalık metin olarak.
string | null
Kaynağı devreden işlem.
string | null
Kiralama bitince kaynağı geri alan işlem.
string | null
Kaynağın geri alınmasının planlandığı an, ISO-8601; zamanlayıcıyla geri alınmayan siparişlerde
null.Response
subscription.transfer
number
Transferin ait olduğu Smart Mode aboneliği.
string
Transferin çıktığı izlenen adres.
string | null
Aboneliğe verdiğiniz etiket.
string
Zincir üzerindeki transfer işlemi.
number
Bu devrin kaç transferi kapsadığı.
number
Onlar için devredilen enerji.
string
Enerji için tahsil edilen tutar, TRX cinsinden.
string | null
Ek olarak tahsil edilen bandwidth; tahsil edilmediyse
null.string
Tahsilat sonrası hesap bakiyeniz.
string
Transferin işlendiği an. Dikkat: bu alan
data içindedir ve zarfın kendi timestamp alanından farklıdır.Response
Transfer Package olayları
Dörtpackage.* olayı paketin sahibi olan hesaba gönderilir. Oturum açmadan veya API anahtarı olmadan faturayla satın alınan bir paketin sahibi yoktur ve olay üretmez. İptal edilen faturalar, reddedilen satın almalar ve manuel incelemedeki satın almalar da olay üretmez; incelemedeki bir paket etkinleştirildiğinde package.activated gönderir.
Her package.* olayı data içinde şu alanları taşır:
number
Paket kimliği — Paketleri Listele yanıtındaki
id.string
Paketin hizmet verdiği adres.
string
Olaydan sonraki paket durumu:
package.transfer için active veya completed, package.completed için completed, package.activated için active, package.expired için expired.number
Paketin satın alındığı transfer sayısı.
number
Olayın bildirdiği değişiklikten sonra bu pakette kalan transfer sayısı — fark değil, mutlak bir sayı.
remaining olay olmadan da azalabilir. Çok transferli bir paket, günlük abonelik olarak günde bir transfer düşer — ilki etkinleştirmede, bu yüzden 500 transferlik bir paket remaining: 499 ile başlar — ve bu kesinti bildirilmez. Aynı adresten aynı blokta yapılan iki transfer aynı remaining değerini bildirebilir. remaining değerini bir ipucu, Paketleri Listele yanıtını ise doğruluk kaynağı olarak kabul edin.package.transfer olayında (package_id, tx_hash), diğerlerinde (event, package_id) kullanın: yeniden deneme aynı gövdeyi, aynı timestamp değerini ve aynı imzayı taşır.
package.transfer
Adresten yapılan bir transferin bedeli bir paketten ödendi. Transferin düşüldüğü her paket için bir kez gönderilir — neredeyse her zaman transfer başına bir olay; bir paketin son transferini alıp sonrakinde devam eden bir transfer, her biri için bir olay üretir.
string
Zincirdeki transfer işlemi.
number
Bu işlem için bu paketten düşülen transfer sayısı. USDT bulunmayan bir adrese yapılan transfer iki kat enerji gerektirir ve
2 sayılır; bu iki birim iki pakete bölünebilir.status değeri completed olur.
Response
package.completed
Paket transferleri karşılamayı bıraktı.
string
transfer — paketi bir transfer tüketti; subscription — paketi günlük kesinti tüketti; manual — paketi destek ekibi kapattı. manual sonrasında remaining sıfırdan büyük olabilir, ancak bu transferler artık kullanılamaz.string | null
reason: "transfer" olduğunda paketi kapatan transfer; aksi halde null.package.transfer olmadan kapanır: yalnızca o transferin tx_hash değeriyle package.completed alırsınız.
Response
package.activated
Paket etkinleşti ve bundan sonra transferleri enerji alır. Her etkinleştirmede gönderilir — yanıtı zaten active diyen bakiyeyle satın alma ve ödemesi zincirde görüldükten kısa süre sonra paketi etkinleştiren fatura ödemesi dahil.
string
Paketin nasıl ödendiği: tam olarak
balance, TRX veya USDT.Response
package.expired
Bir paketin faturası 30 dakikalık süresi içinde ödenmedi. Hiçbir ücret alınmadı; yeni bir fatura için yeniden satın alın. Ek alan yoktur; remaining, quota_total değerine eşittir ve kullanılamaz.
Response
Teslimat
- En çok 3 deneme, aralarında 1 saniye ve ardından 4 saniye bekleme ile. Başarıdan sonra ve son denemeden sonra bekleme yoktur.
- Deneme başına 10 saniye zaman aşımı.
- Herhangi bir
2xxbekleriz. Bunun dışındaki her şey başarısız deneme sayılır. - Yönlendirmeler izlenmez.
301/302bir sıçrama değil, başarısız bir denemedir. - Kaçan olaylar sonradan yeniden gönderilmez. Üç deneme de başarısız olursa o olay kaybolur; tekrar beklemek yerine Sipariş sorgulama veya Paketleri Listele ile mutabakat yapın.
İmzanın doğrulanması
Her istekX-Webhook-Signature: sha256=<hex> taşır: webhook gizli anahtarınızla, ham istek gövdesi üzerinden hesaplanmış bir HMAC-SHA256.
Kontrolünüzün çalışıp çalışmayacağını iki ayrıntı belirler:
- Karşılaştırmadan önce
sha256=önekini ayırın. Başlık düz bir onaltılık özet değildir. - Aldığınız baytların özetini alın, yeniden serileştirilmiş bir nesnenin değil. JSON’u ayrıştırıp yeniden yazmak anahtar sırasını ve boşlukları değiştirir; imza hiçbir zaman tutmaz.