Zamanlanmış Toplu Görevler
Kayıtlı kampanyaları belirlenen zamanda kendiliğinden gönderen altı uç.
Genel Bakış
Zamanlanmış görev, kayıtlı bir kampanyayı belirlediğiniz zamanda kendiliğinden gönderir. Görev zamanlamayı tutar, mesajı değil: metin ve hedef kitle şablonda durur.
İki desen vardır. Tek seferlik görev bir tarihte çalışır ve biter. Tekrarlayan görev ay, gün ve saatten kurulur; bir parçayı boş bırakmak "her" demektir, yani ay boşken gün bir vermek her ayın ilk günü anlamına gelir.
Referans
Görevleri Listeleme
Kendiliğinden gönderilecek toplu bildirimlerin planını döndürür.
mail ya da sms.active çalışıyor, paused durdurulmuş.onetime bir kez, recurring tekrarlayan.curl 'https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Bos son-calisma zamani gorevin HIC calismadigini soyler; duraklatilmis olabilir.
$tasks = Api::Tools()->GetBulkScheduledTasks()['data'];
$never = array_filter($tasks, fn (array $t): bool => $t['last_exec'] === null);Görev Oluşturma
Var olan bir kampanyayı belirlediğiniz zamanda kendiliğinden gönderecek görev açar.
onetime ya da recurring. Varsayılan tek seferlik.mail ya da sms.active çalışıyor, paused durdurulmuş.onetime bir kez, recurring tekrarlayan.curl -X POST 'https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"template_id":5,"schedule_period":"onetime","sending_time":"2026-02-15 10:00:00"}'const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks', {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
template_id: 5,
schedule_period: 'onetime',
sending_time: '2026-02-15 10:00:00',
}),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'template_id' => 5,
'schedule_period' => 'onetime',
'sending_time' => '2026-02-15 10:00:00',
]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Her ayin ilk gunu 08:00: gun 1, ay bos (her ay).
Api::Tools()->CreateBulkScheduledTask([
'template_id' => 5,
'schedule_period' => 'recurring',
'period_day' => 1,
'period_time' => '08:00',
]);Zamanlamayı Değiştirme
Görevin ne zaman çalışacağını değiştirir. Kampanyanın kendisi değişmez.
onetime ya da recurring. Varsayılan tek seferlik.mail ya da sms.active çalışıyor, paused durdurulmuş.onetime bir kez, recurring tekrarlayan.curl -X PATCH 'https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks/3' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"schedule_period":"recurring","period_day":1,"period_time":"08:00"}'const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks/3', {
method: 'PATCH',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
schedule_period: 'recurring',
period_day: 1,
period_time: '08:00',
}),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks/3');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'schedule_period' => 'recurring',
'period_day' => 1,
'period_time' => '08:00',
]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Mesaji degistirmek icin bu uc DEGIL, sablon guncelleme ucu kullanilir.
Api::Tools()->UpdateBulkTemplate(['id' => 5, 'subject' => 'Updated']);
Api::Tools()->UpdateBulkScheduledTask(['id' => 3, 'period_time' => '09:00']);Görevi Duraklatma
Görevi durdurur. Plan durur ama silinmez.
mail ya da sms.active çalışıyor, paused durdurulmuş.onetime bir kez, recurring tekrarlayan.curl -X POST 'https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks/3/pause' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks/3/pause', {
method: 'POST',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks/3/pause');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Duraklatmak KUYRUKTAKI bildirimleri durdurmaz: gonderim baslamissa kuyruktan silmeniz gerekir.
Api::Tools()->PauseBulkScheduledTask(['id' => 3]);Görevi Sürdürme
Duraklatılmış görevi yeniden çalışır hâle getirir.
mail ya da sms.active çalışıyor, paused durdurulmuş.onetime bir kez, recurring tekrarlayan.curl -X POST 'https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks/3/resume' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks/3/resume', {
method: 'POST',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks/3/resume');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Zamani gecmis tek seferlik gorev surdurulunce calismaz: once zamanlamayi ileri alin.
$task = Api::Tools()->ResumeBulkScheduledTask(['id' => 3])['data'];
if ($task['period'] === 'onetime' && $task['period_datetime'] < $now) {
Api::Tools()->UpdateBulkScheduledTask([
'id' => 3,
'sending_time' => $tomorrow,
]);
}Görevi Silme
Zamanlanmış görevi ve ona ait koşu kayıtlarını siler. Kampanya kalır.
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks/3' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks/3', {
method: 'DELETE',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/bulk/scheduled-tasks/3');
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 silmek KAMPANYAYI silmez: sablon yerinde kalir ve elle gonderilebilir.
Api::Tools()->DeleteBulkScheduledTask(['id' => 3]);Tuzaklar
Tek seferlik bir görevi duraklatıp gönderim zamanı geçtikten sonra sürdürürseniz görev çalışmaz: geçmiş bir zaman bir daha gelmez ve bunu size kimse söylemez. Sürdürmeden önce zamanı ileri almanız gerekir.
Bu uçlar yalnız zamanlamayı değiştirir. Metni, konuyu ya da hedef kitleyi düzeltmek için şablon uçlarına gitmeniz gerekir; oradaki değişiklik de bir sonraki koşuda geçerli olur.
Duraklatma yalnız sonraki koşuları engeller. Görev az önce çalıştıysa bildirimler kuyruğa alınmıştır ve gitmeye devam eder; onları durdurmanın yolu bildirim kuyruğundaki bekleyen satırları silmektir.
Görev oluşturma, kaynak kampanyanın kendiliğinden gönderim için işaretli olmamasını ister. Aksi hâlde aynı duyuru iki yoldan birden gidebilir. Kampanyanın bu durumunu şablon detayından okuyabilirsiniz.
Tekrarlayan bir görevde ay ya da gün boş bırakılırsa o parça her değer için geçerli sayılır. Yalnız saat verip günü unutmak, duyurunun her gün gitmesine yol açar; oluşturduktan sonra listeden okuyup deseni doğrulayı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.