Talep Düzenleme Kancaları
Talep birleştirme, bölme ve taşımanın yedi kancası.
Genel Bakış
Talepleri düzenleyen işlemler burada: birleştirme, bölme ve departman, öncelik ya da bağlı hizmet değiştirme.
İlk ikisi geri alınamaz. Birleştirmede hedef dışındaki talepler silinir; bölmede yanıtlar yeni bir talebe taşınır. Kapılar bu yüzden değerlidir.
Referans
Talep birleştirmeyi durdurma
Talepler birleştirilmeden önce çalışır. Birleştirme geri alınamaz: hedef dışındakiler silinir.
Hook::add('gate:ticket.merge', 10, function ($primary_id, $merge_ids) {
// Hedef disindakiler SILINIR: geri alinamaz.
foreach ($merge_ids as $id)
if (Acme::underLegalHold((int) $id)) return 'Saklama yukumlulugu olan talep birlestirilemez.';
return null;
});Birleştirmeyi izleme
Talepler birleştirildikten sonra çalışır.
Hook::add('action:ticket.merged', 10, function ($primary_id, $merged_ids) {
// Bu kimlikler artik yok: hedefe yonlendirin.
foreach ($merged_ids as $id) Acme::redirectRef((int) $id, $primary_id);
});Talep bölmeyi durdurma
Bir talebin bazı yanıtları yeni bir talebe taşınmadan önce çalışır.
Hook::add('gate:ticket.split', 10, function ($source, $reply_ids) {
// Liste henuz DB ile dogrulanmadi.
if (count($reply_ids) > 50) return 'Tek seferde en cok 50 yanit tasinabilir.';
return null;
});Bölmeyi izleme
Yeni talep oluşturulup yanıtlar taşındıktan sonra çalışır.
Hook::add('action:ticket.split', 10, function ($source, $new_ticket, $moved_reply_ids) {
// Bu liste dogrulanmis: gercekten tasinanlar.
Acme::reindexSplit((int) ($new_ticket['id'] ?? 0), $moved_reply_ids);
});Departman değişimini izleme
Bir talep başka departmana taşındıktan sonra çalışır. Departman, talebi kimin göreceğini belirler.
Hook::add('action:ticket.department_changed', 10,
function ($ticket, $oldDepartmentId, $newDepartmentId) {
// Departman kimin gorecegini belirler.
Acme::notifyDepartment($newDepartmentId, (int) ($ticket['id'] ?? 0));
});Öncelik değişimini izleme
Bir talebin önceliği değiştikten sonra çalışır.
Hook::add('action:ticket.priority_changed', 10,
function ($ticket, $oldPriority, $newPriority) {
if ($newPriority > $oldPriority) Acme::escalate((int) ($ticket['id'] ?? 0));
});Bağlı hizmetin değişmesini izleme
Bir talebin bağlı olduğu hizmet değiştikten sonra çalışır.
Hook::add('action:ticket.service_changed', 10,
function ($ticket, $oldServiceId, $newServiceId) {
// Sifir = bag kaldirildi.
if (!$newServiceId) return;
Acme::attachServiceContext((int) ($ticket['id'] ?? 0), $newServiceId);
});Tuzaklar
Birleştirmede hedef dışındaki talepler yalnız taşınmaz, silinir. Olay kancasındaki kimlikler artık var olmayan kayıtlardır: kendi tarafınızda onları hedefe yönlendirin, yoksa kırık başvurular kalır.
Kapıya gelen yanıt kimlikleri temizlenmiştir ama veritabanıyla eşleştirilmemiştir: listede o talebe ait olmayan bir kimlik bulunabilir. Gerçekten taşınanları görmek için olay kancasındaki listeye bakın.
İ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.