Python SDK

Хостингіңізді Python арқылы басқарыңыз

zinn-sdk — API құрастырылған бірдей OpenAPI сипаттамасынан жасалған Zinn Digital® API үшін типтелген Python клиенті. Әрбір операцияның синхронды және asyncio нұсқалары бар, сондай-ақ әрбір сұрау мен жауап типтелген модель болып табылады.

Әзірлеушінің барлық құжаттамасы →

Орнату

Пакет PyPI сервисінде zinn-sdk ретінде қолжетімді және zinn_sdk болып импортталады. Оған Python 3.11 немесе одан кейінгі нұсқасы қажет.

pip install zinn-sdk

Жылдам бастау

Кілтсіз жалпыға қолжетімді хостинг аймақтарының тізімін шығарыңыз, содан кейін кілтпен өзіңіздің сайттарыңыздың тізімін шығарыңыз.

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)

Аутентификация

Аймақтар мен тарифтік жоспарлар сияқты жалпыға қолжетімді каталог соңғы нүктелері тіркелгі деректерін қажет етпейді. Қалған барлық нәрсе AuthenticatedClient-ке берілетін және оны ұсынушы токені (bearer token) ретінде жіберетін ұйымдық API кілтін пайдаланады. Кілт тек сіз оны жасаған кезде берген рұқсаттарға ие болады және оны кез келген уақытта қайтарып алуға болады. Оны бастапқы кодта емес, орта айнымалысында немесе құпия сақтау орнында сақтаңыз.

Басқару тақтасында API кілтін жасаңыз

Сіз не аласыз

Типтелген модельдер

Сұраулар мен жауаптар түр бойынша нұсқаулары бар attrs үлгілері болып табылады, сондықтан өңдегішіңіз бен түр тексерушіңіз әр өрісті түсінеді.

Синхрондау және asyncio

Әрбір операцияда snake case стилінде операция атауымен аталған және zinn_sdk.api астындағы API аймағы бойынша топтастырылған sync, sync_detailed, asyncio және asyncio_detailed функциялары бар.

Спецификациядан жасалған

OpenAPI сипаттамасы өзгерген сайын жаңа нұсқа автоматты түрде жарияланады. Генератор әлі көрсете алмайтын санаулы әрекеттер әр шығарылым сайын тізімделіп, тексеріледі және REST API арқылы қолжетімді болып қала береді.

Асинхронды шақырулар

asyncio көмегімен бірдей шақыру, HTTP күйін және өңделген жауапты қайтарады.

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())

Сұрақтар

Сізде Python SDK бар ма?

Иә. PyPI жүйесінен zinn-sdk бағдарламасын pip install zinn-sdk арқылы орнатыңыз және zinn_sdk импорттаңыз. Бұл синхронды және asyncio шақырулары бар OpenAPI сипаттамамыздан жасалған типтелген клиент.

Python SDK-де белгілі бір соңғы нүкте қайда орналасқан?

Операциялар zinn_sdk.api астында API аймағы бойынша топтастырылған және олардың операция идентификаторына (operation id) сәйкес snake case стилінде аталған. Мысалы, сайттар тізімін алу — zinn_sdk.api.hosting.list_sites.

Python бағдарламасының қай нұсқаларына қолдау көрсетіледі?

Python 3.11 және одан кейінгі нұсқалар.

Әрбір соңғы нүктені зерттеу

SDK шақыра алатын әрбір әрекет параметрлерімен, жауаптарымен және рұқсаттарымен бірге API анықтамалығында сипатталған.

API анықтамалығы