Müşteri Tarafı Talep Kancaları
Müşterinin yaptıklarının sekiz kancası: açma, yanıtlama, kapatma ve puanlama.
Genel Bakış
Müşterinin destek tarafında yapabildiği her şey burada: talep açmak, yanıt yazmak, kapatmak, yeniden açmak ve puanlamak.
Bu dalın kendine özgü zorluğu kim yaptı sorusudur. Alt kullanıcı başkasının hesabında işlem yapabilir, misafir hiçbir hesaba bağlı olmayabilir; kancalar bu yüzden hem hesabı hem giriş kimliğini ayrı taşır.
Aynı kancalar WChat canlı sohbet eklentisinden gelen mesajlarda da çalışır. Sohbetin ilk mesajı talep açar, sonraki mesajlar o talebe yanıt olarak eklenir. Sohbetin kapatılması ve puanlanması kapatma ve puanlama kancalarını çalıştırır. Sohbet talebinin dizisinde WChat = 1 ve WChat_domain (sohbetin gömüldüğü site) bulunur. filter:ticket.client_message bağlamında source = 'wchat' gelir. Sohbet mesajlarına anında tepki veren bir entegrasyonun giriş noktası budur.
Referans
Müşterinin talep açmasını izleme
Müşteri ya da posta yoluyla bir talep açıldığında çalışır.
Hook::add('action:ticket.opened_by_client', 10,
function ($ticketAfter, $message, $clientId, $replyId) {
// Taninmayan gondericide SIFIR gelir.
if (!$clientId) { Acme::queueIdentify($ticketAfter); return; }
Acme::classify((int) ($ticketAfter['id'] ?? 0), $message);
});Müşteri yanıtını durdurma
Müşteri bir talebe yanıt yazmadan önce çalışır. Panelden, posta yoluyla ve misafir bağlantısıyla gelen yanıtların hepsi buradan geçer.
Hook::add('gate:ticket.reply_by_client', 10,
function ($ticket, $message, $ownerId, $loginId, $isGuest) {
// Misafirde iki kimlik de SIFIR gelir.
if ($isGuest && Acme::guestRepliesClosed()) return 'Misafir yanitlari kapali.';
return null;
});Müşteri yanıtını izleme
Müşteri bir talebe yanıt yazdıktan sonra çalışır.
Hook::add('action:ticket.reply_added_by_client', 10,
function ($ticketAfter, $message, $clientId, $replyId) {
Acme::restartSlaClock((int) ($ticketAfter['id'] ?? 0));
});Müşterinin talebi kapatmasını izleme
Müşteri kendi talebini kapattığında çalışır.
Hook::add('action:ticket.closed_by_client', 10, function ($ticket, $ownerId, $loginId) {
// Denetime yazilacak olan LOGIN kimligidir.
Acme::audit('ticket-closed', $loginId, $ownerId);
});Müşterinin talebi yeniden açmasını izleme
Müşteri kapanmış bir talebi yeniden açtığında çalışır.
Hook::add('action:ticket.reopened_by_client', 10, function ($ticket, $ownerId, $loginId) {
Acme::restartSlaClock((int) ($ticket['id'] ?? 0));
});Puanlamayı izleme
Müşteri bir talebi ya da tek bir personel yanıtını puanladığında çalışır. İki ayrı kapsam aynı kancaya düşer.
ticket ya da reply. İlk satırda buna bakın: iki kapsamın parametreleri farklı doludur.Hook::add('action:ticket.rated', 10,
function ($scope, $rating, $ticketId, $replyId, $ownerId) {
// Once kapsama bakin: yanit kimligi talep kapsaminda SIFIR.
if ($scope === 'reply') { Acme::scoreAgent($replyId, $rating); return; }
Acme::scoreTicket($ticketId, $rating);
});Misafir görüntülemesini izleme
Giriş yapmamış biri bağlantıyla bir talebi görüntülediğinde çalışır.
Hook::add('action:ticket.guest.viewed', 10, function ($ticket, $token) {
// Erisim degerini HICBIR YERE yazmayin.
Acme::countGuestView((int) ($ticket['id'] ?? 0));
});Müşteri mesajını değiştirme
Müşterinin yazdığı metin kaydedilmeden önce çalışır. Hem yeni talep hem yanıt buradan geçer.
Hook::add('filter:ticket.client_message', 10, function (&$message, $ctx) {
// Yeni talepte talep kimligi SIFIR.
$message = Acme::stripSecrets($message);
});Tuzaklar
Müşteri bir WChat sohbetini kapattığında action:ticket.closed_by_client kapanıştan sonraki talep kaydını alır; status zaten solved gelir. Web paneli ve Client API kapanıştan önceki anlık görüntüyü verir. Eski durumu bu argümandan okumayın, kendi kaydınızla karşılaştırın. Misafir sohbette iki kimlik argümanı da 0 gelir.
Kapatma, yeniden açma ve yanıt kancaları iki kimlik taşır: talebin ait olduğu hesap ve işlemi gerçekten yapan giriş. Alt kullanıcı başkasının hesabında çalışıyorsa bunlar farklıdır. Denetim kaydına giriş kimliği yazılır; yetki kararı hesaba göre verilir.
Talep verisinin içinde gönderenin adı, e-postası ve erişim değeri bulunur. O değeri gören herkes talebi açabilir: kendi kaydınıza, günlüğünüze ya da bir dış servise yazmak, bağlantıyı üçüncü bir yere kopyalamaktır.
İlgili Makaleler
- Destek Talebi Kancaları
- Müşteri Hesabı Kancaları
- Kancalar Nasıl Çalışır
Geri bildiriminiz için teşekkürler!
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.