Python SDK

ควบคุมโฮสติ้งของคุณผ่าน Python

zinn-sdk เป็นไคลเอนต์ Python แบบกำหนดประเภทสำหรับ Zinn Digital® API ซึ่งสร้างขึ้นจากข้อกำหนด OpenAPI เดียวกันกับที่ใช้สร้าง API ทุกการดำเนินการมีทั้งรูปแบบซิงโครนัสและ asyncio และทุกคำขอและการตอบกลับเป็นโมเดลแบบกำหนดประเภท

เอกสารสำหรับนักพัฒนาทั้งหมด →

ติดตั้ง

แพ็กเกจนี้มีอยู่ใน PyPI ในชื่อ zinn-sdk และนำเข้าในชื่อ zinn_sdk ซึ่งจำเป็นต้องใช้ Python 3.11 ขึ้นไป

pip install zinn-sdk

เริ่มต้นอย่างรวดเร็ว

แสดงรายการภูมิภาคโฮสติ้งสาธารณะโดยไม่ต้องใช้คีย์ จากนั้นแสดงรายการไซต์ของคุณเองโดยใช้คีย์

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 ต่อองค์กรที่ส่งไปยัง AuthenticatedClient ซึ่งจะส่งคีย์ดังกล่าวเป็นโทเค็นผู้ถือ คีย์จะมีเพียงสิทธิ์ที่คุณอนุญาตเมื่อสร้างขึ้นเท่านั้น และคุณสามารถเพิกถอนสิทธิ์ได้ตลอดเวลา โปรดเก็บคีย์ไว้ในตัวแปรสภาพแวดล้อมหรือที่จัดเก็บข้อมูลลับของคุณ และอย่าใส่ไว้ในซอร์สโค้ดโดยเด็ดขาด

สร้างคีย์ API ในแดชบอร์ดของคุณ

สิ่งที่คุณจะได้รับ

โมเดลที่กำหนดประเภท

คำขอและการตอบกลับเป็นโมเดล attrs ที่มีคำแนะนำประเภทข้อมูล ดังนั้นโปรแกรมแก้ไขและตัวตรวจสอบประเภทข้อมูลของคุณจึงเข้าใจทุกช่องข้อมูล

การซิงค์และ asyncio

การดำเนินการแต่ละรายการมีฟังก์ชัน sync, sync_detailed, asyncio และ asyncio_detailed ซึ่งตั้งชื่อตามการดำเนินการในรูปแบบ snake case และจัดกลุ่มตามพื้นที่ API ภายใต้ zinn_sdk.api

สร้างขึ้นจากข้อกำหนด

เวอร์ชันใหม่จะได้รับการเผยแพร่โดยอัตโนมัติทุกครั้งที่ข้อกำหนด OpenAPI มีการเปลี่ยนแปลง การดำเนินการเพียงไม่กี่รายการที่ตัวสร้างยังไม่สามารถแสดงผลได้จะได้รับการระบุและตรวจสอบในทุกการเปิดตัว และยังคงสามารถใช้งานได้ผ่าน REST API

การเรียกแบบอะซิงโครนัส

การเรียกเดียวกันด้วย asyncio ซึ่งส่งคืนสถานะ HTTP และการตอบกลับที่แยกวิเคราะห์แล้ว

import asyncio

from zinn_sdk.api.hosting import list_sites

# Every operation has sync, sync_detailed, asyncio and asyncio_detailed variants.
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())

คำถาม

คุณมี Python SDK หรือไม่?

ใช่ ติดตั้ง zinn-sdk จาก PyPI ด้วย pip install zinn-sdk และนำเข้า zinn_sdk ซึ่งเป็นไคลเอนต์ที่มีการกำหนดประเภทข้อมูลที่สร้างขึ้นจากข้อกำหนด OpenAPI ของเรา พร้อมการเรียกแบบซิงโครนัสและ asyncio

ตำแหน่งของเอนด์พอยต์ที่กำหนดใน Python SDK อยู่ที่ใด?

การดำเนินการต่าง ๆ จะถูกจัดกลุ่มตามส่วนของ API ภายใต้ zinn_sdk.api และตั้งชื่อตามรหัสการดำเนินการในรูปแบบ snake case ตัวอย่างเช่น การแสดงรายการไซต์คือ zinn_sdk.api.hosting.list_sites

รองรับ Python เวอร์ชันใดบ้าง?

Python 3.11 และใหม่กว่า

สำรวจทุกปลายทาง

ทุกการทำงานที่ SDK สามารถเรียกใช้ได้จะได้รับการอธิบายไว้ในข้อมูลอ้างอิง API พร้อมพารามิเตอร์ การตอบกลับ และสิทธิ์ที่เกี่ยวข้อง

ข้อมูลอ้างอิง API