Sohbette müşteri verileri (siparişler, kargo, faturalar)
Yapay zekâ asistanı, oturum açmış müşterilerin kendi siparişleriyle ilgili sorularını yanıtlasın: imzalı kimlikle güvenli, alanları tam belirlenmiş, mağazanızdan alınan veya içe aktarılan verilerle.
Müşteri verileriyle yapay zekâ asistanı “Kargom nerede?”, “Faturam ödendi mi?” veya “Son siparişimde neler vardı?” gibi soruları yanıtlar; oturum açmış müşteriler için ve yalnızca kendi verileri hakkında. Özellik ücretli planlarda kullanılabilir.
Veriler nasıl korunur?
- Tarayıcı hiçbir şeyi kanıtlamaz. Sipariş veya fatura numarası, e-posta adresi, sayfada gösterilen ya da sohbette yazılan hiçbir şey erişim sağlamaz. Kimin hangi verileri görebileceğini yalnızca sunucunuzun imzaladığı kimlik belirler.
- Numara yalnızca filtredir. Müşteri sipariş numarası verirse yalnızca kendi siparişleri arasında aranır. Başkasının numarası sonuç döndürmez.
- Her alanı siz belirlersiniz. Asistan yalnızca etkinleştirdiğiniz alanları alır. Mağazanız gönderse bile diğer her şey geldiğinde atılır.
- Bizde veri deposu yoktur (veri alma). Veri alma yönteminde reactive.chat her soru için mağazanıza sorar ve yanıtı saklamaz. İçe aktarmada veriler bizde şifreli saklanır ve en geç 90 gün sonra silinir.
- Yalnızca kendi makinelerimiz. Veriler yalnızca kendi YZ sunucularımıza (veya kendi YZ düğümünüze) gider; üçüncü taraf YZ hizmetine asla gitmez.
Ön koşul: kimlik doğrulama
Asistan müşteri verilerini yalnızca kimliği sunucunuz tarafından doğrulanmış ziyaretçiler için kullanır. Hesabınızda Proje → Kimlik doğrulama altında gizli anahtar ayarlayın. Sunucunuzda kalır; tarayıcıya veya yerleştirme koduna asla konmaz.
Sunucunuz, oturum açmış her müşteri için son kullanma zamanıyla (en fazla 24 saat sonrası) bir özet hesaplayıp widget’a iletir:
$userId = (string) $customer->id;
$exp = time() + 3600;
$hash = hash_hmac('sha256', $userId . '.' . $exp, getenv('RC_IDENT_SECRET'));
echo "<script>ReactiveChat('identify', { userId: " . json_encode($userId)
. ", userHash: " . json_encode($hash) . ", exp: " . $exp . " });</script>";
const crypto = require('crypto');
const exp = Math.floor(Date.now() / 1000) + 3600;
const hash = crypto.createHmac('sha256', process.env.RC_IDENT_SECRET)
.update(String(user.id) + '.' + exp).digest('hex');
// in the template: ReactiveChat('identify', { userId: '<id>', userHash: '<hash>', exp: <exp> });
exp olmadan özet, ziyaretçiyi hâlâ doğrular (örneğin sohbet geçmişi için), ancak müşteri verileri için yeterli değildir. Gizli anahtarı yenilediğinizde eskisi 24 saat geçerli kalır.
E-postayı da imzalama (randevu alma ve e-posta tabanlı entegrasyonlar için). Özetin yanındaki email yalnızca imzanın parçasıysa doğrulanmış sayılır: userHash = HMAC-SHA256(secret, userId + "." + exp + "." + email) – adres tam olarak identify çağrısına ilettiğiniz biçimde olmalıdır. Bu olmadan ziyaretçi oturum açmış olarak kalır; ancak asistan o adres için randevu almaz ve entegrasyonlar o adresi aramaz. Mevcut userId + "." + exp biçimi değişmeden çalışmaya devam eder.
Veri alma, içe aktarma veya ikisi
Proje → Müşteri verileri altında asistanın verileri nereden alacağını seçersiniz:
- Mağazanızdan al – reactive.chat her uygun soru için uç noktanızı çağırır. Veriler sizde kalır. Önerilir.
- API ile içe aktar – mağazanız müşterinin siparişlerini reactive.chat hizmetine gönderir. Mağazanız uç nokta sunamıyorsa yararlıdır.
- İkisi de – önce içe aktarılan veriler; orada bulunamazsa veri alma.
Asistan hangi verileri alabilir?
Her alanı ayrı etkinleştirirsiniz. Varsayılanlar olağan soruları kapsar:
bestellung.nummer– sipariş numarası. Varsayılan: her zaman açık. Kullanım: zorunlu; numarasız sipariş olmazbestellung.datum– sipariş tarihi (YYYY-MM-DD). Varsayılan: açık. Kullanım: “Ne zaman sipariş verdim?”bestellung.status– metin olarak sipariş durumu. Varsayılan: açık. Kullanım: “Siparişim kargoya verildi mi?”bestellung.summe– toplam tutar. Varsayılan: açık. Kullanım: “Ne kadar ödedim?”bestellung.waehrung– para birimi (ISO, örneğin EUR). Varsayılan: açık. Kullanım: yalnızca toplam tutarla birliktepositionen.name– ürün adı. Varsayılan: açık. Kullanım: “Siparişte neler vardı?”positionen.menge– ürün başına miktar. Varsayılan: açık. Kullanım: “Kaç tane sipariş verdim?”versand.dienst– kargo şirketi. Varsayılan: açık. Kullanım: “Kargoyu kim teslim ediyor?”versand.sendungsnummer– takip numarası. Varsayılan: açık. Kullanım: “Kargom nerede?”versand.status– metin olarak kargo durumu. Varsayılan: açık. Kullanım: “Yola çıktı mı?”versand.ort– teslimat adresindeki şehir. Varsayılan: kapalı. Kullanım: “Kargom nereye gidiyor?”versand.plz– teslimat adresinin posta kodu. Varsayılan: kapalı. Kullanım: yukarıdaki gibirechnung.nummer– fatura numarası. Varsayılan: açık. Kullanım: “Hangi fatura buna ait?”rechnung.status– metin olarak ödeme durumu. Varsayılan: açık. Kullanım: “Faturam ödendi mi?”rechnung.faellig_am– son ödeme tarihi. Varsayılan: açık. Kullanım: “Ne zaman ödemeliyim?”
Kapalı alan asistana asla ulaşmaz: veri alırken atılır, içe aktarırken hiç saklanmaz. Şehir ve posta kodu bilinçli olarak yalnızca açıkça etkinleştirdiğinizde kullanılabilir; sokak ve ad her zaman dışarıda kalır.
Asla iletilmeyenler
Bunlar etkinleştirilemez. Mağazanız gönderirse atılır:
- sokak, bina numarası ve diğer adres satırları
- alıcının veya müşterinin adı
- e-posta adresi ve telefon numarası
- IBAN, BIC, hesap numarası ve kart verileri
- doğum tarihi
- şifreler, token’lar ve erişim anahtarları
- vergi ve kimlik numaraları
Sınırlar
Yanıt başına en fazla 10 sipariş, sipariş başına en fazla 20 ürün, en fazla 200 karakterlik metinler, yanıtın tamamı en fazla 16 kB. Bilinmeyen alanlar hata olmadan atılır.
Veri alma uç noktası
reactive.chat uç noktanızı POST ile çağırır:
POST https://shop.your-domain.com/rc-customer-data
Content-Type: application/json
X-RC-Zeit: 1791196400
X-RC-Signatur: <hex(HMAC_SHA256(endpoint secret, X-RC-Zeit + "." + body))>
{"user_id":"4711","anliegen":"bestellung","referenz":"2026-0815","sprache":"en","nonce":"..."}
user_id, kimlik doğrulamadan gelen doğrulanmış müşteri kimliğidir; asla sohbetten alınmaz.anliegendeğeribestellung(sipariş),lieferung(teslimat),rechnung(fatura),retoure(iade) veya test düğmesi içintestolur.referenz, müşterinin belirttiği numara veya boştur. Yalnızca buuser_idiçin olan siparişler arasında arayın.
Uç noktanız şunları yapmalıdır:
- imzayı doğrulamak (sabit süreli karşılaştırma) ve
X-RC-Zeitdeğeri 5 dakikadan fazla farklı olan istekleri reddetmek, - yalnızca verilen
user_idverilerini döndürmek, - genel erişime açık adreste 443 numaralı port üzerinden
httpsile, yönlendirme olmadan erişilebilir olmak, - 3 saniye içinde yanıtlamak.
Yanıt:
{
"bestellungen": [
{
"nummer": "2026-0815", "datum": "2026-09-28", "status": "shipped",
"summe": "49.90", "waehrung": "EUR",
"positionen": [ { "name": "Balance bike blue", "menge": 1 } ],
"versand": { "dienst": "DHL", "sendungsnummer": "00340434...", "status": "out for delivery" },
"rechnung": { "nummer": "R-2026-1201", "status": "paid", "faellig_am": "2026-10-12" }
}
]
}
Geliştirici dokümantasyonunda tam PHP örneği bulunur (kundendaten-referenz-endpunkt.php).
Bağlantıyı test et ile reactive.chat, user_id değeri rc-test ve istek türü test olan çağrıyla uç noktanızı çağırıp sonucu gösterir. Bunun için boş liste veya örnek sipariş döndürün.
API ile içe aktarma
kundendaten:schreiben yetkisine sahip API anahtarıyla:
PUT https://reactive.chat/v1/kundendaten/4711?project_id=123
Authorization: Bearer <API key>
Content-Type: application/json
{"bestellungen":[ ... as above ... ]}
project_id, projenizin numarasıdır; çalışma alanınızda yalnızca bir proje varsa atlayabilirsiniz. PUT, bu müşteri kimliğinin tüm siparişlerini değiştirir (en fazla 50). DELETE /v1/kundendaten/4711?project_id=123 bunları kaldırır. İçe aktarılan veriler bizde şifreli saklanır ve son içe aktarmadan 90 gün sonra silinir; bu nedenle değişiklikleri sürekli, örneğin her durum değişikliğinde gönderin.
Oturum açmamış ziyaretçiler
Doğrulanmış kimliği olmayan biri sipariş sorarsa asistan hiçbir veri almaz. Bunun yerine Proje → Müşteri verileri altında yapılandırdığınız bildirimi gösterir: dil başına metin ve isteğe bağlı oturum açma bağlantısı. Alternatif olarak soruyu ekibinize aktarır.
Neler saklanır?
- Veri alma: Mağazanızın yanıtı yalnızca asistanın o tek yanıtı için kullanılır; ne sohbette ne bilgi tabanında saklanır.
- İçe aktarma: Şifreli, en fazla 90 gün; projeyle birlikte silinir.
- Asistanın yanıtı, her mesaj gibi sohbet geçmişinde görünür. Ekibiniz bunu kontrol panelinde görür.
Sorun giderme
- Müşteri oturum açmış olmasına rağmen asistan oturum açmasını istiyor:
expeksikse, süresi dolmuşsa veya özet eşleşmiyorsa ziyaretçi doğrulanmış sayılmaz. Gizli anahtarı,userId + "." + expsırasını ve sunucunuzun saatini kontrol edin. - Test düğmesi “adrese izin verilmiyor” bildiriyor: Uç nokta genel erişime açık adreste
httpsile erişilebilir olmalıdır; iç adresler ve diğer portlar reddedilir. - Sizin tarafınız imza hatası bildiriyor: İmzalanan dize, uç noktanın gizli anahtarıyla
X-RC-Zeit + "." + bodydeğeridir; gövde yeniden kodlanmadan, tam alındığı biçimde olmalıdır. - Asistanın yanıtında bir alan eksik: “Asistan hangi verileri alabilir?” altında etkin mi?
Dokümantasyonda daha fazlası
Ayrıntılı bilgi: Müşteri verisi uç noktası. Tüm bölümler dokümantasyondadır.
Kemas kini terakhir: