Kendi sitenizi yazıp Teachfluence verinizle çalıştırabilirsiniz: katalog, sepet ve ödeme akışı @teachfluence/sdk üzerinden gelir, siteyi @teachfluence/cli ile Teachfluence altyapısına dağıtırsınız. Bu sayfa anahtarı oluşturmayı, SDK'nın temel akışını ve dağıtımı anlatır.
Başlamadan önce
- Organizasyonda yönetici yetkiniz olmalı (anahtarları yalnızca yöneticiler oluşturur).
- Node.js kurulu bir geliştirme ortamı gerekir.
- Kod yazmak istemiyorsanız durun: sayfalarınızı yapay zekâya ürettirmek için yapay zekâ bağlantısı sayfasına geçin. Blok sistemi, arama motoru optimizasyonu ve ödeme akışı orada olduğu gibi kalır.
1. API anahtarı oluşturun
Ayarlar → Entegrasyonlar → Geliştirici → API anahtarları
Anahtar oluştur'a basın.
Anahtara bir Ad verin (örneğin Üretim storefront) ve Türü seçin.
Yayınlanabilir (tf_pk_) tarayıcıya gider. Ziyaretçinin zaten yapabileceğinden fazlasına izin vermez, bu yüzden istemci paketinize koyabilirsiniz.
Gizli (tf_sk_) yalnızca sunucu tarafıdır. Organizasyon genelinde okuma yetkisi verir ve site dağıtımı yapabilir; yani sitenizin ne yayınladığını değiştirebilir.
Anahtarı yalnızca bir kez görürsünüz
Pencereyi kapattıktan sonra anahtarı bir daha göremezsiniz; yalnızca özeti saklanır. Kaybederseniz yenisini oluşturup eskisini İptal et ile kapatmanız gerekir.
Gizli anahtarı paylaşılan bir sohbete, ekran görüntüsüne veya herkesin görebildiği bir yere koymayın. Sızdıysa hemen iptal edin.
Artık kullanılmayan bir anahtarı İptal et ile kapatın. İptal anında geçerli olur: o anahtarı kullanan siteler ve betikler erişimini kaybeder.
2. SDK'yı kurun
npm install @teachfluence/sdk
import { TeachfluenceClient } from '@teachfluence/sdk';
const client = new TeachfluenceClient({
organizationSlug: 'kurumunuz',
apiKey: process.env.TEACHFLUENCE_PUBLISHABLE_KEY,
});
organizationSlug zorunludur ve açıkça verilir: derleme betiğiniz hiçbir alan adı üzerinde çalışmıyor olabilir. apiKey alanına yalnızca yayınlanabilir anahtar koyun; SDK bir tf_sk_ anahtarı fark ederse hata verir.
Katalogu okumak:
const { organization } = await client.catalog.list({ first: 20 });
const { course } = await client.catalog.course({ slug: 'react-101' });
3. Sepet ve ödeme
Satılan şey kursun dönemidir
Fiyat, kontenjan ve satın alınabilirlik dönemde tanımlıdır. Sepete dönemin kimliğini eklersiniz.
const term = course?.academicTerms[0];
if (term?.viewerCanOrder) {
const { addCartOrderable } = await client.cart.add({
cartId: localStorage.getItem('cartId'),
orderableId: term.id,
});
}
Sepet, giriş yapmamış ziyaretçi için de çalışır. Dönen cartId değerini saklayın; saklamazsanız her istek yeni bir sepet açar.
Siparişi oluşturup alıcıyı ödeme sayfasına gönderirsiniz:
const { createOrder } = await client.checkout.createOrder({ cartId });
window.location.href = client.checkout.paymentUrl(createOrder.order.slug);
Alıcının hesap açması gerekmez. Ödeme, Teachfluence'ın barındırdığı sayfada tamamlanır: kart bilgisi sizin kodunuzdan geçmez, fatura ve vergi kuralları Teachfluence tarafında kalır.
Oturum açma, öğrencinin kendi kayıtlarını okuma ve hata yönetimi için client.session ve client.me ad alanlarına bakın.
4. Sitenizi yayına alın
Siteyi kendi bilgisayarınızda veya sürekli entegrasyon ortamınızda derleyin, sonra dağıtın:
export TEACHFLUENCE_SECRET_KEY=tf_sk_...
npx @teachfluence/cli deploy ./dist --org kurumunuz --route /egitimler
Gizli anahtar ortam değişkeniyle verilir. Bayrak olarak yazılsaydı kabuk geçmişinize ve süreç listesine düşerdi.
Derlerken taban yolunu ayarlayın. --route /egitimler ile yayınlanan bir site varsayılan ayarlarla derlenmişse bütün dosyalarını yanlış adreste arar ve sayfa boş görünür. Vite'ta base: '/egitimler/', Next dışa aktarımında basePath: '/egitimler', Create React App'te "homepage": "/egitimler".
| Bayrak | Ne yapar |
|---|---|
--org <slug> | Hangi organizasyona dağıtılacağı. Zorunlu. |
--route <yol> | Sitenin sunulacağı yol. Vermezseniz paket yüklenir ama hiçbir trafiğe cevap vermez. |
--label <sha> | Dağıtımı bir sürümle etiketler. İsteğe bağlı. |
--force | Mevcut sayfalarınızı gölgeleyen bir yolu yine de yayınlar. |
Sitenin kök adresi desteklenmiyor
--route / kabul edilmez: yol eşleştirmesi adres parçaları üzerinden çalışır, kök desen hiçbir şeyle eşleşmez. Gerçek bir yol talep edin ve ana sayfanızı oraya yönlendirin.
Mevcut sayfalarınızı gölgeleyecek bir yol talep ederseniz işlem reddedilir ve nelerin gizleneceği listelenir. Bilerek yapıyorsanız --force ekleyin.
5. Arama motorlarını unutmayın
Verisini tarayıcıda çeken bir site, derleme sırasında önceden oluşturulmazsa arama motorlarına boş görünür. Teachfluence'ın sayfa oluşturucusu bu işi sizin için yapar; kendi arayüzünüze geçtiğinizde sorumluluk size geçer. Katalog sayfalarınızı derleme zamanında oluşturun.
Sınırlar
- Ödeme formu sizin sitenizde çalışmaz. Alıcıyı satın alma düğmesine kadar getirirsiniz; ödeme adımını Teachfluence'ın barındırdığı sayfa tamamlar.
- Serbest sorgu gönderemezsiniz. SDK yalnızca yayınlanmış işlemleri çağırır. İhtiyacınız olan bir işlem açık değilse bize yazın.
- Kök adrese dağıtım yapılamaz (yukarıdaki 4. adım).
İlgili
- Yapay zekâ istemcisini bağlama (MCP) (kod yazmadan sayfa üretmek için)
- Meet kayıtlarını otomatik ekleme (aynı sekmedeki kayıt aktarımı token'ları)
- Entegrasyonlar (hazır bağlantılar)
