Ö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.
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.
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" } }'Her alan türünün kabul ettiği
| Tür | Örnek JSON değeri | Kabul edilir |
|---|---|---|
text | "A-10023" | sicim |
number | 42 | number (veya sayısal string) |
date | "2018-05-01" | ISO tarihi (YYYY-AA-GG) |
boolean | true | doğ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.
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.
İ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.
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.
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.
- Modül, kararlı bir anahtar ve açıklamayla kataloğa kaydedilir.
- Verileri ve API rotaları bu anahtara göre kilitlenmiştir (arıza durumunda kapalı).
- Gezinme ve sayfaları yalnızca anahtar etkinleştirildiğinde gösterilir.
- 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 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.