Toplu Şablonlar
Yeniden kullanılacak toplu bildirim kampanyalarını yöneten altı uç.
Genel Bakış
Toplu şablon, bir kampanyanın kaydedilmiş hâlidir: mesaj, konu, kanal ve hedef kitle süzgeçleri bir arada durur. Aynı duyuruyu her seferinde yeniden kurmak yerine bir kez yazıp saklarsınız.
Şablon kendi başına bir şey göndermez. Gönderim ayrı bir uçtan yapılır; şablonu düzenli aralıklarla göndermek isterseniz zamanlanmış görevlerin işidir.
Referans
Şablonları Listeleme
Kaydedilmiş toplu bildirim kampanyalarını döndürür.
mail ya da sms.member müşteriler, staff personel.single herkese ayrı, multiple tek zarfta.curl -G 'https://panel.ornek.com/api/v1/admin/tools/bulk/templates' \
-H "Authorization: Bearer $API_KEY" \
-d template_type=mailconst url = new URL('https://panel.ornek.com/api/v1/admin/tools/bulk/templates');
url.searchParams.set('template_type', 'mail');
const res = await fetch(url, { headers: { Authorization: `Bearer ${apiKey}` } });
const body = await res.json();$url = 'https://panel.ornek.com/api/v1/admin/tools/bulk/templates?' . http_build_query(['template_type' => 'mail']);
$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);// Liste mesaj govdesini ve suzgecleri TASIMAZ; onlar yalniz detayda gelir.
$templates = Api::Tools()->GetBulkTemplates([], ['template_type' => 'mail'])['data'];Şablon Detayı
Bir kampanyayı mesajı ve hedef kitle süzgeçleriyle birlikte döndürür.
mail ya da sms.member müşteriler, staff personel.single herkese ayrı, multiple tek zarfta.curl 'https://panel.ornek.com/api/v1/admin/tools/bulk/templates/5' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/bulk/templates/5', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/bulk/templates/5');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Sablonun kac kisiye gidecegini gormek icin suzgeclerini sayma ucuna verin.
$tpl = Api::Tools()->GetBulkTemplate(['id' => 5])['data'];
$count = Api::Tools()->GetBulkContacts([
'user_type' => $tpl['type'] === 'staff' ? 'staff' : 'client',
'user_groups' => $tpl['user_groups'],
'countries' => $tpl['countries'],
])['data']['count'];Şablon Oluşturma
Yeniden kullanılacak bir kampanya kaydeder. Kaydetmek gönderim yapmaz.
member olarak kaydedilir.curl -X POST 'https://panel.ornek.com/api/v1/admin/tools/bulk/templates' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"template_name":"Welcome Campaign","template_type":"mail","type":"member","subject":"Welcome","message":"Hello!","user_groups":[1]}'const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/bulk/templates', {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
template_name: 'Welcome Campaign',
template_type: 'mail',
type: 'member',
subject: 'Welcome',
message: 'Hello!',
user_groups: [1],
}),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/bulk/templates');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'template_name' => 'Welcome Campaign',
'subject' => 'Welcome',
'message' => $html,
'user_groups' => [1],
]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Sablon kaydetmek MESAJ GONDERMEZ: gondermek icin toplu gonderim ucunu ayrica cagirin.
$tpl = Api::Tools()->CreateBulkTemplate([
'template_name' => 'Welcome Campaign',
'subject' => 'Welcome',
'message' => $html,
'user_groups' => [1],
])['data'];Şablonu Güncelleme
Gönderdiğiniz alanları uygular; ad, mesaj ve konu boş bırakılamaz.
member olarak kaydedilir.curl -X PATCH 'https://panel.ornek.com/api/v1/admin/tools/bulk/templates/5' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"subject":"Welcome (updated)","message":"Hi there!"}'const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/bulk/templates/5', {
method: 'PATCH',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
subject: 'Welcome (updated)',
message: 'Hi there!',
}),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/bulk/templates/5');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'subject' => 'Welcome (updated)',
'message' => $html,
]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Sablona bagli zamanlanmis bir gorev varsa degisiklik SONRAKI kosuda gecerli olur.
Api::Tools()->UpdateBulkTemplate([
'id' => 5,
'subject' => 'Welcome (updated)',
]);Şablonu Silme
Kampanyayı ve ona ait gönderim kayıtlarını siler.
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/tools/bulk/templates/5' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/bulk/templates/5', {
method: 'DELETE',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/bulk/templates/5');
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);// Silme kampanyanin GONDERIM GECMISINI de kaldirir; ne zaman kime gittigi kaybolur.
Api::Tools()->DeleteBulkTemplate(['id' => 5]);Toplu Silme
Birden çok kampanyayı siler.
curl -X POST 'https://panel.ornek.com/api/v1/admin/tools/bulk/templates/bulk-delete' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"ids":[5,6,7]}'const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/bulk/templates/bulk-delete', {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ ids: [5, 6, 7] }),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/bulk/templates/bulk-delete');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['ids' => [5, 6, 7]]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Panel bu islemde yonetici sifresi ister; API'de anahtarin kapsami yeterlidir.
Api::Tools()->BulkDeleteBulkTemplates(['ids' => [5, 6, 7]]);Tuzaklar
Şablon oluşturmak ya da güncellemek hiçbir mesaj göndermez; yalnız kaydı yazar. Kampanyayı yollamak için toplu gönderim ucunu ayrıca çağırmanız, düzenli göndermek içinse bir zamanlanmış görev tanımlamanız gerekir.
Liste ucu mesaj gövdesini ve dokuz süzgeç dizisini döndürmez; onlar yalnız tek şablon detayında gelir. Bir kampanyanın kime gideceğini görmek istiyorsanız detayı okuyup süzgeçlerini sayma ucuna vermeniz gerekir.
Bir şablonu silmek yalnız kampanyayı değil, ona ait gönderim kayıtlarını da kaldırır. Hangi duyurunun ne zaman kime gittiği bilgisi kaybolur. Kampanyayı kullanmayı bırakacaksanız silmek yerine bir kenarda tutmayı düşünün.
Bir şablona bağlı zamanlanmış görev varsa, şablonu güncellemek o an bir şey göndermez; yeni metin bir sonraki koşuda kullanılır. Yani yanlış bir metni düzeltmek, çoktan gitmiş gönderimleri geri getirmez.
Toplu silme panelde yönetici şifresi ister. API'de böyle bir ikinci adım yoktur: anahtarın kapsamı yeterlidir. Bu ucu açtığınız anahtarın kimlerde olduğunu bilerek verin.
İ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.