zinn-sdk нь Zinn Digital® API-д зориулсан бидний албан ёсны Python клиент бөгөөд PyPI дээр нийтлэгдэж, zinn_sdk нэрээр импортлогддог. Энэ нь API-ийг бүтээсэн OpenAPI-ийн ижил тодорхойлолтоос үүсгэгдсэн бөгөөд үйлдэл бүр нь синхрон болон asyncio хувилбартай, мөн тодорхойлолт өөрчлөгдөх бүрд шинэ хувилбар автоматаар нийтлэгддэг. Энэхүү заавар нь үүнийг суулгах, баталгаажуулах болон таны анхны дуудлагуудыг хийхэд тусална.
Суулгах
pip install zinn-sdk
Үүнд Python 3.11 буюу түүнээс хойших хувилбар шаардлагатай бөгөөд MIT лицензтэй.
API түлхүүр үүсгэх
Хяналтын самбарынхаа API түлхүүрүүд хуудсыг (app.zinndigital.com/api-keys) нээж, Түлхүүр үүсгэх дээр дарна уу. Түлхүүрт нэр өгч, зөвхөн кодонд шаардлагатай зөвшөөрлүүдийг олгоно уу — жишээлбэл, сайтуудын жагсаалтыг харахын тулд sites.view. Түлхүүрийг зөвхөн нэг удаа харуулна; үүнийг эх кодонд хэзээ ч бүү хадгал, харин орчны хувьсагч эсвэл нууц хадгалах сандаа хадгална уу. Та энэ хуудсаас хүссэн үедээ түлхүүрийг хүчингүй болгож болно.
Хостинг бүс нутаг болон багцууд зэрэг нийтийн каталогийн эцсийн цэгүүдэд түлхүүр огт шаардлагагүй.
Таны анхны дуудлагууд
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)
Үйлдлийг олох
Үйлдлүүдийг zinn_sdk.api дотор API-ийн бүсээр бүлэглэсэн бөгөөд тэдгээрийн үйлдлийн id-аар snake case хэлбэрээр нэрлэсэн болно. Сайтуудыг жагсаах нь zinn_sdk.api.hosting.list_sites; домэйн болон DNS нь zinn_sdk.api.domains дотор; тооцоо тооцоолол нь zinn_sdk.api.billing дотор байна. API-ийн лавлах нь үйлдэл бүрийн id-г харуулдаг.
Sync, async болон бүрэн хариу
Үйлдлийн модуль бүр дөрвөн функцтэй:
sync(...) нь задлан боловсруулсан загварыг, эсвэл гэнэтийн төлөв үүссэн тохиолдолд None-ийг буцаана.
sync_detailed(...) нь status_code, headers болон parsed-тай Response-ийг буцаана.
asyncio(...) болон asyncio_detailed(...) нь ижил бөгөөд хүлээгдэх (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())
403 (түлхүүрт зөвшөөрөл дутуу байна) алдааг 404-өөс ялгах шаардлагатай үед _detailed хувилбаруудыг ашиглана уу.
Цаашид хаашаа шилжих вэ
- Манай вэбсайт дээрх гарын авлага: zinndigital.com/developers/sdk-python
- Төгсгөлийн цэг бүр, түүний параметрүүд болон зөвшөөрөл: zinndigital.com/developers/api
- PyPI дээрх багц: pypi.org/project/zinn-sdk