Məzmuna keçin

Daxili kod strukturunun API Reference-i

API

integrify.api.APIClient

APIClient(name, base_url, default_handler=None, sync=True)

API inteqrasiyaları üçün klient

PARAMETER DESCRIPTION
name

Klient adı. Logging üçün istifadə olunur.

TYPE: str

base_url

API-lərin əsas (kök) url-i

TYPE: str

default_handler

default API handler. Bu handler əgər hər hansı bir API-yə handler register olunmadıqda istifadə olunur.

TYPE: Optional[APIPayloadHandler] DEFAULT: None

sync

Sync (True) və ya Async (False) klient seçimi. Default olaraq sync seçilir.

TYPE: bool DEFAULT: True

add_url

add_url(route_name, url, verb)

Yeni endpoint əlavə etmə funksiyası

PARAMETER DESCRIPTION
route_name

Funksionallığın adı (məs., pay, refund və s.)

TYPE: str

url

Endpoint url-i

TYPE: str

verb

Endpoint metodunun (POST, GET, və s.)

TYPE: str

set_default_handler

set_default_handler(handler_class)

Sorğulara default handler setter-i

PARAMETER DESCRIPTION
handler_class

Default handler class-ı

TYPE: Type[APIPayloadHandler]

add_handler

add_handler(route_name, handler_class)

Endpoint-ə handler əlavə etmək method-u

PARAMETER DESCRIPTION
route_name

Funksionallığın adı (məs., pay, refund və s.)

TYPE: str

handler_class

Həmin sorğunun (və response-unun) payload handler class-ı

TYPE: Type[APIPayloadHandler]

integrify.api.APIPayloadHandler

APIPayloadHandler(req_model=None, resp_model=None)

Sorğu və cavab data payload-ları üçün handler class-ı

PARAMETER DESCRIPTION
req_model

Sorğunun payload model-i

TYPE: Optional[Type[PayloadBaseModel]] DEFAULT: None

resp_model

Sorğunun cavabının payload model-i

TYPE: Optional[Type[ResponseType]] DEFAULT: None

headers property

headers

Sorğunun header-ləri

pre_handle_payload

pre_handle_payload(*args, **kwds)

Sorğunun payload-ının pre-processing-i. Əgər istənilən payload-a əlavə datanı lazımdırsa (bütün sorğularda eyni olan data), bu funksiyadan istifadə edə bilərsiniz.

Misal üçün: Bax EPointClientClass

handle_payload

handle_payload(*args, **kwds)

Verilən argumentləri self.req_model formatında payload-a çevirən funksiya. self.req_model qeyd edilməyibsə, bu funksiya override olunmalıdır (!).

post_handle_payload

post_handle_payload(data)

Sorğunun payload-ının post-processing-i. Əgər sorğu göndərməmişdən qabaq son datanın üzərinə əlavələr lazımdırsa, bu funksiyadan istifadə edə bilərsiniz.

Misal üçün: Bax EPointClientClass

PARAMETER DESCRIPTION
data

pre_handle_payloadhandle_payload funksiyalarından yaradılmış data.

TYPE: Any

handle_request

handle_request(*args, **kwds)

Sorğu üçün payload-u hazırlayan funksiya. Üç mərhələ icra edir, və bu mərhələlər override oluna bilər. (Misal üçün: Bax EPointClientClass)

  1. Pre-processing
  2. Payload hazırlama
  3. Post-processing

handle_response

handle_response(resp)

Sorğudan gələn cavab payload-ı handle edən funksiya. self.resp_model schema-sı verilibsə, onunla parse və validate olunur, əks halda, json/dict formatında qaytarılır.

integrify.api.APIExecutor

APIExecutor(name, sync=True)

API sorgularını icra edən class

PARAMETER DESCRIPTION
name

API klientin adı. Logging üçün istifadə olunur.

TYPE: str

sync

Sync (True) və ya Async (False) klient seçimi. Default olaraq sync seçilir.

TYPE: bool DEFAULT: True

request_function property

request_function

Sync/async request atan funksiyanı seçən attribute

sync_req

sync_req(url, verb, handler, *args, **kwds)

Sync sorğu atan funksiya

PARAMETER DESCRIPTION
url

Sorğunun full url-i

TYPE: str

verb

Sorğunun metodun (POST, GET, və s.)

TYPE: str

handler

Sorğu və cavabın payload handler-i

TYPE: Optional[APIPayloadHandler]

async_req async

async_req(url, verb, handler, *args, **kwds)

Async sorğu atan funksiya

PARAMETER DESCRIPTION
url

Sorğunun full url-i

TYPE: str

verb

Sorğunun metodun (POST, GET, və s.)

TYPE: str

handler

Sorğu və cavabın payload handler-i

TYPE: Optional[APIPayloadHandler]

Schema

integrify.schemas.APIResponse

Bases: BaseModel, Generic[ResponseType]

Cavab sorğu base payload tipi. Generic tip-i qeyd etmıəklə sorğu cavabını validate edə bilərsiniz.

ok class-attribute instance-attribute

ok = Field(validation_alias='is_success')

Cavab sorğusunun statusu 400dən kiçikdirsə

status_code instance-attribute

status_code

Cavab sorğusunun status kodu

headers instance-attribute

headers

Cavab sorğusunun header-i

body class-attribute instance-attribute

body = Field(validation_alias='content')

Cavab sorğusunun body-si

convert_to_dict

convert_to_dict(v)

Binary content-i dict-ə çevirərək, validation-a hazır vəziyyətə gətirir.

integrify.schemas.PayloadBaseModel

Bases: BaseModel

from_args classmethod

from_args(*args, **kwds)

Verilən *args**kwds (və ya **kwargs) parametrlərini birləşdirərək Pydantic validasiyası edən funksiya. Positional arqumentlər üçün (*args) Pydantic modelindəki field-lərin ardıcıllığı və çağırılan funksiyada parametrlərinin ardıcıllığı EYNİ OLMALIDIR, əks halda, bu method yararsızdır.