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 ແລະ ຖືກຕັ້ງຊື່ຕາມ id ການດຳເນີນການໃນຮູບແບບ snake case. ການສະແດງລາຍຊື່ເວັບໄຊແມ່ນ zinn_sdk.api.hosting.list_sites; ໂດເມນ ແລະ DNS ແມ່ນຢູ່ກ້ອງ zinn_sdk.api.domains; ການຮຽກເກັບເງິນແມ່ນຢູ່ກ້ອງ zinn_sdk.api.billing. ເອກະສານອ້າງອີງ API ຈະສະແດງ id ຂອງແຕ່ລະການດຳເນີນການ.
Sync, async ແລະ ການຕອບກັບແບບສົມບູນ
ທຸກໂມດູນການດຳເນີນການມີສີ່ຟັງຊັນ:
sync(...) ສົ່ງຄືນໂມເດວທີ່ແຍກແລ້ວ, ຫຼື None ໃນສະຖານະທີ່ບໍ່ຄາດຄິດ.
sync_detailed(...) ສົ່ງຄືນ Response ພ້ອມກັບ status_code, headers ແລະ parsed.
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())
ໃຊ້ຕົວປ່ຽນ _detailed ເມື່ອທ່ານຕ້ອງການແຍກ 403 (ຄີຂາດການອະນຸຍາດ) ອອກຈາກ 404.
ຂັ້ນຕອນຕໍ່ໄປ
- ຄູ່ມືໃນເວັບໄຊທ໌ຂອງພວກເຮົາ: zinndigital.com/developers/sdk-python
- ທຸກໆປາຍທາງ (endpoint), ພາຣາມິເຕີ ແລະ ການອະນຸຍາດຂອງມັນ: zinndigital.com/developers/api
- ແພັກເກດໃນ PyPI: pypi.org/project/zinn-sdk