Әзірлеушілер үшін

Код арқылы басқара алатын хостинг

Zinn Digital® — бұл API-first платформасы. Біздің басқару панелін іске қосатын engine API — сізге де беріледі: ол нұсқаларға бөлінген, спецификация бірінші орында тұрады және құрастыру кезінде 100% құжатталған, оған қоса жасақталған SDK жинақтары, CLI, Terraform провайдері, қол қойылған webhook-тер және үстінде жұмыс істейтін MCP сервері бар. Жұмыс істеу үшін нені қолдансаңыз да — терминал, конвейер, күй файлы немесе AI агенті — платформа соның бәріне қызмет көрсетеді.

  • 650 000+дүние жүзінде хостингтен өткен сайттар
  • 1Әрбір құрал жасалатын OpenAPI спецификациясы
  • 4клиенттік SDK-лар — TypeScript, Python, PHP, Go
  • OAuth 2.1аумақтық, кері қайтарып алынатын ЖИ-агент қатынасы

Бір API. Барлық беттер соған негізделген.

Көптеген хостинг провайдерлері басқару панеліне API-ді кейіннен қоса салады, бұл бірден байқалады — панель функцияларының жартысы қолжетімсіз қалады. Біз бәрін керісінше жасадық. Бақылау тақтасы, әкімші консолі, CLI, Terraform провайдері, MCP сервері және өз интеграцияларыңыз бірдей қозғалтқыш API-ін пайдаланады. Егер мұны панельде жасай алсаңыз, код арқылы да жасай аласыз.

Алдымен сипаттама, кейін құжаттама

OpenAPI специфікасы — ақиқат көзі, және специфікада болмаған бірде-бір эндпоинт шығарылмайды. Дәл осы жалғыз ереже публичні API-ді кейінірек емес, құрастыру кезінде толық құжаттандырылған етуге мүмкіндік береді — мұнда құжатталмаған бұрыш жоқ, өйткені құжатталмаған эндпоинт өмір сүрмейді.

Автоматты түрде жасалған, қолмен өңделмеген

Интерактивті анықтамалық құжаттар, төрт клиенттік SDK, CLI көп бөлігі және Terraform провайдерінің каркасы сол бір спецификациядан жасалған. Бір көз, көптеген артефактілер, әрқашан синхрондалған — сіз іске асырудан алшақтап кеткен құжатты ешқашан іздемейсіз.

Ескіру саясатымен нұсқаланған

Эндпоинттер /v1 астында орналасқан және жарияланған ескірү саясаты мен өзгерістер журналы бар. Құрылымның бұзылуынан емес, қандай да бір өзгеріс болмас бұрын сізге жазбаша түрде хабарланады.

CI жүйесінде келісімшартпен тексерілген

Әрбір өзгерісте іске асыру мен спецификацияның өзара сәйкестігін тексereтін келісімшарттық тесттер және OpenAPI линтингі орындалады. Код пен келісімшарт арасындағы алшақтық құрастыруды сәтсіз етеді — сондықтан клиентті генерациялайтын спецификацияңыз сервер шынайы түрде орындайтын спецификация болып табылады.

Авторизация, ауқымды шектеулер және ауқымдау кезінде кездесетін қиындықтар

Кірудің екі жолы бар, бірақ олардың артында бірдей негізгі принцип тұр. Қайсысын пайдалансаңыз да, бірдей рұқсатты тексерулер мен дерекқор деңгейіндегі оқшаулау қолданылады.

API кілттері, ұйым бойынша

Кiltерлер zdk_<mode>_<prefix>_<secret> форматында болады. Құпия сөздің тек SHA-256 хэші сақталады — кілт берілгеннен кейін оны сізге қайта көрсете алмаймыз, біздің дерекқорымызға қол жеткізген ешкім де мұны істей алмайды. Кілттер рұқсат ауқымдарына ие, оларды кері қайтарып алуға болады және олар жеке тұлғаларға емес, ұйымдарға беріледі.

Тікелей және сыналатын режимдер, бір-бөлек сақталған

Песочни кілттері өндірістік кілттерден бөлек және песочни режимінде жұмыс істейді: ешқандай нақты есеп айырысу, нақты провижининг жоқ. Интеграциялық тесттеріңіз ақша жұмсамай-ақ немесе серверлер құрмай-ақ API интерфейсіне сұраулар жасай алады.

Адамдарға арналған OIDC

Пайдаланушы сессиялары Keycloak шығарған JWT көмегімен аутентификациядан өтеді, бұл реалдың ашық кілті арқылы тексеріледі және API кілті атқаратын сол Principal нысанына шешіледі. Соңғы нүктелер әр ұйым бойынша тексерілетін sites.create немесе apikeys.manage сияқты түйіршіктелген рұқсат кілттерін басқарады — бір ұйымдағы рұқсат басқа, қатысы жоқ ұйымға ешқандай қолжетімділікті бермейді, бірақ ол оның астында сатылап орналасқан ұйымдарға қолданылады.

Қолданыстағы қатар деңгейіндегі қауіпсіздік

Әрбір тенант сұрауы транзакция ішінде орындалады, мұнда Postgres ұйым ауқымы принципалдан орнатылады, сондықтан оқшаулауды біреу ұмытып кетуі мүмкін ORM сүзгісі емес, дерекқор қамтамасыз етеді. Қорғаныстың қосымша қабаты ретінде queryset сүзгісі әлі де бар.

Демо үшін емес, машиналар үшін жасалған

API-ды README-де әдемі көрсету оңай, ал нақты трафик астында жұмыс істету қиын. Бұл біз тер төккен тұстар, өйткені интеграциялар түнгі үште дәл осы жерлерден бұзылады.

Бөлшектеп орындалатын жұмыстың логикасына әсер ететін назар аударарлық бір деталь: қайталанатын домен бойынша берілетін 409 қателігі кез келген тенент үшін "бұл хост атауы осында орналастырылған ба?" деген сұраққа жауап береді, бұл тізімдеу оракулы болып табылады және Footprint-Free қызметіне деанонимизациялау қаупін төндіреді. Сайты құруды шектеу ең оңай шешім болар еді, бірақ ол жаппай қамтамасыз ету (bulk-provisioning) өнімінің жұмысын толығымен бұзатын еді. Оның орнына әрбір субъект үшін тек қабылданбаған қайталанатын домен әрекеттері ғана лимитке есептеледі. Сәтті құрылғандар үшін бұл лимит ешқашан жұмсалмайды — сондықтан сіз күні бойы жаппай қамтамасыз ете аласыз, ал зондтау әрекеттері бірден дерлік тоқтатылады.

  • Әrbir qatelik kezindegi birkelki qatelik qabydy: kod, adam tüsineutin habarlama, qosymsha ónir-dengeyindegi egjem-tegjemder jäne qoldau qyzmetine aita alatyn request_id. Validatsia qatelikteri qate oryn alğan ónirlerdi atap körsetip, 422 kodymen qaytarady.
  • POST сұрауларындағы идемпотенттік кілттері, жазба транзакция аяқталғанда (commit) ғана жазылады, инлайн режимінде емес — сондықтан қайталанған сұраныс ешқашан сақталмаған жолдың атауын беретін кэштелген 201 жауабын қайта жібермейді. Сәтсіз аяқталған сұраныс өз блогын бірден босатады, нәтижесінде 422 қатесі түзелген қайта сұранысыңызды бұғаттамайды.
  • UUIDv7 арқылы кілттер жиынтығы ретіндегі курсорлық беттеу — қатарлар ортасында қосылған кезде беттің жылжуынсыз және бір мезгілдегі жазулар кезінде тұрақты.
  • Жауаптардағы RateLimit-Remaining, сондықтан жасақталған клиент болжаудың орнына ақылды түрде кейін шегіне алады.
  • Қолжетімділік аясынан тыс ресурстар 403 орнына 404 қайтарады — 403 қатесі ресурс бар екенін растап қояр еді. Қолжетімділік аясынан тыс ұйым бойынша сүзу де сол себеппен бос бетті қайтарады.
  • Сайт құру – бұл дайындау емес, тіркеу: POST /v1/sites сұрауы pending күйімен 201 қайтарады және құрастыру процесін ешқашан бұғаттамайды. Оқиға жолмен бір транзакцияда транзакциялық жәшікке жазылады, сондықтан сайт оны дайындауға кепілдік берілген жағдайда ғана өмір сүреді.

SDK, CLI және Terraform провайдері

Үш түрлі жұмыс әдісіне арналған бірдей сипаттамадағы үш тұтынушы.

Клиенттік SDK-лар

TypeScript, Python, PHP және Go үшін жасалған, бұл қолмен жазылған орауышты күтпей-ақ, жаңа эндпоинт тіліңізде пайда болуын қамтамасыз ету үшін спецификацияны бақылайды.

Zinnector® CLI

WordPress сайтын жасақтаңыз, оны Node-тан басқа ештеңе орнатылмай жергілікті түрде іске қосыңыз және оны орналастырыңыз. Zinnector® жобаңызды орналастырылатын слотқа (PHP нұсқасы, диск, файлдар саны) қарсы алдын ала тексереді және хабарды кейін емес, жібермес бұрын ескертеді. Ол сондай-ақ жүйеге кіреді, сайттарды тізімдейді, орналастырады, домендер мен DNS басқарады, пошта қызметтерін оқиды, сақтық көшірмелерді жасайды, рұқсат етілген WP-CLI іске қосады, журналдарды қадағалайды және жаппай операцияларды орындайды. Тегін, MIT лицензиясы бар және осы сирек кездесетін жалпыға қолжетімді API интерфейсінде жасалған.

Terraform провайдері

Сайттарды, домендерді, DNS жазбаларын, пошта жәшіктерін және жоспарларды код ретіндегі инфраструктура (infrastructure as code) ретінде басқарыңыз. 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 әрекеті composer мен npm үшін стек бойынша құрастыру қадамдарын және тармақ пен ортаны сәйкестендіруді (main — өндірістік ортаға, staging — staging ортасына) қамтитын құрастыру және орналастыру құбырын іске қосады.
  • Сәтсіз шығарылым кезінде бұрынғы нұсқаға қайта оралыңыз.
  • Стейджинг-клон және тікелей режимге жіберу (push-to-live) — өзгеріс келушілерге көрінер алдында нақты ортада сынақтан өтеді.
  • CageFS изоляциясы арқылы әр сайт үшін шектелген (jailed) SSH, SFTP және FTP, осылайша әр бір жалға алушы тек өз файлдарын ғана көреді.
  • Панель терминалы және SSH арқылы wp-cli.
  • code-server арқылы браузердегі VS Code — кеңейтімдері, кірістірілген терминалы және git бар толыққанды редактор, ол сайт файлдарын тікелей өңдейді.
  • Әр сайт үшін PHP нұсқасы, өңделетін PHP параметрлері, әр сайтқа арналған кеңейтімдер, орта айнымалылары және WP-cron-мен қатар нақты cron.

Four ways to work on a site

The API is one door. These are the other four, and every one of them is included with the plan rather than sold as a developer tier.

The web editor

VS Code in the browser, opened from the site's page in the dashboard, editing that site's real files with git built in and the whole editor inside the same CageFS jail as your SFTP access. It edits the LIVE site — there is no staging copy in between, so a file you save is public the moment it is written.

Zinnector®, the CLI

Free, MIT-licensed and built on this same public API. Scaffold a WordPress site, run it on your own machine, pre-flight it against the slot you are about to deploy to — PHP version, disk, file count — and deploy. Needs Node 24 or newer.

The MCP server

One catalogue of tools, so the AI client you already use can work on your sites through the same API and the same permissions the dashboard uses. The same server your own client connects to is the one wired into the web editor. Read-only until you say otherwise.

Per-site developer access

Client work does not need your password. Invite somebody by email address and they get exactly one site: they sign in as themselves, with a viewer, editor or manager role, and every other site answers 404 before any handler runs — a Postgres row-level security policy and a request-level fence, not one check. The account owner grants it and revokes it in one click, effective on their next request.

Және сіздің AI агентіңіз пайдалана алатын дәл сол API

Біз платформаны хостингтелген MCP сервері ретінде ұсынамыз: бұл қозғалтқыш API интерфейсінің үстіндегі жұқа хаттама адаптері болып табылады және ол дәл сондай әрекеттер каталогын, RBAC және аудит тізімін қайта пайдаланады. Claude Code, Cursor, ChatGPT, Claude Desktop немесе кез келген MCP-үйлесімді клиентті бір рет қоссаңыз, API интерфейсіне қосатын әрбір мүмкіндік оған автоматты түрде қолжетімді болады.

Агент үш нәрсені алады: Құралдар (бірдей API эндпоинттері, сәйкес келмей қалатын параллель логика жоқ), Ресурстар (сайттың жұмыс істеу күйін, конфигурацияны, соңғы логтарды, метрикаларды, жұмыс уақыты мен БҚ мақалаларын тек оқуға арналған түрде көру, соның арқасында әрекет етпес бұрын нақты деректермен диагноз қояды) және Промпттар ("осы сайтқа диагноз қою" немесе "миграцияға дайындалу" сияқты жарияланған жұмыс үрдісінің үлгілері).

Қауіпсіздік — аутентификациямен бірдей әңгіме: OAuth 2.1, ұйымыңызға байланыстырылған токендер және қатар деңгейіндегі қауіпсіздігі қамтамасыз етілген, әр құрал үшін жеке шектелген және қайтарып алынатын RBAC рұқсаттары, өндірістік ортадан бөлінген «солар-бокс». Жою, тоқтату, төлем, үлкен шығындар сияқты қиратушы әрекеттер нақты растауды немесе адам тарапынан мақұлдау саясатын талап етеді. Тарифтік шектеулер мен шығындар лимиттері AI іске қосатын ақылы әрекеттерді шектейді, ал әрбір MCP шақыруы жеке басы, құрал, аргументтер және нәтижесі көрсетіліп аудиторлық журналға жазылады.

Біз әр қолданбаны жеке-жеке біріктірудің орнына хаттаманы қолдаймыз, яғни хостинг интеграциясын өзгертпей-ақ, өзіңіз қалаған ЖИ құралын ауыстыра аласыз.

Жиі қойылатын сұрақтар

Паблик API басқару панелі қолданатын API-мен бірдей ме?

Иә — бұл жарияланған және шыңдалған соның өзіндік қозғалтқыш API интерфейсі. Бақылау тақтасы, әкімші консолі, CLI, Terraform провайдері, MCP сервері және веб-хуктер — барлығы бір интерфейстің тұтынушылары болып табылады, сондықтан API панельден қалып қоймайды.

Ақша жұмсамай немесе нақты серверлерді құрмай интеграцияны сынақтан өткізе аламын ба?

Иә. Sandbox кілттері өндірістік кілттерден бөлек беріледі және сынақ режимінде жұмыс істейді: нақты есеп айырысулар мен нақты қызмет көрсету жоқ. CI жүйеңізді sandbox тіркелгі деректеріне бағыттаңыз және сұрау мен жауап циклін толығымен қауіпсіз тексеріңіз.

Қайталау әрекеті екі бірдей нәрсенің жасалуына қалай жол бермеуге болады?

POST сұранысыңызбен бірге Idempotency-Key жіберіңіз. Қайталау жазбасы қатар ішінде емес, транзакцияны растау (commit) кезінде жазылады, сондықтан қайталама әрекет іс жүзінде расталмаған жол үшін кэштелген сәтті нәтижені ешқашан қайталамайды, ал қате кеткен сұраныс өз құлпын дереу босатады, осылайша түзетілген қайталама әрекетіңіз кідіріске ұшырамайды. Вебхукты жеткізу әдісі жобасы бойынша кем дегенде бір рет орындалатындай етіп жасалған — өз жағыңызда конверт идентификаторы (envelope id) бойынша дубликаттарды жойыңыз.

Бір API кілтіне барлық клиенттік ұйымдарыма қолжетімділік бере аламын ба?

Бүгін емес. API кілттері әр ұйым үшін жеке беріледі, сондықтан бірнеше клиенттік ұйымды қамтитын интеграция әрқайсысы үшін жеке кілтті сақтайды. Сондай-ақ рұқсаттар пайдаланушы принциптері үшін ұйым бойынша тексеріледі: бір ұйымда sites.create құқығына ие болу басқа, байланысы жоқ ұйымға кіруге рұқсат бермейді, бірақ бұл сол ұйымның астындағы ішкі ұйымдарға қолданылады. Бұл әдейі жасалған — ол ықпалы бұзылған кілтті бүкіл платформаға емес, тек өзінің ұйымына және оның астындағы ішкі ұйымдарға шектейді.

Кірістірілген Developer рөлі не істеуге мүмкіндік береді?

Әзірлеуші рөлі ұйымды оқуды, API кілтін басқаруды, сайттарды көру және жасауды, оларды қайта қосуды, кэштерін тазартуды, сондай-ақ тикеттерді көру және оларға жауап беруді қамтиды. Ол төлемді бақылауды әдейі қамтымайды. Ескерту: орналастыру және тікелей эфирге жіберу (push-to-live) рұқсаттары бұған кірмейді — егер команда мүшесіне олар қажет болса, Әзірлеуші ең ауқымды техникалық рөл деп есептемей, оларды қамтитын рөлді тағайындаңыз.

Соңғы нүктеме бір сағатқа жұмыс істемей қалса, вебхуктерімге не болады?

Жеткізу әрекеттері экспоненциалды түрде кейінге шегеріліп қайталанады және әрбір әрекет қарап шығуға болатын WebhookDelivery ретінде жазылады. Жүйеде оқиғалар өзгерістің өзімен бірдей дерекқор транзакциясында транзакциялық жәшікке жазылады, сондықтан тұтынушы қолжетімсіз болған кезде ештеңе жоғалмайды — жұмыс істемей тұрған тұтынушы кешігеді, бірақ бұл ешқашан шығарушыны бұзбайды және жүйе қайта қосқан кезде басқару панелінен жеткізулерді қайтадан орындауға болады.

Онымен жұмыс бастау қанша тұрады?

Footprint-Free Hosting қызметінің 14 күндік сынақ мерзімін банктік картасыз бастаңыз — төлем деректері қажет емес, 5 сайтқа дейін. Footprint-Free ақылы тарифтері PBN 5 үшін айына $6-дан басталады. Әр жоспарға 30 күндік ақшаны қайтару кепілдігі, тегін тасымалдау және жеткізушіге байланбау мүмкіндігі кіреді.

Сипаттаманы оқып шығыңыз, содан кейін соған сәйкес құрыңыз

Спецификациядан басталатын API, генерацияланған SDK-лар, CLI, Terraform провайдері, қол қойылған веб-хуктар және MCP сервері — дүние жүзіндегі 650 000-нан астам сайт үшін біз құрған хостингте. Төлем деректерінсіз, картасыз 14 күндік сынақ мерзімінен бастаңыз.

Тегін бастау