Kwa watengenezaji

Upangishaji unaoweza kuuendesha kwa kutumia msimbo

Zinn Digital® ni jukwaa la API-first. Injini ileile ya API inayowezesha dashibodi yetu ndiyo unayopokea — yenye matoleo, inayotanguliza ubainishaji na iliyo na nyaraka kwa 100% wakati wa uundaji, ikiwa na SDK zilizozalishwa, CLI, mtoa huduma wa Terraform, webhook zilizotiwa saini na seva ya MCP juu yake. Chochote unachotumia kufanya kazi — kituo, bomba la uchakataji, faili ya hali au wakala wa AI — jukwaa linaitikia.

Kituo cha mwisho cha API kinachowasilisha matukio yaliyotiwa sahihi kwa wasikilizaji kadhaa waliosajiliwa.
  • 700,000+tovuti zilizohifadhiwa ulimwenguni kote
  • 1Uainishaji wa OpenAPI ambao kila zana inazalishwa kutoka kwayo
  • 4SDK za mteja — TypeScript, Python, PHP, Go
  • OAuth 2.1ufikiaji wa wakala wa AI wenye upeo maalumu unaoweza kubatilishwa

API moja. Kila kiolesura kinategemea hiyo.

Watoa huduma wengi huunganisha API kwenye paneli dhibiti baada ya kazi kukamilika, na hilo linaonekana wazi — nusu ya vipengele vya paneli havipatikani kamwe nje. Sisi tulijenga kinyume chake. Dashibodi, kiweko cha msimamizi, CLI, mtoa huduma wa Terraform, seva ya MCP na miunganisho yako mwenyewe vyote vinatumia injini ya API ileile. Ikiwa unaweza kuifanya kwenye paneli, unaweza kuifanya kupitia msimbo.

Vipimo kwanza, si kurekodiwa baadaye

Vipimo vya OpenAPI ndio chanzo kikuu cha ukweli, na hakuna mwisho (endpoint) unaotolewa isipokuwa uwe ndani ya vipimo hivyo. Kanuni hiyo moja ndiyo inayofanya API ya umma iwe na nyaraka kamili wakati wa uundaji badala ya baadaye — hakuna sehemu isiyo na nyaraka, kwa sababu mwisho usiokuwa na nyaraka hauwezi kuwepo.

Imezalishwa, haijawahi kudumishwa kwa mikono

Nyaraka shirikishi za marejeleo, SDK nne za wateja, sehemu kubwa ya CLI na kiunzi cha mtoa huduma wa Terraform vyote vinatolewa kutoka kwa maelezo hayo moja. Chanzo kimoja, vielelezo vingi, vinavyolingana kila wakati — hutawahi kufuatilia hati ambayo imeachana na utekelezaji halisi.

Imetolewa matoleo kwa sera ya usitishaji

Vituo vya mwisho viko chini ya /v1 vikiwa na sera ya uondoaji iliyochapishwa na kumbukumbu ya mabadiliko. Mtaarifiwa kwa maandishi kabla ya kitu kubadilika, badala ya kukigundua kutokana na muundo ulioshindwa.

Ilijaribiwa kimkataba katika CI

Majaribio ya mkataba wa utekelezaji dhidi ya vipimo na ukaguzi wa OpenAPI huendeshwa kwa kila mabadiliko. Kutofautiana kati ya msimbo na mkataba hufanya uundaji ushindwe — kwa hivyo vipimo unavyotumia kuzalisha mteja wako ndivyo vipimo ambavyo seva inaviheshimu kikweli.

Uthibitishaji, uwekaji wa upeo na changamoto zinazojitokeza wakati wa kukuza mfumo

Njia mbili za kuingia, kanuni moja thabiti nyuma yake. Yoyote mnayotumia, ukaguzi ule ule wa ruhusa na utengaji ule ule wa kiwango cha hifadhidata unatumika.

Vifunguo vya API, kwa kila shirika

Funguo zinafanana na zdk_<mode>_<prefix>_<secret>. Ni heshi ya SHA-256 ya siri pekee inayohifadhiwa — hatuwezi kukuonyesha ufunguo tena baada ya kutolewa, na wala hakuna mtu anayefikia hifadhidata yetu anayeweza kufanya hivyo. Funguo hubeba nyanja, zinaweza kubatilishwa, na hutolewa kwa kila shirika badala ya kila mtu.

Hali ya moja kwa moja na ya majaribio, zimetenganishwa

Vifunguo vya sandbox vimetenganishwa na vifunguo vya uzalishaji na vinafanya kazi katika hali ya sandbox: hakuna malipo halisi, hakuna utoaji halisi wa rasilimali. Majaribio yenu ya ujumuishaji yanaweza kutumia API kwa wingi bila kutumia pesa au kuunda seva.

OIDC kwa wanadamu

Vipindi vya mtumiaji vinathibitishwa kwa JWT zilizotolewa na Keycloak, zilizohakikiwa dhidi ya ufunguo wa umma wa realm, na kusuluhishwa kwa kitu kile kile cha Principal kama ufunguo wa API. Vituo vya mwisho vimewekewa masharti ya funguo za ruhusa za kina kama vile sites.create au apikeys.manage, zikikaguliwa kwa kila shirika — ruhusa katika shirika moja haitoi ufikiaji wowote katika shirika tofauti lisilohusiana, ingawa inatumika kwa mashirika yaliyo chini yake.

Usalama wa kiwango cha safu wima chini

Kila ombi la mpangaji huendeshwa katika muamala ukiwa na upeo wa shirika wa Postgres uliowekwa kutoka kwa msingi (principal), kwa hivyo utengano unatekelezwa na hifadhidata, si kwa kichujio cha ORM ambacho mtu anaweza kukisahau. Kichujio cha queryset bado kipo kama ulinzi wa kina.

Imejengwa kwa ajili ya mashine, si kwa ajili ya maonyesho ya majaribio tu

Ni rahisi kufanya API ionekane vizuri kwenye README na ni vigumu kuifanya ifanye kazi ipasavyo chini ya utumiaji halisi wa data. Hizi ndizo sehemu tulizozitolea jasho, kwa sababu ni sehemu zinazovunja maingiliano saa tisa za usiku.

Maelezo moja yanayostahili kuangaziwa, kwa sababu huamua jinsi kazi ya jumla inavyofanya kazi: 409 kwenye kikoa kilicho maradufu hujibu "je, jina hili la mpangishi limepangishwa hapa?" kwa mpangaji yeyote, ambayo ni orakali ya kuhesabu na hatari halisi ya kuondoa ufichaji majina dhidi ya Footprint-Free. Kupunguza kasi ya uundaji wa tovuti ingekuwa suluhisho la uvivu na ingeharibu kabisa bidhaa ya ugavi wa jumla. Badala yake, ni majaribio yaliyokataliwa pekee ya vikoa vilivyo maradufu yanayowekewa bajeti, kwa kila mhusika mkuu. Uundaji uliofanikiwa hautozwi kamwe dhidi yake — kwa hivyo unaweza kutoa huduma kwa wingi siku nzima, na uchunguzi usioidhinishwa huzimika karibu mara moja.

  • Muundo thabiti wa makosa katika kila hitilafu: msimbo, ujumbe unaoeleweka kwa binadamu, maelezo ya hiari ya kiwango cha sehemu na request_id unayoweza kuitaja kwa timu ya usaidizi. Hitilafu za uthibitishaji hurejesha 422 huku sehemu zenye matatizo zikitajwa.
  • Vifunguo vya idempotency kwenye POST, huku rekodi ya kurudia ikiandikwa wakati wa kuweka (commit) badala ya ndani ya mchakato (inline) — ili jaribio jipya lisiweze kamwe kurudia 201 iliyohifadhiwa inayotaja safu mlalo ambayo haikuwekwa kamwe. Ombi lililoshindwa hutoa kifuli chake cha sasa mara moja, kwa hivyo 422 haizuii jaribio lako lililosahihishwa.
  • Ukurasa wa kielekezi kama seti ya funguo juu ya UUIDv7 — thabiti chini ya maandishi yanayofanana, bila msogeo wa ukurasa wakati safu wima zinapoingizwa katikati ya uchanganuzi.
  • RateLimit-Remaining kwenye majibu, ili mteja aliyeundwa aweze kupunguza kasi kwa busara badala ya kukisia.
  • Nyenzo zilizo nje ya upeo hurejesha 404 badala ya 403 — 403 ingethibitisha kuwa nyenzo hiyo ipo. Kuchuja kulingana na shirika lililo nje ya upeo wako hurejesha ukurasa tupu kwa sababu hiyohiyo.
  • Uundaji wa tovuti ni usajili, si ugawaji: POST /v1/sites inarudisha 201 yenye hali ya pending na haizuii kamwe wakati wa ujenzi. Tukio huandikwa kwenye kijisanduku pokezi cha miamala (transactional outbox) katika muamala ule ule kama safu mlalo, kwa hivyo tovuti ipo ikiwa na pale tu ombi la ugawaji wake limehakikishwa.

SDK, CLI na mtoa huduma wa Terraform

Watumiaji watatu wa vipimo sawa, kwa njia tatu tofauti za kufanya kazi.

SDK za Mteja

Imeundwa kwa ajili ya TypeScript, Python, PHP na Go, ikifuata vipimo ili kituo kipya cha mwisho kifike katika lugha yako bila kusubiri kanga iliyoandikwa kwa mkono.

Zinnector®, CLI

Sanidi tovuti ya WordPress, iendeshe ndani ya kifaa chako ukiwa umesakinisha Node pekee, na uisambaze. Zinnector® hukagua mradi wako kabla ya kupelekwa kwenye nafasi unayokaribia kuisambaza — toleo la PHP, diski, idadi ya faili — na kutoa tahadhari kabla ya kusukuma badala ya baada yake. Pia huingia kwenye mfumo, huorodhesha tovuti, husambaza, husimamia vikoa na DNS, husoma huduma za barua pepe, huchukua nakala rudufu, huendesha WP-CLI zilizoidhinishwa, hufuatilia kumbukumbu za mfumo na huendesha shughuli za pamoja. Ni ya bure, ina leseni ya MIT, na imejengwa kwenye API hii hii ya umma.

Mtoa huduma wa Terraform

Dhibiti tovuti, vikoa, rekodi za DNS, visanduku vya barua na mipango kama miundombinu kama msimbo. terraform apply huweka nafasi ya mwenyeji (hosting), na mazingira yako huwa ya kuigika tena na kukaguliwa badala ya mfuatano wa mibofyo ambayo hakuna mtu aliyerekodi.

Rejeleo shirikishi

Nyaraka zilizozalishwa ambazo unaweza kusoma na kupiga simu kutoka kwa kivinjari, zikielezea kwa usahihi ncha ambazo seva inatekeleza — kwa sababu zote zinatokana na ubainifu sawa.

Wavuti zinazoendelea kufanya kazi hata kama mwisho wako umezimwa

Nyuma ya jukwaa kuna uti wa mgongo wa matukio thabiti: kila badiliko la hali huandika tukio kwenye outbox ya kimuamala katika Postgres, kiatomiki pamoja na badiliko la hifadhidata, na relay huliwasilisha kwa NATS JetStream. Matukio yana aina na matoleo maalum — site.deployed, order.paid, invoice.overdue, backup.completed, abuse.flagged, trial.ending na mengineyo.

Jiandikishe kwa kile unachojali

Sajili ncha ya mwisho kama WebhookSubscription na uchague aina za matukio inayopokea. Mtiririko mmoja unalisha arifa, uchanganuzi, mifumo ya kiotomatiki na ujumuishaji wako vile vile — unatumia matukio yale yale tunayotumia sisi.

Imetiwa saini kwa HMAC

Kila uwasilishaji umetiwa sahihi kwa HMAC ili muweze kuthibitisha kwamba umetoka kwetu kabla ya kuufanyia kazi.

Imejaribiwa tena kwa kuchelewesha, na kurekodiwa

Uwasilishaji ulioshindwa hurudiwa kwa kuongeza muda wa kusubiri na kila jaribio hurekodiwa kama WebhookDelivery. Unaweza kukagua na kurudia uwasilishaji kutoka kwenye dashibodi badala ya kutuma barua pepe kwa timu ya usaidizi ukiuliza kile tulichotuma.

Angalau mara moja, kwa hivyo ondoa nakala rudufu kulingana na id

Bomba hili limewekwa kimakusudi liwe la angalau mara moja badala ya kujifanya kuwa ni la mara moja kamili. Relay inayokatika katikati ya uchapishaji huisha muda wake wa madai na matukio yake huchapishwa tena. Ondoa nakala pacha kulingana na envelope id na mlaji wako atakuwa sahihi kwa muundo.

Kuweka msimbo kwenye tovuti

API ni nusu tu ya hadithi ya msanidi programu. Nusu nyingine ni kuizindua rasmi.

  • Unganisha GitHub, GitLab au Bitbucket kupitia OAuth, funguo za upelekaji zikiwa zimehifadhiwa katika ghala la kitambulisho — si katika faili ya usanidi.
  • Push huanzisha mkondo wa ujenzi na upelekaji, ikiwa na uchoraji wa ramani ya tawi-hadi-mazingira (main hadi production, staging hadi staging) na hatua za ujenzi kwa kila fungu kwa ajili ya composer na npm.
  • Rejea kwenye toleo la awali wakati utekelezaji unapokwenda vibaya.
  • Nakala ya jaribio na uchapishaji wa moja kwa moja, ili mabadiliko yathibitishwe mahali halisi kabla ya kuwafikia wageni.
  • SFTP kwa kila tovuti chini ya utengano wa CageFS, ili kila mpangaji aone faili zake pekee, pamoja na ganda la SSH lililozuiliwa (jailed) kwenye jukwaa la pamoja.
  • wp-cli kutoka kwenye terminal ya paneli na kupitia SSH.
  • VS Code kwenye kivinjari kupitia code-server — kihariri kamili chenye git, kikihariri faili za tovuti moja kwa moja.
  • Toleo la PHP kwa kila tovuti, mipangilio ya PHP inayoweza kubadilishwa, viendelezi kwa kila tovuti, vigezo vya mazingira na cron halisi sambamba na WP-cron.

Njia nne za kufanya kazi kwenye tovuti

API ni mlango mmoja. Hii ndiyo minne mingine, na kila mmoja umejumuishwa kwenye mpango badala ya kuuzwa kama kiwango cha watengenezaji.

Kihariri cha wavuti

VS Code kwenye kivinjari, iliyofunguliwa kutoka kwenye ukurasa wa tovuti katika dashibodi, ikihariri faili halisi za tovuti hiyo ikiwa na git iliyojengewa ndani na kihariri chote kikiwa ndani ya jela ile ile ya CageFS kama ufikiaji wako wa SFTP. Inahariri tovuti ya MOJA KWA MOJA — hakuna nakala ya hatua ya mpito katikati, kwa hivyo faili unayohifadhi huwa ya umma punde tu inapoandikwa, ingawa faili thabiti inaweza kuendelea kutolewa kutoka kwenye kache ya CDN kwa hadi saa nne.

Zinnector®, CLI

Bure, yenye leseni ya MIT na iliyojengwa kwenye API hii ya umma. Tengeneza muundo wa tovuti ya WordPress, iendeshe kwenye mashine yako mwenyewe, ikague kabla ya kuituma dhidi ya nafasi unayokaribia kuituma — toleo la PHP, diski, idadi ya faili — kisha itume. Inahitaji Node 24 au mpya zaidi.

Seva ya MCP

Katalogi moja ya zana, ili mteja wa AI unayetumia tayari aweze kufanya kazi kwenye tovuti zako kupitia API ile ile na ruhusa zile zile ambazo dashibodi hutumia. Seva ile ile ambayo mteja wako mwenyewe huunganisha ndiyo iliyounganishwa kwenye kihariri cha wavuti. Ya kusoma tu hadi utakapoelekeza vinginevyo.

Ufikiaji wa msanidi kwa kila tovuti

Kazi ya mteja haihitaji nenosiri lenu. Mwalike mtu kwa anwani ya barua pepe nao watapata tovuti moja kamili: wanaingia kama wao wenyewe, wakiwa na jukumu la mtazamaji, mhariri au msimamizi, na kila tovuti nyingine hujibu 404 kabla ya kishughulikia chochote kuendeshwa — sera ya usalama ya kiwango cha safu ya Postgres na kizuizi cha kiwango cha ombi, si ukaguzi mmoja pekee. Mmiliki wa akaunti huitoa na kuifuta kwa mbofyo mmoja, kuanzia ombi lao linalofuata.

Na API ileile ambayo wakala wako wa AI anaweza kutumia

Tunatoa jukwaa hili kama seva ya MCP iliyopangishwa: adapta nyembamba ya itifaki juu ya injini ya API ambayo hutumia tena orodha ile ile ya vitendo, RBAC na kumbukumbu ya ukaguzi. Unganisha Claude Code, Cursor, ChatGPT, Claude Desktop au mteja yeyote anayeweza kutumia MCP mara moja tu, na kila uwezo tunaoongeza kwenye API unapatikana kwake kiotomatiki.

Ajenti anapokea vitu vitatu: Tools (vituo sawa vya mwisho vya API, hakuna mantiki sambamba inayoweza kugeuka), Resources (afya ya tovuti inayoweza kusomwa tu, usanidi, kumbukumbu za hivi majuzi, vipimo, muda wa kufanya kazi na makala za KB, ili agundue kwa kutumia data halisi kabla ya kuchukua hatua) na Prompts (violezo vya mtiririko wa kazi vilivyochapishwa kama vile "diagnose this site" au "prepare a migration").

Usalama unafuata mfumo uleule kama uthibitishaji: OAuth 2.1, tokeni zilizofungwa kwa shirika lenu na ruhusa za RBAC zenye usalama wa kiwango cha safu uliotekelezwa, zikiwa na upeo maalum na zinazoweza kubatilishwa kwa kila zana, sanduku la mchanga lililotenganishwa na uzalishaji. Vitendo vyenye madhara makubwa — kufuta, kusimamisha, ankara, matumizi makubwa — vinahitaji uthibitisho wa wazi au sera ya idhini ya kibinadamu. Vikomo vya viwango na dari za matumizi huzuia vitendo vya kulipia vinavyochochewa na AI, na kila wito wa MCP hurekodiwa kwenye kumbukumbu ya ukaguzi ukiwa na utambulisho, zana, hoja na matokeo.

Tunaauni itifaki badala ya kuunganisha kila programu moja baada ya nyingine, ambayo ina maana kwamba uteuzi wako wa zana za AI unaweza kubadilika bila ujumuishaji wako wa upangishaji kubadilika nao.

Maswali Yanayoulizwa Mara kwa Mara

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

Ndiyo — ni API ileile ya injini, iliyochapishwa na kuimarishwa. Dashibodi, kiweko cha msimamizi, CLI, mtoa huduma wa Terraform, seva ya MCP na wavuti zote ni watumiaji wa kiolesura kimoja, ndiyo maana API hailali nyuma ya paneli.

Je, ninaweza kujaribu ujumuishaji bila kutumia pesa au kuunda seva halisi?

Ndiyo. Funguo za kisanduku cha majaribio hutolewa kando na funguo za uzalishaji na hufanya kazi katika hali ya majaribio: hakuna utozaji halisi na hakuna utoaji halisi wa huduma. Elekeza CI yako kwenye stakabadhi za kisanduku cha majaribio na ujaribu mzunguko kamili wa ombi na jibu kwa usalama.

Ninawezaje kuzuia jaribio la kurudia lisitengeneze vitu viwili vinavyofanana?

Tuma Idempotency-Key kwenye POST yako. Rekodi ya kurudia huandikwa wakati wa kuwasilisha (commit) badala ya kufanywa papo hapo (inline), kwa hivyo jaribio jipya haliwezi kurudia mafanikio yaliyohifadhiwa kwenye kache kwa safu mlalo ambayo haikuwasilishwa kikamilifu, na ombi linaloshindwa huachilia kifuli chake mara moja ili jaribio lako lililosahihishwa lisicheleweshwe. Uwasilishaji wa webhook hufanyika angalau mara moja kwa muundo — ondoa nakala rudufu (dedupe) kulingana na kitambulisho cha bahasha (envelope id) upande wako.

Je, ninaweza kuipa ufunguo mmoja wa API ufikiaji wa mashirika yote ya wateja wangu?

Sio leo. Vifunguo vya API hutolewa kwa kila shirika, kwa hivyo muunganisho unaojumuisha mashirika kadhaa ya wateja unashikilia ufunguo kwa kila moja. Ruhusa pia huangaliwa kwa kila shirika kwa watumiaji wakuu: kuwa na sites.create katika shirika moja hakutoi ufikiaji katika shirika tofauti lisilohusiana, ingawa inatumika kwa mashirika yaliyo chini ya hilo. Hiyo ni makusudi — inaweka mipaka ya ufunguo ulioathiriwa kwa shirika lake na mashirika madogo yaliyo chini yake, sio jukwaa lote.

Wajibu uliojengewa ndani wa Msanidi Programu unaruhusu nini hasa?

Jukumu la dev linajumuisha usomaji wa shirika, usimamizi wa ufunguo wa API, kutazama na kuunda tovuti, kuzianzisha upya, kusafisha kache zake, na kutazama na kujibu tikiti. Kimakusudi halijumuishi udhibiti wa malipo. Kumbuka kuwa ruhusa za utekelezaji (deploy) na uchapishaji wa moja kwa moja (push-to-live) si sehemu yake — ikiwa mwanachama wa timu anazihitaji, mkabidhi jukumu linalozijumuisha badala ya kudhani kuwa Developer ndilo jukumu pana zaidi la kiufundi.

Ni nini hufanyika kwa webhook zangu ikiwa mwisho wangu utakatika kwa saa moja?

Uwasilishaji hujaribiwa tena kwa kuchelewesha muda unaoongezeka na kila jaribio hurekodiwa kama WebhookDelivery unayoweza kuikagua. Upande wa juu, matukio huandikwa kwenye kikasha cha nje cha shughuli (transactional outbox) katika shughuli ile ile ya hifadhidata kama mabadiliko yenyewe, kwa hivyo hakuna kinachopotea wakati mtumiaji hawezi kupatikana — mtumiaji ambaye hafanyi kazi hubaki nyuma, haivunji mzalishaji kamwe, na unaweza kurudia uwasilishaji kutoka kwenye dashibodi pindi tu unapopatikana tena.

Inagharimu 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 vipimo, kisha jenga kulingana navyo

API inayotanguliza vipimo, SDK zilizozalishwa, CLI, mtoa huduma wa Terraform, webhook zilizotiwa saini na seva ya MCP — kwenye huduma ya upangishaji tuliyoiunda kwa tovuti zaidi ya 700,000 ulimwenguni kote. Anza na jaribio la siku 14 bila kadi, hakuna maelezo ya malipo.

Anza bila malipo

Program jalizi za WordPress ambazo wakala wako wa AI anaweza kufanya nazo kazi

Kila moja ya programu-jalizi hizi hufanya tovuti yako ya WordPress kuwa seva ya MCP, ili Claude, Cursor, VS Code na visaidizi vingine vya AI viweze kufanya kazi halisi juu yake, zikiwa zimeingia kama wewe na zikiwa zimezuiliwa kwa kile unachoruhusiwa kufanya.

Nyaraka zote za MCP na API kwa ajili ya watengenezaji programu →