PyPI-ൽ പ്രസിദ്ധീകരിക്കുകയും zinn_sdk ആയി ഇമ്പോർട്ട് ചെയ്യുകയും ചെയ്യുന്ന, Zinn Digital® API-നായുള്ള ഞങ്ങളുടെ ഔദ്യോഗിക Python ക്ലയന്റാണ് 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-ൽ പേരുനൽകിയിരിക്കുന്നു. സൈറ്റുകൾ ലിസ്റ്റ് ചെയ്യുന്നത് zinn_sdk.api.hosting.list_sites ആണ്; ഡൊമെയ്നുകളും DNS-ഉം zinn_sdk.api.domains-ന് കീഴിലാണ്; ബില്ലിംഗ് zinn_sdk.api.billing-ന് കീഴിലാണ്. API റഫറൻസ് ഓരോ പ്രവർത്തനത്തിന്റെയും ഐഡി കാണിക്കുന്നു.
സിങ്ക്, അസിങ്ക്, പൂർണ്ണ പ്രതികരണം എന്നിവ
ഓരോ പ്രവർത്തന മൊഡ്യൂളിനും നാല് ഫംഗ്ഷനുകൾ ഉണ്ട്:
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