Hatırlatıcı ve Görevler

1.6k görüntülenme Markdown

Kişisel hatırlatıcıları ve ekibin görev planlayıcısını yöneten on uç.

Genel Bakış

Bu on uç iki ayrı defteri yönetir. Hatırlatıcı kişiseldir: kendinize not bırakırsınız, zamanı gelince size hatırlatılır. Görev paylaşılandır: bir yöneticiye atanır, bir müşteriye ve departmana bağlanabilir, durumu takip edilir.

Aradaki en önemli fark görünürlüktür. Hatırlatıcılar sahibine bağlıdır ve anahtarın ait olduğu yönetici dışındakiler görünmez; görevler ise ekip geneli listedir.

Referans

Hatırlatıcıları Listeleme

get/api/v1/admin/tools/reminders
Tools/GetReminders admin yalnız kendi kayıtlarınız

Anahtarın bağlı olduğu yöneticinin hatırlatıcılarını döndürür.

Sorgu parametreleri 3
pageintVarsayılan 1.
limitintVarsayılan 25, en çok 100.
searchstringKayıtlarda arar.
Dönen alanlar data[] — 7
idintHatırlatıcının kimliği.
notestringHatırlatılacak not.
statusstringactive ya da inactive.
periodstringonetime bir kez, recurring tekrarlayan.
scheduled_atstring | nullTek seferlik hatırlatıcının zamanı.
recurringobject | nullTekrarlayan hatırlatıcının deseni.
timestringGünün hangi saatinde hatırlatılacağı.
monthintHangi ay. Eksi bir her ay demektir.
dayintAyın hangi günü. Eksi bir her gün demektir.
created_atstring | nullOluşturulma zamanı.
Hatalar 1
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl 'https://panel.ornek.com/api/v1/admin/tools/reminders' \
  -H "Authorization: Bearer $API_KEY"
const res  = await fetch('https://panel.ornek.com/api/v1/admin/tools/reminders', {
  headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/reminders');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer ' . $apiKey],
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
// Hatirlaticilar SAHIBINE baglidir: baska bir yoneticininkileri bu anahtarla goremezsiniz.
$reminders = Api::Tools()->GetReminders()['data'];

Hatırlatıcı Detayı

get/api/v1/admin/tools/reminders/{id}
Tools/GetReminder admin

Tek bir hatırlatıcıyı döndürür. Şema liste öğesiyle aynıdır.

Dönen alanlar data — 7
idintHatırlatıcının kimliği.
notestringHatırlatılacak not.
statusstringactive ya da inactive.
periodstringonetime bir kez, recurring tekrarlayan.
scheduled_atstring | nullTek seferlik hatırlatıcının zamanı.
recurringobject | nullTekrarlayan hatırlatıcının deseni.
timestringGünün hangi saatinde hatırlatılacağı.
monthintHangi ay. Eksi bir her ay demektir.
dayintAyın hangi günü. Eksi bir her gün demektir.
created_atstring | nullOluşturulma zamanı.
Hatalar 3
invalid_id422Kimlik geçerli değil.
not_found404Hatırlatıcı bulunamadı.
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl 'https://panel.ornek.com/api/v1/admin/tools/reminders/12' \
  -H "Authorization: Bearer $API_KEY"
const res  = await fetch('https://panel.ornek.com/api/v1/admin/tools/reminders/12', {
  headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/reminders/12');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer ' . $apiKey],
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
// Baskasinin hatirlaticisi 'bulunamadi' doner, 'yetkin yok' degil.
$response = Api::Tools()->GetReminder(['id' => 12]);

Hatırlatıcı Oluşturma

post/api/v1/admin/tools/reminders
Tools/CreateReminder admin 201

Anahtarın sahibine yeni bir hatırlatıcı açar.

Gövde 7
notestringzorunluHatırlatılacak not.
statusstringactive ya da inactive. Varsayılan etkin.
periodstringonetime ya da recurring. Varsayılan tek seferlik.
scheduled_atstringHatırlatmanın zamanı. Tek seferlikte zorunlu.
timestringGünün saati. Tekrarlayanda kullanılır.
monthintHangi ay. Eksi bir her ay demektir.
dayintAyın hangi günü. Eksi bir her gün demektir.
Dönen alanlar data
dataobjectOluşan hatırlatıcı. Şeması liste öğesiyle aynı.
Hatalar 5
note_required422Not boş.
invalid_status422Durum iki değerden biri değil.
invalid_period422Tür iki değerden biri değil.
scheduled_at_required422Tek seferlik hatırlatıcıda zaman verilmedi.
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl -X POST 'https://panel.ornek.com/api/v1/admin/tools/reminders' \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"note":"Follow up with client","period":"onetime","scheduled_at":"2026-02-01 09:00:00"}'
const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/reminders', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    note: 'Follow up with client',
    period: 'onetime',
    scheduled_at: '2026-02-01 09:00:00',
  }),
});

const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/reminders');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'note'         => 'Follow up with client',
        'period'       => 'onetime',
        'scheduled_at' => '2026-02-01 09:00:00',
    ]),
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
// Her ayin ilk gunu icin: gun 1, ay -1 (her ay).
Api::Tools()->CreateReminder([
    'note'   => 'Monthly reconciliation',
    'period' => 'recurring',
    'time'   => '09:00',
    'month'  => -1,
    'day'    => 1,
]);

Hatırlatıcıyı Güncelleme

patch/api/v1/admin/tools/reminders/{id}
Tools/UpdateReminder admin

Gönderdiğiniz alanları uygular; kalanlar olduğu gibi durur.

Gövde 7
notestringzorunluHatırlatılacak not.
statusstringactive ya da inactive. Varsayılan etkin.
periodstringonetime ya da recurring. Varsayılan tek seferlik.
scheduled_atstringHatırlatmanın zamanı. Tek seferlikte zorunlu.
timestringGünün saati. Tekrarlayanda kullanılır.
monthintHangi ay. Eksi bir her ay demektir.
dayintAyın hangi günü. Eksi bir her gün demektir.
Dönen alanlar data
dataobjectGüncellenen hatırlatıcı. Şeması liste öğesiyle aynı.
Hatalar 3
not_found404Hatırlatıcı bulunamadı.
note_required422Gönderilen not boş.
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl -X PATCH 'https://panel.ornek.com/api/v1/admin/tools/reminders/12' \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"status":"inactive"}'
const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/reminders/12', {
  method: 'PATCH',
  headers: {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ status: 'inactive' }),
});

const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/reminders/12');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'PATCH',
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode(['status' => 'inactive']),
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
// Durumu kapatmak hatirlaticiyi SILMEZ: kayit durur, yalniz calismaz.
Api::Tools()->UpdateReminder(['id' => 12, 'status' => 'inactive']);

Hatırlatıcıyı Silme

delete/api/v1/admin/tools/reminders/{id}
Tools/DeleteReminder admin

Hatırlatıcıyı siler.

Dönen alanlar data — 2
deletedboolSilme başarılı mı.
idintSilinen hatırlatıcının kimliği.
Hatalar 2
not_found404Hatırlatıcı bulunamadı.
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/tools/reminders/12' \
  -H "Authorization: Bearer $API_KEY"
const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/reminders/12', {
  method: 'DELETE',
  headers: { Authorization: `Bearer ${apiKey}` },
});

const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/reminders/12');
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);
$response = Api::Tools()->DeleteReminder(['id' => 12]);

Görevleri Listeleme

get/api/v1/admin/tools/tasks
Tools/GetTasks admin tüm yöneticiler

Görev planlayıcıdaki kayıtları döndürür. Hatırlatıcıların aksine hepsi görünür.

Sorgu parametreleri 3
pageintVarsayılan 1.
limitintVarsayılan 25, en çok 100.
searchstringKayıtlarda arar.
Dönen alanlar data[] — 14
idintGörevin kimliği.
titlestringGörev başlığı.
descriptionstringGörev açıklaması.
statusstringwaiting, inprocess, postponed ya da completed.
status_notestringDuruma düşülen not.
c_datestring | nullGörevin tarihi.
due_datestring | nullBitmesi gereken tarih.
owner_idintGörevi açan yöneticinin kimliği.
admin_idintGörevin atandığı yöneticinin kimliği.
admin_namestring | nullAtanan yöneticinin adı.
user_idintİlgili müşterinin kimliği.
user_namestring | nullMüşterinin adı.
user_company_namestring | nullMüşterinin firma adı.
departmentsint[]Görevin bağlı olduğu departmanlar.
Hatalar 1
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl 'https://panel.ornek.com/api/v1/admin/tools/tasks' \
  -H "Authorization: Bearer $API_KEY"
const res  = await fetch('https://panel.ornek.com/api/v1/admin/tools/tasks', {
  headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/tasks');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer ' . $apiKey],
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
// Gorevler hatirlaticilarin aksine SAHIBINE bagli degildir: liste herkesinkini tasir.
$mine = array_filter(
    Api::Tools()->GetTasks()['data'],
    fn (array $t): bool => $t['admin_id'] === $adminId,
);

Görev Detayı

get/api/v1/admin/tools/tasks/{id}
Tools/GetTask admin

Tek bir görevi döndürür. Şema liste öğesiyle aynıdır.

Dönen alanlar data — 14
idintGörevin kimliği.
titlestringGörev başlığı.
descriptionstringGörev açıklaması.
statusstringwaiting, inprocess, postponed ya da completed.
status_notestringDuruma düşülen not.
c_datestring | nullGörevin tarihi.
due_datestring | nullBitmesi gereken tarih.
owner_idintGörevi açan yöneticinin kimliği.
admin_idintGörevin atandığı yöneticinin kimliği.
admin_namestring | nullAtanan yöneticinin adı.
user_idintİlgili müşterinin kimliği.
user_namestring | nullMüşterinin adı.
user_company_namestring | nullMüşterinin firma adı.
departmentsint[]Görevin bağlı olduğu departmanlar.
Hatalar 3
invalid_id422Kimlik geçerli değil.
not_found404Görev bulunamadı.
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl 'https://panel.ornek.com/api/v1/admin/tools/tasks/8' \
  -H "Authorization: Bearer $API_KEY"
const res  = await fetch('https://panel.ornek.com/api/v1/admin/tools/tasks/8', {
  headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/tasks/8');
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()->GetTask(['id' => 8]);

Görev Oluşturma

post/api/v1/admin/tools/tasks
Tools/CreateTask admin 201

Yeni bir görev açar ve bir yöneticiye atar.

Gövde 10
titlestringzorunluGörev başlığı.
c_datestringzorunluGörevin tarihi.
statusstringGörev durumu. Varsayılan beklemede.
descriptionstringGörev açıklaması.
admin_idintGörevin atanacağı yönetici. Vermezseniz anahtarın sahibine atanır.
user_idintGörevin ilgili olduğu müşteri.
departmentsint[]Görevin bağlanacağı departmanlar.
due_datestringBitmesi gereken tarih. Vermezseniz bugün alınır.
status_notestringDuruma düşülecek not.
notifyboolAtanan yöneticiye bildirim gönderir.
Dönen alanlar data
dataobjectOluşan görev. Şeması liste öğesiyle aynı.
Hatalar 4
title_required422Başlık boş.
c_date_required422Tarih boş.
invalid_status422Durum dört değerden biri değil.
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl -X POST 'https://panel.ornek.com/api/v1/admin/tools/tasks' \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"title":"Renew SSL","c_date":"2026-02-01","user_id":42,"notify":true}'
const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/tasks', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    title: 'Renew SSL',
    c_date: '2026-02-01',
    user_id: 42,
    notify: true,
  }),
});

const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/tasks');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'title'   => 'Renew SSL',
        'c_date'  => '2026-02-01',
        'user_id' => 42,
        'notify'  => true,
    ]),
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
// Atanan yonetici verilmezse gorev ANAHTARIN SAHIBINE dusur; entegrasyon anahtarinda dikkat.
Api::Tools()->CreateTask([
    'title'    => 'Renew SSL',
    'c_date'   => '2026-02-01',
    'admin_id' => 3,
    'notify'   => true,
]);

Görevi Güncelleme

patch/api/v1/admin/tools/tasks/{id}
Tools/UpdateTask admin

Gönderdiğiniz alanları uygular; başlık ve tarih boş bırakılamaz.

Gövde 10
titlestringzorunluGörev başlığı.
c_datestringzorunluGörevin tarihi.
statusstringGörev durumu. Varsayılan beklemede.
descriptionstringGörev açıklaması.
admin_idintGörevin atanacağı yönetici. Vermezseniz anahtarın sahibine atanır.
user_idintGörevin ilgili olduğu müşteri.
departmentsint[]Görevin bağlanacağı departmanlar.
due_datestringBitmesi gereken tarih. Vermezseniz bugün alınır.
status_notestringDuruma düşülecek not.
notifyboolAtanan yöneticiye bildirim gönderir.
Dönen alanlar data
dataobjectGüncellenen görev. Şeması liste öğesiyle aynı; atanan personelin ve müşterinin adları birleştirilmiş gelir.
Hatalar 5
not_found404Görev bulunamadı.
title_required422Gönderilen başlık boş.
c_date_required422Gönderilen tarih boş.
invalid_status422Durum dört değerden biri değil.
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl -X PATCH 'https://panel.ornek.com/api/v1/admin/tools/tasks/8' \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"status":"completed","status_note":"Done"}'
const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/tasks/8', {
  method: 'PATCH',
  headers: {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ status: 'completed', status_note: 'Done' }),
});

const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/tasks/8');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'PATCH',
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'status'      => 'completed',
        'status_note' => 'Done',
    ]),
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
// Tamamlanan gorev listeden CIKMAZ; kendi taraf sorgunuzda duruma gore eleyin.
Api::Tools()->UpdateTask([
    'id'     => 8,
    'status' => 'completed',
]);

Görevi Silme

delete/api/v1/admin/tools/tasks/{id}
Tools/DeleteTask admin

Görevi siler.

Dönen alanlar data — 2
deletedboolSilme başarılı mı.
idintSilinen görevin kimliği.
Hatalar 2
not_found404Görev bulunamadı.
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/tools/tasks/8' \
  -H "Authorization: Bearer $API_KEY"
const res = await fetch('https://panel.ornek.com/api/v1/admin/tools/tasks/8', {
  method: 'DELETE',
  headers: { Authorization: `Bearer ${apiKey}` },
});

const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/tools/tasks/8');
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 SAHIBE bakmaz: baska bir yoneticinin gorevini de kaldirabilirsiniz.
Api::Tools()->DeleteTask(['id' => 8]);

Tuzaklar

İki defterin görünürlüğü farklıdır

Hatırlatıcı uçları yalnız anahtarın sahibi olan yöneticinin kayıtlarını görür; başkasının hatırlatıcısı "bulunamadı" döner. Görev uçlarında böyle bir sınır yoktur: liste herkesinkini taşır ve silme sahibe bakmaz. Bir entegrasyon anahtarının başka bir yöneticinin görevini kaldırabileceğini hesaba katın.

Atanmayan görev anahtarın sahibine düşer

Görev oluştururken atanan yönetici vermezseniz görev anahtarın sahibine atanır. Bir entegrasyon anahtarı kullanıyorsanız bu, gerçekte kimsenin bakmadığı bir hesabın üzerine görev yığmak demektir. Atamayı açıkça verin.

Tek seferlik hatırlatıcı zaman ister

Tür tek seferlik olduğunda zaman alanı zorunludur; vermezseniz istek reddedilir. Tekrarlayan hatırlatıcıda ise saat, ay ve gün deseninden okunur ve eksi bir "her" anlamına gelir: ay eksi bir, gün bir demek her ayın ilk günü demektir.

Tamamlanan görev listeden çıkmaz

Görevi tamamlandı olarak işaretlemek onu listeden kaldırmaz; kayıt durumuyla birlikte kalır. Açık işleri saymak istiyorsanız kendi tarafınızda duruma göre elemeniz gerekir.

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.