ARCY AI

Referans

Her arcy.js çağrısı, API rotası olmayan işlemler için registerHandler dahil; her init() seçeneği, olay ve tip; her konsol uyarısının çözümü.

arcy.js'in tek giriş noktası arcy.init(token) çağrısıdır. Her çatıda ve iki kurulum yolunda (npm ve HTML kod parçacığı) aynıdır. Kod yalnızca panele ulaşılmadan önce bilinmesi gerekenleri belirler: yanıt dili, panelin yüklenince açılıp açılmayacağı, içerik yerel ayarı, isteklerin gideceği adres ve bir akışın İstek adımının göndereceği başlıklar. Ajanın personası, kaynakları, akışları, limitleri ve çevirilerinin tamamı panelde yapılandırılır. Token Yapılandır > Kurulum sayfasındadır; kurulumun kendisi Hızlı başlangıç sayfasındadır. ARCY MCP, arcy.js'in parçası değildir; kodlama ajanınızın bağlandığı ayrı bir sunucudur. Ayrıntılar ARCY MCP sayfasındadır.

Hiçbir çağrı hata fırlatmaz, hiçbir promise reddedilmez. Hatalı kullanım, [arcy] ön ekli bir console.warn satırı yazar ve hiçbir şey yapmaz. Uyarıların tamamı Konsol uyarıları bölümündedir.

init(token, options?)

ts
init(token: string, options?: ArcyOptions): Promise<void>

ARCY'yi tek bir ortam için yükler. token, o ortamın herkese açık Token değeridir. Aynı sayfada ikinci bir çağrı ya da token'sız bir çağrı uyarıyla yoksayılır.

options tam olarak altı anahtar kabul eder. Başka bir anahtar, adı yazılan bir uyarıyla yoksayılır.

ts
interface ArcyOptions {
  locale?: string
  defaultOpen?: boolean
  contentLocale?: string
  apiBase?: string
  requestHeaders?: () => Record<string, string> | Promise<Record<string, string>>
  listen?: { posthog?: unknown; mixpanel?: unknown; amplitude?: unknown }
}
SeçenekDeğerEtkisi
locale"en", "tr", "de" veya "ru"Ajanın varsayılan yanıt dili. Başka bir değer yok sayılır. Çevrilmiş içeriği seçmez.
defaultOpentrue veya falseSohbet panelini sayfa yüklenince açar. Verilmezse panel kapalı kalır. Sohbet çubuğu kitlesi dışındaki ziyaretçiler için yoksayılır.
contentLocale"en-US", "tr-TR", "de-DE" veya "ru-RU"Ziyaretçinin bölgesini kimlik bildiriminden önce biliyorsanız hangi yerel ayarın çevrilmiş içeriğinin sunulacağı. locale değerinden türetilmez. Bkz. Yerelleştirme.
apiBaseBir origin ya da yol ön ekli bir origin, sonda eğik çizgi olmadanHer isteğin, yüklemenin ve yazı tipinin https://api.arcyai.com yerine gideceği adres. Dış origin'e izin vermeyen bir Content Security Policy altındaki sayfalar için. Bkz. Sorun giderme.
requestHeadersDüz bir başlık nesnesi ya da onun promise'ini döndüren bir işlevBir akışın her İstek adımından hemen önce ziyaretçinin tarayıcısında çağrılır; döndürdüğü başlıklar ziyaretçinin kendi çerezlerinin yanında çağrıyla gider. Hiçbir zaman saklanmaz, ARCY'ye gönderilmez. Çerez oturumu kullanan bir Yazılım ürünü için gerekmez. Bkz. Endpoint'ler.
listenKodunuzun oluşturduğu PostHog, Mixpanel ya da Amplitude örneğini adlandıran bir nesnenpm ile kurulan ve ARCY'nin bulabileceği bir window globali olmayan araçlar için. Her anahtar isteğe bağlıdır. Araç yine de Entegrasyonlar sayfasında açık olmalıdır; değilse örnek bir uyarıyla yoksayılır. Hem örnek hem global varsa örnek kullanılır, global hiç okunmaz. Google Analytics 4'ün burada anahtarı yoktur; dataLayer her zaman globaldir.
ts
import arcy from "arcy.js"

arcy.init("YOUR_ENVIRONMENT_TOKEN", { locale: "tr", contentLocale: "tr-TR" })

arcy.init("YOUR_ENVIRONMENT_TOKEN", {
  requestHeaders: () => ({ Authorization: "Bearer " + getToken() }),
})

import posthog from "posthog-js"
arcy.init("YOUR_ENVIRONMENT_TOKEN", { listen: { posthog } })

identify(userId, attributes?, options?)

ts
identify(userId: string, attributes?: AttributesInput, options?: IdentifyOptions): Promise<void>

Sayfadaki kullanıcının kim olduğunu bildirir. userId boş olmayan bir metin olmalıdır; başka her değer uyarıyla yoksayılır. attributes, yerleşik özniteliklerden ve Yapılandır > Öznitelikler sayfasında tanımladığınız anahtarlardan oluşan düz bir nesnedir. Her değer metin, sayı, mantıksal değer, null, metin dizisi, nesne ya da nesne dizisi olmalıdır. Başka biçimdeki bir değer, örneğin bir Date, anahtarın adını söyleyen bir uyarıyla düşer. Nesne için geçerli üst sınırlar Öznitelikler sayfasındadır.

Üç durum birbirinden ayrıdır: yazmadığınız anahtara dokunulmaz, undefined aynı şeyin JavaScript'teki yazımıdır, null ise saklanan değeri siler. Böylece kimlik sağlayıcınızdan gelen isteğe bağlı bir alanı olduğu gibi geçirebilirsiniz:

ts
arcy.identify(user.id, {
  user_email: user.primaryEmailAddress?.emailAddress,
  user_signed_up_at: user.createdAt.toISOString(),
  plan_value: 249,
  plan_cycle: "monthly",
  plan_currency: "TRY",
})

options.userHash, sunucunuzun hesapladığı kimlik doğrulama imzasını taşır. Tarif Hızlı başlangıç sayfasındadır. Metin olmayan bir userHash uyarıyla yoksayılır.

Yerleşik öznitelikler

ARCY bu anahtarları hiçbir tanım yapmadan her yazılım ürününde tanır. Denetimi geçemeyen bir değer yalnızca o anahtar için reddedilir. Çağrının geri kalanı saklanır ve anahtar Öznitelikler sayfasında reddedilmiş olarak görünür. Yerleşik ya da sizin olsun, kart numarasına, banka hesap numarasına (IBAN) ya da API anahtarına benzeyen her değer de aynı şekilde reddedilir: ARCY ödeme ve kimlik bilgisi verisini hiçbir zaman saklamaz ve reddedilen değeri günlüğe yazmaz.

AnahtarTipKabul edilen değer
user_emailMetinEn fazla 1.000 karakter.
user_first_nameMetinEn fazla 1.000 karakter. Tam adı tek değer olarak değil, iki parça hâlinde gönderin.
user_last_nameMetinEn fazla 1.000 karakter.
user_signed_up_atTarih/saatISO 8601 metni, örneğin user.createdAt.toISOString(). UTC olarak saklanır.
organization_idMetinKullanıcının bağlı olduğu hesap. Bu değeri paylaşan kullanıcılar tek bir kuruluşta toplanır.
organization_nameMetinHesabın adı.
organization_signed_up_atTarih/saatISO 8601 metni.
plan_nameMetinPlanın adı.
plan_valueSayı0 ya da daha büyük bir sayı; metin kabul edilmez: "249" değil, 249.
plan_cycleMetinYalnızca monthly ya da annual.
plan_currencyMetinUSD, EUR, GBP, JPY, CNY, AUD, CAD, CHF, INR ya da TRY; büyük küçük harf fark etmez. Gönderilmezse plan_value kullanıcılar arası hiçbir toplama girmez.

Dört anahtarı ARCY kendisi doldurur: user_first_seen_at, user_last_seen_at, organization_first_seen_at ve organization_last_seen_at. Bunlardan biri gönderilirse reddedilir.

Kendi öznitelikleriniz user_, organization_ ya da plan_ ile başlayabilir, örneğin user_role. Yalnızca yukarıdaki on beş ad ayrılmıştır. Anahtar kuralları Öznitelikler sayfasındadır.

locale_code bir öznitelik değildir. identify() ya da updateUser() ile gönderildiğinde bu oturumun içerik yerel ayarını belirler; init() çağrısındaki contentLocale ile aynı işi görür. Kullanıcının kaydına hiçbir zaman yazılmaz.

identifyAnonymous(attributes?, options?)

ts
identifyAnonymous(attributes?: AttributesInput, options?: IdentifyAnonymousOptions): Promise<void>

Oturum açmış kullanıcısı olmayan sayfalar için. Alan adınızdaki birinci taraf bir çerezde tutulan kimliği yeniden kullanır ya da yeni üretir. Böylece geri gelen ziyaretçi oturumlar ve alt alan adları boyunca tek kişi sayılır; kayıttan önceki etkinlik kayıttan sonra hesaba bağlanır. Anonim ziyaretçinin sohbet yanıtları, kimliği doğrulanmış kullanıcınınkiyle aynı yapay zeka kredisinden düşer. Sınırlar Limitler sayfasındadır.

options.id ile bu ziyaretçi için kendi kimliğinizi, örneğin bir misafir kimliğini verirsiniz; arcy.js o kimliği kullanır. Bir içe aktarmanın anonymous_id sütununa yazdığınız değeri verin. Ziyaretçi, içe aktardığınız anonim geçmişe bağlanır:

ts
arcy.identifyAnonymous({}, { id: guest.id })

Çağrıyı sayfa yüklenirken, sohbet açılmadan yapın: konuşma sırasında verilen kimlik ziyaretçiyi baştan başlatır. UUID biçimindeki kimlik (sürüm 1 ile 8) küçük harfe çevrilip olduğu gibi kullanılır. Diğer kimliklerin baştaki ve sondaki boşlukları kırpılır, en fazla 256 karakter olabilirler ve sabit bir UUID'ye dönüştürülürler. İçe aktarma da aynı değerden aynı UUID'yi hesaplar. arcy.js'in ürettiği kimlik gibi sizinki de yalnızca ziyaretçinin onayından sonra saklanır. Ret ya da onayın geri çekilmesi kimliği unutturur; bu yüzden kimliği her çağrıda verin. Boş ya da daha uzun bir kimlik uyarıyla yok sayılır ve ziyaretçi arcy.js'in ürettiği kimlikle devam eder.

updateUser(attributes?)

ts
updateUser(attributes?: AttributesInput): Promise<void>

Kimliği değiştirmeden mevcut kimliğe öznitelik ekler. userHash almaz; önceki identify() çağrısının doğrulama durumunu devralır. Herhangi bir identify() ya da identifyAnonymous() çağrısından önce çağrılırsa hiçbir şey göndermez.

reset()

ts
reset(): void

Mevcut kimliği siler ve yeni bir anonim kimlik başlatır. Aynı tarayıcıdaki iki kişi hiçbir zaman birleşmesin diye oturum kapatma işleyicinizden çağırın. Çalışan bir akış varsa onu da bitirir; flow_abandoned işleyiciniz bunu duyar. Ayrılan kişi için bekleyen teklifleri, tetikleyicileri ve Kontrol listesini, onun için saklanan yarım kalmış akışı da siler. Böylece sıradaki kişi temiz bir başlangıç yapar.

consent(granted)

ts
consent(granted: boolean): void

Ziyaretçinin çerez politikanıza verdiği yanıtı kaydeder. init() çağrısından sonra herhangi bir anda, bildiriminizin Kabul işleyicisinden true, Reddet işleyicisinden false ile çağırın. false, ARCY'nin cihaza yazdığı her çerezi ve anahtarı siler. Her yanıtın neyi durdurduğu ve sohbetin nasıl yeniden sorduğu Onay sayfasındadır.

consentState()

ts
consentState(): "granted" | "refused" | null

Ziyaretçinin bu cihazdaki güncel yanıtı. null, henüz yanıt verilmediği anlamına gelir; bildiriminiz bu durumda kendini göstermelidir. HTML snippet yolunda arcy.js yüklenene kadar da null döner; bu yüzden değeri on("ready") içinde okuyun.

onConsent(handler)

ts
onConsent(handler: (granted: boolean) => void): () => void

Sohbet içindeki bir Kabul dahil her kaynaktan gelen her değişiklikte tetiklenir ve bir abonelik iptal işlevi döndürür. Google Consent Mode'u, CMP'nizi ya da kendi bayrağınızı burada güncelleyin. Bağlama örnekleri Onay sayfasındadır.

on(event, handler)

ts
on(event: "ready" | "open" | "close", handler: () => void): () => void
on(
  event: "flow_started" | "flow_completed" | "flow_abandoned",
  handler: (detail: { key: string; source: FlowStartSource }) => void,
): () => void

Bir olaya abone olur ve bir abonelik iptal işlevi döndürür. init() çağrısından önce de çağrılabilir. reset() hiçbir aboneliği silmez.

OlayNe zaman tetiklenirİşleyicinin aldığı
readyinit() oturumu yapılandırdığında.Hiçbir şey
open, closeSohbet paneli açıldığında ya da kapandığında.Hiçbir şey
flow_startedKim başlatırsa başlatsın, herhangi bir akış başladığında.{ key, source }
flow_completedBir akış sonuna ulaştığında.{ key, source }
flow_abandonedBir akış sonuna varmadan durduğunda: ziyaretçi durdurduğunda, bir tetikleyici ya da reset() bitirdiğinde veya akış hata verdiğinde. Akış sürerken kapatılan bir sekme hiçbir şey göndermez.{ key, source }

key, akışın Akışlar sayfasındaki ayarlarında yer alan Anahtar değeridir. source, akışı neyin başlattığını söyler:

sourceBaşlatan
starterÇubuktaki ya da karşılama ekranındaki bir başlangıç akışı
drawerSohbetteki akışlar çekmecesi
shortcutSohbet dökümünde önerilen bir akış
target_suggestBir ajanın Öner eylemini kabul eden ziyaretçi
target_runBir ajanın Çalıştır eylemi
checklistBir Kontrol listesi maddesi
codeSizin startFlow() çağrınız
flow_routeARCY'nin kullanıcının sorusuna uyan bir akışı sohbet yanıtının içinde çalıştırması (Akışlar)

Olay adları Akışlar sayfasındaki olaylarla aynıdır. Böylece kendi analitik aracınızdaki sayı ile bir akışın analitiğindeki sayı aynı şeyi sayar:

ts
arcy.on("flow_completed", ({ key, source }) => {
  posthog.capture("flow_completed", { flow: key, source })
})

Bu altı ad dışındaki bir olay adı uyarıyla yoksayılır. Hata fırlatan bir işleyici yakalanır ve uyarı yazılır; diğer işleyiciler ve akış çalışmaya devam eder.

startFlow(key)

ts
startFlow(key: string): void

Bu Anahtar ile yayındaki akışı kendi düğmenizden ya da menünüzden başlatır. Kopyalanacak satır, Akışlar sayfasındaki akış ayarlarında anahtarın yanındadır. Anahtarı değiştirirseniz eski anahtarla yapılan her çağrı çalışmaz.

ts
<button onClick={() => arcy.startFlow("setup_payouts")}>Ödemeleri ayarla</button>

Çağrının arkasında bir tıklama ya da tuşa basma varsa akışı ziyaretçi başlatmış sayılır. Çerez politikanızı henüz kabul etmemiş ya da reddetmiş bir ziyaretçiye önce sohbet açılır ve onay sorulur. Ziyaretçi kabul ettikten sonraki ilk tıklamada akış başlar. Arkasında ikisi de olmayan bir çağrıda, sözgelimi sayfa yüklenirken ya da on("ready") içinde, ilk sözü ARCY almış sayılır. Bu durumda sohbet yalnızca henüz yanıt vermemiş ziyaretçiye onay sorar; reddetmiş ziyaretçi hiçbir şey görmez. Çalışmanın source değeri code olur.

Bu ortamda yayında akışı olmayan bir anahtar ya da kitlesi bu ziyaretçiyi kapsamayan bir akış hiçbir şey başlatmaz ve hiçbir şey göstermez; konsol anahtarın adını yazar. İlk çağrı henüz yüklenirken aynı anahtarla yapılan ikinci çağrı ya da zaten çalışan bir akış için yapılan çağrı yeni bir şey başlatmaz. init() tamamlanmadan yapılan çağrı onu bekler. init() hiç çağrılmadan yapılan çağrı uyarıyla yoksayılır. HTML kod parçacığında bu çağrıyı bir tıklamadan ya da on("ready") içinden yapın. Ayrıntılar Yükleme ve sayfa değişiklikleri bölümündedir.

track(name)

ts
track(name: string): void

Kendi kodunuzdan adlandırılmış bir olay bildirir. Yalnızca ad alır: küçük harf, rakam ve alt çizgi, en fazla 64 karakter, harfle başlar. Bu biçimin dışındaki bir ad düşürülür ve ad başına bir kez konsol uyarısı verilir. Ziyaretçi onay verene kadar hiçbir şey kaydedilmez; init() tamamlanmadan yapılan çağrı onu bekler.

Adı önce tanımlayın. Olaylar sayfasında hiçbir olayın tanımlamadığı bir ad, geldiği anda düşürülür, orada kendi adıyla sayılır ve planınızın izlenen olay hakkından hiç düşmez. Tanımlamak o sayfada tek basıştır.

Tanımlı bir olay; bir akışın Tamamlanma olayı, bir huni adımı, bir Deneyin koşulu, bir Uzmanın neyi saydığı ya da bir Kontrol listesi maddesinin Tamamlanma kuralı olabilir.

Çağrıyı ARCY olmadan da çalışan yola koyun. Sohbetin içinde biten bir akışta aynı olayı İstek adımı sizin yerinize bildirebilir (Akışlar). Bir akışın tamamlanma olayını bugüne kadar yalnızca o adım gönderdiyse ARCY olmadan kimse o ana ulaşamaz. Bu durumda Lift, kendi kodunuz da gönderene kadar o akış için fark göstermez. Olayı sunucudan bildirmenin bir yolu yoktur. track() çağrısını, kendi isteğiniz başarılı olduktan sonra ziyaretçinin tarayıcısından yapın.

ts
arcy.track("checkout_done")

registerHandler(name, handler)

ts
registerHandler(name: string, handler: (inputs: Record<string, string | number | boolean>) => unknown): () => void

Kendi fonksiyonlarınızdan birini, bir akışın İstek adımının yürütebileceği hale getirir. Ürününüzde API rotası olmayan işlemler için kullanın: Next.js Server Action, tRPC yöntemi, GraphQL mutation, CSRF arkasında bir form gönderimi. Endpoint'ler sayfasında o Endpoint'in Nasıl yürütülür değeri Handler olur, Handler adı ise burada verdiğiniz name değeridir.

ts
import { createLead } from "@/app/actions/leads"

arcy.registerHandler("create_lead", ({ email, name }) => createLead({ email, name }))

ARCY fonksiyonunuzu tek bir nesneyle çağırır: Endpoint'in tanımlı girdileri, her biri kendi Türü olarak okunmuş ve Kurallarına göre denetlenmiş halde. Başka hiçbir şey gitmez: akış anahtarı yok, ziyaretçi kimliği yok, öznitelik yok. Sayfanız kimin oturum açtığını zaten bilir, fonksiyonunuz da kendi oturumunu okur. ARCY, döndürdüğünüz değerden Endpoint'in yanıt alanlarını noktalı yollarıyla okur ve döndürdüğünüz hiçbir şeyi ARCY'ye göndermez.

Bir değer ya da bir promise döndürün. Fırlatılan bir hata ve reddedilen bir promise başarısızlıktır; Endpoint'in Başarısızlığı nasıl bildirir işaretinin eşleştiği bir yanıt da başarısızlıktır. Başarısızlık hiçbir çalışma değişkeni yazmaz ve hiçbir olay bildirmez.

Ad küçük harf, rakam ve alt çizgiden oluşur, harfle başlar ve en fazla 64 karakterdir; bu şeklin dışındaki bir ad tek bir konsol uyarısıyla yok sayılır. Aynı adı ikinci kez kaydetmek sessizce en yenisini tutar, böylece geliştirme sırasında yenilenen bir modül sorun olmaz. Dönen değer o kaydı geri alır, yalnızca hâlâ geçerli olan kayıt oysa:

ts
useEffect(() => arcy.registerHandler("create_lead", createLead), [])

init() öncesinde çağırmak güvenlidir; HTML parçacığıyla kurulumda arcy.js yüklenmeden önce de güvenlidir. Kendi betiğinizin başında kaydedin, çağrı arcy.js geldiğinde işler.

Bir akış yürütmeden hiçbir şey olmaz. Kaydettiğiniz fonksiyon yalnızca bir kişinin yayınladığı akışın içinde, o Endpoint'e bağlı bir adımda çalışır; ziyaretçinin girdiği değer de Endpoint'in Kurallarından geçmeden fonksiyonunuza ulaşmaz.

open() ve close()

ts
open(): void
close(): void

Sohbet panelini kendi kodunuzdan açar ya da kapatır. İkisi de eşzamanlıdır. open(), sohbet çubuğu kitlesi dışındaki bir ziyaretçi için de sohbeti açar; panel kapanınca çubuk yeniden çekilir.

VERSION

ts
arcy.VERSION // "0.x.y"

Kurulu arcy.js sürümü, bir destek kaydına yazmak için. arcy.js bu değeri her oturum başında bize de gönderir; ARCY MCP bir güncellemenin yüklendiğini bununla doğrular. Her sürüm Sürüm notları sayfasındadır. 1.0 öncesinde bir sürüm, kodunuzun arcy.js'i nasıl çağırması gerektiğini değiştirebilir. Bu tür her değişiklik "Kodunuzda değişmesi gerekenler" başlığı altında yer alır ve ARCY MCP sayfasındaki arcy.js'i güncelleyin işi bunu sizin yerinize yapar. 1.0 ile birlikte kırıcı bir değişiklik yeni bir ana sürüm ve önceden duyuru demektir.

TypeScript tipleri

arcy.js kendi tiplerini içerir; @types/arcy.js yoktur. Aşağıdakilerin her birini adıyla içe aktarabilirsiniz:

ts
import arcy, { type IdentifyOptions, type FlowEventDetail } from "arcy.js"
TipNe olduğu
Arcyarcy nesnesinin kendisi
ArcyOptionsinit() seçenekleri
ListenInstanceslisten seçeneğinin nesnesi
IdentifyOptionsidentify() çağrısının üçüncü argümanı
IdentifyAnonymousOptionsidentifyAnonymous() çağrısının ikinci argümanı: { id }
AttributesInputidentify(), identifyAnonymous() ve updateUser() çağrılarının kabul ettiği nesne; undefined değerler dahil
Attributes, AttributeValue, AttributeObjectBir öznitelik nesnesi, tek bir değer ve Nesne tipindeki bir değer
ArcyEvent, ArcyEventHandlerready, open, close ve işleyicileri
ArcyFlowEvent, FlowEventHandler, FlowEventDetailÜç akış olayı, işleyicileri ve { key, source }
FlowStartSourceSekiz source değeri
ConsentState, ConsentHandlerconsentState() çağrısının döndürdüğü değer ve onConsent() çağrısının çağırdığı işlev
Unsubscribeon() ve onConsent() çağrılarının döndürdüğü işlev

Yükleme ve sayfa değişiklikleri

HTML kod parçacığı, arcy.js yüklenene kadar çağrıları sıraya alır. Yüklemeden önce yapılan her çağrı bekletilir ve sırasıyla çalıştırılır; bu yüzden identify() kod parçacığının hemen altında durabilir. init(), identify(), identifyAnonymous() ve updateUser() bir promise döndürür. Bu promise, arcy.js yüklenip çağrıyı çalıştırdığında tamamlanır. on() ve onConsent(), çağrı sıradayken de çalışan bir abonelik iptal işlevi döndürür. consentState() o ana kadar null, VERSION ise undefined döner; ikisini de on("ready") içinde okuyun.

Kod parçacığı, yapıştırıldığı andaki yöntemleri taşır. Kod parçacığınızdan daha yeni bir yöntem arcy.js yüklenmeden çağrılırsa hata fırlatır. startFlow() çağrısını bir tıklamadan ya da on("ready") içinden yapın; bu her kod parçacığında güvenlidir. Dilerseniz kod parçacığını Yapılandır > Kurulum sayfasından yeniden yapıştırın.

Sayfa değişiklikleri için çağrı gerekmez. ARCY, istemci tarafındaki her rota değişikliğini geri ve ileri gezinme dahil kendisi görür. Yol değiştikten yaklaşık yarım saniye sonra yeni sayfada hangi tetikleyicilerin geçerli olduğuna yeniden bakar. Sayfa görüntüleme bildirmek için bir çağrı yoktur.

Yarım kalan bir akış, sayfa tamamen yeniden yüklense de sürer. Bunun için aynı sekmede ve aynı kişiyle, son adımından sonraki 30 dakika içinde kalmak gerekir. Bu süre geçtiyse, başka bir sekmede ya da reset() sonrasında akış kaldığı yerden devam etmez.

arcy.js yalnızca tarayıcıda çalışır. Sunucu tarafında işleme yapan bir çatıda çağrıları bir istemci bileşeninden ya da bileşen yüklendiğinde çalışan bir efektten yapın; sunucu işlemesi sırasında asla çağırmayın.

Her sayfada tek kurulum yolu kullanın. Kod parçacığını ve npm paketini aynı sayfaya asla birlikte yüklemeyin: ikinci kopya uyarıyla yoksayılır.

Konsol uyarıları

Her satır [arcy] ile başlar. Açılı ayraç içindeki kelimeler, <body> dışında, çağrınızdan doldurulur. Uyarı metinleri İngilizcedir; tabloda da olduğu gibi yer alır.

UyarıNedenÇözüm
init() needs an environment token. Ignoring the call.init() token almadı ya da token metin değil.Yapılandır > Kurulum sayfasındaki Token değerini verin.
init() has already been called. Ignoring the second call.Aynı sayfada ikinci bir init(); çoğunlukla iki kez yapıştırılmış kod parçacığı.Tek kurulum bırakın.
init() options must be an object. Continuing without them.İkinci argüman bir nesne değil.Bir nesne verin ya da hiçbir şey vermeyin.
init() ignored unknown option "<key>". Only locale, defaultOpen, contentLocale, apiBase, requestHeaders, and listen can be set in code; everything else is configured in the dashboard. Consent is given through arcy.consent().init() çağrısının almadığı bir seçenek.Seçeneği kaldırın. Ayarı panelde yapın; onay için consent() çağırın.
init() was given a <tool> instance under listen, but <tool> is not switched on for this environment. Switch it on under Configure > Integrations, or remove it from listen.Bir panel ayarı.Aracı Entegrasyonlar sayfasında açın.
<tool> is on this page but its SDK has no surface arcy.js can listen to, so no event from it will be seen. Check the SDK version.Analitik SDK'nizin sürümüne ARCY bağlanamıyor.SDK'yi güncelleyin.
<method>() was called before init(). Ignoring.identify, identifyAnonymous, updateUser, consent, consentState, onConsent, open ya da startFlow, init() çağrısından önce çalıştı.Önce init() çağırın.
identify() needs a user id. Ignoring the call.Boş ya da metin olmayan bir userId.Oturum açmış kullanıcının kimliğini metin olarak verin.
<method>() attributes must be an object. Ignoring the call.Öznitelik argümanı düz bir nesne değil.Anahtarlardan oluşan bir nesne verin.
<method>() dropped "<key>": an attribute must be a string, number, boolean, null, an array of strings, an object, or an array of objects.Başka biçimde tek bir değer, örneğin bir Date.Tarih için ISO 8601 metni gönderin. Bkz. Yerleşik öznitelikler.
identify() was given a userHash that is not a string. Ignoring it.options.userHash metin değil.Sunucunuzun hesapladığı onaltılık imzayı verin.
This environment enforces identity verification and no valid userHash was supplied, so this user was not identified and none of their attributes were stored. Pass a signed userHash: arcy.identify(userId, attributes, { userHash }). See Configure > Identity verification in the ARCY dashboard.Bir panel ayarı: kimlik doğrulama açık.Kullanıcı kimliğini sunucunuzda imzalayın. Bkz. Kimlik doğrulama.
identifyAnonymous() options must be an object. Ignoring the options.İkinci argüman bir nesne değil.{ id } verin ya da hiçbir şey vermeyin.
identifyAnonymous() id must be a non-empty string of at most 256 characters. Ignoring the id.options.id metin değil ya da kırpıldıktan sonra boş veya 256 karakterden uzun.İçe aktarmanın anonymous_id sütununda kullandığınız misafir kimliğini verin.
updateUser() was called before identify() or identifyAnonymous(). Ignoring the call.Henüz güncellenecek bir kimlik yok.Önce identify() ya da identifyAnonymous() çağırın.
onConsent() needs a function. Ignoring the call.İşleyici bir işlev değil.Bir işlev verin.
on("<event>") needs a function. Ignoring.İşleyici bir işlev değil.Bir işlev verin.
on("<event>") is not an ARCY event. The events are ready, open, close, flow_started, flow_completed and flow_abandoned. Ignoring.Yanlış yazılmış bir olay adı.Altı addan birini kullanın.
A "<event>" handler threw. <error>İşleyiciniz hata fırlattı. Diğer işleyiciler yine çalıştı.İşleyiciyi düzeltin.
track() dropped "<name>". A name is lowercase letters, digits and underscores, at most 64 characters, starting with a letter.Bu biçimin dışında bir ad. Her ad için bir kez uyarılır.Olayı yeniden adlandırın.
registerHandler ignored "<name>": a handler name is lowercase letters, digits and underscores, starting with a letter, at most 64 characters.Bu şeklin dışında bir ad.Adı hem burada hem Endpoint'in Handler adı alanında değiştirin.
registerHandler ignored "<name>": the second argument must be a function.İkinci argüman fonksiyon değil.Bir fonksiyon verin.
startFlow() needs a Flow key. Ignoring the call.Boş ya da metin olmayan bir anahtar.Akışın Anahtar değerini verin.
startFlow() found no published flow with key "<key>" in this environment.Yanlış yazılmış ya da değiştirilmiş bir anahtar, bu ortamda yayında olmayan bir akış ya da kitlenin dışında kalan bir ziyaretçi.Satırı Akışlar sayfasındaki akış ayarlarından kopyalayın ve akışın nerede yayında olduğunu kontrol edin.
startFlow("<key>") could not load the published flows, so nothing started. Try again, and if it keeps happening send us arcy.VERSION.ARCY'ye ulaşılamadı.Yeniden deneyin. Tekrarlanırsa bize arcy.VERSION değerini gönderin.
The chat is hidden because this organization has reached its chat cap. Raise or clear the cap under Workspace settings > Limits, or wait for the window to roll over.Bir panel ayarı: bir sohbet sınırına ulaşıldı.Sınırı Limitler sayfasında yükseltin ya da kaldırın.
This page's Content-Security-Policy is blocking part of the ARCY widget.Sayfanızın politikası ARCY'yi engelliyor.Bkz. Sorun giderme.
Failed to load. ARCY is disabled. ya da Failed to load <url>. ARCY is disabled.Betik yüklenemedi.Bkz. Sorun giderme.
Failed to load <url>. The chat panel will not open. If this page sets a Content-Security-Policy, it must allow scripts from <url>.Sohbet panelinin betiği yüklenemedi.Bkz. Sorun giderme.
The page has no <body> to mount into yet. The widget will not render.init(), sayfanın gövdesi oluşmadan çalıştı.Bkz. Sorun giderme.
Another copy of ARCY is already on this page. Ignoring this one.Aynı sayfada kod parçacığı ile npm paketi ya da iki kod parçacığı var.Tek kurulum yolu bırakın.
Diğer her satır, örneğin The chat panel could not load. ya da The ARCY session could not be started.ARCY içinde bir hata. Sayfanız çalışmaya devam eder.Satırı ve arcy.VERSION değerini bize gönderin.

Ayrıca bakın

Bu sayfada