Talep Otomatik Görevleri
Talepler üzerinde kendiliğinden çalışan kuralları kuran ve yöneten beş uç.
Genel Bakış
Otomatik görevler, talepler üzerinde kendiliğinden çalışan kurallardır. Her görevin iki yarısı vardır: hangi taleplere bakacağını söyleyen koşullar ve onlara ne yapacağını söyleyen sonuçlar.
Koşullar şunlar: departman, durum, öncelik ve bekleme süresi. Sonuçlar ise talebi taşımak, durumunu çevirmek, önceliğini değiştirmek, personele atamak, kilitlemek ve müşteriye yanıt göndermektir. Bir görevde her iki yarıdan da en az bir alan bulunmak zorundadır.
En yaygın kullanımında çözülmüş talepler bir süre sonra kapanır. Yanıt gönderen bir görev kurarken dikkatli olun: kural her uyan talepte müşteriye posta gönderir.
Referans
Görevleri Listeleme
Talepler üzerinde kendiliğinden çalışan kuralları döndürür.
curl 'https://panel.ornek.com/api/v1/admin/tickets/auto-tasks' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tickets/auto-tasks', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tickets/auto-tasks');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Her satirda hem KOSUL hem SONUC alanlari yan yana durur; ikisini ayirarak okuyun.
$tasks = Api::Tickets()->GetTicketAutoTasks()['data'];Görev Oluşturma
Talepler üzerinde çalışacak yeni bir kural kurar.
curl -X POST 'https://panel.ornek.com/api/v1/admin/tickets/auto-tasks' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"name":"Cozulenleri kapat","statuses":["solved"],"delay_time":72,"mark_locked":true}'const res = await fetch('https://panel.ornek.com/api/v1/admin/tickets/auto-tasks', {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Close solved tickets',
statuses: ['solved'], // kosul
delay_time: 72, // kosul
mark_locked: true, // sonuc
}),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tickets/auto-tasks');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Close solved tickets',
'statuses' => ['solved'],
'delay_time' => 72,
'mark_locked' => true,
]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// En az BIR kosul ve en az BIR sonuc gerekir; yalniz kosul gondermek 422 verir.
Api::Tickets()->CreateTicketAutoTask([
'name' => 'Close solved tickets',
'statuses' => ['solved'], // kosul
'delay_time' => 72, // kosul
'mark_locked' => true, // sonuc
]);Görev Detayı
Tek bir otomatik görevi döndürür.
curl 'https://panel.ornek.com/api/v1/admin/tickets/auto-tasks/3' \
-H "Authorization: Bearer $API_KEY"const res = await fetch(`https://panel.ornek.com/api/v1/admin/tickets/auto-tasks/${tid}`, {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tickets/auto-tasks/' . $tid);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Bos birakilan kosul alani DARALTMAZ, gorevi genisletir: her departmana uyar.
$task = Api::Tickets()->GetTicketAutoTask(['tid' => $tid])['data'];Görevi Güncelleme
Görevin gönderdiğiniz alanlarını değiştirir.
curl -X PATCH 'https://panel.ornek.com/api/v1/admin/tickets/auto-tasks/3' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"delay_time":48}'const res = await fetch(`https://panel.ornek.com/api/v1/admin/tickets/auto-tasks/${tid}`, {
method: 'PATCH',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ delay_time: 48 }),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tickets/auto-tasks/' . $tid);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['delay_time' => 48]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Kosul+sonuc sarti BIRLESIK kumede aranir: son kosulu bosaltmak guncellemeyi dusurur.
Api::Tickets()->UpdateTicketAutoTask(['tid' => $tid, 'delay_time' => 48]);Görevi Silme
Otomatik görevi kaldırır.
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/tickets/auto-tasks/3' \
-H "Authorization: Bearer $API_KEY"const res = await fetch(`https://panel.ornek.com/api/v1/admin/tickets/auto-tasks/${tid}`, {
method: 'DELETE',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tickets/auto-tasks/' . $tid);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Gorevi kapatan bir anahtar YOKTUR; durdurmanin tek yolu silmektir.
Api::Tickets()->DeleteTicketAutoTask(['tid' => $tid]);Tuzaklar
Bir görev en az bir koşul ve en az bir sonuç taşımak zorundadır. Yalnız koşul göndermek kural değil, hiçbir şey yapmayan bir eşleşme verir; yalnız sonuç göndermek ise her talebe uygulanan bir kural olurdu. İkisinden biri eksikse çağrı reddedilir.
Boş bırakılan bir koşul alanı ayrım yapmaz: departman listesi boşsa görev her departmandaki talebe uyar. Bunu "hiçbiri" diye okumak, kurulumun tamamına dokunan bir kural yazmaya götürür. Kapsamı daraltmak için alanı boş bırakmayın, doldurun.
Yanıt alanı dolu bir görev, koşula uyan her talebe o metni yazar ve müşteriye posta gider. Geniş bir koşulla birleşince bu, tek bir kural değişikliğinin yüzlerce müşteriye aynı anda ulaşması demektir. Yeni bir yanıt kuralını önce dar bir koşulla deneyin.
Tekrar açıkken görev, koşul her sağlandığında yeniden çalışır. Yanıt gönderen bir kuralda bu, aynı müşteriye aynı metnin defalarca gitmesi anlamına gelebilir. Tek seferlik olması gereken işlerde tekrarı kapalı bırakın.
Otomatik görevlerde etkinlik anahtarı yoktur; bir kuralı durdurmanın tek yolu onu silmektir. Geçici olarak durdurmanız gerekiyorsa tanımını kendi tarafınıza kaydedin, silin ve sonra yeniden oluşturun. Yeniden oluşturulan görev yeni bir numara alır.
İlgili Makaleler
Geri bildiriminiz için teşekkürler!
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.