Geliştiriciler için

Koddan yönetebileceğiniz barındırma hizmeti

Zinn Digital® API odaklı bir platformdur. Kontrol panelimizi çalıştıran motor API'sinin aynısı size sunulur; sürüm oluşturulmuş, şartname öncelikli ve derleme anında %100 belgelendirilmiştir; ayrıca üzerinde oluşturulmuş SDK'lar, bir CLI, bir Terraform sağlayıcısı, imzalı webhook'lar ve bir MCP sunucusu barındırır. Çalışmak için ne kullanırsanız kullanın —bir terminal, bir işlem hattı, bir durum dosyası veya bir AI ajanı— platform buna yanıt verir.

  • 650.000+dünya çapında barındırılan siteler
  • 1Her aracın oluşturulduğu OpenAPI spesifikasyonu
  • 4istem SDK'ları — TypeScript, Python, PHP, Go
  • OAuth 2.1kapsamı belirlenmiş, iptal edilebilir yapay zeka ajanı erişimi

Tek API. Her yüzey onunla çalışır.

Çoğu sağlayıcı, kontrol paneline sonradan bir API ekler ve bu hemen belli olur; panelin özelliklerinin yarısı hiçbir zaman dışarı çıkmaz. Biz ise tam tersini yaptık. Kontrol paneli, yönetici konsolu, CLI, Terraform sağlayıcısı, MCP sunucusu ve kendi entegrasyonlarınızın tümü aynı motor API'sini kullanır. Panelde yapabildiğiniz her şeyi kodla da yapabilirsiniz.

Önce özellik, sonra belge

OpenAPI belirtimi tek gerçek kaynaktır ve bu belirtimde yer almadığı sürece hiçbir uç nokta yayınlanmaz. Genel API'nin sonunda değil, derleme anında tam olarak belgelenmiş olmasını sağlayan tek kural budur; belgelenmemiş hiçbir köşe yoktur, çünkü belgelenmemiş bir uç nokta var olamaz.

Oluşturuldu, asla el ile sürdürülmedi

Etkileşimli referans belgeleri, dört istemci SDK'sı, CLI'ın büyük kısmı ve Terraform sağlayıcı iskelesi, bu tek teknik özellikten üretilir. Tek kaynak, birçok yapı, her zaman senkronize — uygulamadan uzaklaşmış bir belgeyi asla kovalamazsınız.

Kullanımdan kaldırma politikasıyla sürümlandı

Uç noktalar, yayınlanmış bir kullanım dışı bırakma politikası ve bir değişiklik günlüğü ile /v1 altında bulunur. Bir şeyler değişmeden önce, bunu bozuk bir derlemeden fark etmek yerine, yazılı olarak bildirilirsiniz.

CI'da sözleşme testinden geçti

Her değişiklikte uygulama-özellik sözleşme testleri ve OpenAPI denetimi çalışır. Kod ile sözleşme arasındaki uyumsuzluk derlemeyi başarısız kılar; dolayısıyla istemcinizi oluşturduğunuz özellik, sunucunun gerçekten uyguladığı özelliktir.

Kimlik doğrulama, kapsam belirleme ve ölçekte can yakan detaylar

İçeri giden iki yol, arkalarında ise tek bir ortak kural var. Hangisini kullanırsanız kullanın, aynı yetki kontrolleri ve aynı veritabanı düzeyinde izolasyon geçerlidir.

API anahtarları, organizasyon başına

Anahtarlar zdk_<mode>_<prefix>_<secret> biçimindedir. Gizli anahtarın yalnızca SHA-256 özeti saklanır; anahtar verildikten sonra onu size tekrar gösteremeyiz ve veritabanımıza erişen hiç kimse de gösteremez. Anahtarlar yetki kapsamları (scope) taşır, iptal edilebilir ve kişiye değil, kuruluşa özel olarak verilir.

Canlı ve test modları, ayrı tutulur

Korumalı alan anahtarları, üretim anahtarlarından ayrıdır ve korumalı alan modunda çalışır: gerçek faturalandırma ve gerçek sağlama yapılmaz. Entegrasyon testleriniz para harcamadan veya sunucu kurmadan API'ye istek gönderebilir.

İnsanlar için OIDC

Kullanıcı oturumları, Keycloak tarafından verilen ve alan adı (realm) genel anahtarına karşı doğrulanan JWT'ler ile kimlik doğrulaması yapar ve bir API anahtarının yaptığı ile aynı Principal nesnesine çözümlenir. Uç noktalar, kuruluş başına kontrol edilen siteler.create veya apikeys.manage gibi ayrıntılı izin anahtarları üzerinde denetim uygular; bir kuruluştaki izin, altında iç içe geçmiş kuruluşlar için geçerli olsa da, ayrı ve ilişkisiz bir kuruluşta hiçbir erişim sağlamaz.

Satır düzeyinde güvenlik altyapısı

Her kiracı isteği, asıl kullanıcıdan (principal) ayarlanan Postgres organizasyon kapsamıyla bir işlem içinde çalıştırılır; böylece izolasyon, birinin unutabileceği bir ORM filtresiyle değil, veritabanı tarafından zorlanır. Sorgu kümesi (queryset) filtresi, derinlemesine savunma amacıyla hâlâ mevcuttur.

Yalnızca demolar için değil, makineler için tasarlandı

Bir API'nin bir README dosyasında güzel görünmesini sağlamak kolaydır, ancak gerçek trafik altında düzgün çalışmasını sağlamak zordur. Integrasyonları gece saat üçte bozan kısımlar bunlar olduğu için, üzerinde en çok ter döktüğümüz kısımlar da bunlardır.

Toplu çalışmanın davranışını şekillendirmesi nedeniyle özellikle belirtmeye değer bir detay var: yinelenen alan adlarında alınan 409 yanıtı, herhangi bir kiracı için "bu sunucu adı burada mı barındırılıyor?" sorusunu yanıtlar; bu da bir numaralandırma kehanetidir ve Footprint-Free'e karşı gerçek bir kimlikten arındırma riskidir. Site oluşturmayı sınırlamak tembelce bir çözüm olurdu ve toplu sağlama ürününü tamamen bozar. Bunun yerine yalnızca reddedilen yinelenen alan adı denemeleri, ilke başına bütçelendirilir. Başarılı oluşturma işlemlerinden asla ücret alınmaz; böylece tüm gün toplu olarak sağlama yapabilir ve yoklama neredeyse anında sonlandırılır.

  • Her hatada tutarlı bir hata zarfı: bir kod, insan tarafından okunabilir bir mesaj, isteğe bağlı alan düzeyinde detaylar ve desteğe bildirebileceğiniz bir request_id. Doğrulama hataları, sorunlu alanlar belirtilerek 422 döndürür.
  • POST isteklerinde işlem tekrarını önleyen anahtarlar (idempotency keys), tekrar kaydı satır içi yerine işlem onaylandığında (commit) yazılır; böylece bir yeniden deneme (retry), asla hiçbir zaman onaylanmamış bir satırı adlandıran önbelleğe alınmış bir 201 yanıtını tekrarlamaz. Başarısız bir istek, devam eden kilidini hemen serbest bırakır; böylece 422 hatası, düzeltilmiş yeniden denemenizi kilitlemez.
  • UUIDv7 üzerinde anahtar seti olarak imleç sayfalaması — eşzamanlı yazma işlemlerinde kararlıdır, tarama sırasında satırlar eklendiğinde sayfa kayması yaşanmaz.
  • Yan yanıtlardaki RateLimit-Remaining, böylece oluşturulan bir istemci tahmin etmek yerine akıllıca geri çekilebilir.
  • Kapsam dışı kaynaklar 403 yerine 404 döndürür; 403, kaynağın var olduğunu doğrular. Kapsamınız dışındaki bir kuruluşa göre filtreleme yapmak da aynı nedenle boş bir sayfa döndürür.
  • Site oluşturma bir provizyon değil kayıttır: POST /v1/sites 201 döner, durumu pending olur ve asla derleme işleminde bekletilmez. Olay, satırla aynı işlemde işlemsel giden kutusuna yazılır; dolayısıyla bir site ancak ve ancak provizyonunun isteneceği garanti ediliyorsa vardır.

SDK'lar, bir CLI ve bir Terraform sağlayıcısı

Aynı teknik özelliklere sahip üç tüketici, üç farklı çalışma yöntemi için.

İstemci SDK'ları

TypeScript, Python, PHP ve Go için oluşturulan bu sürüm, el yazımı bir sarmalayıcıyı (wrapper) beklemek zorunda kalmadan dilinize yeni bir uç noktanın (endpoint) gelmesini sağlamak amacıyla spesifikasyonu takip eder.

Zinnector®, CLI

Bir WordPress sitesi kurun, Node dışında hiçbir şey kurulu olmadan yerel olarak çalıştırın ve dağıtın. Zinnector®, projenizi dağıtacağınız yuvaya (PHP sürümü, disk, dosya sayısı) karşı ön kontrolden geçirir ve gönderim sonrasında değil, önce uyarır. Ayrıca oturum açar, siteleri listeler, dağıtım yapar, etki alanlarını ve DNS'i yönetir, posta servislerini okur, yedekleme alır, izin verilen WP-CLI'yi çalıştırır, günlükleri izler ve toplu işlemler başlatır. Ücretsizdir, MIT lisanslıdır ve aynı bu genel API üzerine inşa edilmiştir.

Terraform sağlayıcısı

Siteleri, alan adlarını, DNS kayıtlarını, posta kutularını ve planları altyapı kod yönetimi olarak yönetin. terraform apply barındırma hizmetini sağlar; böylece ortamlarınız, kimsenin bir yere not etmediği tıklamalar dizisi yerine tekrarlanabilir ve incelenebilir hale gelir.

Etkileşimli referans

Sunucunun uyguladığı uç noktaları tam olarak açıklayan ve tarayıcıdan okuyup çağırabileceğiniz oluşturulmuş belgeler; çünkü her ikisi de aynı şartnameden gelir.

Uç noktanız kapalı olsa bile çalışan web kancaları

Platformun arkasında dayanıklı bir olay omurgası yer alır: her durum değişikliği, veritabanı değişikliğiyle atomik olarak Postgres içindeki işlemsel bir outbox'a bir olay yazar ve bir aktarıcı bunu NATS JetStream üzerine yayınlar. Olaylar tiplendirilmiş ve versiyonlanmıştır — site.deployed, order.paid, invoice.overdue, backup.completed, abuse.flagged, trial.ending ve diğerleri.

İlgilendiğiniz içeriklere abone olun

Bir uç noktayı WebhookSubscription olarak kaydedin ve alacağı olay türlerini seçin. Tek bir akış bildirimleri, analitiği, otomasyonları ve entegrasyonunuzu aynı anda besler; bizim kullandığımız olayların aynısını tüketiyorsunuz.

HMAC ile imzalandı

Her teslimat HMAC ile imzalanmıştır; böylece üzerinde işlem yapmadan önce bizden geldiğini doğrulayabilirsiniz.

Geri çekilme süresiyle yeniden denendi ve günlüğe kaydedildi

Başarısız teslimatlar kademeli artışla yeniden denenir ve her deneme bir WebhookDelivery olarak kaydedilir. Ne gönderdiğimizi sormak için desteğe e-posta göndermek yerine, kontrol panelinden teslimatları inceleyebilir ve yeniden oynatabilirsiniz.

En az bir kez, bu yüzden id üzerinde yinelenenleri temizle

İşlem hattı, tam olarak bir kez (exactly-once) çalıştığını iddia etmek yerine bilinçli olarak en az bir kez (at-least-once) çalışacak şekilde tasarlanmıştır. Yayın sırasında çöken bir aktarıcının talep kirası sona erer ve olayları yeniden yayınlanır. Zarf kimliği (envelope id) üzerinden mükerrer kayıtları ayıklayın (dedupe) ve tüketiciniz yapı gereği doğru olacaktır.

Siteye kod ekleme

Bir API, bir geliştirici hikayesinin yalnızca yarısıdır. Diğer yarısı ise yayına almaktır.

  • GitHub, GitLab veya Bitbucket'ı yapılandırma dosyasında değil kimlik bilgisi deposunda tutulan dağıtım anahtarlarıyla OAuth üzerinden bağlayın.
  • Gönderme (push), ana dal-ortam eşleştirmesi (main - production, staging - staging) ve composer ile npm için yığıt (stack) başına derleme adımlarıyla bir derle ve dağit (build-and-deploy) boru hattını tetikler.
  • Bir dağıtım başarısız olduğunda önceki bir sürüme geri dönün.
  • Ziyaretçilere ulaşmadan önce bir değişikliğin gerçek bir yerde test edilmesi için hazırlık ortamı klonlama ve canlıya gönderme (staging clone and push-to-live).
  • CageFS izolasyonu altında her site için Kısıtlanmış (Jailed) SSH, SFTP ve FTP, böylece her kiracı yalnızca kendi dosyalarını görür.
  • Panel terminalinden ve SSH üzerinden wp-cli.
  • Tarayıcıda VS Code (code-server aracılığıyla) — eklentilere, entegre bir terminale ve git'e sahip tam teşekküllü bir düzenleyici, site dosyalarını doğrudan düzenlemenizi sağlar.
  • Site başına PHP sürümü, düzenlenebilir PHP ayarları, site başına eklentiler, ortam değişkenleri ve WP-cron yanında gerçek 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.

Yapay zeka asistanınızın kullanabileceği aynı API

Platformu barındırılan bir MCP sunucusu olarak sunuyoruz: altyapı API'si üzerinde çalışan, aynı eylem kataloğunu, RBAC'ı ve denetim izini yeniden kullanan ince bir protokol adaptörü. Claude Code, Cursor, ChatGPT, Claude Desktop veya MCP uyumlu herhangi bir istemciyi bir kez bağlayın; API'ye eklediğimiz her yetenek otomatik olarak kullanılabilir hale gelir.

Ajan üç şey alır: Araçlar (aynı API uç noktaları, sapma gösterecek paralel mantık yok), Kaynaklar (işlem yapmadan önce gerçek verilerle teşhis koyabilmesi için salt okunur site sağlığı, yapılandırma, son loglar, metrikler, çalışma süresi ve KB makaleleri) ve İstemler ("bu siteyi teşhis et" veya "bir göç hazırla" gibi yayınlanmış iş akışı şablonları).

Güvenlik de kimlik doğrulama ile aynı hikayedir: OAuth 2.1, kuruluşunuza bağlı belirteçler ve satır düzeyinde güvenlik zorlanmış, araca göre kapsamı belirlenmiş ve iptal edilebilir RBAC izinleri, üretimden ayrılmış korumalı alan. Yıkıcı eylemler (silme, askıya alma, faturalandırma, büyük harcama) açık onay veya insan onay politikası gerektirir. Oran sınırlamaları ve harcama üst sınırları, yapay zeka tarafından tetiklenen ücretli eylemleri sınırlandırır; ayrıca her MCP çağrısı kimlik, araç, argümanlar ve sonuç ile birlikte denetim günlüğüne kaydedilir.

Her uygulamayı ayrı ayrı entegre etmek yerine protokolü destekliyoruz; bu da barındırma entegrasyonunuzun değişmesine gerek kalmadan yapay zeka araçları tercihinizi değiştirebileceğiniz anlamına gelir.

SSS

Genel API, kontrol panelinin kullandığı API ile aynı mı?

Evet — bu aynı motor API'sidir, yayınlanmış ve sağlamlaştırılmıştır. Kontrol paneli, yönetici konsolu, CLI, Terraform sağlayıcısı, MCP sunucusu ve web kancalarının tümü tek bir yüzeyin tüketicileridir; API'nin panelin gerisinde kalmamasının nedeni de budur.

Gerçek sunucular kurmadan veya para harcamadan bir entegrasyonu test edebilir miyim?

Evet. Sandbox anahtarları, üretim anahtarlarından ayrı olarak verilir ve test modunda çalışır: gerçek faturalandırma ve gerçek kaynak sağlama yoktur. CI sisteminizi sandbox kimlik bilgilerine yönlendirin ve tam istek ile yanıt döngüsünü güvenle test edin.

Yeniden denemenin iki tane nesne oluşturmasını nasıl engellerim?

POST isteğinizde bir Idempotency-Key gönderin. Yeniden oynatma kaydı (replay record) satır içi yerine işlem onaylandığında (commit) yazılır, böylece bir yeniden deneme (retry) asla gerçekten onaylanmamış bir satır için önbelleğe alınmış bir başarıyı yeniden oynatamaz ve başarısız olan bir istek kilit serbest bırakma işlemini hemen gerçekleştirir, böylece düzeltilmiş yeniden denemeniz bekletilmez. Webhook teslimi tasarım gereği en az bir kez (at-least-once) gerçekleştirilir — kendi tarafınızda zarf kimliğine (envelope id) göre mükerrer kayıt temizliği (dedupe) yapın.

Tek bir API anahtarına tüm müşteri kuruluşlarım için erişim verebilir miyim?

Bugün değil. API anahtarları organizasyon başına verilir; bu nedenle birden fazla müşteri organizasyonunu kapsayan bir entegrasyon, her biri için ayrı bir anahtar tutar. Yetkiler de kullanıcı asılları için organizasyon bazında kontrol edilir: bir organizasyonda sites.create yetkisine sahip olmak, ayrı ve ilişkisiz başka bir organizasyonda erişim sağlamaz, ancak bunun altında iç içe geçmiş organizasyonlar için geçerlidir. Bu bilinçli bir tercihtir; ele geçirilmiş bir anahtarın tüm platformu değil, yalnızca kendi organizasyonunu ve altındaki alt organizasyonları etkilemesini sağlar.

Yerleşik Geliştirici rolü tam olarak neye izin verir?

Yazılımcı rolü; kuruluş okuma, API anahtarı yönetimi, site görüntüleme ve oluşturma, siteleri yeniden başlatma, önbelleklerini temizleme ve destek taleplerini görüntüleme ile yanıtlama işlemlerini kapsar. Fatura kontrolünü bilinçli olarak dışarıda bırakır. Dağıtım (deploy) ve canlıya alma (push-to-live) izinlerinin bu rolün bir parçası olmadığını unutmayın; bir ekip üyesinin bunlara ihtiyacı olması durumunda, Geliştirici rolünün en kapsamlı teknik rol olduğunu varsaymak yerine, bu izinleri barındıran bir rol atayın.

Uç noktanız bir saat boyunca devre dışı kalırsa web kancalarıma ne olur?

Teslimatlar kademeli gecikmeyle yeniden denenir ve her girişim inceleyebileceğiniz bir WebhookDelivery olarak kaydedilir. Kaynak tarafta, olaylar değişikliğin kendisiyle aynı veritabanı işleminde işlemsel bir giden kutusuna yazılır; böylece bir tüketici kullanılamaz durumdayken hiçbir şey kaybolmaz — çalışmayan bir tüketici gecikir ancak asla üreticiyi bozmaz ve geri döndüğünüzde teslimatları panelden yeniden oynatabilirsiniz.

Bununla geliştirmeye başlamanın maliyeti nedir?

Kredi kartı gerektirmeyen 14 günlük Footprint-Free Hosting denemenizi başlatın; ödeme bilgisi gerekmez, en fazla 5 site barındırabilirsiniz. Ücretli Footprint-Free paketleri PBN 5 için ayda 6$'dan başlar. Her planda 30 günlük para iade garantisi, ücretsiz taşıma ve satıcıya bağımlı kalmama imkanı sunulur.

Spesifikasyonu okuyun, ardından ona göre geliştirin

Önce özellik odaklı API, üretilmiş SDK'lar, bir CLI, bir Terraform sağlayıcısı, imzalı web kancaları ve bir MCP sunucusu — dünya çapında 650.000'den fazla site için inşa ettiğimiz barındırma üzerinde. Kart gerektirmeyen 14 günlük deneme sürümüyle başlayın, ödeme bilgisi gerekmez.

Ücretsiz başla