Dasturchilar uchun

Kod orqali boshqariladigan hosting

Zinn Digital® bu API-birinchi platformadir. Bizning boshqaruv panelimizni harakatga keltiruvchi bir xil dvigatel API sizga ham taqdim etiladi — versiyalangan, spetsifikatsiyaga asoslangan va yaratilish vaqtida 100% hujjatlashtirilgan, generatsiya qilingan SDK'lar, CLI, Terraform provayderi, imzoblangan veb-huklar va uning ustida MCP server bilan birga. Ishlash uchun nimadan foydalanmasingiz — terminal, quvur liniyasi, holat fayli yoki sun'iy intellekt agenti — platforma ularning barchasiga javob beradi.

  • 650 000+dunyo bo'ylab Xost qilingan saytlar
  • 1Har bir vosita yaratilgan OpenAPI spetsifikatsiyasi
  • 4mijoz SDK lari — TypeScript, Python, PHP, Go
  • OAuth 2.1kapsullangan, bekor qilinadigan sun'iy intellekt agenti kirish huquqi

Bitta API. Har bir interfeys undan foydalanadi.

Koʻpgina xosting provayderlari boshqaruv paneliga API'ni keyinchalik qoʻshib qoʻyishadi va bu bilinib turadi — panel funksiyalarining yarmidan koʻpi hech qachon ishga tushmaydi. Biz esa aksincha qurdik. Boshqaruv paneli, admin konsoli, CLI, Terraform provayderi, MCP serveri va oʻz integratsiyalaringiz bir xil dvigatel API'sidan foydalanadi. Agar buni paneldan bajarish mumkin boʻlsa, demak, uni kod orqali ham amalga oshirish mumkin.

Avval spetsifikatsiya, keyin hujjatlashtirish

OpenAPI spetsifikatsiyasi yagona haqiqat manbai hisoblanadi va spetsifikatsiyaga kiritilmagan birorta ham yakuniy nuqta (endpoint) ishga tushirilmaydi. Aynan shu yagona qoida ommaviy API'ni oxir-oqibatda emas, balki yaratilish vaqtida to‘liq hujjatlashtirilgan bo‘lishini ta'minlaydi — hujjatlashtirilmagan burchakning o‘zi yo‘q, chunki hujjatlashtirilmagan yakuniy nuqta mavjud bo‘la olmaydi.

Avtomatik yaratilgan, qo'lda yuritilmaydi

Interaktiv ma’lumotnoma hujjatlari, to‘rtta mijoz SDK’si, CLI’ning asosiy qismi va Terraform provayderi skeleti shu yagona spetsifikatsiyadan yaratiladi. Bitta manba, ko‘plab artefaktlar, doimo sinxron holatda — dasturdan ortda qolgan hujjatlarni boshqa qidirmaysiz.

Eskirish siyosati bilan versiyalarga bo'lingan

So'nggi nuqtalar /v1 ostida chop etilgan eskirish siyosati va o'zgarishlar jurnali bilan ishlaydi. O'zgarish ishlamay qolgan yig'ilishdan aniqlanishi o'rniga, biror narsa o'zgarishidan oldin sizga yozma ravishda xabar beriladi.

CI da shartnoma sinovidan o'tgan

Har bir o'zgarishda spetsifikatsiyaga qarshi implementatsiya shartnoma testlari va OpenAPI linting ishga tushadi. Kod va shartnoma o'rtasidagi tafovut build'ning bajarilmasiga olib keladi — shuning uchun mijozingizni yaratgan spetsifikatsiyangiz server haqiqatan ham amal qiladigan spetsifikatsiyadir.

Autentifikatsiya, cheklash va masshtabda muammo tug‘diradigan jihatlar

Kirishning ikki xili, ularning ortida esa yagona tamoyil turibdi. Qaysi birini tanlamang, bir xil ruxsat tekshiruvlari va ma'lumotlar bazasi darajasidagi izolyatsiya amal qiladi.

API kalitlari, tashkilot bo‘yicha

Kalitlar zdk_<mode>_<prefix>_<secret> koʻrinishida boʻladi. Maxfiy kalitning faqat SHA-256 xeshi saqlanadi — kalit berilgandan soʻng uni sizga qayta koʻrsata olmaymiz, bazamizga kirgan boshqa hech kim ham buni qila olmaydi. Kalitlar huquq doiralariga ega, ularni bekor qilish mumkin va ular har bir shaxs uchun emas, balki har bir tashkilot uchun beriladi.

Jonli va sinov rejimlari, bir-biridan alohida saqlanadi

Sinov kalitlari ishlab chiqarish kalitlaridan farq qiladi va sinov rejimida ishlaydi: haqiqiy toʻlovlar yoʻq, haqiqiy taʼminot yoʻq. Integratsiya testlaringiz pul sarflamasdan yoki serverlar qurmasdan API'ni tekshirishi mumkin.

Odamlar uchun OIDC

Foydalanuvchi seanslari realm ommaviy kaliti orqali tekshiriladigan va API kaliti bilan bir xil Principal obyektiga hal qilinadigan Keycloak tomonidan berilgan JWT'lar yordamida autentifikatsiya qilinadi. Yakuniy nuqtalar tashkilot bo'yicha tekshiriladigan sites.create yoki apikeys.manage kabi nozik ruxsat kalitlarini cheklaydi — bir tashkilotdagi ruxsat boshqa, aloqador bo'lmagan tashkilotga kirish huquqini bermaydi, garchi u uning ostida joylashgan tashkilotlarga nisbatan qo'llanilsa ham.

Qator darajasidagi xavfsizlik

Har bir ijarachi soʻrovi asosiy obyektdan oʻrnatilgan Postgres tashkilot doirasi bilan tranzaksiyada bajariladi, shuning uchun izolyatsiya kimdir unutib qoʻyishi mumkin boʻlgan ORM filtri emas, balki maʼlumotlar bazasi tomonidan taʼminlanadi. Soʻrovlar toʻplami filtri esa chuqur himoya sifatida oʻz joyida qoladi.

Shunchaki namoyishlar uchun emas, mashinalar uchun qurilgan

API ni README da chiroyli koʻrsatish oson, lekin uni real trafik ostida boshqarish qiyin. Biz aynan mana shu qismlari ustida qattiq ishladik, chunki tonggi soat uchda integratsiyaning buzilishiga sabab boʻladigan joylar ham shular.

Ommaviy ishlarning qanday ishlashiga ta'sir qilishi sababli alohida e'tibor qaratishga arziydigan bir tafsilot: dublikat domen uchun 409 javobi har qanday tenant uchun "bu xost-nom shu yerda joylashganmi?" degan savolga javob beradi. Bu esa Footprint-Free'ga qarshi sanab o'chirish orakuli va haqiqiy deanonymisation xavfidir. Sayt yaratishni cheklash oson yechim bo'lar edi va u ommaviy ta'minlash mahsulotini butunlay buzib yuborar edi. Buning o'rniga, faqat rad etilgan dublikat domen urinishlari har bir principal bo'yicha limitga kiritiladi. Muvaffaqiyatli yaratilganlar hech qachon buning uchun hisobdan chiqarilmaydi — shuning uchun siz kun bo'yi ommaviy ravishda ta'minlashingiz mumkin va zondlash deyarli darhol to'xtaydi.

  • Har bir xatolikda izchil xatolik paketi: kod, inson o'qiy oladigan xabar, qo'shimcha maydon darajasidagi tafsilotlar va qo'llab-quvvatlash xizmatiga murojaat qilishingiz mumkin bo'lgan request_id. Tasdiqlash xatolari noto'g'ri maydonlar ko'rsatilgan holda 422 kodini qaytaradi.
  • POST so'rovlaridagi idempotentlik kalitlari, takroriy yozuv tranzaksiya tasdiqlanganda (commit) emas, balki tranzaksiya ichida yoziladi — shu sababli takroriy so'rov hech qachon hech qachon tasdiqlanmagan qatorga ishora qiluvchi keshdagi 201 javobini qaytarmaydi. Muvaffaqiyatsiz so'rov o'zining jarayondagi qulfini darhol bo'shatadi, shuning uchun 422 xatoligi tuzatilgan takroriy so'rovingizni bloklab qo'ymaydi.
  • UUIDv7 bo'yicha kalitlar to'plami sifatida kursorli sahifalash — bir vaqtning o'zida yozish paytida barqaror, skanerlash jarayonida qatorlar kiritilganda sahifa siljishi sodir bo'lmaydi.
  • Javoblardagi RateLimit-Remaining, shuning uchun yaratilgan mijoz taxmin qilish o'rniga aqlli ravishda to'xtashi mumkin.
  • Doiradan tashqari resurslar 403 oʻrniga 404 xatosini qaytaradi — 403 resurs mavjudligini tasdiqlagan boʻlar edi. Doirangizga kirmaydigan tashkilot boʻyicha filtrlash ham shuning uchun boʻsh sahifani qaytaradi.
  • Sayt yaratish bu provizioning emas, balki ro‘yxatdan o‘tishdir: POST /v1/sites so‘rovi 201 holatini va pending maqomini qaytaradi hamda hech qachon yig‘ish (build) jarayonida to‘xtab qolmaydi. Hodisa qator bilan bir xil tranzaksiyada tranzaksion outbox'ga yoziladi, shuning uchun sayt faqat va faqat uning provizioning qilinishi kafolatlangan taqdirdagina mavjud bo‘ladi.

SDK'lar, CLI va Terraform provayderi

Ishlashning uch xil usuli uchun bir xil texnik xususiyatga ega uchta iste'molchi.

Mijoz SDK'lari

TypeScript, Python, PHP va Go uchun yaratilgan bo'lib, spetsifikatsiyani kuzatib boradi, shuning uchun qo'lda yozilgan wrapper'ni kutmasdan sizning tilingizga yangi endpoint keladi.

Zinnector®, CLI

WordPress saytini yarating, uni Node-dan boshqa hech narsa o'rnatilmagan holda lokal tarzda ishga tushiring va deploy qiling. Zinnector® loyihangizni deploy qilmoqchi bo'lgan slotga — PHP versiyasi, disk, fayllar soni — nisbatan tekshirib chiqadi va push qilishdan keyin emas, balki oldindan ogohlantiradi. Shuningdek, u tizimga kiradi, saytlar ro'yxatini tuzadi, deploy qiladi, domenlar va DNS-ni boshqaradi, pochta xizmatlarini o'qiydi, zaxira nusxalarini oladi, ruxsat etilgan WP-CLI ni ishga tushiradi, loglarni kuzatadi va ommaviy amallarni bajaradi. Bepul, MIT litsenziyasiga ega va xuddi shu ommaviy API asosida qurilgan.

Terraform provayderi

Saytlar, domenlar, DNS yozuvlari, pochtasandliqlari va rejalarni kod sifatida infratuzilma (infrastructure as code) sifatida boshqaring. terraform apply hostingni ta'minlaydi va muhitlaringiz hech kim yozib qo'ymagan ketma-ket bosishlar o'rniga takrorlanadigan va ko'rib chiqiladigan bo'ladi.

Interaktiv ma'lumotnoma

Server bir xil spetsifikatsiyadan kelib chiqqani uchun, server amalga oshiradigan oxirgi nuqtalarni aniq tasvirlovchi, brauzerdan o'qishingiz va chaqirishingiz mumkin bo'lgan yaratilgan hujjatlar.

Endpointingiz ishlamay qolganda ham ishlaydigan veb-huklar

Platforma ortida mustahkam hodisalar asosi yotadi: har bir holat o‘zgarishi ma’lumotlar bazasi o‘zgarishi bilan atomar tarzda Postgres’dagi tranzaksion outbox'ga hodisa yozadi va reley uni NATS JetStream'ga e’lon qiladi. Hodisalar turlarga bo‘lingan va versiyalangan — site.deployed, order.paid, invoice.overdue, backup.completed, abuse.flagged, trial.ending va qolganlari.

O'zingizga qiziqarli bo'lgan narsalarga obuna bo'ling

Yakuniy nuqtani WebhookSubscription sifatida ro'yxatdan o'tkazing va u qabul qiladigan hodisa turlarini tanlang. Bitta oqim bildirishnomalar, tahlillar, avtomatlashtirish va integratsiyangizni birdek ta'minlaydi — siz biz foydalanadigan hodisalarning o'zidan foydalanmoqdasiz.

HMAC bilan imzolangan

Har bir yetkazib berish HMAC yordamida imzolangan, shuning uchun u bo'yicha chora ko'rishdan oldin uning bizdan kelganini tekshirishingiz mumkin.

Orqaga chekinish bilan qayta urinildi va qayd etildi

Yetkazib berilmagan xabarlar ortib boruvchi oraliq bilan qayta urinib ko'riladi va har bir urinish WebhookDelivery sifatida yozib olinadi. Nima yuborganimizni so'rab qo'llab-quvvatlash xizmatiga elektron pochta yuborish o'rniga, yetkazib berishlarni boshqaruv panelidan tekshirishingiz va qaytadan yuborishingiz mumkin.

Kamida bir marta, shuning uchun id bo'yicha takroriylikni olib tashlash

Quvur tizimi aniq bir marta yetkazib berish rolini o‘ynagandan ko‘ra, atayin kamida bir marta yetkazib berish prinsipiga asoslangan. Nashr qilish jarayonida ishdan chiqqan reley o‘zining da’vo ijarasini tugatadi va uning hodisalari qaytadan nashr qilinadi. Konvert identifikatori bo‘yicha dublikatlarni tozalang va iste’molchingiz tuzilishiga ko‘ra to‘g‘ri ishlaydi.

Saytga kod kiritish

API — bu dasturchi hikoyasining faqat yarmi. Ikkinchi yarmi esa uni yetkazib berishdir.

  • GitHub, GitLab yoki Bitbucket'ni OAuth orqali ulang, bunda deploy kalitlari konfiguratsiya faylida emas, balki hisob ma'lumotlari omborida saqlanadi.
  • Push harakati composer va npm uchun stack bo'yicha build bosqichlari hamda tarmoqdan muhitga moslashtirish (main'dan production'ga, staging'dan staging'ga) bilan birga build-and-deploy quvurini ishga tushiradi.
  • Deploy xato ketganda oldingi versiyaga qayting.
  • Staging muhitiga nusxachalash va asosiy muhitga o'tkazish, shunda har qanday o'zgarish tashrif buyuruvchilarga yetib borishidan oldin haqiqiy muhitda sinovdan o'tkaziladi.
  • CageFS izolyatsiyasi ostida har bir sayt uchun alohida cheklangan (Jailed) SSH, SFTP va FTP, shunda har bir foydalanuvchi faqat o'zining fayllarini ko'radi.
  • Panel terminali va SSH orqali wp-cli.
  • VS Code-server orqali brauzerda VS Code — kengaytmalar, o'rnatilgan terminal va git'ga ega bo'lgan to'liq muharrir, u sayt fayllarini to'g'ridan-to'g'ri tahrirlaydi.
  • Har bir sayt uchun PHP versiyasi, tahrirlanadigan PHP sozlamalari, har bir sayt uchun kengaytmalar, muhit o'zgaruvchilari va WP-cron bilan bir qatorda haqiqiy cron.

Va xuddi shu API'dan sun'iy intellekt agentingiz ham foydalanishi mumkin

Biz platformani xosting qilinadigan MCP serveri sifatida taqdim etamiz: bu dvigatel API'si ustidagi yupqa protokol adapteri bo'lib, u bir xil harakatlar katalogi, RBAC va audit izini qayta ishlatadi. Claude Code, Cursor, ChatGPT, Claude Desktop yoki har qanday MCP'ni qo'llab-quvvatlaydigan mijozni bir marta ulang va API'ga qo'shadigan har bir imkoniyatimiz unga avtomatik ravishda mavjud bo'ladi.

Agent uchta narsaga ega bo'ladi: Vositalar (bir xil API yakuniy nuqtalari, chetga chiqmaydigan parallel mantiqsiz), Resurslar (harakat qilishdan oldin real ma'lumotlar yordamida tashxis qo'yishi uchun sayt salomatligi, konfiguratsiya, so'nggi jurnallar, metrikalar, ishlash vaqti va KB maqolalarining faqat o'qish uchun mo'ljallangan turlari) va Ko'rsatmalar ("ushbu saytga tashxis qo'yish" yoki "migratsiyaga tayyorgarlik ko'rish" kabi nashr etilgan ish jarayoni shablonlari).

Xavfsizlik ham autentifikatsiya bilan bir xil: OAuth 2.1, tashkilotingizga bog‘langan tokenlar va qator darajasidagi xavfsizlik ta'minlangan RBAC ruxsatlari, har bir vosita uchun cheklangan va bekor qilinishi mumkin bo‘lgan doiralar, production'dan ajratilgan sandbox. Destruktiv amallar — o‘chirish, to‘xtatib turish, billing, katta xarajatlar — aniq tasdiqlashni yoki inson tomonidan tasdiqlash siyosatini talab qiladi. Limitlar va xarajatlar cheklovlari sun'iy intellekt tomonidan ishga tushiriladigan pullik amallarni tartibga soladi, har bir MCP chaqiruvi esa shaxs, vosita, argumentlar va natija bilan birga audit jurnaliga kiritiladi.

Biz har bir ilovani alohida integratsiya qilish o'rniga protokollarni qo'llab-quvvatlaymiz, ya'ni xosting integratsiyangizni o'zgartirmasdan turib AI vositalarini tanlash imkoniyatingiz o'zgarishi mumkin.

FAQ

Ommaviy API boshqaruv paneli foydalanadigani bilan bir xilmi?

Ha — bu o'sha xuddi o'zi, e'lon qilingan va sinovdan o'tgan motor API'si. Boshqaruv paneli, admin konsoli, CLI, Terraform provayderi, MCP serveri va veb-huklar barchasi yagona interfeys iste'molchilari hisoblanadi, shuning uchun API paneldan ortda qolmaydi.

Haqiqiy serverlar qurmasdan yoki pul sarflamasdan integratsiyani sinab ko'rishim mumkinmi?

Ha. Sinov kalitlari ishlab chiqarish kalitlaridan alohida beriladi va sinov rejimida ishlaydi: real to'lovlar ham, real ta'minot ham yo'q. CI'ingizni sinov ma'lumotlariga yo'naltiring va so'rov va javob siklini xavfsiz tarzda to'liq sinovdan o'tkazing.

Qayta urinish natijasida biror narsaning ikkita nusxasi yaratilishining oldini qanday olsam bo'ladi?

POST so'rovingiz bilan birga Idempotency-Key yuboring. Takroriy so'rov yozuvi to'g'ridan-to'g'ri emas, balki tranzaksiya tasdiqlanganda (commit) yoziladi, shuning uchun qayta urinish hech qachon amalda bajarilmagan qator uchun keshdagi muvaffaqiyatli javobni qaytarmaydi. Xatolikka uchragan so'rov o'z qulfini darhol bo'shatadi, shunda tuzatilgan takroriy so'rovingiz kutib qolmaydi. Veb-huk yetkazib berish dizaynga ko'ra kamida bir marta amalga oshiriladi — o'z tomoningizda konvert identifikatori (envelope id) bo'yicha takroriylikni yo'qoting.

Bitta API kalitiga barcha mijoz tashkilotlarimga kirish huquqini bera olamanmi?

Bugun emas. API kalitlari har bir tashkilot uchun alohida beriladi, shuning uchun bir nechta mijoz tashkilotlarini qamrab oluvchi integratsiya har biri uchun bittadan kalitga ega bo'ladi. Ruxsatlar ham foydalanuvchi subyektlari uchun har bir tashkilot kesimida tekshiriladi: bir tashkilotda sites.create huquqiga ega bo'lish boshqa, aloqador bo'lmagan tashkilotda hech qanday kirish huquqini bermaydi, garchi u o'sha tashkilot ostida joylashgan quyi tashkilotlarga nisbatan amal qilsa ham. Bu qasddan qilingan — u buzilgan kalitning ta'sirini butun platformaga emas, faqat uning o'z tashkiloti va uning ostidagi quyi tashkilotlar bilan cheklaydi.

O‘rnatilgan Dasturchi roli aslida nimaga ruxsat beradi?

Dasturchi (dev) roli tashkilotni o‘qish, API kalitlarini boshqarish, saytlarni ko‘rish va yaratish, ularni qayta ishga tushirish, keshini tozalash hamda treklarni ko‘rish va ularga javob berishni o‘z ichiga oladi. U ataylab hisob-kitob (billing) nazoratini o‘z ichiga olmaydi. Shuni yodda tutingki, deploy va jonli muhitga uzatish (push-to-live) huquqlari bunga kirmaydi — agar jamoa a’zosiga shular kerak bo‘lsa, Dasturchi eng keng texnik rol deb hisoblamasdan, ularni o‘z ichiga oladigan rolni tayinlang.

Agar mening oxirgi nuqtam bir soatga ishdan chiqsa, veb-huklarimga nima bo'ladi?

Yetkazib berishlar kechikish vaqti bilan qayta urinib ko'riladi va har bir urinish tekshirishingiz mumkin bo'lgan WebhookDelivery sifatida yozib boriladi. Yuqori oqimda voqealar o'zgarishning o'zi bilan bir xil ma'lumotlar bazasi tranzaksiyasidagi tranzaksion outbox'ga yoziladi, shuning uchun iste'molchi mavjud bo'lmaganda hech narsa yo'qolmaydi — ishlamayotgan iste'molchi ortda qoladi, lekin hech qachon produserni buzmaydi va siz qaytib kelganingizdan so'ng boshqaruv panelidan yetkazib berishlarni qaytadan boshlashingiz mumkin.

Buning asosida qurishni boshlash qancha turadi?

Footprint-Free Hosting uchun karta talab qilinmaydigan 14 kunlik sinov muddatini boshlang — toʻlov maʼlumotlari kerak emas, 5 tagacha sayt. Pullik Footprint-Free tariflari PBN 5 uchun oyiga $6 dan boshlanadi. Har bir reja 30 kunlik pulni qaytarish kafolati, bepul migratsiya va yetkazib beruvchiga bogʻlanib qolmaslik imkoniyatini oʻz ichiga oladi.

Spetsifikatsiyani o'qing, keyin unga muvofiq ravishda yarating

Spetsifikatsiyaga asoslangan API, yaratilgan SDK'lar, CLI, Terraform provayderi, imzoblangan veb-huklar va MCP server — butun dunyo bo'ylab 650 000 dan ortiq saytlar uchun biz qurgan hostingda. 14 kunlik sinov muddatini kartasiz boshlang, to'lov ma'lumotlari talab qilinmaydi.

Bepul boshlash