База знаний

Использование Python SDK (zinn-sdk)

Установите zinn-sdk из PyPI, создайте ключ API и вызывайте API Zinn Digital® из Python — общедоступные регионы без ключа, затем ваши собственные сайты — а также узнайте, где находится каждая операция в zinn_sdk.api, и ознакомьтесь с синхронными, асинхронными и подробными вариантами.

zinn-sdk — это наш официальный клиент Python для API Zinn Digital®, опубликованный в PyPI и импортируемый как zinn_sdk. Он генерируется на основе той же спецификации OpenAPI, на которой построен API, каждая операция имеет синхронные и 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

Вся документация для разработчиков →

Новое в блоге

О чем мы писали: хостинг, SEO и масштабирование сайтов.

SEO и наращивание ссылочной массы на уровне хостинга: Взгляд оператора в 2026 году

Как хостинг влияет на индексацию и ссылочный вес в 2026 году: поддержание страниц в индексе, проверка старых доменов перед запуском проектов, построение ссылок без цифрового следа (футпринта) и честный взгляд на то, что инфраструктура может и чего не может сделать для SEO.

Читать запись →

Как сделать WordPress быстрым и безопасным: чек-лист по производительности и плагинам

Практический контрольный список для быстрого и безопасного WordPress: кэширование на уровне сервера, объектный кэш для каждого сайта, несколько действительно полезных плагинов, поддержание стека в актуальном состоянии и страницы WooCommerce, которые ни в коем случае нельзя кэшировать.

Читать запись →

Как выбрать управляемый веб-хостинг в 2026 году: руководство для покупателя

Что на самом деле отличает хороший управляемый хостинг от дешевого сервера с панелью управления — миграции, резервное копирование, изоляция, реальное кэширование и честное масштабирование — и как оценить его до принятия обязательств.

Читать запись →

Читать блог →

Всё ещё нужна помощь?

Поддержка включена в каждый тарифный план, служба работает 24 часов в сутки, и вы можете писать нам на любом из наших 58 языков — мы ответим вам на вашем.

Связаться со службой поддержки → Все статьи →