Kwa watengenezaji programu

Hosting unayoweza kuiendesha kutoka kwenye msimbo

Zinn Digital® ni jukwaa la API-kwanza. Injini ile ile ya API inayowezesha dashibodi yetu ndiyo unayopata — yenye matoleo, maalum kwanza na iliyoandikwa 100% wakati wa kujenga, ikiwa na SDK zilizozalishwa, CLI, mtoa huduma wa Terraform, webhook zilizotiwa saini na seva ya MCP juu yake. Chochote unachotumia kufanya kazi — kituo, bomba, faili ya hali au wakala wa AI — jukwaa linajibu.

  • 650,000+tovuti zinazokaribishwa duniani kote
  • 1Maelezo ya OpenAPI kila zana inatolewa kutoka kwayo
  • 4SDK za wateja — TypeScript, Python, PHP, Go
  • OAuth 2.1ufikiaji wa wakala wa AI unaoweza kupunguzwa na kubatilishwa

API Moja. Kila uso unaiendesha.

Watoa huduma wengi huongeza API kwenye kidhibiti baada ya kila kitu kukamilika, na hilo linaonekana wazi — nusu ya vipengele vya kidhibiti hazitoki nje. Sisi tulijenga kwa mtindo tofauti. Dashibodi, koni ya msimamizi, CLI, kitoa huduma cha Terraform, seva ya MCP na miunganisho yako mwenyewe zote zinatumia API ileile ya injini. Ikiwa unaweza kufanya hivyo kwenye kidhibiti, unaweza pia kufanya hivyo kupitia msimbo.

Uainishaji kwanza, sio nyaraka baadaye

Maelezo ya OpenAPI ndiyo chanzo cha ukweli, na hakuna mwisho wa huduma unaotolewa isipokuwa uwe ndani ya maelezo hayo. Sheria hiyo moja ndiyo inayofanya API ya umma iwe na nyaraka kamili wakati wa kujenga badala ya baadaye — hakuna kona isiyo na nyaraka, kwa sababu mwisho wa huduma usio na nyaraka hauwezi kuwepo.

Imeundwa, haitunzwi kwa mikono

Hati za marejeleo shirikishi, SDK za wateja wanne, sehemu kubwa ya CLI na mfumo wa Terraform zinazalishwa kutoka kwa maelezo hayo moja. Chanzo kimoja, matokeo mengi, yanayosawazishwa kila wakati — huhitaji kamwe kukimbiza hati iliyotofautiana na utekelezaji.

Imetolewa toleo lenye sera ya kusitishwa kwa matumizi yake

Vituo vya mwisho viko chini ya /v1 ikiwa na sera iliyochapishwa ya kustaafishwa na daftari la mabadiliko. Unaarifiwa kabla ya kitu chochote kubadilika, kwa maandishi, badala ya kugundua hilo kupitia muundo ulioshindwa.

Imepimwa mkataba kwenye CI

Vipimo vya mkataba wa utekelezaji dhidi ya vipimo na ukaguzi wa OpenAPI huendeshwa kwa kila mabadiliko. Kutofautiana kati ya msimbo na mkataba kunafanya ujenzi ushindwe — kwa hiyo, vipimo unavyozalishia mteja wako ndivyo vipimo ambavyo seva huviheshimu kwa asilimia.

Uthibitisho, upangaji wa wigo na mambo yanayouuma kwa kiwango kikubwa

Njia mbili za kuingia, kanuni moja thabiti nyuma yao. Chochote utakachotumia, ukaguzi uleule wa ruhusa na utengaji uleule wa kiwango cha hifadhidata unatumika.

Funguo za API, kwa kila shirika

Vifunguo vinaonekana kama zdk_<mode>_<prefix>_<secret>. Ni heshi ya SHA-256 pekee ya siri hiyo inayohifadhiwa — hatuwezi kukuonyesha ufunguo tena baada ya kutolewa, na wala mtu yeyote anayefikia hifadhidata yetu hawezi kufanya hivyo. Vifunguo vina viwango vya ufikiaji, vinaweza kubatilishwa, na vinatolewa kwa kila shirika badala ya kwa kila mtu.

Hali ya moja kwa moja na ya majaribio, ikiwa imetengwa

Funguo za sandbox ni tofauti na funguo za uzalishaji na zinafanya kazi katika hali ya sandbox: hakuna utozaji halisi, hakuna utoaji halisi. Majaribio yako ya muunganisho yanaweza kutumia API bila kutumia pesa au kujenga seva.

OIDC kwa binadamu

Vikao vya mtumiaji vinajithibitisha kwa JWT zilizotolewa na Keycloak, zinazothibitishwa dhidi ya ufunguo wa umma wa kikoa, na kutatuliwa kuwa kitu kile kile cha Principal kinachofanywa na ufunguo wa API. Vituo vya mwisho vinadhibiti ufikiaji kwa funguo za ruhusa za kina kama vile sites.create au apikeys.manage, zinazokaguliwa kwa kila shirika — ruhusa katika shirika moja haitoi ufikiaji katika shirika lingine tofauti lisilohusiana, ingawa inatumika kwa mashirika yaliyo chini yake.

Usalama wa kiwango cha safu chini

Kila ombi la mpangaji huendeshwa katika miamala ambapo wigo wa shirika la Postgres umewekwa kutoka kwa mhusika mkuu, kwa hiyo utengaji unatekelezwa na hifadhidata, wala si kwa kichujio cha ORM ambacho mtu anaweza kusahau. Kichujio cha queryset bado kipo kama safu ya ulinzi ya ziada.

Imejengwa kwa ajili ya mashine, sio kwa ajili ya maonyesho tu

API ni rahisi kuonekana nzuri katika README na ni ngumu kuifanya ifanye kazi vizuri chini ya trafiki halisi. Hizi ndizo sehemu tulizozitolea jasho, kwa sababu ndizo sehemu zinazovunja miunganisho saa tisa usiku.

Jambo moja linastahili kutajwa, kwa sababu linaathiri jinsi kazi ya jumla inavyofanya kazi: jibu la 409 kuhusu kikoa kilichorudiwa huuliza "je, jina hili la mwenyeji linakaribishwa hapa?" kwa mpangaji yeyote, ambalo ni fursa ya uorodheshaji na hatari halisi ya kufichua utambulisho dhidi ya Footprint-Free. Kupunguza kasi ya uundaji wa tovuti kungekuwa suluhisho la ovyo na kungeharibu kabisa bidhaa ya utoaji wa jumla. Badala yake, majaribio ya vikoa vilivyokataliwa vilivyorudiwa pekee ndiyo yanayowekewa kikomo, kwa kila mkuu. Uundaji uliofanikiwa hauwtozwi kamwe dhidi yake — kwa hivyo unaweza kutoa kwa wingi siku nzima, na uchunguzi unakufa mara moja.

  • Hitilafu inayofanana katika kila kushindwa: nambari, ujumbe wa kibinadamu, maelezo ya hiari ya kiwango cha uga na request_id ambayo unaweza kutaja kwa usaidizi. Hitilafu za uthibitishaji hurudisha 422 huku kukiwa na uga husika uliotajwa.
  • Vifunguo vya idempotency kwenye POST, na rekodi ya kurudia ikiandikwa wakati wa kuthibitisha (commit) badala ya kufanywa mara moja — ili jaribio lingine lisirudie kamwe nambari 201 iliyohifadhiwa ambayo inataja safu ambayo haikuthibitishwa kamwe. Ombi lililoshindwa hutoa kufuli yake inayotumika mara moja, kwa hivyo hitilafu ya 422 haifungi jaribio lako lililosahihishwa.
  • Ukurasa wa kielekezi kama ufunguo kwenye UUIDv7 — thabiti wakati wa uandishi wa wakati mmoja, bila mchepuko wa ukurasa wakati safu wima zinapoingizwa katikati ya skrini.
  • RateLimit-Remaining kwenye majibu, ili mteja anayezalishwa aweze kusubiri kwa akili badala ya kukisia.
  • Rasilimali ambazo ziko nje ya uwezo wako hurejesha 404 badala ya 403 — 403 ingethibitisha kuwa rasilimali hiyo ipo. Kuchuja kwa kutumia shirika ambalo liko nje ya uwezo wako hurejesha ukurasa mtupu kwa sababu hiyo hiyo.
  • Uundaji wa tovuti ni usajili, si utoaji: POST /v1/sites inarudisha 201 ikiwa na hali ya kusubiri na haizuizi kamwe wakati wa ujenzi. Tukio hili linaandikwa kwenye outbox ya miamala katika amri hiyo hiyo ya muamala na safu mlalo, kwa hiyo tovuti ipo ikiwa tu na kwa sababu utoaji wake umehakikishwa kuombwa.

SDKs, CLI na mtoa huduma wa Terraform

Watumiaji watatu wa vipimo vile vile, kwa ajili ya njia tatu tofauti za kufanya kazi.

SDK za Wateja

Imetolewa kwa ajili ya TypeScript, Python, PHP na Go, ikifuata maelezo ili mwisho mpya ufike katika lugha yako bila kusubiri kiambata kilichoandikwa kwa mkono.

Zinnector®, CLI

Tengeneza tovuti ya WordPress, iendeshe ndani kwa ndani bila kitu chochote kilichosakinishwa isipokuwa Node, kisha uipeleke mtandaoni. Zinnector® hukagua mradi wako kabla ya kuuhamishia kwenye eneo utakaloliweka mtandaoni — toleo la PHP, hifadhi, idadi ya faili — na kuonya kabla hujatuma badala ya baada ya hapo. Pia inaingia kwenye akaunti, inaorodhesha tovuti, inapeleka mtandaoni, inasimamia vikoa na DNS, inasoma huduma za barua pepe, inachukua nakala rudufu, inaendesha WP-CLI iliyoidhinishwa, inafuatilia kumbukumbu (logs) na kuendesha shughuli za mkupuo. Bure, yenye leseni ya MIT, na imejengwa kwenye API hii hii ya umma.

Mtoa huduma wa Terraform

Dhibiti tovuti, vikoa, rekodi za DNS, sanduku za barua na mipango kama miundombinu kama msimbo. terraform apply inatayarisha upangishaji, na mazingira yako yanakuwa ya kurudiwa na kukaguhika badala ya mfuatano wa mibofyo ambayo hakuna mtu aliyeandika.

Rejeleo shirikishi

Hati miliki zinazoweza kusomwa na kuitwa kutoka kwenye kivinjari, zikielezea kwa usahihi sehemu za mwisho ambazo seva inatekeleza — kwa sababu zote zinatoka kwenye maelezo yale yale.

Webhooks zinazoendelea kufanya kazi hata wakati mwisho wako wa huduma umekufa

Nyuma ya jukwaa kuna mfumo thabiti wa matukio: kila mabadiliko ya hali huandika tukio kwenye sanduku la kutokea la muamala katika Postgres, kwa pamoja na mabadiliko ya hifadhidata, na relay hulichapisha kwenye NATS JetStream. Matukio yana aina na matoleo — site.deployed, order.paid, invoice.overdue, backup.completed, abuse.flagged, trial.ending na mengine yote.

Jiandikishe kwa kile unachokijali

Sajili kituo cha mwisho kama WebhookSubscription na uchague aina za matukio inazopokea. Mtiririko mmoja hutoa arifa, takwimu, otomatiki na muunganisho wako sawia — unatumia matukio yale yale tunayotumia sisi.

Imesainiwa kwa HMAC

Kila uwasilishaji umetiwa saini ya HMAC ili uweze kuthibitisha kuwa ulitoka kwetu kabla ya kuufanyia kazi.

Imejaribiwa tena kwa kucheleweshwa, na imerekodiwa

Utoaji ulioshindwa hujaribiwa tena kwa kuongeza muda hatua kwa hatua na kila jaribio hurekodiwa kama WebhookDelivery. Unaweza kukagua na kurudia utoaji kutoka kwenye dashibodi badala ya kutuma barua pepe kwa usaidizi ukiuliza tulichotuma.

Angalau mara moja, kwa hivyo fanya uthibitishaji wa nakala kwenye id

Mtiririko huu kwa makusudi ni wa angalau mara moja badala ya kujifanya kuwa ni mara moja tu. Kipeperushi kinachokufa katikati ya kuchapisha kina muda wake wa kukodisha madai kuisha na matukio yake kuchapishwa tena. Fanya upunguzaji kwenye kitambulisho cha bahasha na mtumiaji wako atakuwa sahihi kwa muundo.

Kuleta msimbo kwenye tovuti

API ni nusu tu ya hadithi ya mtayar programu. Nusu nyingine ni usambazaji.

  • Unganisha GitHub, GitLab au Bitbucket kupitia OAuth, ukiwa na funguo za kielezo zilizohifadhiwa kwenye ghala la vitambulisho — sio kwenye faili ya usanidi.
  • Push inasababisha mchakato wa kujenga na kupeleka mtandaoni, ikiwa na ramani ya tawi hadi mazingira (main kwenda production, staging kwenda staging) na hatua za kujenga kwa kila rundo kwa ajili ya composer na npm.
  • Rudi kwenye toleo la awali wakati usambazaji unapokwenda vibaya.
  • Nakala ya jukwaa la majaribio (staging clone) na usukuma wa moja kwa moja (push-to-live), ili mabadiko yathibitishwe mahali halisi kabla ya kuwafikia wageni.
  • SSH, SFTP na FTP vilivyofungwa kwa kila tovuti chini ya utengaji wa CageFS, ili kila mpangaji aone faili zake pekee.
  • wp-cli kupitia terminal ya jopo na kupitia SSH.
  • VS Code kwenye kivinjari kupitia code-server — kihariri kamili chenye viendelezi, kituo jumuishi na git, kinachohariri faili za tovuti moja kwa moja.
  • Toleo la PHP la kila tovuti, mipangilio ya PHP inayoweza kubadilishwa, viendelezi vya kila tovuti, vigezo vya mazingira na cron halisi pamoja na WP-cron.

Na API ile ile ambayo wakala wako wa AI anaweza kutumia

Tunatoa jukwaa hili kama seva ya MCP inayopangishwa: adapta nyembamba ya itifaki juu ya API ya injini inayotumia tena orodha ileile ya vitendo, RBAC na njia ya ukaguzi. Unganisha Claude Code, Cursor, ChatGPT, Claude Desktop au mteja yeyote anayeweza kutumia MCP mara moja, na kila uwezo tunaouongeza kwenye API utapatikana kwake moja kwa moja.

Wakala hupata mambo matatu: Zana (vituo vya mwisho vya API vile vile, hakuna mantiki sambamba ya kupotea), Rasilimali (afya ya tovuti ya kusoma pekee, usanidi, kumbukumbu za hivi karibuni, vipimo, muda wa kufanya kazi na makala za KB, ili achunguze kwa kutumia data halisi kabla ya kuchukua hatua) na Maongozi (templates za mtiririko wa kazi zilizochapishwa kama vile "chunguza tovuti hii" au "andaa uhamiaji").

Usalama ni sawa na uthibitishaji: OAuth 2.1, ishara zilizounganishwa na shirika lako na ruhusa za RBAC zenye usalama wa kiwango cha safu uliotekelezwa, uliowekewa mipaka na unaoweza kubatilishwa kwa kila zana, mazingira ya majaribio (sandbox) yaliyotengwa na ya uzalishaji. Vitendo vya uharibifu — kufuta, kusimamisha, malipo, matumizi makubwa — vinahitaji uthibitisho wa wazi au sera ya idhini ya kibinadamu. Vikomo vya viwango na vikomo vya matumizi vinafunga vitendo vinavyolipishwa vinavyosababishwa na AI, na kila simu ya MCP inasajiliwa kwa ukaguzi pamoja na utambulisho, zana, hoja na matokeo.

Tunasaidia itifaki badala ya kuunganisha kila programu moja baada ya nyingine, jambo ambalo linamaanisha kuwa chaguo lako la zana za AI linaweza kubadilika bila ujumuishaji wako wa ukaribishaji kubadilika pamoja nalo.

Maswali Yanayoulizwa Mara kwa Mara

Je, API ya umma ni ile ile inayotumiwa na dashibodi?

Ndiyo — ni API ya injini ile ile, iliyochapishwa na kuimarishwa. Dashibodi, konsole ya msimamizi, CLI, mtoa huduma wa Terraform, seva ya MCP na webhooks zote ni watumiaji wa eneo moja, ndiyo maana API haiko nyuma ya paneli.

Ninaweza kupima muunganisho bila kutumia pesa au kuunda seva halisi?

Ndiyo. Funguo za mazingira ya majaribio hutolewa kando na funguo za uzalishaji na hufanya kazi katika hali ya jaribio: hakuna utozaji halisi na hakuna utoaji wa rasilimali halisi. Elekeza CI yako kwenye vitambulisho vya mazingira ya majaribio na ujaribu mzunguko kamili wa maombi na majibu kwa usalama.

Ninawezaje kuzuia jaribio jipya lisiunde nakala mbili za kitu kimoja?

Tuma Idempotency-Key kwenye ombi lako la POST. Rekodi ya kurudia huandikwa wakati wa kuthibitisha (commit) badala ya kuwa ya moja kwa moja, kwa hiyo jaribio lingine haliwezi kurudia mafanikio yaliyohifadhiwa kwenye akiba kwa ajili ya safu ambayo haikuthibitishwa kweli, na ombi ambalo limeshindwa huachilia kufuli yake mara moja ili jaribio lako lililosahihishwa lisicheleweshwe. Uwasilishaji wa Webhook ni wa angalau mara moja kwa muundo — toa marudio kwa kutumia kitambulisho cha bahasha upande wako.

Je, ninaweza kutoa ufunguo mmoja wa API ufikiaji wa mashirika yangu yote ya wateja?

Si leo. Funguo za API hutolewa kwa kila shirika, kwa hivyo muunganisho unaohusisha mashirika kadhaa ya wateja huwa na ufunguo kwa kila moja. Ruhusa pia hukaguliwa kwa kila shirika kwa wakuu wa watumiaji: kushikilia sites.create katika shirika moja hakutoi ufikiaji katika shirika tofauti lisilohusiana, ingawa inatumika kwa mashirika yaliyo chini ya hilo. Hilo limekusudiwa — linaweka ufunguo uliovamiwa katika shirika lake mwenyewe na mashirika madogo yaliyo chini yake, sio jukwaa zima.

Je, jukumu la Msanidi Programu lililojengewa ndani linaruhusu nini hasa?

Jukumu la msanidi programu linajumuisha usomaji wa shirika, usimamizi wa ufunguo wa API, kutazama na kuunda tovuti, kuzianzisha upya, kusafisha kache yao, na kutazama na kujibu tiketi. Linaondoa kwa makusudi udhibiti wa malipo. Kumbuka kuwa ruhusa za kupeleka na kusukuma moja kwa moja moja kwa moja si sehemu yake — ikiwa mwanachama wa timu anazihitaji, mpe jukumu lenye ruhusa hizo badala ya kudhani kuwa Msanidi Programu ndilo jukumu pana zaidi la kiufundi.

Nini hutokea kwa webhooks zangu ikiwa kituo changu cha mwisho kitazimwa kwa saa moja?

Uwasilishaji unajaribiwa tena kwa kuongeza muda polepole na kila jaribio linarekodiwa kama WebhookDelivery unayoweza kuichunguza. Upande wa juu, matukio yanaandikwa kwenye outbox ya muamala katika muamala uleule wa hifadhidata kama mabadiliko yenyewe, kwa hivyo hakuna kinachopotea wakati mtumiaji hana upatikanaji — mtumiaji asiye na kazi anachelewa, havunji kamwe mtayarishaji, na unaweza kurudia uwasilishaji kutoka kwenye dashibodi pindi utakapoupatikana tena.

Inachigharimu kiasi gani kuanza kujenga dhidi yake?

Anza majaribio ya siku 14 ya Footprint-Free Hosting bila kadi ya mkopo — hakuna maelezo ya malipo yanayohitajika, hadi tovuti 5. Viwango vya kulipia vya Footprint-Free huanzia $6 kwa mwezi kwa ajili ya PBN 5. Kila mpango una dhamana ya kurejeshewa pesa ndani ya siku 30, uhamiaji wa bure na hakuna kifungo cha mtoa huduma.

Soma maelezo ya kiufundi, kisha ujenge kulingana nayo

API inayotanguliza vipimo, SDK zilizozalishwa, CLI, mtoa huduma wa Terraform, webhooks zilizotiwa saini na seva ya MCP — kwenye mwenyeji tuliojenga kwa ajili ya tovuti zaidi ya 650,000 duniani kote. Anza jaribio la siku 14 bila kadi, bila maelezo ya malipo.

Anza bure