Widget Kurulumu
Web Widget Kurulumu
Yanıtly web widget'ını sitenize ekleyerek müşterilerinize AI destekli canlı destek sunun. Tek satır kodla kurulum, tam özelleştirme.
Hızlı Kurulum
Aşağıdaki kodu sitenizin </body> etiketinden hemen önce yapıştırın:
Minimum Kurulumhtml
<!-- Yanıtly Web Widget -->
<script
src="https://yanitly.com/widget/embed.js"
data-tenant-id="YOUR_TENANT_ID"
async
></script>Bu kadar! Widget otomatik olarak sayfanın sağ alt köşesinde görünecektir.
Tenant ID'nizi Yanıtly paneli → Ayarlar → Widget bölümünden alabilirsiniz.
Özelleştirme
Widget'ı markanıza uygun hale getirmek için YanitlyConfig nesnesini kullanın:
Tam Yapılandırmahtml
<script>
window.YanitlyConfig = {
tenantId: 'YOUR_TENANT_ID',
// Pozisyon
position: 'bottom-right', // bottom-right | bottom-left
// Dil
language: 'tr', // tr | en
// Tema
theme: {
primaryColor: '#6C3AED',
headerTitle: 'Size Nasıl Yardımcı Olabiliriz?',
headerSubtitle: 'Genellikle birkaç dakika içinde yanıt veririz',
welcomeMessage: 'Merhaba! 👋 Size nasıl yardımcı olabiliriz?',
placeholder: 'Mesajınızı yazın...',
poweredByText: 'Yanıtly ile güçlendirilmiştir',
},
// Davranış
behavior: {
autoOpen: false, // Otomatik açılsın mı?
autoOpenDelay: 5000, // Otomatik açılma gecikmesi (ms)
soundEnabled: true, // Bildirim sesi
showUnreadBadge: true, // Okunmamış mesaj rozeti
persistConversation: true, // Konuşmayı kaydet
},
// Başlatıcı buton
launcher: {
icon: 'chat', // chat | support | help
tooltip: 'Bize yazın!',
size: 'medium', // small | medium | large
},
};
</script>
<script src="https://yanitly.com/widget/embed.js" async></script>Özel CSS
Widget'ın görünümünü CSS ile daha da özelleştirebilirsiniz:
Özel CSS Değişkenlericss
/* Widget CSS değişkenleri */
:root {
--yanitly-primary: #6C3AED;
--yanitly-primary-hover: #5B21B6;
--yanitly-bg: #ffffff;
--yanitly-text: #1f2937;
--yanitly-border-radius: 16px;
--yanitly-font-family: 'Inter', sans-serif;
--yanitly-launcher-size: 56px;
--yanitly-z-index: 9999;
}JavaScript API
Widget'ı programatik olarak kontrol etmek için JavaScript API'sini kullanın:
YanitlyWidget.open()Widget'ı açYanitlyWidget.close()Widget'ı kapatYanitlyWidget.toggle()Aç/kapatYanitlyWidget.isOpen()Açık mı kontrol et (boolean)YanitlyWidget.setUser(user)Kullanıcı bilgisi ayarlaYanitlyWidget.clearUser()Kullanıcı bilgisini temizleYanitlyWidget.sendMessage(text)Programatik mesaj gönderYanitlyWidget.on(event, callback)Olay dinleyicisi ekleYanitlyWidget.destroy()Widget'ı kaldırKullanım Örneklerijavascript
// Özel butona tıklandığında widget'ı aç
document.getElementById('support-btn').addEventListener('click', () => {
window.YanitlyWidget.open();
});
// Belirli bir sayfada otomatik aç
if (window.location.pathname === '/checkout') {
window.YanitlyWidget.open();
}
// Olayları dinle
window.YanitlyWidget.on('open', () => {
console.log('Widget açıldı');
analytics.track('support_widget_opened');
});
window.YanitlyWidget.on('messageSent', (message) => {
console.log('Mesaj gönderildi:', message.text);
});Kullanıcı Tanımlama
Giriş yapmış kullanıcıların bilgilerini widget'a aktararak kişiselleştirilmiş destek sunun:
Kullanıcı Bilgisi Aktarımıjavascript
window.YanitlyConfig = {
tenantId: 'YOUR_TENANT_ID',
user: {
// Zorunlu alanlar
externalId: 'user_12345', // Sisteminizdeki kullanıcı ID
email: 'ahmet\u0040example.com',
// Opsiyonel alanlar
name: 'Ahmet Yılmaz',
phone: '+905551234567',
avatar: 'https://example.com/avatar.jpg',
// Özel metadata
metadata: {
plan: 'professional',
company: 'Acme Inc.',
signupDate: '2025-01-15',
orderId: 'ORD-789',
},
},
};Kullanıcı bilgileri operatör panelinde görüntülenir. Böylece operatörler müşteri hakkında daha fazla bağlam elde eder.
Platform Rehberleri
🔌 WordPress
- 1. Görünüm → Tema Düzenleyici → footer.php dosyasını açın
- 2. </body> etiketinden önce widget kodunu yapıştırın
- 3. Dosyayı kaydedin
Alternatif: "Insert Headers and Footers" eklentisini kullanabilirsiniz.
🛒 Shopify
- 1. Online Mağaza → Temalar → Düzenle butonuna tıklayın
- 2. theme.liquid dosyasını açın
- 3. </body> etiketinden önce widget kodunu ekleyin
Shopify — Müşteri Bilgisi Aktarımıhtml
{% if customer %}
<script>
window.YanitlyConfig = {
tenantId: 'YOUR_TENANT_ID',
user: {
externalId: '{{ customer.id }}',
email: '{{ customer.email }}',
name: '{{ customer.name }}',
}
};
</script>
{% endif %}
<script src="https://yanitly.com/widget/embed.js" async></script>⚛️ React / Next.js
React Bileşenitsx
// components/YanitlyWidget.tsx
'use client';
import { useEffect } from 'react';
interface YanitlyWidgetProps {
tenantId: string;
user?: { name: string; email: string };
}
export default function YanitlyWidget({ tenantId, user }: YanitlyWidgetProps) {
useEffect(() => {
// Config ayarla
(window as any).YanitlyConfig = {
tenantId,
...(user && { user }),
};
// Script yükle
const script = document.createElement('script');
script.src = 'https://yanitly.com/widget/embed.js';
script.async = true;
document.body.appendChild(script);
return () => {
script.remove();
(window as any).YanitlyWidget?.destroy();
};
}, [tenantId, user]);
return null;
}
// Kullanım (layout.tsx veya page.tsx)
<YanitlyWidget
tenantId="YOUR_TENANT_ID"
user={{ name: 'Ahmet', email: 'ahmet\u0040example.com' }}
/>Widget Olayları
openWidget açıldığındacloseWidget kapandığındamessageSentKullanıcı mesaj gönderdiğindemessageReceivedYanıt alındığındareadyWidget yüklenip hazır olduğundaerrorBir hata oluştuğundaunreadCountOkunmamış mesaj sayısı değiştiğindeMobil Uyumluluk
Widget otomatik olarak mobil cihazlarda tam ekran modunda açılır. Ek yapılandırma gerekmez.
Dokunmatik optimize arayüz
Tam ekran mobil mod
Klavye uyumlu giriş alanı
Hızlı yükleme (~45KB gzip)