Ana içeriğe geç

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

ÖzellikTürAçıklama
tenantobjectFonksiyonun çalıştığı mevcut tenant.
customAppInstanceIdstringFonksiyon özel bir uygulamaya aitse, uygulama örneğinin ID’si.
publicSettingsobjectTüm tenant’lar arasında paylaşılan genel yapılandırma ayarları.
userobjectFonksiyonu tetikleyen kullanıcı (varsayılan alan seçimi ile).
sessionobjectOturum bağlamında çalıştırıldıysa oturum nesnesi.
customFlowInstanceobjectAkış yürütmesinin bir parçasıysa mevcut akış örneği.

💡 session veya customFlowInstance gibi 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.
  • user belgesinin yalnızca seçilen alanları açığa çıkarılır (güvenlik ve performans için).
  • Payload’a sessionId veya customFlowInstanceId dahil edilirse, bunlar çözülür ve sdk.env içine eklenir.