Hata Kodları ve Yönetimi

API hatalarını anlama ve ele alma

Hata Yanıt Formatı

Tüm hata yanıtları standart formatı kullanır:

{
  "error": {
    "code": "ERROR_CODE",
    "message": "İnsan tarafından okunabilir hata mesajı",
    "details": "Ek bağlam (isteğe bağlı)"
  }
}

💡 Kararlı dallanma koşulu olarak error.code kullanın (message değişebilir)

HTTP Durum Kodları

200 OK

İstek başarılı

200

201 Created

Kaynak oluşturma başarılı

201

400 Bad Request

Geçersiz istek parametreleri

400
{
  "code": "INVALID_REQUEST",
  "message": "Geçersiz istek formatı"
}

401 Unauthorized

Kimlik doğrulaması yapılmamış veya geçersiz API anahtarı

401
{
  "code": "UNAUTHORIZED",
  "message": "Geçersiz veya süresi dolmuş API anahtarı"
}

403 Forbidden

Yetersiz hesap bakiyesi veya izin yok

403
{
  "code": "INSUFFICIENT_BALANCE",
  "message": "Yetersiz hesap bakiyesi"
}

404 Not Found

Kaynak bulunamadı

404
{
  "code": "ORDER_NOT_FOUND",
  "message": "Sipariş bulunamadı"
}

409 Conflict

Kaynak çakışması

409
{
  "code": "ADDRESS_EXISTS",
  "message": "Adres zaten mevcut"
}

429 Too Many Requests

API anahtarı hız limiti aşıldı

429
{
  "code": "RATE_LIMITED",
  "message": "Hız limiti aşıldı"
}

500 Internal Server Error

Sunucu iç hatası

500
{
  "code": "INTERNAL_ERROR",
  "message": "Beklenmeyen bir hata oluştu"
}

503 Service Unavailable

Hizmet geçici olarak kullanılamıyor (bakımda)

503
{
  "code": "SERVICE_UNAVAILABLE",
  "message": "Hizmet geçici olarak kullanılamıyor"
}

Yaygın Hata Kodları

Error Code Status Description Solution
UNAUTHORIZED 401 Geçersiz, süresi dolmuş veya iptal edilmiş API anahtarı API anahtarının doğru olup olmadığını kontrol edin, gerekirse yeni bir tane oluşturun
INSUFFICIENT_BALANCE 403 Yetersiz hesap bakiyesi Hesabı yeniden yükleyin
INVALID_ADDRESS 400 Geçersiz TRON adres formatı Adresin geçerli bir TRON adresi olup olmadığını kontrol edin (T ile başlar)
INVALID_ENERGY_AMOUNT 400 Geçersiz enerji miktarı Enerji miktarı pozitif bir tam sayı olmalıdır, USDT transferi için 65000 önerilir
INVALID_DURATION 400 Geçersiz kiralama süresi Geçerli süreleri kullanın: 1H, 1D, 3D, 7D, 14D, 30D
ORDER_NOT_FOUND 404 Sipariş mevcut değil Sipariş ID'sinin doğru olup olmadığını kontrol edin
ADDRESS_EXISTS 409 Adres zaten mevcut Adresin zaten eklenip eklenmediğini kontrol edin veya mevcut adresi kullanın
RATE_LIMITED 429 API anahtarı hız limiti aşıldı (şu anda yalnızca POST /v1/wallet/recharges için geçerli) Üstel geri çekilme ile yeniden deneme uygulayın veya çağrı sıklığını azaltın

Nasıl Ele Alınır

Error Handling
401 UNAUTHORIZED API anahtarını kontrol edin/döndürün
403 INSUFFICIENT_BALANCE Yeniden yükleyin veya talep edilen miktarı azaltın
409 ADDRESS_EXISTS Sorgulama/idempotent işleme geçin
429 RATE_LIMITED Geri çekilme ile yeniden deneyin (varsa Retry-After'ı takip edin, yoksa üstel geri çekilme kullanın)
5xx Yeniden deneyin + istek bağlamını günlüğe kaydedin

Yeniden Deneme Yönergeleri

  • • maksimum yeniden deneme: 3 kez
  • • geri çekilme: üstel (1s, 2s, 4s...)
  • • yalnızca 429/5xx için yeniden deneyin
  • • 4xx için yeniden denemeyin (istemci tarafı hatası)