zinn-sdk એ Zinn Digital® API માટેનું અમારું સત્તાવાર Python ક્લાયન્ટ છે, જે PyPI પર પ્રકાશિત થયેલ છે અને zinn_sdk તરીકે ઇમ્પોર્ટ થાય છે. તે સમાન OpenAPI સ્પષ્ટીકરણમાંથી જનરેટ કરવામાં આવ્યું છે જેના પરથી API બનાવવામાં આવ્યું છે, દરેક ઓપરેશનમાં synchronous અને 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 પરથી નામ આપવામાં આવ્યું છે. સાઇટ્સની સૂચિ 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