Yapılandırma
arcy.js API'sinin tamamı ve kodda mı panelde mi yapılandırıldığı.
arcy.js'in tek bir giriş noktası var: arcy.init(token). Bu giriş noktası her çerçevede ve
her iki dağıtım kanalında (npm ve HTML kod parçacığı) aynıdır. Sağlayıcı bileşeni ve yapılandırma
dosyası yoktur. Aracının ne yaptığı, ne üzerinde eğitildiği, ne söylediği ve hangi akışları
çalıştırdığı kodda değil panelde yapılandırılır. Kodda yalnızca, panele ulaşılmadan önce
bilinmesi gereken şu birkaç seçenek kalır: telemetri onayı, dil ve panelin yüklenirken açılıp
açılmayacağı.
Sohbet ve Akış'lar ne yapar
Aracının iki yeteneği vardır, ikisi de aynı sohbet yüzeyinden sunulur:
| Yetenek | Ne yapar |
|---|---|
| Sohbet | Eklediğiniz Kaynaklardan ve mevcut sayfadan yararlanarak soruları doğrudan yanıtlar. |
| Akışlar | Ürününüzün içinde, bir operatörün yazdığı adım dizisini (tıklama, doldurma, yönlendirme) sohbet yüzeyi üzerinden adım adım çalıştırır. |
Seçilecek ayrı bir mod yoktur ve sayfanızın üzerine bir katman bindirilmez: widget bir sohbet çubuğu ve bir sohbet yüzeyidir, başka bir şey değil. Bir operatörün Akış'ı nasıl yazdığı için Akışlar sayfasına bakın.
init(token, options?)
init(token: string, options?: ArcyOptions): Promise<void>ARCY'yi tek bir ortam için yükler. token, o ortamın Settings > Installation ekranından
kopyalanan açık Token değeridir (arcy_pk_...). Aynı sayfada init() işlevini ikinci kez
çağırmak bir konsol uyarısıyla yok sayılır; token'sız çağırmak da aynı sonucu verir.
options tam olarak dört anahtar kabul eder. Başka bir şey geçirmek bir konsol uyarısı yazar ve
bilerek yok sayılır: davranışsal bir seçenek kodda değil panelde bulunmalıdır.
interface ArcyOptions {
telemetry?: boolean
locale?: string
defaultOpen?: boolean
contentLocale?: string
}telemetry: ürününüz davranışsal telemetriyi bir çerez bildirimi arkasına alıyorsa, kendi onay sinyaliniz. Bir bildirimin kabul/ret mantığı sizin sahip olduğunuz koddur; arcy.js böyle bir bildirim göstermez.locale: aracının varsayılan olarak hangi dilde yanıt vereceğini belirleyen iki harfli kod ("en"veya"tr"). AşağıdakicontentLocaledeğerinden ayrıdır: bu, hangi çevrilmiş panel içeriğinin sunulacağını değil, varsayılan yanıt dilini belirler.defaultOpen:truesohbet panelini yüklenir yüklenmez açar,falsekapalı kalmaya zorlar. Boş bırakılırsa yalnızca ilk ziyarette operatörün paneldeki ayarına uyar; geri dönen bir ziyarette kendiliğinden yeniden açılmaz.contentLocale: ziyaretçinin bölgesini oturum açmadan önce zaten bildiğiniz durumlar için, hangi dilin çevrilmiş içeriğinin sunulacağını belirleyen bölge nitelikli kod ("en-US"veya"tr-TR"). Bununlocale_codeözelliğiyle nasıl etkileştiği için Yerelleştirme sayfasına bakın.
import arcy from "arcy.js"
arcy.init("arcy_pk_...", { locale: "tr", contentLocale: "tr-TR" })init() asla hata fırlatmaz. Eksik veya geçersiz bir token, bozuk bir options nesnesi ya da
başlatma sırasında bir ağ hatası, hepsi bir konsol uyarısına dönüşür; sayfanız her durumda
çalışmaya devam eder.
identify(userId, attributes?, options?)
identify(userId: string, attributes?: Attributes, options?: IdentifyOptions): Promise<void>ARCY'ye mevcut kullanıcının kim olduğunu ve onun hakkında ne bildiğinizi söyler. attributes
düz bir nesnedir; ARCY bir anahtarı saklamadan önce her anahtarın Agent > Attributes
altında tanımlanmış olması gerekir ve her değer bir metin, sayı, mantıksal değer, null veya
metin dizisi olmalıdır. Bunun dışındaki her şey, anahtarı adıyla söyleyen bir konsol uyarısıyla yok sayılır.
arcy.identify("user_123", {
name: "Jordan Lee",
email: "jordan@example.com",
plan_value: 249,
plan_cycle: "monthly",
})options.userHash, kendi sunucunuzda hesaplanan kimlik doğrulama imzasını taşır. Tarif için
Kimlik doğrulamayı zorunlu kılma bölümüne bakın.
identifyAnonymous(attributes?)
identifyAnonymous(attributes?: Attributes): Promise<void>Oturum açmış kullanıcısı olmayan sayfalar içindir. localStorage içinde saklanan bir kimlik
üretir (veya var olanı yeniden kullanır), böylece geri dönen anonim bir ziyaretçi oturumlar
arasında tanınır. Anonim kullanım, tanımlı kullanımla aynı kredi sayacından düşer; anonim
sınırlar için Settings > Limits ekranına bakın.
updateUser(attributes?)
updateUser(attributes?: Attributes): Promise<void>Kimliği değiştirmeden mevcut kimliğe yeni özellikleri birleştirir. Kendisinden önce gelen
identify() çağrısının kimlik doğrulama durumunu devralır, bu yüzden kendi userHash değerini
almaz. Herhangi bir identify() veya identifyAnonymous() çağrısından önce çağrılırsa hiçbir şey
yapmaz: güncellenecek bir profil henüz yoktur, dolayısıyla hiçbir şey gönderilmez.
reset()
reset(): voidMevcut kimliği ve anonim kimliği temizler. Bunu çıkış işleminize bağlayın. Klavyenin başındaki kişinin değişiyor olabileceğine dair gerçek kanıt bulunan tek an budur, bu yüzden ARCY iki kişinin etkinliğini tek bir huniye karıştırma riskini almak yerine yeni bir anonim kimlik başlatır.
on(event, handler)
on(event: "ready" | "open" | "close", handler: () => void): () => voidBir widget yaşam döngüsü olayına abone olur ve aboneliği bırakan bir işlev döndürür. ready,
init() oturumu tamamen yapılandırdığında bir kez tetiklenir; open ve close, sohbet panelinin
görünürlüğü değiştiğinde tetiklenir. on(), init() çağrısından önce de çağrılabilir.
open() / close()
open(): void
close(): voidSohbet panelini kod içinden açar veya kapatır. İkisi de yerel ve eş zamanlı çalışır, hiçbir zaman hata fırlatmaz.
Geri kalan her şey panelde
Aracının kişiliği, hangi Kaynaklardan yararlandığı, hangi akışları çalıştırabildiği, kredi sınırları veya dil çevirileri için kod düzeyinde bir seçenek yoktur. Bunların tümü uygulamanın panel bölümlerindedir: Akışlar, Train, Persona, Origins, Attributes ve Localization için Agent; Installation, Environments, kimlik doğrulama ve Limits için Settings.
Ayrıca bakınız
- Kaynaklar: Sohbet'in yanıt verebilmesi için belge ve bağlantı ekleme
- Hızlı başlangıç: kurulumun tam anlatımı