POST /apiv2/order1h
Otomatik yük devretme özellikli çoklu enerji sağlayıcıları aracılığıyla 1 saatlik enerji kiralama siparişi oluşturun.
Uç Nokta URL'si
POST https://netts.io/apiv2/order1hİstek Üstbilgileri
| Header | Required | Description |
|---|---|---|
| Content-Type | Yes | application/json |
| X-API-KEY | Yes | Netts panelinizdeki API anahtarınız |
| X-Real-IP | Yes | İzin verilenler listenizdeki (whitelist) IP adresi |
İstek Gövdesi
{
"amount": 131000,
"receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
}İstek Parametreleri
| Parameter | Type | Required | Description |
|---|---|---|---|
| amount | integer | Yes | Kiralanacak Energy miktarı (minimum: 61000, maksimum: 3000000) |
| receiveAddress | string | Yes | Enerjiyi alacak TRON adresi (TRC-20 formatında) |
Sağlayıcı Seçimi
API, en uygun enerji sağlayıcısını şu kriterlere göre otomatik olarak seçer:
- Maliyet verimliliği - Her zaman mevcut en düşük fiyatı bulur
- Kullanılabilirlik - Yeterli enerji rezervinin bulunmasını sağlar
- Güvenilirlik - Yüksek başarı oranına sahip sağlayıcıları kullanır
- Hız - En hızlı teslimat sürelerine öncelik verir
Örnekler
cURL
curl -X POST https://netts.io/apiv2/order1h \
-H "Content-Type: application/json" \
-H "X-API-KEY: your_api_key" \
-H "X-Real-IP: your_whitelisted_ip" \
-d '{
"amount": 131000,
"receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
}'Python
import requests
url = "https://netts.io/apiv2/order1h"
headers = {
"Content-Type": "application/json",
"X-API-KEY": "your_api_key",
"X-Real-IP": "your_whitelisted_ip"
}
payload = {
"amount": 131000,
"receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
}
response = requests.post(url, headers=headers, json=payload)
data = response.json()
if response.status_code == 200:
detail = data.get('detail', {})
order_data = detail.get('data', {})
print(f"Order ID: {order_data.get('orderId')}")
print(f"Transaction Hash: {order_data.get('hash')}")
print(f"Energy Delivered: {order_data.get('energy')}")
print(f"Cost: {order_data.get('paidTRX')} TRX")
print(f"Delegate Address: {order_data.get('delegateAddress')}")
else:
error_detail = data.get('detail', data)
print(f"Error Code: {error_detail.get('code', 'N/A')}")
print(f"Error Message: {error_detail.get('msg', error_detail)}")Yanıt
Başarılı Yanıt (200 OK)
{
"detail": {
"code": 10000,
"msg": "Successful, 2.23 TRX deducted",
"data": {
"orderId": "1H123456",
"paidTRX": 2.23,
"hash": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
"delegateAddress": "TNp5gsJhBmZFXgCdgjMgr8pEZ8fHgXUHDq",
"energy": 131050
}
}
}Yanıt Alanları
| Field | Type | Description |
|---|---|---|
| detail.code | integer | Başarılı siparişler için her zaman 10000 |
| detail.msg | string | Düşülen tutarı belirten başarı mesajı |
| detail.data.orderId | string | Birleşik sipariş kimliği (format: 1H{request_id}) |
| detail.data.paidTRX | number | TRX cinsinden toplam maliyet (adres etkinleştirilmemişse etkinleştirme ücretini de içerir) |
| detail.data.hash | string | null | İşlem özeti (transaction hash). Alan her zaman mevcuttur ancak boş olabilir - bazı sağlayıcılar hash değerini anında döndürmez. Hash değerini almak için 1 dakika sonra /apiv2/order_check kullanın |
| detail.data.delegateAddress | string | Enerjiyi delege eden havuz adresi |
| detail.data.energy | integer | Enerji miktarı + arabellek (genellikle +50) |
Hata Yanıtları
Kimlik Doğrulama Hatası (401)
{
"detail": "Invalid API key or IP not in whitelist"
}Yetersiz Bakiye (403)
{
"code": 1004,
"msg": "Insufficient funds. Required: 2.23 TRX, Available: 1.50 TRX"
}Hizmet Kullanılamıyor (503)
{
"code": 5003,
"msg": "Service temporarily unavailable. All energy providers are currently unavailable."
}Sağlayıcı Hataları (503)
{
"code": 5001,
"msg": "Energy provider temporarily unavailable"
}{
"code": 5002,
"msg": "Energy provider temporarily unavailable"
}{
"code": 5004,
"msg": "Energy provider requires higher minimum amount"
}Dahili Sunucu Hatası (500)
{
"code": 5000,
"msg": "Internal server error occurred"
}Hata Kodu Referansı
| Code | Description | HTTP Durumu |
|---|---|---|
10000 | Başarılı | 200 |
10000 | Başarılı (önbelleğe alınmış yanıt) | 208 |
- | Yinelenen istek hâlâ işleniyor | 409 |
1004 | Yetersiz bakiye | 403 |
5000 | Dahili sunucu hatası | 500 |
5001 | Enerji sağlayıcı kullanılamıyor | 503 |
5002 | Enerji sağlayıcı kullanılamıyor | 503 |
5003 | Enerji hizmeti kullanılamıyor | 503 |
5004 | Enerji sağlayıcı minimum tutarı karşılanmadı | 503 |
İstek Hızı Sınırları
Bu endpoint için aşağıdaki istek limitleri geçerlidir (IP adresi başına):
| Dönem | Limit | Description |
|---|---|---|
| 1 saniye | 50 istek | Saniyede maksimum 50 istek |
Hız Sınırı Başlıkları
RateLimit-Limit: 50
RateLimit-Remaining: 49
RateLimit-Reset: 1
X-RateLimit-Limit-Second: 50
X-RateLimit-Remaining-Second: 49Hız Sınırı Aşıldı (429)
{
"message": "API rate limit exceeded"
}Eşgüçlülük (Idempotency)
API, yinelenen sipariş işlemlerini önlemek için eşgüçlülüğü (idempotency) destekler. Birden fazla özdeş istek gönderdiğinizde sistem, siparişin yalnızca bir kez işlenmesini sağlar.
Eşgüçlülük Nasıl Çalışır?
İstek benzersizliği aşağıdakilerin kombinasyonu ile belirlenir:
- İstek zaman damgası (1 saniyelik pencere)
- Enerji miktarı
- Alıcı adresi
- API anahtarı
Her isteğe 1 saniyelik benzersizlik penceresi tanınır. Sistemi kötüye kullanımdan korumak ve düzgün işlem yapılmasını sağlamak amacıyla, özdeş parametrelere sahip istekler saniyede birden fazla gönderilemez.
Mevcut davranış: Sistem, önceden sipariş edilmiş enerji üzerindeki hatalı yeniden denemelere karşı istemcileri otomatik olarak korur. Yanlışlıkla aynı isteği iki kez gönderirseniz, iki kez ücretlendirilmezsiniz.
Kendi Anahtarınızı Belirtme
X-Idempotency-Key başlığını göndererek eşgüçlülüğü kendi kontrolünüze alabilirsiniz. Bu başlık mevcut olduğunda, bir isteğin yinelenip yinelenmediğine yalnızca bu değer karar verir ve yukarıdaki otomatik kombinasyon kullanılmaz. Bulunmadığında hiçbir şey değişmez — sunucu anahtarı sizin için türetir.
| Header | X-Idempotency-Key |
| Format | Tam olarak 64 küçük harfli onaltılık karakter — bir SHA-256 özeti |
| Geçerlilik Süresi | Bu anahtarı taşıyan ilk istekten itibaren 24 saat |
| Kapsam | Hesabınız. Farklı bir hesap tarafından gönderilen aynı değer asla sizin sonucunuzu döndürmez |
Başka herhangi bir biçimdeki anahtar — kısa çizgili bir UUID, base64, büyük harfli hex — sipariş verilmeden ve herhangi bir ücret alınmadan önce 400 ile reddedilir:
{
"detail": "Invalid idempotency key format. Must be 64-character hexadecimal string."
}Format diğer endpoint'lerden farklıdır.
/apiv2/withdraw,/apiv2/bandwidthve orkestratör 16–64 karakterlik bir base64 anahtarını kabul eder. Bu endpoint yalnızca 64 karakterlik bir hex özeti kabul eder; dolayısıyla bu endpoint'lerden kopyalanan anahtar oluşturma kodu burada 400 döndürür.
Anahtar nasıl oluşturulur?
Anahtarı API anahtarınızdan türetin. Bu, değeri hesabınıza özel, yeniden denemede yeniden üretilebilir ve başka birinin tahmin etmesini imkânsız kılar:
import hashlib
import hmac
def make_idempotency_key(api_key: str, address: str, amount: int, nonce: str) -> str:
message = f"{address}:{amount}:{nonce}"
return hmac.new(api_key.encode(), message.encode(), hashlib.sha256).hexdigest()
nonceisteğe değil, siparişe aittir. Bunu sipariş tarafınızda oluşturulduğunda bir kez belirleyin ve bu siparişin her gönderiminde — ilk deneme ve her yeniden deneme dahil — aynı değeri iletin. Gönderme işlevinin içinde yeni bir değer oluşturmak (her çağrıdastr(uuid.uuid4())), her denemeye farklı bir anahtar verir; bu nedenle zaman aşımından sonraki bir yeniden deneme ikinci bir sipariş olarak kabul edilir ve tekrar ücretlendirilir. En basit ve doğru seçenek, zaten sahip olduğunuz sipariş kimliğidir: ilk denemeden önce mevcuttur ve sürecinizin yeniden başlatılmasından etkilenmez.
# bir kez, sipariş sisteminizde göründüğünde
order = create_order(address="TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE", amount=131000)
# ilk denemede ve her yeniden denemede — aynı üç girdi, aynı anahtar
key = make_idempotency_key(API_KEY, order.address, order.amount, order.id)
headers = {
"Content-Type": "application/json",
"X-API-KEY": API_KEY,
"X-Idempotency-Key": key,
}Bir anahtar 24 saat geçerlidir. Bu sürenin ardından aynı nonce tekrar serbest kalır ve yeni bir sipariş başlatır.
Başka birinin ulaşabileceği bir değer kullanmayın — 64 adet sıfır veya sabit bir kelimenin özeti gibi. Anahtarlar hesaplar arasında ortak bir alanı paylaşır. Böyle bir çakışma asla başka bir hesabın siparişini açığa çıkarmaz, ancak anahtarlarının süresi dolana kadar isteğiniz 409 ile reddedilir; bu da bir yeniden denemenin ortasında istemeyeceğiniz bir yanıttır.
İki Özdeş Sipariş Verme
Bazen art arda aynı siparişi gerçekten iki kez vermek isteyebilirsiniz — aynı adrese, aynı miktarda enerji. Otomatik anahtar bunu bir yeniden denemeden ayırt edemez: iki istek bayt düzeyinde birbirinin tamamen aynısıdır ve onları ayıran tek şey varış anlarıdır.
Kendinize ait bir anahtar olmadan sonuç, aralarındaki süre boşluğuna bağlıdır:
| İki istek arasındaki süre | Ne olur |
|---|---|
| Aynı 1 saniyelik pencere içinde | İkinci istek bir tekrar olarak algılanır. Yürütülmez: 208 ve orderId dahil ilk siparişin yanıtını alırsınız. Bunun için hiçbir ücret alınmaz |
| Bir saniyeden daha uzun aralıkla | İki farklı anahtar oluşur — her iki sipariş de verilir ve her ikisi de ücretlendirilir |
Bu nedenle otomatik anahtara güveniyorsanız, iki özdeş sipariş arasında bir saniyeden fazla süre bırakın ve durum kodunu kontrol edin: 208, az önce gönderdiğiniz siparişin verilmediği anlamına gelir.
Bekleme süresi eklemek geçici bir çözümdür, kalıcı bir çözüm değildir. Tekrarlamayı asla istemediğiniz istekler de dahil olmak üzere her isteği ayırır — bir zaman aşımından sonraki yeniden deneme, çift tıklama veya kuyruğunuz tarafından yeniden iletilen bir mesaj gibi. Bunlar da pencereden daha geç ulaşır; bu nedenle ayrı siparişler olarak verilir ve ayrı ayrı ücretlendirilir. Bu endpoint'in yanıt zaman aşımı süresi 10 saniyedir ve bu da pencerenin oldukça dışındadır: otomatik anahtar, zaman aşımını takip eden bir yeniden denemeyi korumaz.
Kendi anahtarınız tahmin yürütme zorunluluğunu ortadan kaldırır, çünkü karar cevabı bilen tek tarafa geçer:
| Ne yapıyorsunuz | Ne gönderiyorsunuz | Sonuç |
|---|---|---|
| İkinci, gerçekten yeni bir sipariş | Yeni bir nonce | Yeni bir anahtar — sipariş verilir |
| Sonucunu bilmediğiniz bir siparişin yeniden denemesi | İlk denemenin nonce değeri | Aynı anahtar — 208, orijinal yanıt, ikinci bir ücretlendirme yok |
İkinci satır bu başlığın var olma nedenidir ve uygulamaların genellikle yanıldığı noktadır: Anahtar nasıl oluşturulur altındaki nota bakın.
Yinelenen İstekler İçin HTTP Durum Kodları
| Durum Kodu | İsim | Description |
|---|---|---|
| 200 | OK | Sipariş başarıyla işlendi (ilk istek) |
| 208 | Already Reported | Sipariş zaten işlenmişti, önbelleğe alınmış yanıt döndürülüyor |
| 409 | Conflict | İstek şu anda işleniyor, tekrar denemeyin |
Yinelenen İstek - Zaten İşlendi (208)
Daha önce tamamlanmış bir sipariş için yinelenen bir istek alındığında:
{
"detail": {
"code": 10000,
"msg": "Successful, 2.54 TRX deducted",
"data": {
"hash": "9e4c20e21e01e4c39b21b670d1ea1fc1e4b0de94d8fbd4c190d5378ba911dfae",
"energy": 65050,
"orderId": "1H70bcc7962a",
"paidTRX": 2.535,
"delegateAddress": "TNp5gsJhBmZFXgCdgjMgr8pEZ8fHgXUHDq"
}
},
"idempotency": {
"status": "completed",
"cached": true,
"original_created_at": "2025-12-03T10:34:49.104896"
}
}Yanıt gövdesi, bunun önbelleğe alınmış bir yanıt olduğunu belirten ek bir idempotency nesnesi dışında, ilk başarılı yanıtla tamamen aynıdır.
Yinelenen İstek - Hâlâ İşleniyor (409)
Orijinal istek hâlâ işlenirken yinelenen bir istek geldiğinde:
{
"success": false,
"error": "duplicate_request_processing",
"message": "This request is currently being processed. Please wait and do not retry.",
"idempotency_key": "b9e67b2412d33c92a4f0e1c3d5b7a9f2e4c6d8b0a2f4e6c8d0b2a4f6e8c0d2b4",
"retry_after_seconds": 3
}Öneri: Sipariş durumunu kontrol etmeden önce belirtilen retry_after_seconds süresi kadar bekleyin.
En İyi Uygulamalar
- Aynı parametrelerle paralel istekler göndermeyin - her yanıtı bekleyin
- Her yeni sipariş için yeni bir
nonce, yeniden denemeleri için ise ilk denemeninnoncedeğerini kullanın - Gönderme anında asla
noncedeğerini yeniden oluşturmayın — yeniden deneme, yeni bir anahtar değil, ilk denemenin anahtarını yeniden üretmelidir - 409 yanıtlarını hemen tekrar deneyerek değil, bekleyerek yönetin
- Önbelleğe alınmış yanıtları tanımlamak için
idempotency.cachedalanını kontrol edin —208, az önce gönderdiğiniz siparişin verilmediği anlamına gelir
Faturalı (Postpaid) Hesaplar
Faturalı ödeme kullanan hesaplar, diğer herkesle aynı endpoint'i, URL'yi, başlıkları ve istek gövdesini kullanır. Fark, siparişin nasıl ödendiğidir:
- Depozitonuzdan hiçbir şey düşülmez. Başarılı her sipariş, sözleşmenizde kararlaştırılan ödeme para biriminde borç bakiyenize eklenir. Sözleşmenize uygun olarak fatura üzerinden ödeme yaparsınız.
- Hesabınızın bir kredi limiti vardır. Borç tutarı limit dahilinde olduğu sürece, sıfır depozito ile dahi siparişler kabul edilir.
- Yalnızca teslim edilen hizmetler faturalandırılır. Reddedilen veya yürütülmeyen bir sipariş için herhangi bir ücret alınmaz.
- Alıcı adresin etkinleştirilmesi gerekiyorsa, etkinleştirme aynı siparişin bir parçasıdır ve ayrı bir ücret kalemi olarak faturalandırılır.
Faturalı ödeme, talep üzerine Netts tarafından bir hesap için etkinleştirilir. Her yanıt siparişin nasıl ödendiğini belirtir: paymentMode değeri postpaid veya prepaid şeklindedir.
Ek istek alanları
| Parameter | Type | Required | Description |
|---|---|---|---|
| test | boolean | No | true — yalnızca fiyatı hesaplar. Hiçbir şey sipariş edilmez, teslim edilmez veya faturalandırılmaz |
| freezePrice | boolean | No | true — sözleşmenizdeki fiyatı 60 saniye boyunca sabitler. Hiçbir şey sipariş edilmez veya faturalandırılmaz |
| quoteId | string | No | Siparişi, freezePrice tarafından sunulan teklifin fiyatından verir |
| priceCurrency | string | No | TRX (varsayılan) veya settlement.asset alanındaki sözleşme para biriminiz. Faturalı (postpaid) hesaplarda sözleşme para birimindeki tutarlar her zaman eklenir |
quoteId, test veya freezePrice ile birleştirilemez. İstek gövdesindeki diğer tüm alanlar reddedilir.
Fiyat kontrolü (test: true)
{
"amount": 65000,
"receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"test": true
}{
"detail": {
"code": 10010,
"msg": "Test calculation",
"data": {
"amount": 65000,
"unitPriceSun": "20",
"discount": null,
"energyTRX": "1.300000",
"activationTRX": "1.100000",
"wouldCostTRX": "2.400000",
"paidTRX": 0,
"paymentMode": "postpaid",
"activationCheck": "inactive",
"alt": {"USDC": {"energy": "0.430541", "activation": "0.364304", "total": "0.794845"}},
"fxAt": "2026-10-19T07:15:18.469870+00:00"
}
}
}| Field | Description |
|---|---|
| unitPriceSun | Varsa kişisel indiriminiz dahil, SUN cinsinden enerji birim fiyatı |
| discount | Kişisel indiriminiz (type, value) veya null |
| energyTRX / activationTRX / wouldCostTRX | TRX cinsinden enerji, etkinleştirme (adres gerektiriyorsa) ve toplam tutar |
| activationCheck | inactive — adres etkinleştirilecek ve faturalandırılacak; active — etkinleştirme yok; unknown — şu anda kontrol edilemedi |
alt.<currency> | Aynı tutarlar sözleşmenizin para birimi cinsinden |
| fxAt | Sözleşme para birimindeki tutarlar için kullanılan döviz kurunun zamanı |
Sabit fiyat teklifi (freezePrice: true)
Sipariş vermeden önce sözleşmenizdeki fiyatı sabitlemek için bir teklif kullanın.
- Siparişi
"freezePrice": trueile gönderin. Yanıt10011koduna (Quote issued), fiyat kontrolüyle aynı alanlara, ayrıcaquoteIdveexpiresAtalanlarına sahiptir. - 60 saniye içinde siparişi
"quoteId": "<quoteId>"ve aynıamountvereceiveAddressile gönderin. - Sipariş, arada fiyat değişse bile teklif fiyatı üzerinden — teklif anındaki sözleşme fiyatınız üzerinden — faturalandırılır.
Bir teklif bir kez ve yalnızca aynı ürün için kullanılabilir: 1 saatlik bir teklif, 5 dakikalık bir siparişi ödeyemez. Süresi dolmuş veya önceden kullanılmış bir teklif reddedilir ve hiçbir şey sipariş edilmez.
{
"amount": 65000,
"receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"quoteId": "q_4f540f16a2c94b7f8e3d1a6b5c0e9d72"
}Başarılı sipariş
{
"detail": {
"code": 10000,
"msg": "Successful, 1.30 TRX for energy + 1.10 TRX for address activation, postpaid",
"data": {
"orderId": "1Hf9544a1508",
"paidTRX": 2.4,
"hash": "032bda8fa6911b42c15a6d8d30520dc22bcc4077972a1503b6a3fae491967eb4",
"delegateAddress": "TVnkj2jHKgmea8DVJFo2teD7rRSpH51bne",
"energy": 65000,
"activationHash": "259e1ab276114ae717a6f62d7d25eb1f89a2dccb637cbe41be626df3c2a78519",
"paymentMode": "postpaid",
"energyTRX": "1.300000",
"activationTRX": "1.100000",
"totalTRX": "2.400000"
}
}
}| Field | Description |
|---|---|
| paidTRX | Hizmetin TRX cinsinden maliyeti. Faturalı hesaplar için depozitodan düşülmez |
| paymentMode | postpaid |
| energyTRX / activationTRX / totalTRX | Kesin tutarlar, 6 ondalık basamak |
| quoteId, alt | Sipariş bir teklifle verildiyse bulunur: teklif kimliği ve teklif tutarları |
| activationFinal | Yalnızca etkinleştirme tutarı ön aşamada olduğunda mevcuttur ve false değerini alır; nihai tutar faturanızda görünür |
Diğer tüm alanlar ön ödemeli siparişlerle aynıdır.
Kredi limitine ulaşıldı (402)
{
"detail": {
"code": 1004,
"msg": "Postpaid credit limit reached.",
"paymentMode": "postpaid",
"reason": "limit_reached"
}
}Sipariş yürütülmez ve hiçbir şey faturalandırılmaz. Ödemeniz kaydedildiğinde veya limitiniz artırıldığında yeni siparişler tekrar kabul edilir.
Faturalı hata kodları
| Code | HTTP | Description |
|---|---|---|
10010 | 200 | Fiyat kontrolü sonucu (test) |
10011 | 200 | Teklif oluşturuldu (freezePrice) |
1004 | 402 | Faturalı kredi limitine ulaşıldı |
4100 | 400 | Geçersiz istek |
4101 | 400 | Desteklenmeyen priceCurrency |
4102 | 400 | quoteId, test veya freezePrice ile birleştirilmiş |
4103 | 409 | Teklif zaten kullanılmış |
4104 | 409 | Teklifin süresi dolmuş |
4105 | 409 | Eşgüçlülük anahtarı farklı bir istek için zaten kullanılmış |
4106 | 404 | Teklif bulunamadı |
4107 | 409 | Sipariş parametreleri tekliften farklı |
4108 | 400 | Geçersiz quoteId formatı |
4109 | 422 | Alt hesaplar için kullanılamaz |
5032 | 503 | Fiyat geçici olarak kullanılamıyor |
5033 | 503 | Döviz kuru geçici olarak kullanılamıyor |
5034 | 503 | Faturalandırma geçici olarak kullanılamıyor — sipariş kabul edilmedi |
5036 | 503 | Kredi kontrolü geçici olarak kullanılamıyor — daha sonra tekrar deneyin |
Yukarıdaki tüm 4xx ve 503 yanıtları için hiçbir şey sipariş edilmez ve hiçbir şey faturalandırılmaz.
Notlar
- Energy, başarılı siparişin ardından anında teslim edilir (genellikle 0,5-10 saniye içinde)
- API yanıt zaman aşımı: Maksimum 10 saniye, genellikle 2 saniyeye kadar yanıt verir
- Adres etkinleştirme: Alıcı adresi etkinleştirilmemişse, Netts bunu maliyet fiyatına etkinleştirir
- Etkinleştirme gecikmesi: Etkinleştirilmemiş adresler için API yanıtı, etkinleştirme işlemi nedeniyle 6 saniyeye kadar sürebilir
- Siparişler, otomatik sağlayıcı yük devretme özelliğiyle 7/24 işlenir
- Minimum enerji miktarı: 61.000 birim
- Maksimum enerji miktarı: Sipariş başına 3.000.000 birim
- Enerji arabelleği: Sağlayıcı telafisi için otomatik olarak +50 birim eklenir (ücretsiz)
- İşlem özeti (Transaction hash): Alan her zaman mevcuttur ancak sağlayıcı hemen döndürmezse boş olabilir. Hash değerini almak için siparişi verdikten en erken 1 dakika sonra /apiv2/order_check çağrısı yapın
- Sağlayıcı seçimi: Maliyet ve kullanılabilirliğe göre otomatik
- Sipariş kimliği formatı: Birleşik takip için
1H{request_id} - Fiyatlandırma: Günün saatine ve enerji miktarına bağlı olarak dinamik
- Süre: Sabit 1 saat (3600 saniye)
- Hız sınırlaması: IP adresi başına saniyede 50 istek