Za programere

Hosting kojim upravljate iz koda

Zinn Digital® je platforma prvenstveno usmjerena na API. Isti onaj API mehanizam koji pokreće našu upravljačku ploču je ono što dobivate – s verzijama, s naglaskom na specifikacije i 100% dokumentirano u vrijeme izrade, s generiranim SDK-ovima, CLI-jem, Terraform pružateljem usluga, potpisanim webhookovima i MCP poslužiteljem na vrhu. Čime god da radite – terminalom, cjevovodom, datotekom stanja ili AI agentom – platforma odgovara na to.

  • 650.000+web-mjesta ugošćena diljem svijeta
  • 1OpenAPI spec iz kojeg se generira svaki alat
  • 4klijentski SDK-ovi — TypeScript, Python, PHP, Go
  • OAuth 2.1omeđeni, opozivi pristup AI agensa

Jedan API. Sve površine rade na njemu.

Većina pružatelja usluga naknadno doda API u upravljačku ploču i to se vidi — pola značajki ploče nikad ne zaživi. Mi smo gradili obrnuto. Upravljačka ploča, administratorska konzola, CLI, Terraform pružatelj, MCP poslužitelj i vaše vlastite integracije koriste isti API stroja. Ako to možete učiniti u ploči, možete to učiniti i u kodu.

Specifikacija na prvom mjestu, nije naknadno dokumentirano

OpenAPI specifikacija je jedini pouzdani izvor istine i niti jedna krajnja točka se ne isporučuje ako nije u specifikaciji. To je jedno pravilo ono što javni API čini u potpunosti dokumentiranim u trenutku izgradnje, a ne naknadno — ne postoji nedokumentirani kutak jer nedokumentirana krajnja točka ne može postojati.

Generirano, nikad ručno održavano

Interaktivna referentna dokumentacija, četiri klijentska SDK-a, velik dio CLI-ja i predlošci Terraform pružatelja usluga generiraju se iz te jedne specifikacije. Jedan izvor, mnogo artefakata, uvijek sinkronizirano – nikada ne lovite dokumentaciju koja se udaljila od implementacije.

Verzionirano s pravilom o ukidanju

Krajnje točke nalaze se pod /v1 uz objavljena pravila o ukidanju i zapis promjena. O promjenama ćete biti obaviješteni unaprijed, u pisanom obliku, umjesto da ih otkrivate tek kada vam izgradnja sustava ne uspije.

Testirano na ugovoru u CI-ju

Testovi ugovora između implementacije i specifikacije te OpenAPI provjera koda pokreću se pri svakoj promjeni. Svaka neusklađenost između koda i ugovora ruši izgradnju sustava — stoga je specifikacija iz koje generirate klijenta ujedno i specifikacija koju poslužitelj stvarno podržava.

Autentifikacija, obuhvat i zamke pri skaliranju

Dva načina ulaza, a iza njih stoji jedan jedinstveni princip. Koji god da koristite, primjenjuju se iste provjere dozvola i ista izolacija na razini baze podataka.

API ključevi, po organizaciji

Ključevi izgledaju ovako: zdk_<mode>_<prefix>_<secret>. Pohranjuje se samo SHA-256 hash tajnog ključa — ključ vam ne možemo ponovno prikazati nakon izdavanja, niti to može učiniti bilo tko tko pristupi našoj bazi podataka. Ključevi imaju opsege, mogu se opozvati, a izdaju se po organizaciji, a ne po osobi.

Način rada uživo i testni način, odvojeni

Sandbox ključevi odvojeni su od produkcijskih i rade u sandbox načinu rada: nema stvarnog naplaćivanja, nema stvarnog provizioniranja. Vaši integracijski testovi mogu opterećivati API bez trošenja novca ili izgradnje poslužitelja.

OIDC za ljude

Korisničke sesije autentificiraju se pomoću JWT-ova koje izdaje Keycloak, a koji se provjeravaju u odnosu na javni ključ realm-a i razrješavaju se u isti Principal objekt kao i API ključ. Krajnje točke (endpoints) postavljaju uvjete na temelju granuliranih ključeva dozvola kao što su sites.create ili apikeys.manage, što se provjerava po organizaciji — dozvola u jednoj organizaciji ne daje pristup u zasebnoj, nepovezanoj organizaciji, iako se primjenjuje na organizacije ugniježđene ispod nje.

Sigurnost na razini retka u pozadini

Svaki zahtjev stanara izvršava se u transakciji u kojoj je Postgres org opseg postavljen iz principala, čime izolaciju provodi baza podataka, a ne ORM filter koji netko može zaboraviti. Queryset filter je i dalje tu kao dodatni sloj obrane.

Izgrađeno za strojeve, ne samo za demo verzije

API-ju je lako dati dobar izgled u README datoteci, a teško ga je natjerati da radi pod stvarnim prometom. Na ovim smo dijelovima žestoko radili jer su to dijelovi koji ruše integracije u tri sata ujutro.

Jedan detalj koji vrijedi istaknuti, jer utječe na ponašanje masovnog rada: 409 kod dvostrukih domena odgovara s "je li ovaj naziv hosta smješten ovdje?" za bilo kojeg stanara, što je proročanstvo nabrajanja i stvarni rizik deanonymizacije protiv sustava Footprint-Free. Ograničavanje stvaranja stranica bilo bi lijeno rješenje i potpuno bi srušilo proizvod za masovnu proviziju. Umjesto toga, samo se odbijeni pokušaji dvostrukih domena obračunavaju, po principu. Uspješno kreiranja se nikada ne terete – tako da možete vršiti masovnu proviziju cijeli dan, a ispitivanje umire gotovo odmah.

  • Dosljedna ovojnica pogreške kod svakog neuspjeha: kod, razumljiva poruka, opcionalni detalji na razini polja i request_id koji možete navesti podršci. Pogreške provjere valjanosti vraćaju status 422 s navedenim spornim poljima.
  • Idempotentni ključevi na POST zahtjevima, pri čemu se zapis o ponavljanju zapisuje pri izvršenju umjesto u tijeku – tako da ponovljeni zahtjev nikada ne može ponovno reproducirati predmemorirani 201 odgovor koji navodi redak koji nikada nije potvrđen. Neuspjeli zahtjev odmah oslobađa svoj zaključani status u tijeku, tako da pogreška 422 ne blokira vaše ispravljeno ponavljanje.
  • Paginacija kursorom kao skup ključeva preko UUIDv7 — stabilna pri istovremenim upisima, bez pomicanja stranica kada se retci umeću tijekom skeniranja.
  • RateLimit-Remaining na odgovorima, tako da generirani klijent može pametno usporiti umjesto nagađanja.
  • Resursi izvan opsega vraćaju 404 umjesto 403 — 403 bi potvrdio da resurs postoji. Filtriranje prema organizaciji izvan vašeg opsega vraća praznu stranicu iz istog razloga.
  • Kreiranje web-mjesta je registracija, a ne provizorij: POST /v1/sites vraća 201 sa statusom pending i nikada ne blokira izgradnju. Događaj se zapisuje u transakcijski outbox u istoj transakciji kao i redak, tako da web-mjesto postoji ako i samo ako je zajamčeno da će njegovo provizorijevanje biti zatraženo.

SDK-ovi, CLI i Terraform provider

Tri potrošača iste specifikacije, za tri različita načina rada.

Klijentski SDK-ovi

Generirano za TypeScript, Python, PHP i Go, prateći specifikaciju tako da nova krajnja točka stiže u vaš jezik bez čekanja ručno pisanog omotača.

Zinnector®, CLI

Izradite WordPress web-mjesto, pokrenite ga lokalno bez ikakvih instaliranih alata osim Node-a i postavite ga. Zinnector® provjerava vaše uslužne programe i okruženje projekta u odnosu na mjesto na koje ga namjeravate postaviti — PHP verziju, disk, broj datoteka — te vas upozorava prije nego što ga prenesete, a ne nakon toga. Također se prijavljuje, prikazuje popise web-mjesta, postavlja projekte, upravlja domenama i DNS-om, čita usluge e-pošte, izrađuje sigurnosne kopije, pokreće WP-CLI s popisa dopuštenih stavki, prati zapisnike u stvarnom vremenu i pokreće masovne operacije. Besplatno, s licencom MIT i izgrađeno na istom ovom javnom API-ju.

Terraform provider

Upravljajte web-mjestima, domenama, DNS zapisima, pretinacima e-pošte i paketima kao infrastrukturom kao kodom. terraform apply priprema hosting, a vaša okruženja postaju ponovljiva i pregledna umjesto niza klikova koje nitko nije zabilježio.

Interaktivna referenca

Generirana dokumentacija koju možete čitati i pozivati iz preglednika, koja točno opisuje krajnje točke koje poslužitelj implementira — budući da oboje potječu iz iste specifikacije.

Webhookovi koji preživljavaju pad vaše krajnje točke

Iza platforme nalazi se izdržljiva okosnica događaja: svaka promjena stanja zapisuje događaj u transakcijsku izlaznu tablicu u Postgresu, atomski s promjenom baze podataka, a relej ga objavljuje u NATS JetStream. Događaji su tipizirani i verzirani — site.deployed, order.paid, invoice.overdue, backup.completed, abuse.flagged, trial.ending i ostali.

Pretplatite se na ono što vam je važno

Registrirajte krajnju točku kao WebhookSubscription i odaberite vrste događaja koje prima. Jedan tok napaja obavijesti, analitiku, automatizacije i vašu integraciju podjednako — konzumirate iste događaje koje i mi.

Potpisano s HMAC

Svaka je isporuka HMAC-potpisana kako biste mogli provjeriti dolazi li doista od nas prije nego što poduzmete radnju.

Ponovljeno s odgodom i zabilježeno

Neuspješne isporuke ponovno se pokušavaju uz eksponencijalno odgađanje i svaki se pokušaj bilježi kao WebhookDelivery. Možete pregledavati i ponovno pokretati isporuke s upravljačke ploče umjesto da šaljete e-poštu podršci s upitom što smo poslali.

Najmanje jednom, stoga provedite uklanjanje duplikata na temelju ID-ja

Cjevovod je namjerno dizajniran s najmanje jednom isporukom umjesto da se pretvara da je točno jednom. Relej koji se sruši usred objavljivanja gubi zakup zahtjeva i njegovi se događaji ponovno objavljuju. Uklonite duplikate na temelju ID-ja omotnice i vaš je potrošač ispravan samom konstrukcijom.

Postavljanje koda na stranicu

API je tek pola priče za razvojnog inženjera. Druga polovica je isporuka.

  • Povežite GitHub, GitLab ili Bitbucket putem OAuth-a, s ključevima za primjenu koji se čuvaju u pohrani vjerodajnica – a ne u konfiguracijskoj datoteci.
  • Push pokreće cjevovod za izgradnju i primjenu (build-and-deploy), s preslikavanjem grana u okruženja (main u production, staging u staging) i koracima izgradnje po stogu za composer i npm.
  • Vratite se na prethodnu verziju ako primjena koda pođe po zlu.
  • Staging kloniranje i push-to-live funkcija, tako da se svaka promjena dokaže na nekom stvarnom mjestu prije nego što dođe do posjetitelja.
  • Zatočeni SSH, SFTP i FTP po web-mjestu pod CageFS izolacijom, tako da svaki korisnik vidi samo svoje vlastite datoteke.
  • wp-cli s konzole upravljačke ploče i putem SSH-a.
  • VS Code u pregledniku putem code-server alata — potpuni uređivač s ekstenzijama, integriranim terminalom i gitom, koji omogućuje izravno uređivanje datoteka web-mjesta.
  • PHP verzija po stranici, prilagodljive PHP postavke, ekstenzije po stranici, varijable okruženja i stvarni cron uz WP-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.

I isti API koji vaš AI agent može koristiti

Platformu izlažemo kao hostani MCP poslužitelj: tanki adapterski protokol preko API-ja uslužnog programa koji ponovno koristi identičan katalog radnji, RBAC i revizijski trag. Povežite Claude Code, Cursor, ChatGPT, Claude Desktop ili bilo koji klijent s podrškom za MCP jednom, i svaka mogućnost koju dodamo API-ju postat će mu dostupna automatski.

Agent dobiva tri stvari: Alate (iste API krajnje točke, bez paralelne logike koja bi mogla odstupiti), Resurse (zdravlje stranice samo za čitanje, konfiguraciju, nedavne zapisnike, metrika, radno vrijeme i članke iz baze znanja, tako da dijagnosticira s stvarnim podacima prije djelovanja) i Elemente (objavljeni predlošci tijeka rada kao što su "dijagnosticiraj ovu stranicu" ili "pripremi migraciju").

Sigurnost je ista priča kao i autentifikacija: OAuth 2.1, tokeni vezani uz vašu organizaciju i RBAC dozvole s primijenjenom sigurnošću na razini redaka, ograničeni opsegom i opozivi po alatu, sandbox odvojen od produkcije. Destruktivne radnje — brisanje, suspenzija, naplata, velika potrošnja — zahtijevaju izričitu potvrdu ili pravilo odobrenja od strane čovjeka. Ograničenja stope (rate limits) i limiti potrošnje vežu plaćene radnje pokrenute umjetnom inteligencijom, a svaki MCP poziv ima zabilježen revizijski trag (audit-logged) s identitetom, alatom, argumentima i rezultatom.

Podržavamo protokol umjesto da integriramo svaku aplikaciju zasebno, što znači da se vaš izbor AI alata može promijeniti bez potrebe za mijenjanjem vaše hosting integracije.

Česta pitanja

Je li javni API isti onaj koji koristi nadzorna ploča?

Da — to je isti programski sučeljni API, objavljen i provjeren. Upravljačka ploča, administratorska konzola, CLI, Terraform pružatelj usluge, MCP poslužitelj i web-dojavnici potrošači su jedne površine, zbog čega API ne zaostaje za pločom.

Mogu li testirati integraciju bez trošenja novca ili izrade stvarnih poslužitelja?

Da. Sandbox ključevi izdaju se odvojeno od produkcijskih i rade u testnom načinu rada: nema stvarnog naplaćivanja ni stvarne isporuke resursa. Usmjerite svoj CI na sandbox vjerodajnice i sigurno isprobajte cijeli ciklus zahtjeva i odgovora.

Kako da spriječim da ponovljeni pokušaj (retry) stvori dvostruke unose?

Pošaljite Idempotency-Key u svom POST zahtjevu. Zapis o ponavljanju zapisuje se pri potvrdi (commit) umjesto inline, tako da ponovljeni zahtjev nikada ne može reproducirati predmemorirani uspjeh za redak koji zapravo nije potvrđen, a zahtjev koji ne uspije odmah oslobađa svoju zaključanost kako vaš ispravljeni ponovljeni zahtjev ne bi bio blokiran. Isporuka webhooka je po dizajnu najmanje jednom — uklonite duplikate na temelju ID-a omotnice na svojoj strani.

Mogu li dati jednom API ključu pristup svim svojim klijentskim organizacijama?

Ne danas. API ključevi izdaju se po organizaciji, tako da integracija koja obuhvaća nekoliko klijenatskih organizacija ima ključ za svaku. Dozvole se također provjeravaju po organizaciji za glavne korisnike: posjedovanje sites.create u jednoj organizaciji ne daje pristup u zasebnoj, nepovezanoj organizaciji, iako se primjenjuje na organizacije ugniježđene ispod nje. To je namjerno – ograničava kompromitirani ključ na vlastitu organizaciju i podorganizacije ispod nje, a ne na cijelu platformu.

Što ugrađena uloga razvojnog inženjera zapravo dopušta?

Uloga razvojnog inženjera obuhvaća čitanje organizacije, upravljanje API ključevima, pregled i stvaranje web-mjesta, njihovo ponovno pokretanje, čišćenje njihove predmemorije te pregled i odgovaranje na tikete. Namjerno isključuje kontrolu naplate. Napominjemo da dopuštenja za primjenu i prijenos u produkciju nisu dio toga — ako su članu tima potrebna ta dopuštenja, dodijelite mu ulogu koja ih sadrži umjesto da pretpostavljate da je Razvojni inženjer najšira tehnička uloga.

Što se događa s mojim webhookovima ako moj krajnji točka (endpoint) ne radi sat vremena?

Isporuke se ponovno pokušavaju uz eksponencijalno kašnjenje i svaki pokušaj se bilježi kao WebhookDelivery koji možete pregledati. Uzvodno, događaji se zapisuju u transakcijski outbox unutar iste baze podataka kao i sama promjena, tako da se ništa ne gubi dok je potrošač nedostupan – nedostupan potrošač zaostaje, ali nikada ne ruši proizvođača, a isporuke možete ponovno pokrenuti s upravljačke ploče kada se ponovno vratite.

Koliko košta početak rada s njim?

Započnite besplatnu 14-dnevnu probnu verziju usluge Footprint-Free Hosting bez unosa podataka o plaćanju, za do 5 web-mjesta. Plaćeni paketi usluge Footprint-Free počinju od 6 USD mjesečno za PBN 5. Svaki paket uključuje 30-dnevno jamstvo povrata novca, besplatne migracije i odsutnost vezivanja uz dobavljača.

Pročitajte specifikaciju, a zatim gradite prema njoj

API vođen specifikacijom, generirani SDK-ovi, CLI, Terraform pružatelj usluga, potpisani webhookovi i MCP poslužitelj – na hostingu koji smo izgradili za više od 650.000 web-mjesta diljem svijeta. Započnite 14-dnevno probno razdoblje bez kartice, bez podataka o plaćanju.

Započni besplatno