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 பகுதி வாரியாக தொகுக்கப்பட்டு, அவற்றின் operation id-ஐ அடிப்படையாகக் கொண்டு snake case-இல் பெயரிடப்பட்டுள்ளன. தளங்களைப் பட்டியலிடுவது zinn_sdk.api.hosting.list_sites; டொமைன்கள் மற்றும் DNS ஆகியவை zinn_sdk.api.domains இன் கீழ் உள்ளன; கட்டண விவரங்கள் zinn_sdk.api.billing இன் கீழ் உள்ளன. API குறிப்பு ஒவ்வொரு செயல்பாட்டின் id-ஐயும் காட்டுகிறது.
ஒத்திசைவு (Sync), ஒத்திசைவற்றது (async) மற்றும் முழுமையான பதில்
ஒவ்வொரு செயல்பாட்டு தொகுதியிலும் நான்கு செயல்பாடுகள் (functions) உள்ளன:
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