Bu sayfada

API anahtarları ve SDK ile kendi arayüzünüzü geliştirme

Teachfluence verinizle çalışan kendi sitenizi yazın: API anahtarı oluşturun, @teachfluence/sdk ile katalog ve sepeti okuyun, siteyi @teachfluence/cli ile Teachfluence altyapısına dağıtın.

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.

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.

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

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".

BayrakNe 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ı.
--forceMevcut sayfalarınızı gölgeleyen bir yolu yine de yayınlar.

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