Kayıt Defterleri
Gönderilen mesajları, girişleri, işlemleri ve modül görüşmelerini okuyan ve temizleyen on bir uç.
Genel Bakış
Bu on bir uç sistemin ne yaptığını tutan defterleri okur ve temizler: gönderilen e-posta ve mesajlar, girişler, kullanıcı işlemleri, modüllerin sağlayıcılarla görüşmeleri ve veritabanı sorguları.
E-posta ve mesaj gövdeleri şifreli saklanır ve listede dönmez; içeriği ayrı bir uçla çözersiniz. Diğer defterler düz okunur.
Temizlik uçlarının hepsi aynı şekli paylaşır: bir kesim tarihi verirsiniz, o tarih ve öncesi silinir. Tek istisna sorgu kaydıdır; o dosya tabanlıdır ve tarih almaz.
Referans
E-posta Kayıtlarını Listeleme
Gönderilen e-postaların kaydını döndürür. Gövde listede yer almaz.
YYYY-MM-DD HH:MM:SS biçiminde. Gövde alanı bunların arasında değil; gövdeler büyük olduğu için liste hafif tutulur.curl -G 'https://panel.ornek.com/api/v1/admin/tools/logs/mail' \
-H "Authorization: Bearer $API_KEY" \
-d limit=50const url = new URL('https://panel.ornek.com/api/v1/admin/tools/logs/mail');
url.searchParams.set('limit', '50');
const res = await fetch(url, { headers: { Authorization: `Bearer ${apiKey}` } });
const body = await res.json();$url = 'https://panel.ornek.com/api/v1/admin/tools/logs/mail?' . http_build_query(['limit' => 50]);
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Govde sifreli saklanir ve listede DONMEZ; icerigi cozme ucundan alirsiniz.
$logs = Api::Tools()->GetMailLogs([], ['limit' => 50])['data'];
$content = Api::Tools()->GetLogPreview(['type' => 'mail', 'id' => $logs[0]['id']]);E-posta Kayıtlarını Temizleme
Verilen tarihten eski e-posta kayıtlarını siler.
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/tools/logs/mail' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"before":"2026-01-01"}'const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/logs/mail', {
method: 'DELETE',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ before: '2026-01-01' }),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/logs/mail');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['before' => '2026-01-01']),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Yanit KAC kaydin silindigini soylemez; once listeleyip sayin.
Api::Tools()->ClearMailLogs(['before' => '2026-01-01']);SMS Kayıtlarını Listeleme
Gönderilen kısa mesajların kaydını döndürür. Gövde listede yer almaz.
admin ya da client.YYYY-MM-DD HH:MM:SS biçiminde. Gövde alanı burada da yok, e-posta kaydındaki gerekçeyle.curl 'https://panel.ornek.com/api/v1/admin/tools/logs/sms' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/logs/sms', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/logs/sms');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);$response = Api::Tools()->GetSmsLogs();SMS Kayıtlarını Temizleme
Verilen tarihten eski kısa mesaj kayıtlarını siler.
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/tools/logs/sms' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"before":"2026-01-01"}'const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/logs/sms', {
method: 'DELETE',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ before: '2026-01-01' }),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/logs/sms');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['before' => '2026-01-01']),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);Api::Tools()->ClearSmsLogs(['before' => '2026-01-01']);Giriş Kayıtlarını Listeleme
Panele ve müşteri alanına yapılan girişlerin kaydını döndürür.
client ya da admin. Varsayılan client. member client, staff admin olarak okunur; başka bir değer reddedilir.YYYY-MM-DD HH:MM:SS biçiminde. Taraf süzgeci birleştirilen hesaba baktığı için bir kayıt her zaman tek tarafa aittir.curl -G 'https://panel.ornek.com/api/v1/admin/tools/logs/login' \
-H "Authorization: Bearer $API_KEY" \
-d type=adminconst url = new URL('https://panel.ornek.com/api/v1/admin/tools/logs/login');
url.searchParams.set('type', 'admin');
const res = await fetch(url, { headers: { Authorization: `Bearer ${apiKey}` } });
const body = await res.json();$url = 'https://panel.ornek.com/api/v1/admin/tools/logs/login?' . http_build_query(['type' => 'admin']);
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Tur belirtmezseniz MUSTERI girisleri doner; personel girisleri 'admin' (ya da esanlami 'staff') adiyla gelir.
$staff = Api::Tools()->GetLoginLogs([], ['type' => 'admin']);İşlem Kayıtlarını Listeleme
Kullanıcıların ve sistemin yaptığı işlemlerin kaydını döndürür.
client, admin ya da system. Varsayılan client. member client, staff admin olarak okunur; başka bir değer reddedilir.update, deletion, create ve benzerleri.description gösterin.locale_detail'e düşer.YYYY-MM-DD HH:MM:SS biçiminde. Modül kayıtları bu tabloyu paylaşır ama bu listenin dışında kalır; onların kendi ucu var.curl -G 'https://panel.ornek.com/api/v1/admin/tools/logs/actions' \
-H "Authorization: Bearer $API_KEY" \
-d type=adminconst url = new URL('https://panel.ornek.com/api/v1/admin/tools/logs/actions');
url.searchParams.set('type', 'admin');
const res = await fetch(url, { headers: { Authorization: `Bearer ${apiKey}` } });
const body = await res.json();$url = 'https://panel.ornek.com/api/v1/admin/tools/logs/actions?' . http_build_query(['type' => 'admin']);
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);$response = Api::Tools()->GetActionLogs([], ['type' => 'admin']);İşlem Kayıtlarını Temizleme
Verilen tarihten eski işlem kayıtlarını siler. Modül kayıtlarına dokunmaz.
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/tools/logs/actions' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"before":"2026-01-01"}'const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/logs/actions', {
method: 'DELETE',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ before: '2026-01-01' }),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/logs/actions');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['before' => '2026-01-01']),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Bu temizlik modul kayitlarini ELEMEZ; onlar icin ayri uc vardir.
Api::Tools()->ClearActionLogs(['before' => '2026-01-01']);
Api::Tools()->ClearModuleLogs(['before' => '2026-01-01']);Modül Kayıtlarını Listeleme
Modüllerin sağlayıcılarla yaptığı görüşmelerin kaydını döndürür.
module-log.YYYY-MM-DD HH:MM:SS biçiminde. Bu kayıtlar işlem kaydıyla aynı tabloyu paylaşır, ama birini temizlemek diğerine dokunmaz.curl 'https://panel.ornek.com/api/v1/admin/tools/logs/module' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/logs/module', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/logs/module');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Modul kaydi ancak log ayarlarinda ACIKSA dolar; bos liste 'sorun yok' demek degildir.
$settings = Api::Tools()->GetLogSettings()['data'];
if ($settings['module_log']) {
$logs = Api::Tools()->GetModuleLogs();
}Modül Kayıtlarını Temizleme
Verilen tarihten eski modül kayıtlarını siler.
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/tools/logs/module' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"before":"2026-01-01"}'const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/logs/module', {
method: 'DELETE',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ before: '2026-01-01' }),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/logs/module');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['before' => '2026-01-01']),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);Api::Tools()->ClearModuleLogs(['before' => '2026-01-01']);Gövdeyi Çözme
Bir e-posta ya da kısa mesaj kaydının şifreli gövdesini çözüp döndürür.
mail ya da sms.curl -X POST 'https://panel.ornek.com/api/v1/admin/tools/logs/preview' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"type":"mail","id":1240}'const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/logs/preview', {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ type: 'mail', id: 1240 }),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/logs/preview');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['type' => 'mail', 'id' => 1240]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Cozulen govde musteri verisi tasir: kendi tarafinizda log'a yazmayin.
$content = Api::Tools()->GetLogPreview([
'type' => 'mail',
'id' => 1240,
])['data']['content'];Sorgu Kayıtlarını Silme
Veritabanı sorgu kaydı dosyalarını siler. Tarih almaz; hepsini kaldırır.
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/tools/logs/query' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/logs/query', {
method: 'DELETE',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/logs/query');
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);// Bu uc TARIH almaz: dosyalarin tamami gider. Kayit uretimi ayarlardan kapatilir.
Api::Tools()->ClearQueryLogs();
Api::Tools()->SetLogSettings(['query_logging' => 0]);Tuzaklar
E-posta ve mesaj kayıtlarının içeriği şifreli saklanır ve listeleme uçlarından hiç dönmez. Ne gönderildiğini görmek için çözme ucunu ayrıca çağırmanız gerekir; bu da kayıt başına bir istek demektir. Çözülen metin müşteri verisi taşır, kendi tarafınızda saklamayın.
Modül ve sorgu kayıtları yalnız log ayarlarında açıkken dolar. Kapalıyken listeler boş döner, ama bu hiçbir şey olmadığı anlamına gelmez. Bir sorunu araştırmadan önce ilgili kaydın açık olduğunu ayarlardan doğrulayın.
Giriş ve işlem kayıtlarında tür belirtmezseniz müşteri tarafı döner. Yönetici girişlerini ya da sistemin kendi işlemlerini arıyorsanız türü açıkça göndermeniz gerekir; yoksa aradığınız kaydın hiç olmadığı sonucuna varırsınız.
İşlem kayıtlarını temizlemek modül kayıtlarına dokunmaz; ikisi ayrı uçlardır. Yer açmak için tek çağrı yaptığınızda büyük defterin durduğu yerde kaldığını fark etmeyebilirsiniz.
Tarih-bazlı temizlik uçları yalnız çalıştığını ve hangi tarihi kullandığını döndürür; silinen kayıt sayısını vermez. Etkiyi ölçmek istiyorsanız önce aynı aralığı listeleyip sayın.
İ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.