Python SDK

Irányítsa webtárhelyét a Python segítségével

A zinn-sdk egy típusos Python-kliens a Zinn Digital® API-hoz, amely ugyanabból az OpenAPI-specifikációból készült, amelyből az API is felépül. Minden művelet rendelkezik szinkron és asyncio változatokkal, és minden kérés és válasz egy típusos modell.

Minden fejlesztői dokumentáció →

Telepítés

A csomag a PyPI felületén zinn-sdk néven érhető el, és zinn_sdk néven importálható. Python 3.11 vagy újabb verzió szükséges hozzá.

pip install zinn-sdk

Gyorsindítás

Listázza a nyilvános tárhelyrégiókat kulcs nélkül, majd listázza a saját webhelyeit egy kulccsal.

import os

from zinn_sdk import AuthenticatedClient, Client
from zinn_sdk.api.catalog import list_public_hosting_regions
from zinn_sdk.api.hosting import list_sites

# Public catalogue endpoints need no key.
public = Client(base_url="https://api.zinndigital.com")
regions = list_public_hosting_regions.sync(client=public)
print([region.slug for region in regions.data])

# Everything else uses a per-organisation API key.
api = AuthenticatedClient(base_url="https://api.zinndigital.com", token=os.environ["ZINN_API_KEY"])
page = list_sites.sync(client=api, limit=5)
for site in page.data:
    print(site.name, site.status)

Hitelesítés

A nyilvános katalógus-végpontok, például a régiók és a csomagok, nem igényelnek hitelesítő adatot. Minden más egy szervezetenkénti API-kulcsot használ, amelyet az AuthenticatedClient kap meg, és tulajdonosi tokennel (bearer token) küldi el. Egy kulcs csak azokat az engedélyeket hordozza, amelyeket a létrehozásakor megad neki, és bármikor visszavonhatja. Környezeti változóban vagy a titkos kulcsok tárolójában tartsa, soha ne a forráskódban.

Hozzon létre egy API-kulcsot a vezérlőpultján

Mit tartalmaz

Tipizált modellek

A kérések és válaszok típusjavaslatokkal ellátott attrs modellek, így a szerkesztője és a típusellenőrzője minden mezőt megért.

Szinkronizálás és asyncio

Mindegyik művelet rendelkezik sync, sync_detailed, asyncio és asyncio_detailed függvényekkel, amelyek a művelet után kapták nevüket snake case formátumban, és API-terület szerint vannak csoportosítva a zinn_sdk.api alatt.

A specifikációból generálva

Automatikusan megjelenik egy új verzió, valahányszor megváltozik az OpenAPI-specifikáció. Az a néhány művelet, amelyet a generátor még nem képes kifejezni, minden kiadáskor fel van sorolva és ellenőrizve van, és továbbra is elérhető marad a REST API-n keresztül.

Aszinkron hívások

Ugyanez a hívás az asyncio használatával, amely a HTTP-állapotot és az értelmezett választ is visszaadja.

import asyncio

from zinn_sdk.api.hosting import list_sites

# Every operation has sync, sync_detailed, asyncio and asyncio_detailed variants.
async def main() -> None:
    response = await list_sites.asyncio_detailed(client=api, limit=5)
    print(response.status_code, len(response.parsed.data))

asyncio.run(main())

Kérdések

Rendelkezik Python SDK-val?

Igen. Telepítse a zinn-sdk csomagot a PyPI-ról a pip install zinn-sdk paranccsal, és importálja a zinn_sdk modult. Ez egy típusos kliens, amelyet az OpenAPI-specifikációnkból hoztunk létre, szinkron és asyncio hívásokkal.

Hol található egy adott végpont a Python SDK-ban?

A műveletek a zinn_sdk.api alatt az API területe szerint vannak csoportosítva, és a műveletazonosítójuk (operation id) alapján, snake case formátumban vannak elnevezve. Például a webhelyek listázása a zinn_sdk.api.hosting.list_sites.

Mely Python-verziók támogatottak?

Python 3.11 és újabb.

Fedezzen fel minden végpontot

Minden művelet, amelyet az SDK meghívhat, le van írva az API-referenciában, a paramétereivel, a válaszaival és a jogosultságaival együtt.

API-referencia