zinn-sdk သည် PyPI တွင် ထုတ်ဝေထားပြီး zinn_sdk အဖြစ် ထည့်သွင်းအသုံးပြုရသော Zinn Digital® API အတွက် ကျွန်ုပ်တို့၏ တရားဝင် Python client ဖြစ်ပါသည်။ ၎င်းကို API တည်ဆောက်ထားသည့် တူညီသော OpenAPI သတ်မှတ်ချက်မှ ထုတ်လုပ်ထားပြီး လုပ်ဆောင်ချက်တိုင်းတွင် synchronous နှင့် asyncio မူကွဲများ ပါဝင်ကာ သတ်မှတ်ချက် ပြောင်းလဲသည့်အခါတိုင်း ဗားရှင်းအသစ်ကို အလိုအလျောက် ထုတ်ဝေပေးပါသည်။ ဤလမ်းညွှန်သည် ၎င်းကို ထည့်သွင်းခြင်း၊ အထောက်အထားစိစစ်ခြင်းနှင့် သင်၏ ပထမဆုံး ခေါ်ဆိုမှုများကို ပြုလုပ်ပေးပါသည်။
ထည့်သွင်းခြင်း
pip install zinn-sdk
၎င်းသည် Python 3.11 သို့မဟုတ် နောက်ပိုင်းဗားရှင်း လိုအပ်ပြီး MIT လိုင်စင်ရထားသည်။
API သော့တစ်ခု ဖန်တီးပါ
သင့်ဒက်ရှ်ဘုတ်၏ API သော့များ စာမျက်နှာ (app.zinndigital.com/api-keys) ကို ဖွင့်ပြီး သော့တစ်ခု ဖန်တီးပါ ကို နှိပ်ပါ။ သော့အတွက် အမည်တစ်ခု ပေးပြီး သင့်ကုဒ် လိုအပ်သည့် ခွင့်ပြုချက်များကိုသာ ပေးပါ — ဥပမာအားဖြင့် ဆိုက်များကို စာရင်းပြုစုရန် sites.view ကဲ့သို့ ဖြစ်သည်။ သော့ကို တစ်ကြိမ်သာ ပြသမည်ဖြစ်ရာ ၎င်းကို ပတ်ဝန်းကျင် ပြောင်းလဲနိုင်သော တန်ဖိုး (environment variable) သို့မဟုတ် သင့်လျှို့ဝှက်သိုလှောင်ရာနေရာတွင် သိမ်းဆည်းပါ၊ အရင်းအမြစ်ကုဒ်ထဲတွင် လုံးဝ မသိမ်းဆည်းပါနှင့်။ အဆိုပါ စာမျက်နှာပေါ်တွင် မည်သည့်အချိန်၌မဆို သော့ကို ပယ်ဖျက်နိုင်သည်။
ဟိုစတင်း ဒေသများနှင့် အစီအစဉ်များကဲ့သို့သော အများသုံး ကတ်တလောက် အဆုံးမှတ်များသည် သော့ လုံးဝ မလိုအပ်ပါ။
သင့်ပထမဆုံး ခေါ်ဆိုမှုများ
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၊ async နှင့် အပြည့်အစုံတုံ့ပြန်မှု
လုပ်ဆောင်ချက် မော်ဂျူးတိုင်းတွင် လုပ်ဆောင်ချက် လေးခုရှိပါသည်-
sync(...) သည် parse ပြုလုပ်ထားသော မော်ဒယ်ကို ပြန်ပေးသည်၊ သို့မဟုတ် မမျှော်လင့်ထားသော အခြေအနေတွင် None ကို ပြန်ပေးပါသည်။
sync_detailed(...) သည် status_code၊ headers နှင့် parsed တို့ပါရှိသော Response ကို ပြန်ပေးပါသည်။
asyncio(...) နှင့် asyncio_detailed(...) တို့သည် အတူတူပင်ဖြစ်ပြီး await ပြုလုပ်နိုင်ပါသည်။
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