Ang zinn-sdk ay ang aming opisyal na Python client para sa Zinn Digital® API, na inilathala sa PyPI at ini-import bilang zinn_sdk. Binuo ito mula sa parehong detalye ng OpenAPI kung saan binuo ang API, bawat operasyon ay may mga synchronous at asyncio na variant, at awtomatikong naglalathala ng bagong bersyon sa tuwing magbabago ang detalye. Ini-install ito ng gabay na ito, pinatutunayan ang pagiging totoo nito, at isinasagawa ang inyong mga unang tawag.
I-install
pip install zinn-sdk
Nangangailangan ito ng Python 3.11 o mas bago at may lisensyang MIT.
Gumawa ng API key
Buksan ang page ng Mga API key ng iyong dashboard (app.zinndigital.com/api-keys) at pindutin ang Gumawa ng key. Bigyan ng pangalan ang key at ang mga pahintulot lamang na kailangan ng iyong code — halimbawa sites.view upang ilista ang mga site. Isang beses lang ipinapakita ang key; iimbak ito sa isang environment variable o sa iyong taguan ng lihim, huwag kailanman sa source code. Maaari kang magpawalang-bisa ng key anumang oras sa parehong page.
Ang mga pampublikong endpoint ng catalog, tulad ng mga rehiyon at plano ng hosting, ay hindi nangangailangan ng anumang key.
Ang iyong mga unang tawag
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)
Paghahanap ng operasyon
Nakapangkat ang mga operasyon ayon sa lugar ng API sa ilalim ng zinn_sdk.api at ipinangalan sa kanilang operation id sa snake case. Ang paglilista ng mga site ay zinn_sdk.api.hosting.list_sites; ang mga domain at DNS ay nasa ilalim ng zinn_sdk.api.domains; ang billing ay nasa ilalim ng zinn_sdk.api.billing. Ipinapakita ng sanggunian ng API ang id ng bawat operasyon.
Sync, async at ang buong tugon
Bawat module ng operasyon ay may apat na function:
- Ang
sync(...) ay nagbabalik ng na-parse na modelo, o None sa isang hindi inaasahang status.
- Ang
sync_detailed(...) ay nagbabalik ng isang Response na may status_code, headers at parsed.
- Ang
asyncio(...) at asyncio_detailed(...) ay pareho, ngunit awaitable.
import asyncio
from zinn_sdk.api.hosting import list_sites
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())
Gamitin ang mga variant ng _detailed kapag kailangan mong tukuyin ang isang 403 (kulang sa pahintulot ang key) mula sa isang 404.
Kung saan susunod na pupunta
- Ang gabay sa aming website: zinndigital.com/developers/sdk-python
- Bawat endpoint, ang mga parameter nito at ang pahintulot nito: zinndigital.com/developers/api
- Ang package sa PyPI: pypi.org/project/zinn-sdk