Tecof partner uygulamaları, mağazaların panelden tek tıkla kurduğu üçüncü taraf uygulamalardır. Bir uygulama, mağaza onay verdiği kapsamlarla (scope) Tecof verisini okur ve yazar, webhook ile olayları dinler, panel ekranlarına kendi işlemlerini (aksiyon) ekler, panel içinde iframe arayüzüyle çalışır ve isterse ücretli plan satar. Uygulamanın geliri, partner programının aylık hak ediş akışıyla geliştiriciye ödenir.
Model, ikas App Development'a yakındır: Admin App + Actions + App Bridge + CLI + plan satışı + aylık hak ediş.
Uygulama Türleri#
| Tür | embedded | Ne yapar | Örnek |
|---|---|---|---|
| Panel içi (embedded) uygulama | true | Panelde iframe arayüzü açar, kendi menü başlıklarını (navigation) ekler, App Bridge ile panelle konuşur | Fatura listesi ekranı olan bir muhasebe uygulaması |
| Arka plan (headless) uygulama | false | Arayüzü yoktur; webhook alır, API çağırır. Ayarlarını panelin yerel ayar formundan (settings) alabilir, api tipi aksiyon sunabilir | Stok senkronu, sipariş aktarımı |
Her iki türde de uygulama kendi sunucusunda çalışır: ya Tecof'un yönettiği barındırmada (hosting: "tecof", tecof app deploy) ya da sizin altyapınızda (hosting: "external").
Yetenekler#
| Yetenek | Ne sağlar | Sayfa |
|---|---|---|
| API erişimi | Kurulum token'ı (tcfi_…) ile /api/v1 üzerinden sipariş, müşteri, ürün, envanter okuma; Tools API ile yazma | Uygulama API’si |
| Webhook'lar | Sipariş, ürün, müşteri, içerik olayları ve uygulama yaşam döngüsü olayları; zaman damgalı HMAC imzası | Webhook'lar |
| Aksiyonlar | Sipariş, ürün ve müşteri ekranlarına (detay + toplu işlem) iframe ya da API işlemi ekleme | Aksiyonlar |
| App Bridge | iframe ile panel arasında güvenli mesajlaşma: oturum token'ı, bildirim, onay penceresi, yönlendirme | App Bridge |
| CLI ve barındırma | tecof CLI ile giriş, proje oluşturma, tünelle geliştirme, GitHub + Vercel'e dağıtım; tecof app push ile artımlı push, numaralı sürümler, yeniden derlemeden canlıya alma ve anında geri alma | Hızlı Başlangıç, Sürümler ve Geri Alma |
| Vault | API anahtarı, parola gibi sırları kurulum başına şifreli saklama; uygulamanın kendi veritabanına ihtiyacı kalmaz | Ayarlar, Vault ve Metafield'lar |
| Ayarlar ve yerel ayar formu | Kurulum başına JSON ayarlar; panelin "Ayarlar" sekmesinde otomatik form | Ayarlar, Vault ve Metafield'lar |
| Metafield'lar | Sipariş, ürün, müşteri ya da mağazaya bağlı uygulama verisi; panelde gösterim | Ayarlar, Vault ve Metafield'lar |
| Uygulamalar arası olaylar | Bildirilmiş olayları yayınlama ve başka uygulamaların olaylarına abone olma | Uygulamalar Arası İletişim |
| Ücretli planlar | Aylık/yıllık plan, deneme süresi, iyzico ile tahsilat, %80 geliştirici payı | Ücretlendirme ve Hak Ediş |
Mimari#
flowchart LR
subgraph Panel["Tecof Paneli - app.tecof.com"]
UI["Uygulama sayfası / aksiyon penceresi"]
end
subgraph App["Uygulamanız - appUrl"]
FE["iframe arayüzü + @tecof/app-bridge"]
BE["Sunucu rotaları + @tecof/app-sdk"]
end
API[("Tecof API - api.tecof.com")]
UI -- "launch URL + oturum JWT'si (60 sn)" --> FE
FE -- "postMessage (App Bridge)" --> UI
FE -- "Authorization: Bearer oturum token'ı" --> BE
BE -- "client_credentials -> tcfi_ (1 saat)" --> API
BE -- "/api/v1/* (Bearer tcfi_)" --> API
API -- "Webhook + API aksiyonu (X-Tecof-Signature)" --> BEÜç güven sınırı vardır:
- Panel → iframe: Panel uygulamaya yalnız 60 saniyelik, istemci sırrınızla imzalı bir oturum JWT'si verir. Panel oturumu (JWT) ve mağazanın
secretKey'i platform uygulamalarına asla verilmez. - Uygulama → Tecof API: Sunucunuz istemci kimliği + sırrıyla kurulum token'ı alır. Token yalnız kurulu olduğu mağazanın verisine, mağazanın onayladığı kapsamlarla erişir; mağaza kimliği token'dan çözülür.
- Tecof → uygulama: Webhook ve API aksiyonu istekleri
X-Tecof-Signatureile imzalanır; 5 dakikalık tekrar saldırısı penceresi vardır.
Kimlik Bilgileri Özeti#
| Kimlik | Biçim | Ömür | Nerede kullanılır |
|---|---|---|---|
| İstemci kimliği | tcfa_… | Kalıcı, herkese açık | Token isteği, oturum JWT'sinin aud alanı, kurulum bağlantısı |
| İstemci sırrı | tcfs_… | Döndürülene kadar; yalnız oluşturma/döndürmede bir kez gösterilir | Token isteği, imza doğrulama, oturum JWT'si doğrulama (yalnız sunucuda) |
| Kurulum token'ı | tcfi_… | 1 saat | /api/v1/* çağrıları (Authorization: Bearer) |
| Oturum token'ı | JWT (HS256) | 60 saniye | iframe arayüzünden kendi sunucunuza giden istekler |
| Geliştirici (CLI) token'ı | tcfd_… | Cihaz oturumu 30 gün (14 gün kullanılmazsa düşer); kapsamlı CI token'ı 1–365 gün | tecof CLI, geliştirici API'si (/api/developer) ve alanlar (Spaces). Bkz. Güvenlik ve CI |
Ayrıntılar: Kimlik Doğrulama ve Kapsamlar.
Geliştirme Yaşam Döngüsü#
flowchart LR
A["Partner hesabı"] --> B["tecof login"]
B --> C["tecof app init"]
C --> D["Test mağazasında geliştirme<br/>tecof app dev"]
D --> E["tecof app push + promote<br/>ya da tecof app deploy"]
E --> F["İncelemeye gönderim<br/>draft -> in-review"]
F --> G["approved: yayın<br/>public / private"]
G --> H["Kurulumlar + plan satışları"]
H --> I["Aylık hak ediş<br/>partner ödeme akışı"]- Partner hesabı. Uygulamalar bir partner hesabına aittir. Partner başvurusunda program olarak uygulama geliştirme (
programs: ["apps"]) seçilir; ajans programı kapalı olsa bile uygulama geliştirici programı (varsayılan açık) yeterlidir. Geliştirici olmak için partner kaydınız ve partner üyeliğinizactiveolmalıdır. - CLI girişi.
tecof logincihaz akışıyla tarayıcıda onay ister ve kişisel hesabınıza bağlı bir CLI token'ı alır (30 gün; 14 gün kullanılmazsa düşer). Uygulama komutları her istekte aktif partner üyeliğinizi doğrular. - Proje.
tecof app initşablondan proje açar; uygulama yapılandırmasıtecof.app.jsondosyasındadır. - Test mağazasında geliştirme. Onaysız uygulama yalnız
testStoreslistesindeki (ekip üyesi olduğunuz) mağazalara kurulur.tecof app devyerel sunucunuzu başlatıp tünelle açar; test mağazası kurulumlarında iframe, webhook'lar ve API aksiyonları bu adrese gider. - Dağıtım.
tecof app pushyalnız değişen dosyaları Tecof barındırmasına (GitHub org reposu + Vercel projesi) yükleyip staged bir sürüm açar;tecof app promote vNonu yeniden derlemeden canlıya alır,tecof app rollbackönceki canlı sürüme döner.tecof app deploytüm kaynağı yükleyip doğrudan yayınlamaya devam eder. İlk yayında<slug>.apps.…alt alan adı bağlanır. Kendi sunucunuzda barındırıyorsanızhosting: "external"+appUrlkullanırsınız. - İnceleme.
draft→in-review→approvedya darejected. Gönderim için ikon, açıklamalar, destek e-postası, gizlilik politikası,httpsadres ve en az bir yüzey gerekir; ücretli plan içeren uygulama, partner doğrulaması (KYC/IBAN) onaylı değilse incelemeye gönderilemez. - Yayın.
approved+publicuygulama katalogda görünür.privatedağıtım katalogda görünmez, yalnız doğrudan kurulum bağlantısıyla kurulur. - Kazanç. Plan satışlarının KDV hariç tutarının varsayılan %80'i, 14 günlük iade penceresi sonunda partner defterinize yazılır ve aylık partner ödeme akışıyla ödenir.
Eski (legacy) entegrasyon modeli#
Tecof’un ilk birinci parti uygulamaları integration: "legacy" sözleşmesiyle yazılmıştı: iframe’e sorgu dizesiyle secretKey ve panel token’ı verilir, ayarlar /api/store/option üzerinden okunur, webhook X-App-Secret / X-Webhook-Secret ile doğrulanırdı. Bu model yeni uygulamalara açık değildir ve bu dokümantasyonda anlatılmaz. Tecof’un kendi uygulamaları (fatura, kargo, pazaryeri, SMS…) bu bölümde anlatılan platform sözleşmesine (integration: "platform", @tecof/app-sdk, @tecof/app-ui) taşınmaktadır; örnek için Logo İşbaşı ve Fatura uygulamaları.
Bu Bölümün Sayfaları#
| Sayfa | İçerik |
|---|---|
| Hızlı Başlangıç: Tecof CLI | Kurulum, giriş, proje yapısı, tünelle geliştirme, dağıtım, tecof.app.json referansı |
| Tasarım Kimliği | @tecof/app-ui kurulumu, kabuk ve bileşenler, durum sözlüğü, ekran düzenleri, metin tonu |
| Formlar ve Şema | İstemci ve sunucuda tek şema, AppForm, SecretField, validateOnServer |
| Sürümler, Canlıya Alma ve Geri Alma | tecof app push sürümleri, staged ve production, canlıya alma ve geri alma kuralları, portaldaki Sürümler sekmesi |
| Güvenlik ve CI | CLI kimlik bilgileri, kapsamlı CI token'ları, GitHub Actions örneği, ajan modu |
| Kimlik Doğrulama ve Kapsamlar | Kapsam listesi, kurulum token'ı, oturum token'ı, imzalar, sır döndürme |
| Uygulama API’si | /api/v1 zarfı, sayfalama, hız sınırları, kaynak şekilleri, Tools API, uygulamaya özel uçlar |
| Webhook'lar | Abonelik, olay kataloğu, teslimat biçimi, yeniden deneme, idempotency |
| Aksiyonlar | Yerleşimler, iframe ve API aksiyonları, yerelde test |
| App Bridge | Mesaj protokolü, bağlam nesnesi, React sağlayıcısı |
| Ayarlar, Vault ve Metafield'lar | Ayarlar, şifreli sırlar, yerel ayar formu, metafield'lar |
| Uygulamalar Arası İletişim | Uygulama olayları, paylaşılan metafield'lar, keşif kataloğu |
| Ücretlendirme ve Hak Ediş | Planlar, KDV, abonelik durumları, gelir paylaşımı, ödeme |
| Yayınlama ve İnceleme | İnceleme durumları, dağıtım, kontrol listesi, askıya alma |
| Örnek Uygulama: Logo İşbaşı | Uçtan uca örnek: otomatik fatura, Vault, metafield, aksiyon, olay yayını |
Değişiklik Notları#
| Tarih | Değişiklik |
|---|---|
| 11.10.2026 | Spaces: tecof app push, versions, promote, rollback ile artımlı push, numaralı sürümler, yeniden derlemeden canlıya alma ve anında geri alma; tecof app deploy çalışmaya devam ediyor |
| 11.10.2026 | CLI oturumu kişisel hesaba bağlandı: onay adresi /cli, cihaz token'ı 30 gün (14 gün kullanılmazsa düşer), token işletim sistemi anahtarlığında; partner üyeliği yalnız uygulama uçlarında aranır. Kapsamlı CI token'ları eklendi |
| 10.10.2026 | Platform backend'i uygulandı; bu bölümdeki sözleşme ayrıntıları (yaşam döngüsü olay verileri, yeniden deneme sayısı, devUrl davranışı, inceleme kapısı, abonelik geçişleri) kesinleşti |
| 10.10.2026 | Düzeltme: kaldırılan bir uygulama aynı mağazaya yeniden kurulamıyordu; artık yeniden kurulum eski kaydı canlandırır |
| 10.10.2026 | Düzeltme: webhook yeniden denemeleri ve elle yeniden gönderim 8 KB'ta kırpılmış (bozuk) JSON gönderiyordu; artık tam gövde (≤ 256 KB) gönderilir |