Pro vývojáře

Hosting, který můžete řídit pomocí kódu

Zinn Digital® je platforma typu API-first. Získáte přesně totéž rozhraní API enginu, které pohání náš řídicí panel — verzované, navržené podle specifikace a 100% zdokumentované v době sestavení, s vygenerovanými sadami SDK, rozhraním CLI, poskytovatelem Terraform, podepsanými webhooky a serverem MCP jako nadstavbou. Ať už k práci používáte cokoli — terminál, pipeline, stavový soubor nebo agenta AI — platforma na to reaguje.

Koncový bod rozhraní API, který doručuje podepsané události několika přihlášeným posluchačům.
  • 700 000+weby hostované po celém světě
  • 1Specifikace OpenAPI, ze které je každý nástroj generován
  • 4klientské SDK — TypeScript, Python, PHP, Go
  • OAuth 2.1vymezený, odvolatelný přístup agenta AI

Jedno API. Každý povrch na něm staví.

Většina hostingů přidává API k ovládacímu panelu až dodatečně, což je znát — polovina funkcí panelu se do něj nikdy nedostane. My jsme postupovali přesně naopak. Řídicí panel, administrátorská konzole, CLI, poskytovatel Terraform, server MCP i Vaše vlastní integrace využívají zcela stejné API jádra. Pokud to zvládnete v panelu, zvládnete to i v kódu.

Nejprve specifikace, nikoli dodatečná dokumentace

Specifikace OpenAPI je jediným zdrojem pravdy a žádný koncový bod není uvolněn, pokud není uveden ve specifikaci. Právě toto jediné pravidlo zajišťuje, že veřejné rozhraní API je plně zdokumentováno již při sestavení, a nikoli až dodatečně — neexistuje žádné nezdokumentované zákoutí, protože nezdokumentovaný koncový bod zkrátka nemůže existovat.

Vygenerováno, nikdy neudržováno ručně

Interaktivní referenční dokumentace, čtyři klientské sady SDK, většina rozhraní CLI a kostra poskytovatele Terraform jsou generovány z této jediné specifikace. Jeden zdroj, mnoho artefaktů, vždy synchronizováno — nikdy nemusíte dohánět dokumentaci, která se odchýlila od implementace.

Verzováno se zásadami ukončení podpory

Koncové body se nacházejí pod /v1 se zveřejněnými zásadami vyřazování a protokolem změn. O případných změnách budete informováni písemně předem, místo abyste je zjišťovali ze selhání sestavení.

Otestováno na základě kontraktu v CI

Při každé změně se spouštějí smluvní testy shody implementace se specifikací a linting OpenAPI. Odchylka mezi kódem a smlouvou způsobí selhání sestavení — specifikace, ze které generujete svého klienta, je tedy specifikací, kterou server skutečně dodržuje.

Autentizace, vymezení rozsahu a úskalí při škálování

Dva způsoby přístupu, za nimiž stojí jeden jednotný princip. Ať už použijete kterýkoli, uplatňují se stejné kontroly oprávnění a stejná izolace na úrovni databáze.

Klíče API podle organizace

Klíče vypadají jako zdk_<mode>_<prefix>_<secret>. Ukládá se pouze hash SHA-256 tajného klíče — po vystavení vám již klíč nemůžeme znovu zobrazit, a stejně tak nikdo, kdo získá přístup k naší databázi. Klíče obsahují rozsahy oprávnění, lze je odvolat a jsou vydávány pro organizaci, nikoli pro jednotlivce.

Živý a testovací režim, oddělené od sebe

Klíče pro sandbox jsou oddělené od produkčních klíčů a fungují v režimu sandbox: žádná skutečná fakturace, žádné skutečné zřizování. Vaše integrační testy mohou API maximálně zatížit, aniž byste utráceli peníze nebo vytvářeli servery.

OIDC pro lidi

Uživatelské relace se ověřují pomocí tokenů JWT vydaných systémem Keycloak, které se ověřují vůči veřejnému klíči sféry (realm), a překládají se na stejný objekt Principal jako klíč API. Koncové body jsou chráněny podrobnými klíči oprávnění, jako jsou sites.create nebo apikeys.manage, jež se kontrolují pro každou organizaci zvlášť — oprávnění v jedné organizaci neuděluje žádný přístup v samostatné, nesouvisející organizaci, vztahuje se však na organizace vnořené pod ní.

Zabezpečení na úrovni řádků vespod

Každý požadavek tenanta běží v transakci s rozsahem organizace Postgres nastaveným z jistiny, takže izolaci vynucuje databáze, nikoli filtr ORM, na který by mohl někdo zapomenout. Filtr queryset je zde stále jako hloubková obrana.

Vytvořeno pro stroje, nejen pro předváděcí ukázky

Vytvořit API, které vypadá skvěle v souboru README, je snadné, ale zajistit jeho spolehlivé chování při skutečném provozu je náročné. Právě na těchto částech jsme si dali nejvíce záležet, protože právě ony způsobují selhání integrací ve tři ráno.

Jeden detail stojí za zmínku, protože ovlivňuje chování hromadných operací: chyba 409 při duplicitní doméně odpovídá pro jakéhokoli nájemce na otázku „je tento název hostitele hostován zde?“, což představuje enumerační orákulum a reálné riziko deanonymizace vůči Footprint-Free. Přiškrcení vytváření webů by bylo líné řešení a produkt hromadného zřizování by zcela zničilo. Místo toho jsou rozpočtovány pouze odmítnuté pokusy o duplicitní doménu, a to na úrovni principála. Úspěšná vytvoření se do tohoto limitu nikdy nezapočítávají — můžete tedy hromadně zřizovat celý den a pokusy o sondování selžou téměř okamžitě.

  • Konzistentní obálka chyb při každém selhání: kód, srozumitelná zpráva, volitelné podrobnosti na úrovni polí a request_id, které můžete uvést podpoře. Chyby validace vracejí 422 s uvedením problematických polí.
  • Klíče idempotence u požadavků POST se záznamem pro opakování zapsaným při potvrzení namísto vloženého zápisu – opakovaný pokus tak nikdy nemůže přehrát 201 z mezipaměti odkazující na řádek, který nebyl nikdy potvrzen. Neúspěšný požadavek okamžitě uvolní svůj probíhající zámek, takže chyba 422 nezablokuje Váš opravený opakovaný pokus.
  • Kursorová paginace jako keyset nad UUIDv7 — stabilní při souběžných zápisech, bez posunu stránek při vkládání řádků uprostřed skenování.
  • RateLimit-Remaining v odpovědích, aby vygenerovaný klient mohl inteligentně ustoupit namísto hádání.
  • Prostředky mimo rozsah vrací 404 místo 403 — stav 403 by potvrdil existenci prostředku. Filtrování podle organizace mimo váš rozsah vrací ze stejného důvodu prázdnou stránku.
  • Vytvoření webu je registrace, nikoli zřizování: POST /v1/sites vrací 201 se stavem pending a nikdy neblokuje sestavení. Událost je zapsána do transactional outbox ve stejné transakci jako řádek, takže web existuje právě tehdy, když je zaručeno vyžádání jeho zřízení.

Sady SDK, rozhraní CLI a poskytovatel Terraform

Tři uživatelé stejné specifikace pro tři různé způsoby práce.

Klientské sady SDK

Vygenerováno pro TypeScript, Python, PHP a Go se sledováním specifikace, takže nový koncový bod dorazí do vašeho jazyka, aniž byste museli čekat na ručně psaný wrapper.

Zinnector®, rozhraní příkazového řádku (CLI)

Vytvořte kostru webu WordPress, spusťte jej lokálně pouze s nainstalovaným prostředím Node a nasaďte jej. Zinnector® předem zkontroluje Váš projekt vůči slotu, do kterého se chystáte nasazovat — verzi PHP, disk, počet souborů — a varuje Vás ještě před odesláním, nikoli až poté. Rovněž přihlašuje, vypisuje weby, provádí nasazení, spravuje domény a DNS, čte poštovní služby, vytváří zálohy, spouští povolené příkazy WP-CLI, sleduje protokoly a spouští hromadné operace. Zdarma, s licencí MIT a postaveno na tomto stejném veřejném rozhraní API.

Poskytovatel Terraform

Spravujte weby, domény, DNS záznamy, poštovní schránky a tarify jako infrastrukturu jako kód. Příkaz terraform apply zřídí hosting a vaše prostředí budou reprodukovatelná a revidovatelná namísto sledu kliknutí, která nikdo nezaznamenal.

Interaktivní reference

Vygenerovaná dokumentace, kterou můžete číst a volat přímo z prohlížeče, přesně popisující koncové body implementované serverem — obojí totiž vychází ze stejné specifikace.

Webhooky, které přežijí i výpadek vašeho koncového bodu

Za platformou stojí odolná páteř událostí: každá změna stavu atomicky se změnou databáze zapíše událost do transakčního outboxu v Postgresu a přenosová služba ji publikuje do NATS JetStream. Události jsou typované a verzované — site.deployed, order.paid, invoice.overdue, backup.completed, abuse.flagged, trial.ending a další.

Odebírejte to, co vás zajímá

Zaregistrujte koncový bod jako WebhookSubscription a vyberte typy událostí, které má přijímat. Jeden datový tok napájí oznámení, analytiku, automatizace i vaši integraci — zpracováváte stejné události jako my.

Podepsáno pomocí HMAC

Každé doručení je podepsáno pomocí HMAC, abyste si před provedením akce mohli ověřit, že pochází od nás.

Znovu vyzkoušeno s prodlevou a zaznamenáno

Neúspěšná doručení se opakují s časovým odstupem a každý pokus je zaznamenán jako WebhookDelivery. Zásilky můžete zkontrolovat a znovu odeslat přímo z řídicího panelu, místo abyste psali na podporu s dotazem, co jsme odeslali.

Alespoň jednou, proto odstraňte duplicity podle id

Tato pipeline záměrně funguje v režimu „alespoň jednou“, místo aby předstírala režim „přesně jednou“. U přenosového uzlu, který selže uprostřed publikování, vyprší platnost nároku a jeho události jsou publikovány znovu. Proveďte deduplikaci podle ID obálky a Váš příjemce bude ze své podstaty bezchybný.

Nahrání kódu na web

Rozhraní API tvoří jen polovinu příběhu vývojáře. Druhou polovinou je nasazení do produkce.

  • Připojte GitHub, GitLab nebo Bitbucket přes OAuth, přičemž klíče pro nasazení jsou uloženy v úložišti přihlašovacích údajů — nikoli v konfiguračním souboru.
  • Push spustí pipeline pro sestavení a nasazení s mapováním větví na prostředí (main na production, staging na staging) a kroky sestavení pro jednotlivé stacky pro composer a npm.
  • Vraťte se k předchozí verzi, pokud se nasazení nezdaří.
  • Klonování do testovacího prostředí a nasazení do ostrého provozu, aby byla změna ověřena v reálných podmínkách dříve, než se dostane k návštěvníkům.
  • SFTP pro každý web v izolaci CageFS, takže každý nájemce vidí pouze své vlastní soubory, a navíc omezený (jailed) SSH shell na sdílené platformě.
  • wp-cli z terminálu v panelu a přes SSH.
  • VS Code v prohlížeči přes code-server — plnohodnotný editor s git pro přímou úpravu souborů webu.
  • Verze PHP pro každý web zvlášť, upravitelná nastavení PHP, rozšíření pro každý web, proměnné prostředí a skutečný cron vedle WP-cron.

Čtyři způsoby práce na webu

Rozhraní API představuje jedny dveře. Toto jsou další čtyři a každé z nich je součástí tarifu, místo aby bylo prodáváno jako úroveň pro vývojáře.

Webový editor

VS Code v prohlížeči, otevřený ze stránky webu na ovládacím panelu, upravující skutečné soubory daného webu s integrovaným nástrojem git a celým editorem ve stejném CageFS jailu jako Váš přístup přes SFTP. Upravuje web ŽIVĚ — mezi tím není žádná stagingová kopie, takže uložený soubor je veřejný v okamžiku jeho zápisu, ačkoli statický soubor může být z mezipaměti CDN poskytován ještě po dobu až čtyř hodin.

Zinnector®, rozhraní CLI

Zdarma, pod licencí MIT a postaveno na tomto stejném veřejném API. Vytvořte kostru webu WordPress, spusťte jej na svém vlastním počítači, předběžně jej zkontrolujte proti slotu, do kterého se chystáte nasazovat — verze PHP, disk, počet souborů — a nasaďte. Vyžaduje Node 24 nebo novější.

Server MCP

Jeden katalog nástrojů, díky kterému může AI klient, kterého již používáte, pracovat na vašich webech prostřednictvím stejného API a stejných oprávnění, jaká používá ovládací panel. Stejný server, ke kterému se připojuje váš vlastní klient, je ten, který je propojen s webovým editorem. Pouze pro čtení, dokud nerozhodnete jinak.

Přístup pro vývojáře podle webu

Práce pro klienty nevyžaduje Vaše heslo. Pozvěte někoho prostřednictvím e-mailové adresy a získá přístup právě k jednomu webu: přihlásí se pod svou identitou, s rolí diváka, editora nebo správce, a jakýkoli jiný web odpoví kódem 404 dříve, než se spustí jakýkoli obslužný program — nejde o jedinou kontrolu, ale o zásadu zabezpečení na úrovni řádků v Postgres a bariéru na úrovni požadavku. Vlastník účtu přístup udělí a zruší jedním kliknutím, s účinností od jejich dalšího požadavku.

A stejné API, které může používat váš AI agent

Platformu poskytujeme jako hostovaný MCP server: tenký protokolový adaptér nad API enginu, který znovu využívá stejný katalog akcí, RBAC a záznamy auditu. Připojte Claude Code, Cursor, ChatGPT, Claude Desktop nebo jakéhokoli klienta s podporou MCP jednou a každá funkce, kterou do API přidáme, pro něj bude automaticky k dispozici.

Agent získává tři věci: Nástroje (stejné koncové body API, žádná paralelní logika, která by se mohla rozcházet), Zdroje (údaje o stavu webu pouze pro čtení, konfiguraci, nedávné protokoly, metriky, dobu provozu a články znalostní báze, aby mohl před zahájením akce diagnostikovat pomocí reálných dat) a Výzvy (publikované šablony pracovních postupů, jako například „diagnostikovat tento web“ nebo „připravit migraci“).

Zabezpečení se řídí stejnými principy jako autentizace: OAuth 2.1, tokeny vázané na vaši organizaci a oprávnění RBAC s vynuceným zabezpečením na úrovni řádků, s vymezeným rozsahem a možností odvolání pro jednotlivé nástroje, a sandbox oddělený od produkčního prostředí. Destruktivní akce — smazání, pozastavení, fakturace, vysoké výdaje — vyžadují výslovné potvrzení nebo zásadu schválení člověkem. Limity četnosti a stropy výdajů omezují placené akce spouštěné umělou inteligencí a každé volání MCP je zaznamenáváno v auditním protokolu včetně identity, nástroje, argumentů a výsledku.

Podporujeme protokol namísto integrace každé aplikace zvlášť, což znamená, že se Váš výběr nástrojů AI může měnit, aniž by se s ním měnila Vaše integrace hostingu.

Často kladené otázky

Je veřejné rozhraní API stejné jako to, které používá ovládací panel?

Ano — jedná se o stejné API enginu, publikované a zabezpečené. Ovládací panel, administrátorská konzole, CLI, poskytovatel Terraform, MCP server a webhooky jsou konzumenty jednoho rozhraní, což je důvod, proč API nezaostává za panelem.

Mohu otestovat integraci, aniž bych utrácel peníze nebo stavěl skutečné servery?

Ano. Klíče pro Sandbox jsou vydávány odděleně od produkčních klíčů a fungují v testovacím režimu: žádná skutečná fakturace a žádné skutečné zřizování. Nasměrujte své CI na přihlašovací údaje pro sandbox a bezpečně vyzkoušejte celý cyklus požadavků a odpovědí.

Jak zabránit tomu, aby opakovaný pokus vytvořil dvě stejné položky?

V požadavku POST odešlete Idempotency-Key. Záznam o opakování se zapisuje při potvrzení (commit), nikoli inline, takže opakovaný pokus nemůže nikdy přehrát úspěch z mezipaměti pro řádek, který nebyl skutečně potvrzen, a požadavek, který selže, okamžitě uvolní svůj zámek, aby váš opravený opakovaný pokus nebyl zdržován. Doručování webhooků je ze své podstaty alespoň jednou (at-least-once) — na své straně provádějte deduplikaci podle envelope id.

Mohu jednomu klíči API udělit přístup ke všem svým klientským organizacím?

Dnes ne. Klíče API se vydávají pro každou organizaci zvlášť, takže integrace pokrývající několik klientských organizací má klíč pro každou z nich. Oprávnění se pro uživatelské objekty kontrolují také pro každou organizaci: vlastnictví sites.create v jedné organizaci neuděluje žádný přístup v samostatné, nesouvisející organizaci, ačkoli se vztahuje na organizace vnořené pod ní. Je to záměrné — omezuje to kompromitovaný klíč pouze na jeho vlastní organizaci a podřízené organizace pod ní, nikoli na celou platformu.

Co vestavěná role Vývojář ve skutečnosti umožňuje?

Role dev zahrnuje čtení informací o organizaci, správu klíčů API, prohlížení a vytváření webů, jejich restartování, mazání jejich mezipaměti a prohlížení a odpovídání na tikety. Záměrně vylučuje správu fakturace. Upozorňujeme, že oprávnění k nasazení a push-to-live nejsou její součástí — pokud je člen týmu potřebuje, přiřaďte mu roli, která je obsahuje, a nepředpokládejte, že Developer je nejširší technická role.

Co se stane s mými webhooky, když můj koncový bod na hodinu vypadne?

Doručování se opakuje s postupným prodlužováním intervalů (backoff) a každý pokus je zaznamenán jako WebhookDelivery, kterou můžete zkontrolovat. Na straně upstreamu se události zapisují do transakčního outboxu v rámci stejné databázové transakce jako samotná změna, takže se během nedostupnosti konzumenta nic neztratí — neaktivní konzument pouze zaostává, nikdy nenaruší producenta, a jakmile jste zpět, můžete doručení z řídicího panelu zopakovat.

Kolik stojí zahájení vývoje s ním?

Začněte se 14denní zkušební verzí Footprint-Free hostingu bez nutnosti zadávat platební kartu – žádné platební údaje, až 5 webů. Placené tarify Footprint-Free začínají na 6 $/měsíc za PBN 5. Každý plán zahrnuje 30denní záruku vrácení peněz, bezplatné migrace a žádné uzamčení u dodavatele.

Přečtěte si specifikaci a poté podle ní stavte

Spec-first API, generované SDK, CLI, poskytovatel Terraform, podepsané webhooky a MCP server — na hostingu, který jsme vytvořili pro více než 700 000 webů po celém světě. Začněte se 14denní zkušební verzí bez nutnosti zadávat platební kartu a platební údaje.

Začněte zdarma

Doplňky WordPress, se kterými může váš AI agent pracovat

Každý z těchto pluginů změní váš web na platformě WordPress v server MCP, takže Claude, Cursor, VS Code a další AI asistenti na něm mohou odvádět skutečnou práci, přihlášení jako vy a s omezením na to, co smíte dělat.

Veškerá dokumentace k MCP a API pro vývojáře →