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(...) पार्स केलेले मॉडेल परत करते, किंवा अनपेक्षित स्थितीवर 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