SocialHub.AI
Geliştirici Merkezi · REST API

Özelleştirme: Alanlar ve Modüller

Flash her marka için iki şekilde şekillendirilir, her ikisi de tek bir paylaşılan kod tabanında bulunur — asla bir çatallanma değildir. Özel alanlar üye kaydına kendi verilerinizi ekler ve v2 REST API aracılığıyla ayarlanır. Modüller çalışma alanı başına etkinleştirilen ve sunucu tarafından uygulanan isteğe bağlı özelliklerdir. Bu kılavuz her ikisini de kapsar.

Adım 1 – alanı tanımlayın (uygulama içi)

Alanlar ayarlanmadan önce tanımlanır

Bir sahip veya yönetici, Ayarlar → Özel Alanlar altında alanlar oluşturur. Her alanın bir key (makine adı, örneğin cf_membership_no), bir type ve -seçim türleri için- bir seçenek listesi vardır. Anahtar ve tür oluşturulduktan sonra sabittir. API asla alan oluşturmaz; yalnızca zaten var olan alanlar için değerler belirler ve bilinmeyen anahtarları reddeder - tanım tablosu izin verilenler listesidir.

2. Adım — API aracılığıyla değerleri ayarlayın

Oluşturma veya güncelleme sırasında customAttributes iletin

Hem POST /api/v2/members (oluştur) hem de PATCH /api/v2/members/{id} (güncelleme), alan anahtarlarınızla anahtarlanmış bir customAttributes object kabul eder. members:write kapsamına sahip bir Bearer fl_live_ anahtarıyla kimlik doğrulaması yapın.

curl -X POST https://flash.socialhub.ai/api/v2/members \
  -H "Authorization: Bearer fl_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "email": "ada@example.com",
    "fullName": "Ada Lovelace",
    "customAttributes": {
      "cf_membership_no": "A-10023",
      "cf_preferred_store": "flagship",
      "cf_child_birthday": "2018-05-01"
    }
  }'

Güncellemede, yalnızca değiştirmek istediğiniz anahtarları gönderin. Bir anahtarı null olarak ayarlamak onu temizler.

curl -X PATCH https://flash.socialhub.ai/api/v2/members/{id} \
  -H "Authorization: Bearer fl_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "customAttributes": { "cf_preferred_store": "airport" } }'
Türe göre değer şekilleri

Her alan türünün kabul ettiği

TürÖrnek JSON değeriKabul edilir
text"A-10023"sicim
number42number (veya sayısal string)
date"2018-05-01"ISO tarihi (YYYY-AA-GG)
booleantruedoğru / yanlış
enum"flagship"alanın seçeneklerinden biri
list["running","tennis"]alanın seçeneklerinin alt kümesi

Doğrulama katıdır: Bir değer, alanının türüyle eşleşmelidir, bir enum/list değeri, tanımlanan seçeneklerden biri olmalıdır ve bilinmeyen anahtarlar 400 ile reddedilir. Hassas kişisel verilere (PII) ilişkin alanlar henüz kabul edilmemektedir; hassas olmayan iş değerlerine yönelik özel özellikleri koruyun.

Aşağı akışta elde edecekleriniz

Platform genelinde kullanılan tek bir değer

Segmentler

Üyeleri, türe uygun operatörlerle herhangi bir özel alana göre filtreler — API üzerinde ayarladığınız alanla aynı.

E-posta kişiselleştirme

Kopyada değeri {{cf_membership_no}} veya {{member.cf_membership_no}} olarak belirtin.

Üye okuma

Özel değerler customAttributes altındaki üye nesnesinde döndürülür.

② Modüller

İsteğe bağlı özellikler, çalışma alanı başına etkinleştirilir

Özel bir alan bir değer eklerken, bir modül tam bir özellik ekler — örneğin servis biletleri modülü, randevular veya onarım günlüğü. Modüller varsayılan olarak kapalıdır ve çalışma alanı başına etkinleştirilir. Her çalışma alanı aynı kod tabanını çalıştırır; bir modülün açık veya kapalı olması veri (bir yetkilendirme) olup, asla özel bir yapı değildir.

Kapılama nasıl çalışır

Sunucu tarafından tek bir yerde uygulanır

Her modülün kararlı bir anahtarı vardır (örneğin tickets). Bir çalışma alanının bunu kullanıp kullanamayacağı, tek bir değerlendirme noktasında kontrol edilen ve modülün göründüğü her yerde uygulanan, çalışma alanı başına tek bir anahtardır — fail-closed: anahtar açık değilse, özellik basitçe mevcut değildir.

API

Devre dışı bırakılmış bir modülün uç noktaları 403 ile çağrıları reddeder. Yalnızca kullanıcı arayüzünde erişim hiçbir zaman şansa bırakılmaz.

Navigasyon ve sayfalar

Bir modülün menü girişleri ve sayfaları yalnızca çalışma alanı için etkinleştirildiğinde görünür ve kapatıldığında düzgün bir şekilde kaybolur.

Kiracıya özel

Yetkiler çalışma alanı başına geçerlidir. Bir markanın modülleri ve verileri asla başka bir marka tarafından görülemez.

Çatallanmadan genişletme

Yeni bir modül nasıl tanıtılır

Bir yetenek gerçekten yeniden kullanılabilir olduğunda, bir kez modül olarak oluşturulur; kendi verileri, kendi yetkilendirme kapılı API ve kendi sayfaları ile kendi anahtarı altında bir modül kataloğuna kaydedilir. Ona ihtiyaç duyan ilk çalışma alanı onu inşa eder; bir sonraki sadece anahtarı çevirir. Modelin özü budur: Müşteri farklılıkları ayarlar olarak ifade edilir, böylece bir yükseltme veya düzeltme aynı anda her çalışma alanına ulaşır.

  1. Modül, kararlı bir anahtar ve açıklamayla kataloğa kaydedilir.
  2. Verileri ve API rotaları bu anahtara göre kilitlenmiştir (arıza durumunda kapalı).
  3. Gezinme ve sayfaları yalnızca anahtar etkinleştirildiğinde gösterilir.
  4. Bir sahip, bir çalışma alanı için bunu etkinleştirir; ikinci bir çalışma alanı bir anahtardır, yeniden oluşturma değildir.
Modülleri yönetme

Modülleri açma veya kapatma

Çalışma alanı sahipleri modülleri Ayarlar → Modüller'den yönetir. Her geçiş API ve kullanıcı arayüzünde anında etkili olur.

Karar kuralı: Öncelikle yapılandırmayı kullanın; bir değer saklamanız gerektiğinde özel alan ekleyin; bir özellik gerçekten yeniden kullanılabilir olduğunda bir modül oluşturun ve asla ürünü tek bir müşteri için çatallamayın.

Yalnızca ekstra bir alana değil, tamamen yeni bir kayıt türüne mi ihtiyacınız var? Özel Nesneler'e bakın; kendi kodsuz iş nesnenizi oluşturun, ardından kayıtlara göz atın ve bunları segmentlere ayırın. Yığınınızın geri kalanını senkronize tutmak için Bağlayıcılar ve Bildirimler'e bakın.