Ortam
sdk.env nesnesi, MonoChat’te bir sunucu tarafı fonksiyonunun çalıştığı ortam hakkında bağlamsal veriler sağlar. Aktif tenant, genel ayarlar, kullanıcı meta verileri ve isteğe bağlı olarak oturum veya akış bağlamı gibi önemli bilgileri içerir.
Bu veriler, sunucu tarafı mantığın kimin tarafından, hangi tenant’ta ve hangi akış ya da oturum bağlamında çalıştırıldığını dinamik olarak anlamasına ve uyum sağlamasına imkan verir.
Özellikler
| Özellik | Tür | Açıklama |
|---|---|---|
tenant | object | Fonksiyonun çalıştığı mevcut tenant. |
customAppInstanceId | string | Fonksiyon özel bir uygulamaya aitse, uygulama örneğinin ID’si. |
publicSettings | object | Tüm tenant’lar arasında paylaşılan genel yapılandırma ayarları. |
user | object | Fonksiyonu tetikleyen kullanıcı (varsayılan alan seçimi ile). |
session | object | Oturum bağlamında çalıştırıldıysa oturum nesnesi. |
customFlowInstance | object | Akış yürütmesinin bir parçasıysa mevcut akış örneği. |
💡
sessionveyacustomFlowInstancegibi bazı alanlar, yalnızca ilgili ID’ler fonksiyon payload’una dahil edilirse kullanılabilir.
Örnek
CustomFunction(async function ({ sdk }, reject, resolve) {
const user = sdk.env.user
const tenant = sdk.env.tenant
const session = sdk.env.session
sdk.utils.logger.info({payload: {result: 'Tetikleyen kullanıcı:', user?.profile?.firstname}})
sdk.utils.logger.info({payload: {result: 'Tenant slug:', tenant.slug}})
sdk.utils.logger.info({payload: {result: 'Oturum ID:', session?._id}})
resolve()
})
Notlar
- Ortam, fonksiyonunuz çalıştırılmadan önce asenkron olarak hazırlanır.
userbelgesinin yalnızca seçilen alanları açığa çıkarılır (güvenlik ve performans için).- Payload’a
sessionIdveyacustomFlowInstanceIddahil edilirse, bunlar çözülür vesdk.enviçine eklenir.