Kendi sitenizi yazıp Teachfluence verinizle çalıştırabilirsiniz: katalog, sepet ve ödeme akışı @teachfluence/sdk üzerinden gelir, siteyi @teachfluence/cli ile yayına alırsınız. Bu sayfa anahtar oluşturmayı, SDK'nın temel akışını ve dağıtımı anlatır.
Başlamadan önce
Ayarları düzenleme izniniz olmalı; bu, sahip ve yönetici rollerinde varsayılan olarak vardır. 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şmayın
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ı tarayıcıda fark ederse hata verir.
Katalogu okumak:
const { organization } = await client.catalog.list({ first: 20 });
const { course } = await client.catalog.course({ slug: 'react-101' });
client.catalog ayrıca digitalProduct, liveEvent, subscriptionProducts ve contentBlog (yardım merkezi ve blog sayfalarınız) ad alanlarını taşır.
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, kursun kendisini değil.
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 addCartOrderable.cart.id 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 için client.session, öğrencinin kendi kayıtlarını, siparişlerini ve sertifikalarını okumak için client.me ad alanına bakın. Hata yönetimi bu ad alanlarında değil: iş kuralı kaynaklı ret ("kupon süresi dolmuş", "kontenjan kalmamış") TeachfluenceUserError olarak fırlatılır, isUserError ile ayırıp forField ile ilgili form alanına yazarsınız.
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. |
--site | --route / ile birlikte: sitenizin tamamını kök adresten sunar. --take-over-site ister. |
--take-over-site | Kök adresi tümüyle almayı onaylar. --force'tan ayrıdır. |
--label <sha> | Dağıtımı bir kaynak sürümüyle etiketler. İsteğe bağlı. |
--force | Mevcut sayfalarınızı gölgeleyen bir yolu yine de yayınlar. |
--allow-project-root | Çıktı klasörü yerine proje kökünü yayınlamak istediğinizde. |
Mevcut sayfalarınızı gölgeleyecek bir yol talep ederseniz işlem reddedilir ve nelerin gizleneceği listelenir. Bilerek yapıyorsanız --force ekleyin.
Kök adrese dağıtım
--route / kabul edilir, iki farklı kapsamda:
- Yalnızca
--route /verirseniz site tek bir URL'i alır:index.htmldosyanız/adresinde sunulur,/assets/app.jsgibi diğer her adres platforma düşer. Tek sayfalık bir site için yeterlidir. --site --take-over-siteeklerseniz siteniz kökten bütün olarak yayınlanır: platformun sahip olmadığı her adres (/hakkimizda,/blog/merhabadahil) sizin dosyanıza gider.
npx @teachfluence/cli deploy ./dist --org kurumunuz --route / --site --take-over-site
Kök adresten yayınlarken ürün yollarına dikkat edin
Platform kendi yollarını (dersler, derslerim, etkinlikler, abonelik, sepet, siparis, giris, ayarlar, form gibi) her zaman elinde tutar; sitenizde aynı isimde bir sayfa varsa 404 yerine platformun kendi sayfası görünür. Bu adları kullanmayın. Platformda kayıtlı yönlendirme kurallarınız da kök adres yayınından sonra çalışmaz. Bu yönlendirmeleri kendi sitenize taşıyın.
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 destek ekibiyle iletişime geçin.
- Sınav işlemleri henüz yayınlanmadı, ödev dosyası SDK'dan yüklenemez. Öğrenciyi bu iki akış için platformun kendi sayfasına yönlendirin.
İ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)
- Abonelik paketleri (plan karşılaştırması)
