Talep Duyuruları
Destek alanında gösterilen duyuruları yayınlayan ve yöneten beş uç.
Genel Bakış
Duyurular tek bir talebe değil, destek alanının geneline asılan bantlardır. Planlı bakım, geçici kesinti ya da yeni bir hizmet haberi gibi şeyler için kullanılır ve müşteri destek sayfasına girdiğinde görür.
Kime görüneceği dört hedef alanıyla daraltılır: ülke, dil, ürün grubu ve sunucu. Hiçbiri verilmezse duyuru herkese açıktır; biri verildiğinde yalnız ona uyan müşteriler görür.
Ne zaman görüneceği ise iki tarih ile bir anahtardan çıkar. Tarihler aralığı belirler, anahtar duyuruyu tümden açıp kapatır; ikisi birlikte çalışır.
Referans
Duyuruları Listeleme
Destek alanında gösterilen duyuruları döndürür.
info, warning, danger, success.curl 'https://panel.ornek.com/api/v1/admin/tickets/announcements' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tickets/announcements', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tickets/announcements');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Liste SUZULMEZ: gecmis, gelecek ve kapali duyurular da doner.
$all = Api::Tickets()->GetTicketAnnouncements()['data'];
$live = array_filter($all, fn ($a) => $a['status']);Duyuru Oluşturma
Müşterilere gösterilecek yeni bir duyuru yayınlar.
info, warning, danger, success. Öntanımlı olarak bilgi tonu.curl -X POST 'https://panel.ornek.com/api/v1/admin/tickets/announcements' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"title":"Planli bakim","message":"02:00-03:00 arasi kesinti olacak.","type":"warning"}'const res = await fetch('https://panel.ornek.com/api/v1/admin/tickets/announcements', {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'Scheduled maintenance',
message: 'We will be down between 02:00 and 03:00.',
type: 'warning',
is_popup: true,
}),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tickets/announcements');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'title' => 'Scheduled maintenance',
'message' => 'We will be down between 02:00 and 03:00.',
'type' => 'warning',
'is_popup' => true,
]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Durum verilmezse duyuru ACIK dogar ve hemen gorunur; once tarih verin.
Api::Tickets()->CreateTicketAnnouncement([
'title' => 'Scheduled maintenance',
'message' => $text,
'start_date' => '2026-02-01 02:00:00',
'end_date' => '2026-02-01 03:00:00',
]);Duyuru Detayı
Tek bir duyuruyu döndürür.
info, warning, danger, success.curl 'https://panel.ornek.com/api/v1/admin/tickets/announcements/4' \
-H "Authorization: Bearer $API_KEY"const res = await fetch(`https://panel.ornek.com/api/v1/admin/tickets/announcements/${aid}`, {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tickets/announcements/' . $aid);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Bir duyurunun SU AN gorunup gorunmedigi durum ve tarih alanlarindan birlikte cikar.
$a = Api::Tickets()->GetTicketAnnouncement(['aid' => $aid])['data'];Duyuruyu Güncelleme
Duyurunun gönderdiğiniz alanlarını değiştirir.
info, warning, danger, success. Öntanımlı olarak bilgi tonu.curl -X PATCH 'https://panel.ornek.com/api/v1/admin/tickets/announcements/4' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"status":false}'const res = await fetch(`https://panel.ornek.com/api/v1/admin/tickets/announcements/${aid}`, {
method: 'PATCH',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ status: false }),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tickets/announcements/' . $aid);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['status' => false]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Gondermediginiz alan KORUNUR; duyuruyu kaldirmadan susturmak icin durumu kapatin.
Api::Tickets()->UpdateTicketAnnouncement(['aid' => $aid, 'status' => false]);Duyuruyu Silme
Duyuruyu kaldırır.
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/tickets/announcements/4' \
-H "Authorization: Bearer $API_KEY"const res = await fetch(`https://panel.ornek.com/api/v1/admin/tickets/announcements/${aid}`, {
method: 'DELETE',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tickets/announcements/' . $aid);
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);// Gecmis bir duyuruyu silmek yerine BITIS TARIHI verin: kayit kalir, gosterim durur.
Api::Tickets()->DeleteTicketAnnouncement(['aid' => $aid]);Tuzaklar
Durum alanını göndermezseniz duyuru açık oluşur. Tarih de vermediyseniz müşteriler onu o an görmeye başlar. Taslak diye bir kavram yoktur; hazırlarken ya durumu kapalı gönderin ya da başlangıç tarihini ileri bir güne koyun.
Listeleme ucu her duyuruyu döndürür: süresi geçmişleri, henüz başlamamışları ve kapatılmışları da. Müşterinin göreceği kümeyi değil, operatörün yönettiği kümeyi verir. Bir panoda "şu an yayında" saymak istiyorsanız durumu ve iki tarihi kendiniz değerlendirin.
Ülke, dil, ürün grubu ve sunucu alanlarının her biri kitleyi küçültür. Birden çoğunu doldurmak "şunlardan biri" değil "hepsi birden" anlamına gelir; bir müşteri dördüne de uymuyorsa duyuruyu görmez. Kimsenin görmediği bir duyuruda önce bu alanlara bakın.
Pencere olarak açılan bir duyuru müşterinin işini keser ve kapatılana kadar önünde durur. Gerçekten acil olmayan bir haber için bant tonu yeterlidir. Pencereyi açık bırakılmış eski bir duyuru, aylar sonra ilgisiz bir müşteriye çıkar; bitiş tarihi koymak bunu engeller.
Geçmiş bir duyuruyu silmek onu büsbütün ortadan kaldırır; ne zaman ne söylediğinizin kaydı kalmaz. Bitiş tarihi vermek ya da durumu kapatmak gösterimi durdurur ve kaydı yerinde bırakır. Aynı bakım penceresi gelecek ay tekrarlanacaksa metni yeniden yazmak yerine tarihleri güncellemeniz yeter.
İ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.