Za razvojne inženjere

Hosting kojim možete upravljati putem koda

Zinn Digital® je platforma usmjerena na API (API-first). Isti API pogona koji pokreće našu nadzornu ploču je onaj koji dobivate — verzioniran, temeljen na specifikacijama i 100 % dokumentiran u vrijeme izrade, s generiranim SDK-ovima, CLI-jem, pružateljem usluga za Terraform, potpisanim webhookovima i MCP poslužiteljem povrh toga. Što god koristili za rad — terminal, cjevovod, datoteku stanja ili AI agenta — platforma na to odgovara.

Krajnja točka API-ja koja isporučuje potpisane događaje nekolicini pretplaćenih slušatelja.
  • 700.000+web-mjesta smještena diljem svijeta
  • 1Specifikacija OpenAPI iz koje se generira svaki alat
  • 4klijentski SDK-ovi — TypeScript, Python, PHP, Go
  • OAuth 2.1ograničen, opoziv pristup AI agenta

Jedan API. Svako se sučelje oslanja na njega.

Većina pružatelja usluga hostinga naknadno dodaje API na upravljačku ploču, što je i vidljivo — polovica značajki ploče nikada se ne ostvari. Mi smo gradili u suprotnom smjeru. Nadzorna ploča, administratorska konzola, CLI, pružatelj usluga Terraform, poslužitelj MCP i Vaše vlastite integracije koriste isti API jezgre. Ako to možete učiniti na ploči, možete to učiniti i u kodu.

Prvo specifikacija, a ne naknadno dokumentirano

Specifikacija OpenAPI izvor je istine i nijedna se krajnja točka ne isporučuje ako se ne nalazi u specifikaciji. To jedino pravilo omogućuje da javni API bude u potpunosti dokumentiran već u trenutku izgradnje, a ne naknadno — nema nedokumentiranih dijelova jer nedokumentirana krajnja točka jednostavno ne može postojati.

Generirano, nikada ručno održavano

Interaktivna referentna dokumentacija, četiri klijentska SDK-a, veći dio CLI-ja i predložak za Terraform pružatelja usluga generiraju se iz te jedne specifikacije. Jedan izvor, mnogo artefakata, uvijek usklađeni — nikada ne morate loviti dokumentaciju koja se udaljila od implementacije.

Verzionirano s pravilima o ukidanju podrške

Krajnje točke nalaze se pod /v1 s objavljenim pravilima o zastarijevanju i zapisnikom promjena. O promjenama ćete biti obaviješteni pisanim putem prije nego što se dogode, umjesto da ih otkrijete putem neuspjelog međuverziranja.

Testirano prema ugovoru u CI-ju

Ugovorni testovi usklađenosti implementacije sa specifikacijom i OpenAPI provjera sintakse izvode se pri svakoj promjeni. Odstupanje između koda i ugovora prekida izgradnju — tako da je specifikacija iz koje generirate klijenta doista ona koju poslužitelj poštuje.

Autentifikacija, definiranje opsega i zamke pri skaliranju

Dva načina pristupa, jedno jedinstveno načelo iza njih. Koji god koristili, primjenjuju se iste provjere dopuštenja i ista izolacija na razini baze podataka.

API ključevi, po organizaciji

Ključevi izgledaju poput zdk_<mode>_<prefix>_<secret>. Pohranjuje se samo SHA-256 sažetak tajne — ne možemo vam ponovno prikazati ključ nakon izdavanja, a to ne može ni bilo tko tko pristupi našoj bazi podataka. Ključevi imaju opsege, mogu se opozvati i izdaju se po organizaciji, a ne po osobi.

Produkcijski i testni način rada, odvojeni

Sandbox ključevi odvojeni su od produkcijskih ključeva i rade u sandbox načinu rada: bez stvarne naplate, bez stvarnog dodjeljivanja resursa. Vaši integracijski testovi mogu intenzivno opteretiti API bez trošenja novca ili izrade poslužitelja.

OIDC za ljude

Korisničke se sesije autentificiraju pomoću JWT-ova koje izdaje Keycloak, provjeravaju se putem javnog ključa domene (realm) te razrješavaju na isti objekt Principal kao i API ključ. Krajnje točke zaštićene su detaljnim ključevima dopuštenja kao što su sites.create ili apikeys.manage, koji se provjeravaju po organizaciji — dopuštenje u jednoj organizaciji ne daje pristup u zasebnoj, nepovezanoj organizaciji, iako se primjenjuje na organizacije ugniježđene ispod nje.

Sigurnost na razini retka ispod

Svaki zahtjev zakupca izvodi se u transakciji s opsegom organizacije Postgres postavljenim iz glavnog entiteta, tako da izolaciju provodi baza podataka, a ne filtar ORM-a koji bi netko mogao zaboraviti. Filtar queryseta i dalje je prisutan kao dubinska obrana.

Izrađeno za strojeve, ne samo za demonstracije

Lako je učiniti da API izgleda dobro u datoteci README, no teško je postići da se ponaša pouzdano pod stvarnim prometom. To su dijelovi oko kojih smo se najviše trudili, jer upravo oni ruše integracije u tri ujutro.

Jedan detalj vrijedan spomena, jer oblikuje način na koji skupni rad funkcionira: pogreška 409 kod duplicirane domene odgovara na pitanje „gosti li se ovo ime računala ovdje?” za bilo kojeg zakupca, što predstavlja orakelj nabrajanja i stvaran rizik od deanonomizacije za Footprint-Free. Ograničavanje stvaranja web-mjesta bilo bi površno rješenje i potpuno bi onemogućilo proizvod za skupno dodjeljivanje resursa. Umjesto toga, samo se odbijeni pokušaji s dupliciranom domenom uračunavaju u kvotu, po entitetu. Uspješna stvaranja se nikada ne naplaćuju — stoga možete vršiti skupno dodjeljivanje cijeli dan, dok sondiranje prestaje gotovo odmah.

  • Dosljedna omotnica pogreške pri svakom neuspjehu: kôd, razumljiva poruka, neobavezni detalji na razini polja i request_id koji možete navesti podršci. Pogreške pri provjeri valjanosti vraćaju 422 s navedenim spornim poljima.
  • Idempotentni ključevi pri POST-u, sa zapisom o ponovnom pokretanju koji se zapisuje pri potvrđivanju (commit), a ne unutar linije — tako da ponovni pokušaj nikada ne može reproducirati predmemorirani 201 koji navodi redak koji nikada nije potvrđen. Neuspjeli zahtjev odmah oslobađa svoje trenutačno zaključavanje, tako da 422 ne blokira Vaš ispravljeni ponovni pokušaj.
  • Paginacija kursorom kao skup ključeva preko UUIDv7 — stabilna pri istodobnim zapisima, bez pomaka stranica pri umetanju redaka usred skeniranja.
  • RateLimit-Remaining u odgovorima, tako da generirani klijent može inteligentno usporiti umjesto nagađanja.
  • Resursi izvan opsega vraćaju 404 umjesto 403 — 403 bi potvrdio postojanje resursa. Filtriranje prema organizaciji izvan vašeg opsega vraća praznu stranicu iz istog razloga.
  • Stvaranje web-mjesta je registracija, a ne dodjela resursa: POST /v1/sites vraća 201 sa statusom pending i nikada ne blokira izgradnju. Događaj se zapisuje u transactional outbox u istoj transakciji kao i redak, tako da web-mjesto postoji samo i isključivo ako je zajamčeno zatražena njegova dodjela resursa.

SDK-ovi, CLI i Terraform pružatelj usluga

Tri korisnika iste specifikacije, za tri različita načina rada.

Klijentski SDK-ovi

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

Zinnector®, CLI

Izradite strukturu web-mjesta u sustavu WordPress, pokrenite ga lokalno uz instaliran samo Node i implementirajte ga. Zinnector® unaprijed provjerava Vaš projekt u odnosu na utor u koji ga namjeravate implementirati — verziju softvera PHP, disk, broj datoteka — i upozorava prije slanja (push), a ne nakon njega. Također se prijavljuje, ispisuje web-mjesta, implementira, upravlja domenama i DNS-om, čita usluge e-pošte, stvara sigurnosne kopije, pokreće dopuštene naredbe za WP-CLI, prati zapise i pokreće masovne radnje. Besplatno, s licencom MIT i izgrađeno na ovom istom javnom API-ju.

Pružatelj usluge Terraform

Upravljajte web-mjestima, domenama, DNS zapisima, poštanskim sandučićima i pretplatama kao infrastrukturom kao kodom. terraform apply postavlja 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 — jer oboje proizlazi iz iste specifikacije.

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

Iza platforme stoji izdržljiva okosnica događaja: svaka promjena stanja atomski s promjenom baze podataka zapisuje događaj u transakcijski pretinac za slanje u Postgresu, a relej ga objavljuje u NATS JetStream. Događaji su tipizirani i verzionirani — 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 jednako napaja obavijesti, analitiku, automatizacije i vašu integraciju — koristite iste događaje kao i mi.

Potpisano s HMAC

Svaka je isporuka potpisana HMAC-om kako biste mogli provjeriti da potječe od nas prije nego što poduzmete radnju.

Pokušano ponovno s odgodom i zabilježeno

Neuspjele isporuke ponovno se pokušavaju uz odgodu i svaki se pokušaj bilježi kao WebhookDelivery. Možete pregledati i ponovno pokrenuti isporuke s nadzorne ploče umjesto da šaljete e-poruku podršci s upitom što smo poslali.

Barem jednom, stoga uklonite duplikate prema id-u

Cjevovod namjerno funkcionira po načelu „barem jednom“, umjesto da se pretvara da radi „točno jednom“. Prijenosnik koji prestane s radom usred objavljivanja gubi zakup prava i njegovi se događaji ponovno objavljuju. Uklonite duplikate na temelju identifikatora omotnice i Vaš će primatelj biti ispravan po samoj svojoj konstrukciji.

Prijenos koda na web-mjesto

API je samo pola priče o programeru. Druga polovica je isporuka.

  • Povežite GitHub, GitLab ili Bitbucket putem OAuth-a, pri čemu se ključevi za implementaciju čuvaju u spremištu vjerodajnica — a ne u konfiguracijskoj datoteci.
  • Push pokreće cjevovod za izgradnju i implementaciju, uz mapiranje grane u okruženje (main u production, staging u staging) i korake izgradnje po stogu za composer i npm.
  • Vratite se na prethodno izdanje kada implementacija pođe po zlu.
  • Kloniranje u testno okruženje i prijenos u stvarno okruženje, kako bi se promjena provjerila na stvarnom mjestu prije nego što stigne do posjetitelja.
  • SFTP po web-mjestu pod CageFS izolacijom, tako da svaki korisnik vidi samo svoje datoteke, uz ograničenu (jailed) SSH ljusku na dijeljenoj platformi.
  • wp-cli iz terminala upravljačke ploče i putem SSH-a.
  • VS Code u pregledniku putem code-servera — cjelovit uređivač s alatom git koji izravno uređuje datoteke web-mjesta.
  • Verzija PHP-a po web-mjestu, postavke PHP-a koje se mogu uređivati, proširenja po web-mjestu, varijable okruženja i stvarni cron uz WP-cron.

Četiri načina rada na web-mjestu

API predstavlja jedna vrata. Ovo su ostala četiri, a svaka od njih uključena su u tarifu umjesto da se prodaju kao razina za razvojne programere.

Web uređivač

VS Code u pregledniku, otvoren sa stranice web-mjesta na upravljačkoj ploči, koji uređuje stvarne datoteke tog web-mjesta s ugrađenim alatom git i cijelim uređivačem unutar istog CageFS zatvora (jail) kao i Vaš SFTP pristup. On uređuje web-mjesto UŽIVO — između nema pripremne (staging) kopije, stoga je datoteka koju spremite javna onog trenutka kada je zapisana, iako se statička datoteka može nastaviti posluživati iz CDN predmemorije do četiri sata.

Zinnector®, CLI

Besplatno, pod licencom MIT i izgrađeno na istom javnom API-ju. Izradite strukturu web-mjesta WordPress, pokrenite ga na vlastitom računalu, obavite prethodnu provjeru u odnosu na utor na koji ga namjeravate implementirati — verzija PHP-a, disk, broj datoteka — i implementirajte ga. Zahtijeva Node 24 ili noviji.

MCP poslužitelj

Jedinstveni katalog alata, kako bi AI klijent kojeg već koristite mogao raditi na vašim web-mjestima putem istog API-ja i istih dozvola koje koristi nadzorna ploča. Isti poslužitelj s kojim se povezuje vaš vlastiti klijent jest onaj koji je povezan s web-uređivačem. Samo za čitanje dok ne odredite drugačije.

Pristup za razvojne programere po web-mjestu

Rad za klijente ne zahtijeva Vašu lozinku. Pozovite nekoga putem adrese e-pošte i dobit će točno jedno web-mjesto: prijavljuju se kao svoji korisnici, s ulogom pregledatelja, urednika ili upravitelja, a svako drugo web-mjesto odgovara s 404 prije nego što se pokrene bilo koji rukovatelj — sigurnosna pravila na razini redaka u Postgresu i ograda na razini zahtjeva, a ne jedna provjera. Vlasnik računa to odobrava i opoziva jednim klikom, što stupa na snagu pri njihovu sljedećem zahtjevu.

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

Platformu izlažemo kao hostirani MCP poslužitelj: tanki prilagodnik protokola preko API-ja pogona koji ponovno koristi identičan katalog radnji, RBAC i revizijski trag. Povežite Claude Code, Cursor, ChatGPT, Claude Desktop ili bilo kojeg klijenta koji podržava MCP jednom i svaka mogućnost koju dodamo u API automatski mu postaje dostupna.

Agent dobiva tri stvari: Alate (iste krajnje točke API-ja, bez paralelne logike koja bi se razilazila), Resurse (stanje web-mjesta samo za čitanje, konfiguraciju, nedavne zapise, mjerne podatke, vrijeme neprekidnog rada i članke baze znanja, kako bi postavio dijagnozu sa stvarnim podacima prije poduzimanja radnji) i Upite (objavljene predloške tijeka rada kao što su „dijagnosticirajte ovo web-mjesto“ ili „pripremite migraciju“).

Sigurnost slijedi istu logiku kao i autentifikacija: OAuth 2.1, tokeni vezani uz vašu organizaciju i RBAC dozvole s primijenjenom sigurnošću na razini retka, ograničenog opsega i opozivi po alatu, uz sandbox odvojen od produkcije. Destruktivne radnje — brisanje, obustava, naplata, velika potrošnja — zahtijevaju izričitu potvrdu ili pravilo ljudskog odobrenja. Ograničenja stope i gornje granice potrošnje ograničavaju plaćene radnje koje pokreće AI, a svaki MCP poziv bilježi se u revizijski zapisnik s identitetom, alatom, argumentima i rezultatom.

Podržavamo protokol umjesto integriranja svake aplikacije pojedinačno, što znači da se Vaš odabir AI alata može promijeniti bez promjene Vaše integracije hostinga.

Često postavljana pitanja

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

Da — to je isti API pogona, objavljen i osnažen. Upravljačka ploča, administratorska konzola, CLI, Terraform pružatelj usluga, MCP poslužitelj i webhookovi korisnici su iste površine, zbog čega API ne zaostaje za pločom.

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

Da. Sandbox ključevi izdaju se odvojeno od produkcijskih ključeva i rade u testnom načinu rada: nema stvarne naplate i nema stvarnog omogućavanja resursa. Usmjerite svoj CI na vjerodajnice za sandbox i sigurno testirajte cijeli ciklus zahtjeva i odgovora.

Kako mogu spriječiti da ponovni pokušaj stvori dva primjerka nečega?

Pošaljite Idempotency-Key u svom POST zahtjevu. Zapis ponavljanja zapisuje se prilikom commit radnje, a ne inline, tako da ponovni pokušaj nikada ne može ponoviti predmemorirani uspjeh za redak koji zapravo nije potvrđen, a zahtjev koji ne uspije odmah oslobađa svoje zaključavanje kako vaš ispravljeni ponovni pokušaj ne bi bio zadržan. Isporuka webhooka prema dizajnu je barem jednom (at-least-once) — uklonite duplikate na temelju parametra envelope id na svojoj strani.

Mogu li jednom API ključu dodijeliti pristup svim organizacijama svojih klijenata?

Ne danas. API ključevi izdaju se po organizaciji, stoga integracija koja obuhvaća nekoliko organizacija klijenata ima ključ za svaku od njih. Dozvole se također provjeravaju po organizaciji za korisničke entitete: posjedovanje sites.create u jednoj organizaciji ne daje nikakav pristup u zasebnoj, nepovezanoj organizaciji, iako se primjenjuje na organizacije ugniježđene ispod nje. To je namjerno — time se kompromitirani ključ ograničava na vlastitu organizaciju i podorganizacije ispod nje, a ne na cijelu platformu.

Što ugrađena uloga Razvojnog programera zapravo dopušta?

Uloga dev obuhvaća čitanje podataka organizacije, upravljanje API ključevima, pregled i stvaranje web-mjesta, njihovo ponovno pokretanje, brisanje njihove predmemorije te pregledavanje i odgovaranje na tikete. Namjerno isključuje kontrolu naplate. Imajte na umu da dozvole za implementaciju i push-to-live nisu njezin dio — ako su članu tima potrebne, dodijelite mu ulogu koja ih sadrži umjesto da pretpostavljate da je Developer najšira tehnička uloga.

Što se događa s mojim webhookovima ako moja krajnja točka prestane raditi na sat vremena?

Isporuke se ponovno pokušavaju uz postupno odgađanje (backoff) i svaki se pokušaj bilježi kao WebhookDelivery koji možete pregledati. Uzvodno, događaji se zapisuju u transakcijski pretinac za slanje (transactional outbox) u istoj transakciji baze podataka kao i sama promjena, tako da se ništa ne gubi dok je potrošač nedostupan — potrošač koji ne radi samo zaostaje, nikada ne prekida proizvođača, a isporuke možete ponovno pokrenuti s nadzorne ploče čim se vratite.

Koliko košta početak razvoja s njime?

Započnite s 14-dnevnim probnim razdobljem za Footprint-Free hosting bez kreditne kartice — bez podataka o plaćanju, do 5 web-mjesta. Plaćeni Footprint-Free paketi počinju od 6 USD mjesečno za PBN 5. Svaki plan uključuje 30-dnevno jamstvo povrata novca, besplatne migracije i bez vezivanja za jednog pružatelja usluga.

Pročitajte specifikaciju, a zatim gradite prema njoj

Spec-first API, generirani SDK-ovi, CLI, Terraform davatelj usluga, potpisani webhookovi i MCP poslužitelj — na hostingu koji smo izgradili za više od 700 000 web-mjesta diljem svijeta. Započnite s besplatnim probnim razdobljem od 14 dana bez kartice i bez pojedinosti o plaćanju.

Započnite besplatno

WordPress dodaci s kojima vaš AI agent može raditi

Svaki od ovih dodataka pretvara vašu WordPress stranicu u MCP poslužitelj, tako da Claude, Cursor, VS Code i drugi AI asistenti mogu obavljati stvarne zadatke na njoj, prijavljeni kao vi i ograničeni na ono što vam je dopušteno.

Sva MCP i API dokumentacija za programere →