zinn-sdk Zinn Digital® API ਲਈ ਸਾਡਾ ਅਧਿਕਾਰਤ Python ਕਲਾਇੰਟ ਹੈ, ਜੋ PyPI 'ਤੇ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ zinn_sdk ਵਜੋਂ ਇੰਪੋਰਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਇਹ ਉਸੇ OpenAPI ਸਪੈਸੀਫਿਕੇਸ਼ਨ ਤੋਂ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ ਜਿਸ ਤੋਂ API ਬਣਾਇਆ ਗਿਆ ਹੈ, ਹਰੇਕ ਓਪਰੇਸ਼ਨ ਵਿੱਚ ਸਿਨਕ੍ਰੋਨਸ ਅਤੇ 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