Python SDK

Kelola hosting Anda melalui Python

zinn-sdk adalah klien Python bertipe untuk Zinn Digital® API, yang dibuat dari spesifikasi OpenAPI yang sama dengan yang digunakan untuk membangun API tersebut. Setiap operasi memiliki varian sinkron dan asyncio, serta setiap permintaan dan respons merupakan model bertipe.

Semua dokumentasi pengembang →

Instal

Paket ini tersedia di PyPI sebagai zinn-sdk dan diimpor sebagai zinn_sdk. Paket ini memerlukan Python 3.11 atau versi lebih baru.

pip install zinn-sdk

Mulai cepat

Cantumkan wilayah hosting publik tanpa kunci, lalu cantumkan situs Anda sendiri dengan kunci.

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)

Autentikasi

Titik akhir katalog publik, seperti wilayah dan paket, tidak memerlukan kredensial. Hal lainnya menggunakan kunci API per organisasi yang diteruskan ke AuthenticatedClient, yang mengirimkannya sebagai token pembawa (bearer token). Kunci hanya membawa izin yang Anda berikan saat membuatnya, dan Anda dapat mencabutnya kapan saja. Simpan di variabel lingkungan atau penyimpanan rahasia Anda, jangan pernah di kode sumber.

Buat kunci API di dasbor Anda

Yang Anda dapatkan

Model bertipe

Permintaan dan respons adalah model attrs dengan petunjuk tipe, sehingga editor dan pemeriksa tipe Anda memahami setiap bidang.

Sinkronisasi dan asyncio

Setiap operasi memiliki fungsi sync, sync_detailed, asyncio, dan asyncio_detailed, yang dinamai berdasarkan operasi dalam format snake case dan dikelompokkan berdasarkan area API di bawah zinn_sdk.api.

Dibuat dari spesifikasi

Versi baru diterbitkan secara otomatis setiap kali spesifikasi OpenAPI berubah. Beberapa operasi yang belum dapat dinyatakan oleh generator dicantumkan dan diperiksa pada setiap rilis, serta tetap tersedia melalui REST API.

Panggilan asinkron

Panggilan yang sama dengan asyncio, mengembalikan status HTTP serta respons yang diurai.

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())

Pertanyaan

Apakah Anda memiliki Python SDK?

Ya. Instal zinn-sdk dari PyPI dengan pip install zinn-sdk dan impor zinn_sdk. Ini adalah klien bertipe data yang dibuat dari spesifikasi OpenAPI kami, dengan panggilan sinkron dan asyncio.

Di mana letak endpoint tertentu di Python SDK?

Operasi dikelompokkan berdasarkan area API di bawah zinn_sdk.api dan diberi nama sesuai id operasinya dalam format snake case. Misalnya, mendaftar situs adalah zinn_sdk.api.hosting.list_sites.

Versi Python mana saja yang didukung?

Python 3.11 dan yang lebih baru.

Jelajahi setiap endpoint

Setiap operasi yang dapat dipanggil oleh SDK dijelaskan dalam referensi API, lengkap dengan parameter, respons, dan izinnya.

Referensi API