zinn-sdk waa macmiilkeenna rasmiga ah ee Python ee loogu talagalay Zinn Digital® API, kaas oo lagu daabacay PyPI laguna soo dejiyo magac ahaan zinn_sdk. Waxaa laga soo saaray isla qeexitaanka OpenAPI ee API-ga laga dhisay, hawl kasta waxay leedahay noocyo isku mar shaqeeya (synchronous) iyo asyncio, waxaana si toos ah loo daabacaa nooc cusub mar kasta oo qeexitaanku isbeddelo. Tilmaan-bixiyahan ayaa rakibaya, xaqiijinaya, isla markaana samaynaya wicitaannadiinna ugu horreeya.
Rakib
pip install zinn-sdk
Waxay u baahan tahay Python 3.11 ama mid ka dambeeya waxaana lagu shatiyeeyay MIT.
Samee furaha API
Fur bogga Furayaasha API ee muraayaddaada (app.zinndigital.com/api-keys) oo taabo Samee fure. Sii furaha magac iyo keliya rukhsadaha uu koodhkaagu u baahan yahay — tusaale ahaan sites.view si aad u taxdo boggaga. Furaha waxaa la muujiyaa hal mar oo keliya; ku kaydi doorsoomaha deegaanka ama kaydkaaga sirta ah, marnaba ha gelin koodhka asalka ah. Waxaad fure ka noqon kartaa wakhti kasta boggan dhexdiisa.
Barta dhammaadka buug-yaraha guud, sida gobollada martigelinta iyo qorshayaasha, uma baahna fure haba yaraatee.
Wicitaannadaada koowaad
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)
Helidda hawlgal
Hawlgallada waxaa loo kala qaybiyay aagga API ahaan marka la joogo zinn_sdk.api waxaana loogu magac daray id-ga hawlgalkooda qaabka snake case. Liiska baraha waa zinn_sdk.api.hosting.list_sites; beryaha (domains) iyo DNS waxay ku hoos jiraan zinn_sdk.api.domains; qaansheegashaduna waxay ku hoos jirtaa zinn_sdk.api.billing. Tixraaca API wuxuu muujinayaa id-ga hawlgal kasta.
Isku mar, kala waqti iyo jawaabta buuxda
Qayb kasta oo hawlgal waxay leedahay afar shaqo (functions):
sync(...) wuxuu soo celiyaa qaabka la falanqeeyay, ama None marka uu jiro xaalad lama filaan ah.
sync_detailed(...) wuxuu soo celiyaa Response wata status_code, headers iyo parsed.
asyncio(...) iyo asyncio_detailed(...) waa isku mid, la sugikaro (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())
Isticmaal noocyada _detailed marka aad u baahato inaad kala garato 403 (furehu ma haysto oggolaansho) iyo 404.
Halkee xiga oo la aadaa
- Hagaha ku yaal boggeenna internetka: zinndigital.com/developers/sdk-python
- Bar kasta oo dhammaad ah, xuduudahaheeda iyo oggolaanshaheeda: zinndigital.com/developers/api
- Xirmada ku taal PyPI: pypi.org/project/zinn-sdk