zinn-sdk គឺជាក្លាយអិនផ្លូវការ Python របស់យើងសម្រាប់ Zinn Digital® API ដែលត្រូវបានបោះផ្សាយនៅលើ 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)
ការស្វែងរកប្រតិបត្តិការ
ប្រតិបត្តិការត្រូវបានដាក់ជាក្រុមតាមតំបន់ API នៅក្រោម zinn_sdk.api និងដាក់ឈ្មោះតាមលេខសម្គាល់ប្រតិបត្តិការរបស់ពួកគេជាទម្រង់ snake case។ ការរាយបញ្ជីគេហទំព័រគឺ zinn_sdk.api.hosting.list_sites ហើយដែន និង DNS គឺស្ថិតនៅក្រោម zinn_sdk.api.domains ចំណែកឯការចេញវិក្កយបត្រស្ថិតនៅក្រោម zinn_sdk.api.billing។ ឯកសារយោង API បង្ហាញលេខសម្គាល់របស់ប្រតិបត្តិការនីមួយៗ។
សមកាលកម្ម, អសមកាលកម្ម និងការឆ្លើយតបពេញលេញ
រាល់ម៉ូឌុលប្រតិបត្តិការនីមួយៗមានមុខងារបួន៖
sync(...) ត្រឡប់ម៉ូដែលដែលបានញែក ឬ None លើស្ថានភាពដែលមិនរំពឹងទុក។
sync_detailed(...) ត្រឡប់ Response ជាមួយ status_code, headers និង parsed។
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())
ប្រើវ៉ារ្យ៉ង់ _detailed នៅពេលដែលអ្នកត្រូវការបែងចែករវាង 403 (សោខ្វះការអនុញ្ញាត) ពី 404។
កន្លែងដែលត្រូវបន្តបន្ទាប់
- មគ្គុទ្ទេសក៍នៅលើគេហទំព័ររបស់យើង៖ zinndigital.com/developers/sdk-python
- ចំណុចបញ្ចប់នីមួយៗ ប៉ារ៉ាម៉ែត្រ និងការអនុញ្ញាតរបស់វា៖ zinndigital.com/developers/api
- កញ្ចប់នៅលើ PyPI៖ pypi.org/project/zinn-sdk