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 ప్రాంతం ఆధారంగా సమూహపరచబడ్డాయి మరియు snake case లో వాటి operation id ప్రకారం పేరు పెట్టబడ్డాయి. సైట్లను లిస్ట్ చేయడం zinn_sdk.api.hosting.list_sites; డొమైన్లు మరియు DNS zinn_sdk.api.domains కింద ఉన్నాయి; బిల్లింగ్ zinn_sdk.api.billing కింద ఉంది. API రిఫరెన్స్ ప్రతి ఆపరేషన్ యొక్క id ని చూపుతుంది.
సింక్, అస్రింక్ మరియు పూర్తి ప్రతిస్పందన
ప్రతి ఆపరేషన్ మాడ్యూల్ నాలుగు ఫంక్షన్లను కలిగి ఉంటుంది:
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