İçeriğe geç
Docs

Uygulama Geliştirme

Partner uygulamalarına genel bakış: uygulama türleri, yetenekler, mimari, kimlik bilgileri ve geliştirmeden yayına yaşam döngüsü.

Son güncelleme:

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ürembeddedNe yaparÖrnek
Panel içi (embedded) uygulamatruePanelde iframe arayüzü açar, kendi menü başlıklarını (navigation) ekler, App Bridge ile panelle konuşurFatura listesi ekranı olan bir muhasebe uygulaması
Arka plan (headless) uygulamafalseArayüzü yoktur; webhook alır, API çağırır. Ayarlarını panelin yerel ayar formundan (settings) alabilir, api tipi aksiyon sunabilirStok 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#

YetenekNe sağlarSayfa
API erişimiKurulum token'ı (tcfi_…) ile /api/v1 üzerinden sipariş, müşteri, ürün, envanter okuma; Tools API ile yazmaUygulama API’si
Webhook'larSipariş, ürün, müşteri, içerik olayları ve uygulama yaşam döngüsü olayları; zaman damgalı HMAC imzasıWebhook'lar
AksiyonlarSipariş, ürün ve müşteri ekranlarına (detay + toplu işlem) iframe ya da API işlemi eklemeAksiyonlar
App Bridgeiframe ile panel arasında güvenli mesajlaşma: oturum token'ı, bildirim, onay penceresi, yönlendirmeApp Bridge
CLI ve barındırmatecof 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 almaHızlı Başlangıç, Sürümler ve Geri Alma
VaultAPI anahtarı, parola gibi sırları kurulum başına şifreli saklama; uygulamanın kendi veritabanına ihtiyacı kalmazAyarlar, Vault ve Metafield'lar
Ayarlar ve yerel ayar formuKurulum başına JSON ayarlar; panelin "Ayarlar" sekmesinde otomatik formAyarlar, Vault ve Metafield'lar
Metafield'larSipariş, ürün, müşteri ya da mağazaya bağlı uygulama verisi; panelde gösterimAyarlar, Vault ve Metafield'lar
Uygulamalar arası olaylarBildirilmiş olayları yayınlama ve başka uygulamaların olaylarına abone olmaUygulamalar Arası İletişim
Ücretli planlarAylı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
Diyagram

Üç güven sınırı vardır:

  1. 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.
  2. 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.
  3. Tecof → uygulama: Webhook ve API aksiyonu istekleri X-Tecof-Signature ile imzalanır; 5 dakikalık tekrar saldırısı penceresi vardır.

Kimlik Bilgileri Özeti#

KimlikBiçimÖmürNerede kullanılır
İstemci kimliğitcfa_…Kalıcı, herkese açıkToken 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österilirToken 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 saniyeiframe 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üntecof 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ışı"]
Diyagram
  1. 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ğiniz active olmalıdır.
  2. CLI girişi. tecof login cihaz 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.
  3. Proje. tecof app init şablondan proje açar; uygulama yapılandırması tecof.app.json dosyasındadır.
  4. Test mağazasında geliştirme. Onaysız uygulama yalnız testStores listesindeki (ekip üyesi olduğunuz) mağazalara kurulur. tecof app dev yerel sunucunuzu başlatıp tünelle açar; test mağazası kurulumlarında iframe, webhook'lar ve API aksiyonları bu adrese gider.
  5. Dağıtım. tecof app push yalnı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 vN onu yeniden derlemeden canlıya alır, tecof app rollback önceki canlı sürüme döner. tecof app deploy tü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ız hosting: "external" + appUrl kullanırsınız.
  6. İnceleme. draft → in-review → approved ya da rejected. Gönderim için ikon, açıklamalar, destek e-postası, gizlilik politikası, https adres ve en az bir yüzey gerekir; ücretli plan içeren uygulama, partner doğrulaması (KYC/IBAN) onaylı değilse incelemeye gönderilemez.
  7. Yayın. approved + public uygulama katalogda görünür. private dağıtım katalogda görünmez, yalnız doğrudan kurulum bağlantısıyla kurulur.
  8. 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 CLIKurulum, 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 Almatecof app push sürümleri, staged ve production, canlıya alma ve geri alma kuralları, portaldaki Sürümler sekmesi
Güvenlik ve CICLI kimlik bilgileri, kapsamlı CI token'ları, GitHub Actions örneği, ajan modu
Kimlik Doğrulama ve KapsamlarKapsam 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'larAbonelik, olay kataloğu, teslimat biçimi, yeniden deneme, idempotency
AksiyonlarYerleşimler, iframe ve API aksiyonları, yerelde test
App BridgeMesaj protokolü, bağlam nesnesi, React sağlayıcısı
Ayarlar, Vault ve Metafield'larAyarlar, şifreli sırlar, yerel ayar formu, metafield'lar
Uygulamalar Arası İletişimUygulama 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ı#

TarihDeğişiklik
11.10.2026Spaces: 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.2026CLI 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.2026Platform 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.2026Düzeltme: kaldırılan bir uygulama aynı mağazaya yeniden kurulamıyordu; artık yeniden kurulum eski kaydı canlandırır
10.10.2026Dü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