За разработчици

Хостинг, който можете да управлявате чрез код

Zinn Digital® е платформа, ориентирана към API (API-first). Същото API на ядрото, което захранва нашето табло за управление, е това, което получавате и Вие — версионирано, базирано на спецификации и 100% документирано по време на изграждане, заедно с генерирани SDK, CLI, доставчик за Terraform, подписани уебхукове и MCP сървър над него. Независимо какво използвате за работа — терминал, пайплайн, файл за състояние или ИИ агент — платформата отговаря на него.

Крайна точка на API, доставяща подписани събития до няколко абонирани слушатели.
  • 700 000+хоствани сайтове по целия свят
  • 1Спецификация на OpenAPI, от която се генерира всеки инструмент
  • 4клиентски SDK — TypeScript, Python, PHP, Go
  • OAuth 2.1ограничен, отменяем достъп за AI агенти

Един API. Всяка повърхност стъпва на него.

Повечето хостинг доставчици прикачват API към контролния панел постфактум и това си личи — половината от функциите на панела никога не стигат до него. Ние изградихме всичко по обратния начин. Контролният панел, администраторската конзола, CLI, доставчикът на Terraform, MCP сървърът и Вашите собствени интеграции използват едно и също основно API. Ако можете да го направите в панела, можете да го направите и чрез код.

Първо спецификация, не документирано впоследствие

Спецификацията на OpenAPI е източникът на истината и нито една крайна точка не се издава, освен ако не е в спецификацията. Това единствено правило гарантира, че публичният API е напълно документиран още по време на изграждането, а не впоследствие — няма недокументирано кътче, тъй като недокументирана крайна точка просто не може да съществува.

Генерирано, никога не се поддържа ръчно

Интерактивната справочна документация, четирите клиентски SDK, голяма част от CLI и рамката на доставчика на Terraform се генерират от тази единствена спецификация. Един източник, много артефакти, винаги синхронизирани — никога не се налага да преследвате документация, която се е отдалечила от имплементацията.

Версионирано с политика за спиране от употреба

Крайните точки се намират под /v1 с публикувана политика за оттегляне и списък с промени. Ще бъдете уведомявани писмено, преди нещо да се промени, вместо да разбирате за това от неуспешно компилиране.

Тествано по договор в CI

Договорните тестове за съответствие между изпълнението и спецификацията и валидирането на OpenAPI се изпълняват при всяка промяна. Разминаването между кода и договора прекъсва компилацията — така че спецификацията, от която генерирате Вашия клиент, е спецификацията, която сървърът действително изпълнява.

Удостоверяване, определяне на обхват и клопките при мащабиране

Два начина за достъп, един единен принцип зад тях. Който и да използвате, се прилагат същите проверки на разрешенията и същото изолиране на ниво база данни.

API ключове, по организация

Ключовете изглеждат като zdk_<mode>_<prefix>_<secret>. Съхранява се само SHA-256 хеш на тайната — не можем да ви покажем ключ отново след издаването му, както и никой, който има достъп до нашата база данни. Ключовете носят обхвати, могат да бъдат отменяни и се издават за организация, а не за отделно лице.

Реален и тестов режим, разделени един от друг

Ключовете за sandbox са отделни от тези за production и работят в sandbox режим: без реално таксуване, без реално осигуряване на ресурси. Вашите интеграционни тестове могат да натоварват API-то, без да харчите пари или да изграждате сървъри.

OIDC за хора

Потребителските сесии се удостоверяват с издадени от Keycloak JWT токени, проверени спрямо публичния ключ на съответната област (realm), и се разрешават до същия обект Principal, както и API ключът. Крайните точки са ограничени с детайлни ключове за разрешения като sites.create или apikeys.manage, проверявани за всяка организация — разрешение в една организация не дава достъп в отделна, несвързана организация, въпреки че се прилага за вложените под нея организации.

Защита на ниво ред отдолу

Всяка заявка от наемател се изпълнява в транзакция със зададен обхват на организацията в Postgres въз основа на принципала, така че изолацията се налага от базата данни, а не от ORM филтър, който някой би могъл да забрави. Филтърът на queryset все още е налице като допълнителна защита в дълбочина.

Създаден за машини, а не само за демонстрации

Лесно е да направите така, че едно API да изглежда добре в README файл, но е трудно да го накарате да се държи надеждно при реален трафик. Това са частите, над които се трудихме неуморно, защото именно те нарушават интеграциите в три през нощта.

Един детайл, който си струва да се отбележи, тъй като определя как се държи масовата работа: грешка 409 при дублиран домейн отговаря на въпроса „този хост хоства ли се тук?“ за всеки наемател, което представлява оракул за изброяване (enumeration oracle) и реален риск от деанонимизация за Footprint-Free. Ограничаването на скоростта на създаване на сайтове щеше да бъде мързеливото решение и щеше напълно да съсипе продукта за масово предоставяне. Вместо това само отхвърлените опити за дублирани домейни се бюджетират на титуляр. Успешните създавания никога не се отчитат към този лимит — така че можете да предоставяте масово през целия ден, а сондирането спира почти веднага.

  • Последователна обвивка за грешки при всеки срив: код, разбираемо за хората съобщение, незадължителни подробности на ниво поле и request_id, който можете да цитирате пред поддръжката. Грешките при валидиране връщат 422 с посочване на засегнатите полета.
  • Ключове за идемпотентност при POST, като записът за повторение се записва при потвърждаване (commit), а не директно — така че повторният опит никога да не може да възпроизведе кеширан отговор 201, указващ ред, който никога не е бил потвърден. Неуспешната заявка незабавно освобождава своето текущо заключване, така че грешка 422 не блокира Вашия коригиран повторен опит.
  • Пагинация чрез курсор като набор от ключове върху UUIDv7 — стабилна при едновременни записи, без разместване на страниците при вмъкване на редове по средата на сканирането.
  • RateLimit-Remaining в отговорите, за да може генерираният клиент да намали интелигентно честотата на заявките, вместо да гадае.
  • Ресурсите извън обхвата връщат 404 вместо 403 — грешка 403 би потвърдила, че ресурсът съществува. Филтрирането по организация извън Вашия обхват връща празна страница поради същата причина.
  • Създаването на сайт е регистрация, а не осигуряване: POST /v1/sites връща 201 със статус pending и никога не блокира по време на изграждането. Събитието се записва в transactional outbox в същата трансакция като реда, така че даден сайт съществува тогава и само тогава, когато е гарантирано, че неговото осигуряване ще бъде заявено.

SDK-та, CLI и Terraform доставчик

Трима потребители на една и съща спецификация за три различни начина на работа.

Клиентски SDK

Генерирано за TypeScript, Python, PHP и Go, като следва спецификацията, така че нова крайна точка да се появи на Вашия език, без да чакате ръчно написана обвивка.

Zinnector®, CLI

Създайте структурата на WordPress сайт, стартирайте го локално само с инсталиран Node и го внедрете. Zinnector® проверява предварително Вашия проект спрямо слота, в който предстои да внедрявате — версия на PHP, дисково пространство, брой файлове — и предупреждава преди изпращането, а не след него. Той също така влиза в системата, извежда списък със сайтове, внедрява, управлява домейни и DNS, чете пощенски услуги, създава резервни копия, изпълнява разрешени команди на WP-CLI, проследява журнали в реално време и задейства групови операции. Безплатен, лицензиран под MIT и изграден върху същия този публичен API.

Доставчикът на Terraform

Управлявайте сайтове, домейни, DNS записи, пощенски кутии и планове като инфраструктура като код. terraform apply подсигурява хостинга, а вашите среди стават възпроизводими и проверими, вместо поредица от кликвания, които никой не е записал.

Интерактивна справка

Генерирана документация, която можете да четете и извиквате от браузъра, описваща точно крайните точки, които сървърът имплементира — защото и двете произлизат от една и съща спецификация.

Уебхукове, които оцеляват при прекъсване на вашата крайна точка

Зад платформата стои надежден гръбнак от събития: всяка промяна на състоянието записва събитие в трансакционна изходяща кутия в Postgres, атомарно с промяната в базата данни, а реле го публикува в NATS JetStream. Събитията са типизирани и с версии — site.deployed, order.paid, invoice.overdue, backup.completed, abuse.flagged, trial.ending и останалите.

Абонирайте се за това, което ви интересува

Регистрирайте крайна точка като WebhookSubscription и изберете типовете събития, които тя да получава. Един поток захранва известия, анализи, автоматизации и вашата интеграция по един и същи начин — вие използвате същите събития, които използваме и ние.

Подписано с HMAC

Всяка доставка е подписана с HMAC, за да можете да потвърдите, че произхожда от нас, преди да предприемете действие по нея.

Повторен опит с отстъпление и регистриран

Неуспешните доставки се опитват отново с отстъп и всеки опит се записва като WebhookDelivery. Можете да преглеждате и да пускате отново доставки от таблото за управление, вместо да изпращате имейл на поддръжката с въпрос какво сме изпратили.

Поне веднъж, затова премахнете дубликатите по id

Конвейерът умишлено работи на принципа „поне веднъж“, вместо да се преструва на „точно веднъж“. При реле, което прекъсне по средата на публикуването, срокът на лизинга за претенция изтича и събитията му се публикуват отново. Извършете дедупликация по идентификатора на плика и Вашият консуматор ще бъде коректен по проект.

Качване на код в сайта

Интерфейсът API е само половината от историята на разработчика. Другата половина е внедряването.

  • Свържете GitHub, GitLab или Bitbucket чрез OAuth, като ключовете за внедряване се съхраняват в хранилището за идентификационни данни — а не в конфигурационен файл.
  • Push задейства конвейер за изграждане и внедряване с насочване на клонове към среди (main към production, staging към staging) и стъпки за изграждане за всеки стек за composer и npm.
  • Върнете се към предишна версия, когато възникне проблем при внедряването.
  • Тестово клониране и прехвърляне към реалния сайт, така че промяната да бъде изпитана на реално място, преди да достигне до посетителите.
  • SFTP за всеки сайт под изолация с CageFS, така че всеки наемател да вижда само своите собствени файлове, плюс изолирана (jailed) SSH обвивка на споделената платформа.
  • wp-cli от терминала на панела и през SSH.
  • VS Code в браузъра чрез code-server — пълен редактор с git, редактиращ файловете на сайта директно.
  • PHP версия за всеки сайт, редактируеми PHP настройки, разширения за всеки сайт, променливи на средата и реален cron заедно с WP-cron.

Четири начина за работа по сайт

API-то е едната врата. Това са останалите четири, като всяка една от тях е включена в плана, вместо да се продава като отделно ниво за разработчици.

Уеб редакторът

VS Code в браузъра, отворен от страницата на сайта в контролния панел, редактиращ реалните файлове на този сайт с вграден git и целия редактор в същия CageFS изолатор (jail) като Вашия SFTP достъп. Той редактира сайта НА ЖИВО — между тях няма междинно тестово копие (staging), така че файлът, който запишете, става публичен в момента, в който бъде записан, въпреки че статичен файл може да продължи да се зарежда от кеша на CDN до четири часа.

Zinnector®, CLI

Безплатен, с лиценз MIT и изграден върху същия публичен API. Създайте структурата на сайт на WordPress, стартирайте го на собствената си машина, проверете го предварително спрямо слота, в който предстои да го внедрите — версия на PHP, диск, брой файлове — и го внедрете. Изисква Node 24 или по-нова версия.

MCP сървърът

Един каталог с инструменти, за да може AI клиентът, който вече използвате, да работи по вашите сайтове чрез същия API и същите разрешения, които използва таблото за управление. Същият сървър, към който се свързва вашият собствен клиент, е свързан и с уеб редактора. Само за четене, освен ако не укажете друго.

Достъп за разработчици за отделен сайт

Работата с клиенти не изисква Вашата парола. Поканете някого по имейл адрес и той получава точно един сайт: влиза със своя профил, с роля на зрител, редактор или мениджър, а всеки друг сайт връща 404, преди да се изпълни който и да е манипулатор — политика за сигурност на ниво ред в Postgres и преграда на ниво заявка, а не единична проверка. Собственикът на акаунта я предоставя и отменя с едно щракване, с действие от следващата им заявка.

И същото API, което вашият AI агент може да използва

Предоставяме платформата като хостван MCP сървър: тънък протоколен адаптер върху API-то на енджина, който използва повторно същия каталог с действия, RBAC и одитна следа. Свържете веднъж Claude Code, Cursor, ChatGPT, Claude Desktop или всеки клиент с поддръжка на MCP, и всяка нова възможност, която добавяме към API-то, става автоматично достъпна за него.

Агентът получава три неща: Инструменти (същите крайни точки на API, без паралелна логика, която да се разминава), Ресурси (достъпни само за четене данни за състоянието на сайта, конфигурацията, последните регистрационни файлове, показателите, времето за непрекъсната работа и статии от базата със знания, така че да диагностицира с реални данни, преди да предприеме действия) и Запитвания (публикувани шаблони за работни процеси като „диагностицирайте този сайт“ или „подгответе миграция“).

Сигурността следва същата логика като автентикацията: OAuth 2.1, токени, обвързани с вашата организация, и RBAC права с наложена сигурност на ниво ред, с ограничен обхват и подлежащи на оттегляне за всеки инструмент, както и изолирана среда (sandbox), отделена от продукционната. Разрушителните действия — изтриване, спиране, таксуване, големи разходи — изискват изрично потвърждение или политика за одобрение от човек. Ограниченията на честотата и таваните на разходите ограничават платените действия, задействани от ИИ, а всяко повикване на MCP се регистрира в одитен дневник с идентичност, инструмент, аргументи и резултат.

Ние поддържаме протокола, вместо да интегрираме всяко приложение поотделно, което означава, че Вашият избор на инструменти за изкуствен интелект може да се променя, без това да налага промяна в хостинг интеграцията Ви.

Често задавани въпроси

Публичният API същият ли е, който се използва от таблото за управление?

Да — това е същото API на двигателя, публикувано и заздравено. Таблото за управление, конзолата за администратори, CLI, доставчикът на Terraform, MCP сървърът и уебкуките (webhooks) са потребители на една и съща повърхност, поради което API не изостава от панела.

Мога ли да тествам интеграция, без да харча пари или да изграждам реални сървъри?

Да. Ключовете за Sandbox се издават отделно от производствените ключове и работят в тестов режим: без реално фактуриране и без реално осигуряване на ресурси. Насочете Вашата CI към идентификационните данни за sandbox и тествайте пълния цикъл на заявка и отговор безопасно.

Как да предотвратя повторен опит да създаде дубликат на нещо?

Изпратете Idempotency-Key при вашата POST заявка. Записът за повторение се записва при commit, а не директно по време на изпълнението, така че повторният опит никога не може да възпроизведе кеширан успех за ред, който всъщност не е бил записан с commit, а неуспешната заявка незабавно освобождава заключването си, за да не се забавя коригираният ви повторен опит. Доставката на Webhook е проектирана да бъде поне веднъж (at-least-once) — извършете дедупликация чрез envelope id от ваша страна.

Мога ли да предоставя достъп с един API ключ до всички организации на клиентите ми?

Не и днес. API ключовете се издават за отделна организация, така че интеграция, обхващаща няколко клиентски организации, разполага с ключ за всяка от тях. Разрешенията също се проверяват поотделно за всяка организация за потребителските профили: притежаването на sites.create в една организация не дава достъп в отделна, несвързана организация, въпреки че се прилага за организациите, разположени под нея. Това е направено умишлено — така компрометиран ключ се ограничава само до неговата собствена организация и подорганизациите под нея, а не за цялата платформа.

Какво всъщност позволява вградената роля „Разработчик“?

Ролята dev обхваща четене на ниво организация, управление на API ключове, преглед и създаване на сайтове, тяхното рестартиране, изчистване на кеша им, както и преглед и отговаряне на тикети. Тя умишлено изключва контрола върху фактурирането. Имайте предвид, че разрешенията за внедряване и push-to-live не са част от нея — ако член на екипа се нуждае от тях, задайте му роля, която ги включва, вместо да предполагате, че Developer е най-широката техническа роля.

Какво се случва с моите уебкуки, ако крайната ми точка прекъсне работа за един час?

Доставките се опитват отново с отстъп (backoff) и всеки опит се записва като WebhookDelivery, което можете да инспектирате. В горната част на потока събитията се записват в трансакционна изходяща кутия (transactional outbox) в същата трансакция на базата данни като самата промяна, така че нищо не се губи, докато даден консуматор е недостъпен — неработещият консуматор изостава, той никога не прекъсва производителя, и можете да възпроизведете доставките от таблото за управление, след като се върнете.

Колко струва да започнете да разработвате с него?

Започнете с 14-дневен пробен период без карта за Footprint-Free хостинг — без данни за плащане, до 5 сайта. Платените Footprint-Free планове започват от $6/месец за PBN 5. Всеки план включва 30-дневна гаранция за възстановяване на сумата, безплатни миграции и липса на обвързване с доставчика.

Прочетете спецификацията, след което изграждайте според нея

API, проектирано първо по спецификация, генерирани SDK, CLI, доставчик на Terraform, подписани уебхукове и MCP сървър — на хостинга, който изградихме за над 700 000 сайта по целия свят. Започнете с 14-дневен пробен период без карта и без данни за плащане.

Започнете безплатно

WordPress плъгини, с които вашият AI агент може да работи

Всеки от тези плъгини превръща вашия WordPress сайт в MCP сървър, така че Claude, Cursor, VS Code и други AI асистенти да могат да извършват реална работа по него, влезли като вас и ограничени до това, което ви е позволено да правите.

Всички документи за разработчици за MCP и API →