İstemciler¶
Hazır uç nokta metotları (kt.accounts, kt.fx, ...) için Uç noktalar
bölümüne bakın.
KuveytTurk
¶
KuveytTurk(
client_id: str | None = None,
client_secret: str | None = None,
private_key: PrivateKeySource | None = None,
*,
environment: str | Environment = "sandbox",
redirect_uri: str | None = None,
token_store: TokenStore | None = None,
timeout: float = DEFAULT_TIMEOUT,
max_retries: int = DEFAULT_MAX_RETRIES,
language_id: int | None = None,
device_id: str | None = None,
raise_on_failure: bool = True,
http_client: Client | None = None,
private_key_password: str | bytes | None = None,
)
Kuveyt Türk API Market istemcisi (senkron).
Örnek:
from kuveytturk_api import KuveytTurk
kt = KuveytTurk(
client_id="...",
client_secret="...",
private_key="private_key.pem",
environment="sandbox",
)
rates = kt.request("GET", "/v1/fx/rates", scope="public").value
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client_id
|
str | None
|
Geliştirici portalındaki uygulamanın Client ID değeri. |
None
|
client_secret
|
str | None
|
Uygulamanın Client Secret değeri. |
None
|
private_key
|
PrivateKeySource | None
|
İstekleri imzalayan RSA private key — dosya yolu, PEM içeriği ya da
|
None
|
environment
|
str | Environment
|
|
'sandbox'
|
redirect_uri
|
str | None
|
Authorization code akışı için; portalda kayıtlı adresle birebir aynı. |
None
|
token_store
|
TokenStore | None
|
Token'ların saklanacağı yer. Varsayılan bellektir; betiklerde
|
None
|
timeout
|
float
|
Saniye cinsinden varsayılan zaman aşımı. |
DEFAULT_TIMEOUT
|
max_retries
|
int
|
Ağ hatası ve 5xx yanıtlarında yalnızca GET isteklerinin kaç kez yeniden deneneceği. POST'lar (para transferi vb.) asla otomatik tekrarlanmaz. |
DEFAULT_MAX_RETRIES
|
language_id
|
int | None
|
|
None
|
device_id
|
str | None
|
|
None
|
raise_on_failure
|
bool
|
Yanıt zarfında |
True
|
http_client
|
Client | None
|
Kendi |
None
|
private_key_password
|
str | bytes | None
|
Private key şifreliyse parolası. |
None
|
redirect_uri
property
¶
Authorization code akışında kullanılan yönlendirme adresi (tanımlıysa).
from_env
classmethod
¶
İstemciyi KUVEYTTURK_* ortam değişkenlerinden kurar.
Okunan değişkenler: KUVEYTTURK_CLIENT_ID, KUVEYTTURK_CLIENT_SECRET,
KUVEYTTURK_PRIVATE_KEY (dosya yolu ya da PEM içeriği),
KUVEYTTURK_PRIVATE_KEY_PASSWORD, KUVEYTTURK_REDIRECT_URI,
KUVEYTTURK_ENVIRONMENT, KUVEYTTURK_LANGUAGE_ID, KUVEYTTURK_DEVICE_ID.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
env_file
|
str | PathLike[str] | None
|
Verilirse bu |
None
|
**overrides
|
Any
|
Yapıcıya doğrudan geçirilecek, ortamdaki değerleri ezen argümanlar. |
{}
|
as_user
¶
Müşteri token'ı user anahtarından okunan bir istemci görünümü döndürür.
Çok kullanıcılı uygulamalarda her müşteri için ayrı token saklamak içindir. Dönen nesne bağlantıları ve token deposunu bu istemciyle paylaşır:
request
¶
request(
method: str,
path: str,
*,
scope: str = "",
flow: Flow = "client_credentials",
path_params: Mapping[str, Any] | None = None,
query: Mapping[str, Any] | None = None,
body: Any = None,
options: RequestOptions | None = None,
) -> APIResponse
Herhangi bir uç noktayı çağırır; token ve imza otomatik eklenir.
Hazır uç nokta metotları da bunu kullanır. Kütüphanede henüz karşılığı olmayan bir uç nokta için doğrudan çağırabilirsiniz:
kt.request("GET", "/v4/accounts/{suffix}/transactions", scope="accounts",
path_params={"suffix": 1}, query={"itemCount": 10})
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
method
|
str
|
HTTP metodu. |
required |
path
|
str
|
Gateway'e göre yol; |
required |
scope
|
str
|
Uç noktanın dokümanındaki kapsam (ör. |
''
|
flow
|
Flow
|
|
'client_credentials'
|
query
|
Mapping[str, Any] | None
|
Sorgu parametreleri; |
None
|
body
|
Any
|
JSON gövdesi (POST/PUT/PATCH). |
None
|
options
|
RequestOptions | None
|
Bu çağrıya özel ayarlar (bkz. |
None
|
Raises:
| Type | Description |
|---|---|
APIError
|
API hata yanıtı döndürdüyse (alt sınıflarına bakın). |
AuthorizationRequiredError
|
Müşteri girişi gerekiyorsa. |
TransportError
|
İstek sunucuya ulaşamadıysa. |
get
¶
get(
path: str,
*,
scope: str = "",
flow: Flow = "client_credentials",
path_params: Mapping[str, Any] | None = None,
query: Mapping[str, Any] | None = None,
options: RequestOptions | None = None,
) -> APIResponse
request("GET", ...) kısayolu.
post
¶
post(
path: str,
*,
scope: str = "",
flow: Flow = "client_credentials",
path_params: Mapping[str, Any] | None = None,
query: Mapping[str, Any] | None = None,
body: Any = None,
options: RequestOptions | None = None,
) -> APIResponse
request("POST", ...) kısayolu.
AsyncKuveytTurk
¶
AsyncKuveytTurk(
client_id: str | None = None,
client_secret: str | None = None,
private_key: PrivateKeySource | None = None,
*,
environment: str | Environment = "sandbox",
redirect_uri: str | None = None,
token_store: TokenStore | None = None,
timeout: float = DEFAULT_TIMEOUT,
max_retries: int = DEFAULT_MAX_RETRIES,
language_id: int | None = None,
device_id: str | None = None,
raise_on_failure: bool = True,
http_client: AsyncClient | None = None,
private_key_password: str | bytes | None = None,
)
Kuveyt Türk API Market istemcisi (asenkron).
Argümanlar KuveytTurk ile aynıdır; http_client olarak
httpx.AsyncClient alır:
async with AsyncKuveytTurk.from_env(".env") as kt:
rates = (await kt.request("GET", "/v1/fx/rates", scope="public")).value
redirect_uri
property
¶
Authorization code akışında kullanılan yönlendirme adresi (tanımlıysa).
from_env
classmethod
¶
İstemciyi KUVEYTTURK_* ortam değişkenlerinden kurar (bkz. KuveytTurk.from_env).
as_user
¶
Müşteri token'ı user anahtarından okunan bir istemci görünümü döndürür.
request
async
¶
request(
method: str,
path: str,
*,
scope: str = "",
flow: Flow = "client_credentials",
path_params: Mapping[str, Any] | None = None,
query: Mapping[str, Any] | None = None,
body: Any = None,
options: RequestOptions | None = None,
) -> APIResponse
Herhangi bir uç noktayı çağırır (bkz. KuveytTurk.request).
get
async
¶
get(
path: str,
*,
scope: str = "",
flow: Flow = "client_credentials",
path_params: Mapping[str, Any] | None = None,
query: Mapping[str, Any] | None = None,
options: RequestOptions | None = None,
) -> APIResponse
request("GET", ...) kısayolu.
post
async
¶
post(
path: str,
*,
scope: str = "",
flow: Flow = "client_credentials",
path_params: Mapping[str, Any] | None = None,
query: Mapping[str, Any] | None = None,
body: Any = None,
options: RequestOptions | None = None,
) -> APIResponse
request("POST", ...) kısayolu.
aclose
async
¶
Açık bağlantıları kapatır (istemci kendi httpx.AsyncClient'ını oluşturduysa).
RequestOptions
¶
Tek bir çağrıya özel ayarlar (her uç nokta metodunun request_options argümanı).
Attributes:
| Name | Type | Description |
|---|---|---|
token |
str | Token
|
Hazır bir access token. Verilirse token yönetimi tamamen atlanır. |
user |
str
|
Müşteri token'ı hangi kullanıcı anahtarından okunacak. |
flow |
Flow
|
Uç noktanın dokümandaki yetkilendirme akışını ezer. |
scope |
str
|
Uç noktanın dokümandaki kapsamını ezer. |
timeout |
float
|
Saniye cinsinden zaman aşımı. |
headers |
Mapping[str, str]
|
İsteğe eklenecek başlıklar. |
raise_on_failure |
bool
|
|