Ana içeriğe geç

Hatalar

Kütüphanenin fırlattığı tüm istisnalar.

Hiyerarşi:

KuveytTurkError
├── ConfigurationError          eksik/hatalı yapılandırma
├── SignatureError              private key okunamadı / imza üretilemedi
├── TransportError              ağ hatası, zaman aşımı
├── AuthenticationError         token uç noktası hata döndü
├── AuthorizationRequiredError  kullanıcı girişi (authorization code) gerekiyor
└── APIError                    API hata yanıtı döndü
    ├── BadRequestError         400 (imza hataları da 400 döner)
    ├── UnauthorizedError       401
    ├── ForbiddenError          403
    ├── NotFoundError           404
    ├── RateLimitError          429
    ├── ServerError             5xx
    └── BusinessError           HTTP 2xx ama ``success: false``

KuveytTurkError

Kütüphanedeki tüm istisnaların tabanı.

ConfigurationError

Eksik ya da hatalı yapılandırma (client_id, private key, redirect_uri...).

SignatureError

Private key yüklenemedi ya da imza üretilemedi.

TransportError

İstek sunucuya ulaşamadı (bağlantı hatası, zaman aşımı...).

AuthenticationError

AuthenticationError(
    message: str,
    *,
    error: str | None = None,
    error_description: str | None = None,
    status_code: int | None = None,
)

Identity sunucusu token vermeyi reddetti.

Attributes:

Name Type Description
error

OAuth2 hata kodu (ör. invalid_client, invalid_grant).

error_description

Sunucunun verdiği açıklama (varsa).

status_code

HTTP durum kodu.

AuthorizationRequiredError

AuthorizationRequiredError(
    message: str,
    *,
    scope: str | None = None,
    user: str | None = None,
)

Uç nokta müşteri girişi (authorization code) istiyor ama geçerli kullanıcı token'ı yok.

APIError

APIError(
    message: str,
    *,
    status_code: int,
    method: str,
    url: str,
    body: Any = None,
    results: list[ResultItem] | None = None,
)

API bir hata yanıtı döndürdü.

Attributes:

Name Type Description
status_code

HTTP durum kodu.

error_code str | None

Yanıttaki ilk errorCode (varsa).

error_message str | None

Yanıttaki ilk errorMessage (varsa).

results list[ResultItem]

Yanıtın results listesindeki tüm kayıtlar.

body

Çözümlenmiş yanıt gövdesi (JSON değilse ham metin).

method / url

Hataya yol açan istek.

BadRequestError

BadRequestError(
    message: str,
    *,
    status_code: int,
    method: str,
    url: str,
    body: Any = None,
    results: list[ResultItem] | None = None,
)

HTTP 400 — istek parametreleri hatalı ya da imza doğrulanamadı.

Gateway imza hatalarını da 400 ile bildirir ("Client signature validation error"); bu durumda private key'in karşılığı olan public key'in portaldaki uygulamada kayıtlı olduğunu kontrol edin.

UnauthorizedError

UnauthorizedError(
    message: str,
    *,
    status_code: int,
    method: str,
    url: str,
    body: Any = None,
    results: list[ResultItem] | None = None,
)

HTTP 401 — token geçersiz/süresi dolmuş ya da uç nokta başka bir akış istiyor.

Müşteri girişi isteyen bir uç nokta client credentials token'ıyla çağrılırsa gateway "Invalid grant type. Authorization Code is required." mesajıyla 401 döner.

ForbiddenError

ForbiddenError(
    message: str,
    *,
    status_code: int,
    method: str,
    url: str,
    body: Any = None,
    results: list[ResultItem] | None = None,
)

HTTP 403 — token'ın kapsamı uç noktaya uymuyor ("Invalid Scope") ya da yetki yok.

NotFoundError

NotFoundError(
    message: str,
    *,
    status_code: int,
    method: str,
    url: str,
    body: Any = None,
    results: list[ResultItem] | None = None,
)

HTTP 404 — uç nokta ("Path not found") ya da kaynak bulunamadı.

RateLimitError

RateLimitError(
    message: str,
    *,
    status_code: int,
    method: str,
    url: str,
    body: Any = None,
    results: list[ResultItem] | None = None,
)

HTTP 429 — istek limiti aşıldı.

ServerError

ServerError(
    message: str,
    *,
    status_code: int,
    method: str,
    url: str,
    body: Any = None,
    results: list[ResultItem] | None = None,
)

HTTP 5xx — Kuveyt Türk tarafında hata.

BusinessError

BusinessError(
    message: str,
    *,
    status_code: int,
    method: str,
    url: str,
    body: Any = None,
    results: list[ResultItem] | None = None,
)

HTTP başarılı ama yanıt zarfında success: false döndü.