Geliştiriciler

API Dokümantasyonu

REST API referansı, kimlik doğrulama rehberi ve canlı test ortamı. Token üzerinden firma (tenant) izolasyonu otomatik uygulanır.

PDF indir (tam referans) 101 canlı uç 0 planlanan

Base URL

https://www.neokurs.com.tr/api

Kimlik doğrulama

Authorization: Bearer <token>

İçerik tipi

Content-Type: application/json

Şube kapsamı

X-Branch-Id: <id|all>

Token nasıl alınır?

  1. Kurum paneline giriş yapabileceğiniz bir kurum kullanıcısı (tenant_id dolu) hesabı kullanın. Süper admin hesapları API token alamaz.
  2. POST https://www.neokurs.com.tr/api/auth/login isteğinde email, password ve isteğe bağlı device_name gönderin.
  3. Yanıttaki token değerini saklayın; süresi dolana kadar tüm korumalı uçlarda kullanın.
  4. Korumalı isteklerde header: Authorization: Bearer TOKEN
  5. Sistem token’daki kullanıcının tenant_id bilgisini okur — yalnızca o kurumun verisine erişim verilir.
  6. Şube filtresi için isteğe bağlı header: X-Branch-Id: 12 veya tüm şubeler (yetki gerekir): X-Branch-Id: all. Verilmezse merkez yönetici tüm şubeleri, şube kullanıcısı kendi şubesini görür.
  7. Kaynak kimlikleri çoğunlukla public_token (ULID) ile adreslenir; duyuru/log/kasa gibi bazı uçlarda sayısal id kullanılır.
  8. Tutar alanları (ödeme, fatura, gider, fiyat) kuruş cinsinden tam sayı olarak gönderilir (ör. 150,00 ₺ → 15000).
<?php

$baseUrl = 'https://www.neokurs.com.tr';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/auth/login');
$headers = [
    'Accept: application/json',
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['email' => 'ornek-deger', 'password' => 'ornek-deger', 'device_name' => 'ornek-deger'], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

API test ortamı

Önce token alın, sonra endpoint seçip “Gönder” ile deneyin. Canlı olmayan uçlar uyarı verir.

1 · Token al

2 · Endpoint seç

3 · Yanıt

Hazır…

attendances

GET /api/attendances live

Günlük yoklama listesi

Yoklama kayıtları kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Günlük yoklama listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
to query date (opsiyonel) Hayır
from query date (opsiyonel) Hayır
status query string (opsiyonel) Hayır
student_id query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/attendances');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/attendances/{id} live

Günlük yoklama detayı

Tek Günlük yoklama kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/attendances/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/attendances live

Günlük yoklama oluştur

Yeni Günlük yoklama oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
date body date Evet
note body string (opsiyonel) Hayır
status body string Evet
branch_id body int (opsiyonel) Hayır
student_id body int Evet

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/attendances');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['date' => '2026-07-30', 'note' => 'ornek-deger', 'status' => 'ornek-deger', 'branch_id' => 1, 'student_id' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/attendances/{id} live

Günlük yoklama güncelle

Günlük yoklama kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
date body date Evet
note body string (opsiyonel) Hayır
status body string Evet
branch_id body int (opsiyonel) Hayır
student_id body int Evet

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/attendances/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['date' => '2026-07-30', 'note' => 'ornek-deger', 'status' => 'ornek-deger', 'branch_id' => 1, 'student_id' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/attendances/{id} live

Günlük yoklama sil

Günlük yoklama kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/attendances/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

auth

POST /api/auth/login live

Token ile giriş

E-posta/şifre ile Sanctum Bearer token üretir.

Kurum kullanıcısı (tenant_id dolu) gerekir. Süper admin API token alamaz.

Token sonraki tüm isteklerde Authorization: Bearer olarak gönderilir; kiracı bağlamı token’daki kullanıcıdan gelir.

Kimlik doğrulama

Token gerekmez

Herkese açık uç (login gibi).

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
email body email Evet
password body password Evet
device_name body string (opsiyonel) Hayır

Yanıt alanları

AlanTip
user object
token string
token_type Bearer

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/auth/login');
$headers = [
    'Accept: application/json',
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['email' => 'kullanici@firma.test', 'password' => 'sifreniz', 'device_name' => 'ornek-deger'], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/auth/logout live

Oturumu kapat (token sil)

Geçerli access token’ı iptal eder.

Logout.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

{
    "ok": true
}

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/auth/logout');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/user live

Oturumdaki kullanıcı

Token sahibinin profil özeti.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/user');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

branches

GET /api/branches live

Şube listesi

Şubeler kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Şube listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
per_page query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/branches');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/branches/{public_token} live

Şube detayı

Tek Şube kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/branches/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/branches live

Şube oluştur

Yeni Şube oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
city body string (opsiyonel) Hayır
code body string (opsiyonel) Hayır
name body string Evet
phone body string (opsiyonel) Hayır
address body string (opsiyonel) Hayır
is_main body bool (opsiyonel) Hayır
is_active body bool (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/branches');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['city' => 'ornek-deger', 'code' => 'ornek-deger', 'name' => 'ornek-deger', 'phone' => 'ornek-deger', 'address' => 'ornek-deger', 'is_main' => true, 'is_active' => true], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/branches/{public_token} live

Şube güncelle

Şube kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
city body string (opsiyonel) Hayır
code body string (opsiyonel) Hayır
name body string Evet
phone body string (opsiyonel) Hayır
address body string (opsiyonel) Hayır
is_main body bool (opsiyonel) Hayır
is_active body bool (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/branches/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['city' => 'ornek-deger', 'code' => 'ornek-deger', 'name' => 'ornek-deger', 'phone' => 'ornek-deger', 'address' => 'ornek-deger', 'is_main' => true, 'is_active' => true], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/branches/{public_token} live

Şube sil

Şube kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/branches/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

certificates

GET /api/certificates live

Sertifika listesi

Sertifikalar kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Sertifika listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
student_id query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/certificates');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/certificates/{public_token} live

Sertifika detayı

Tek Sertifika kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/certificates/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/certificates live

Sertifika oluştur

Yeni Sertifika oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
meta body object (opsiyonel) Hayır
title body string Evet
issued_at body date (opsiyonel) Hayır
student_id body int Evet
course_name body string (opsiyonel) Hayır
lesson_series_id body int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/certificates');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['meta' => 'ornek-deger', 'title' => 'ornek-deger', 'issued_at' => '2026-07-30', 'student_id' => 1, 'course_name' => 'ornek-deger', 'lesson_series_id' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/certificates/{public_token} live

Sertifika güncelle

Sertifika kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
meta body object (opsiyonel) Hayır
title body string Evet
issued_at body date (opsiyonel) Hayır
student_id body int Evet
course_name body string (opsiyonel) Hayır
lesson_series_id body int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/certificates/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['meta' => 'ornek-deger', 'title' => 'ornek-deger', 'issued_at' => '2026-07-30', 'student_id' => 1, 'course_name' => 'ornek-deger', 'lesson_series_id' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/certificates/{public_token} live

Sertifika sil

Sertifika kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/certificates/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

finance

GET /api/payments live

Ödeme listesi

Ödemeler kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Ödeme listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
status query string (opsiyonel) Hayır
per_page query int (opsiyonel) Hayır
student_id query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/payments');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/expenses live

Kasa kaydı listesi

Gelir/gider kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Kasa kaydı listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
category query string (opsiyonel) Hayır
entry_type query string (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/expenses');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/payments/{public_token} live

Ödeme detayı

Tek Ödeme kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/payments/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/expenses/{id} live

Kasa kaydı detayı

Tek Kasa kaydı kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/expenses/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/payments live

Ödeme oluştur

Yeni Ödeme oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
notes body string (opsiyonel) Hayır
amount body int Evet
method body string Evet
status body string (opsiyonel) Hayır
paid_at body date (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
receipt_no body string (opsiyonel) Hayır
student_id body int Evet

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/payments');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['notes' => 'ornek-deger', 'amount' => 1, 'method' => 'ornek-deger', 'status' => 'ornek-deger', 'paid_at' => '2026-07-30', 'branch_id' => 1, 'receipt_no' => 'ornek-deger', 'student_id' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/expenses live

Kasa kaydı oluştur

Yeni Kasa kaydı oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
notes body string (opsiyonel) Hayır
title body string Evet
amount body int Evet
category body string (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
entry_type body string (opsiyonel) Hayır
expense_date body date Evet
payment_method body string (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/expenses');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['notes' => 'ornek-deger', 'title' => 'ornek-deger', 'amount' => 1, 'category' => 'ornek-deger', 'branch_id' => 1, 'entry_type' => 'ornek-deger', 'expense_date' => '2026-07-30', 'payment_method' => 'ornek-deger'], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/payments/{public_token} live

Ödeme güncelle

Ödeme kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
notes body string (opsiyonel) Hayır
amount body int Evet
method body string Evet
status body string (opsiyonel) Hayır
paid_at body date (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
receipt_no body string (opsiyonel) Hayır
student_id body int Evet

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/payments/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['notes' => 'ornek-deger', 'amount' => 1, 'method' => 'ornek-deger', 'status' => 'ornek-deger', 'paid_at' => '2026-07-30', 'branch_id' => 1, 'receipt_no' => 'ornek-deger', 'student_id' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/expenses/{id} live

Kasa kaydı güncelle

Kasa kaydı kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
notes body string (opsiyonel) Hayır
title body string Evet
amount body int Evet
category body string (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
entry_type body string (opsiyonel) Hayır
expense_date body date Evet
payment_method body string (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/expenses/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['notes' => 'ornek-deger', 'title' => 'ornek-deger', 'amount' => 1, 'category' => 'ornek-deger', 'branch_id' => 1, 'entry_type' => 'ornek-deger', 'expense_date' => '2026-07-30', 'payment_method' => 'ornek-deger'], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/payments/{public_token} live

Ödeme sil

Ödeme kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/payments/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/expenses/{id} live

Kasa kaydı sil

Kasa kaydı kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/expenses/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

groups

GET /api/groups live

Grup listesi

Gruplar kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Grup listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
per_page query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/groups');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/groups/{public_token} live

Grup detayı

Tek Grup kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/groups/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/groups live

Grup oluştur

Yeni Grup oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
name body string Evet
capacity body int (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
is_active body bool (opsiyonel) Hayır
student_ids body array (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/groups');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['name' => 'ornek-deger', 'capacity' => 1, 'branch_id' => 1, 'is_active' => true, 'student_ids' => array (
)], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/groups/{public_token} live

Grup güncelle

Grup kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
name body string Evet
capacity body int (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
is_active body bool (opsiyonel) Hayır
student_ids body array (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/groups/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['name' => 'ornek-deger', 'capacity' => 1, 'branch_id' => 1, 'is_active' => true, 'student_ids' => array (
)], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/groups/{public_token} live

Grup sil

Grup kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/groups/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

guardians

GET /api/guardians live

Veli listesi

Veliler kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Veli listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
per_page query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/guardians');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/guardians/{public_token} live

Veli detayı

Tek Veli kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/guardians/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/guardians live

Veli oluştur

Yeni Veli oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
email body email (opsiyonel) Hayır
phone body string (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
last_name body string Evet
first_name body string Evet

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/guardians');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['email' => 'kullanici@firma.test', 'phone' => 'ornek-deger', 'branch_id' => 1, 'last_name' => 'ornek-deger', 'first_name' => 'ornek-deger'], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/guardians/{public_token} live

Veli güncelle

Veli kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
email body email (opsiyonel) Hayır
phone body string (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
last_name body string Evet
first_name body string Evet

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/guardians/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['email' => 'kullanici@firma.test', 'phone' => 'ornek-deger', 'branch_id' => 1, 'last_name' => 'ornek-deger', 'first_name' => 'ornek-deger'], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/guardians/{public_token} live

Veli sil

Veli kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/guardians/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

holidays

GET /api/holidays live

Tatil listesi

Tatiller kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Tatil listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
to query date (opsiyonel) Hayır
from query date (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/holidays');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/holidays/{public_token} live

Tatil detayı

Tek Tatil kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/holidays/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/holidays live

Tatil oluştur

Yeni Tatil oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
date body date Evet
name body string Evet
branch_id body int (opsiyonel) Hayır
is_recurring body bool (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/holidays');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['date' => '2026-07-30', 'name' => 'ornek-deger', 'branch_id' => 1, 'is_recurring' => true], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/holidays/{public_token} live

Tatil güncelle

Tatil kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
date body date Evet
name body string Evet
branch_id body int (opsiyonel) Hayır
is_recurring body bool (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/holidays/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['date' => '2026-07-30', 'name' => 'ornek-deger', 'branch_id' => 1, 'is_recurring' => true], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/holidays/{public_token} live

Tatil sil

Tatil kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/holidays/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

inventory

GET /api/inventory-items live

Stok kalemi listesi

Stok kalemleri kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Stok kalemi listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
low_stock query bool (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/inventory-items');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/inventory-items/{public_token} live

Stok kalemi detayı

Tek Stok kalemi kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/inventory-items/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/inventory-items live

Stok kalemi oluştur

Yeni Stok kalemi oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
sku body string (opsiyonel) Hayır
name body string Evet
unit body string (opsiyonel) Hayır
notes body string (opsiyonel) Hayır
category body string (opsiyonel) Hayır
quantity body int (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
min_quantity body int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/inventory-items');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['sku' => 'ornek-deger', 'name' => 'ornek-deger', 'unit' => 'ornek-deger', 'notes' => 'ornek-deger', 'category' => 'ornek-deger', 'quantity' => 1, 'branch_id' => 1, 'min_quantity' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/inventory-items/{public_token} live

Stok kalemi güncelle

Stok kalemi kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
sku body string (opsiyonel) Hayır
name body string Evet
unit body string (opsiyonel) Hayır
notes body string (opsiyonel) Hayır
category body string (opsiyonel) Hayır
quantity body int (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
min_quantity body int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/inventory-items/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['sku' => 'ornek-deger', 'name' => 'ornek-deger', 'unit' => 'ornek-deger', 'notes' => 'ornek-deger', 'category' => 'ornek-deger', 'quantity' => 1, 'branch_id' => 1, 'min_quantity' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/inventory-items/{public_token} live

Stok kalemi sil

Stok kalemi kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/inventory-items/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/inventory-items/{public_token}/movements live

Stok hareketi kaydet

Giriş (in), çıkış (out) veya sayım düzeltmesi (adjust).

adjust tipinde quantity yeni stok seviyesidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
note body string (opsiyonel) Hayır
type body string Evet
quantity body int Evet

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/inventory-items/{public_token}/movements');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['note' => 'ornek-deger', 'type' => 'ornek-deger', 'quantity' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

lessons

GET /api/lesson-series live

Ders serisi listesi

Ders serileri kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Ders serisi listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
status query string (opsiyonel) Hayır
teacher_id query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/lesson-series');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/lesson-series/{id} live

Ders serisi detayı

Tek Ders serisi kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/lesson-series/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/lesson-series live

Ders serisi oluştur

Yeni Ders serisi oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
title body string (opsiyonel) Hayır
room_id body int (opsiyonel) Hayır
end_time body string Evet
group_id body int (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
start_date body date Evet
start_time body string Evet
student_id body int (opsiyonel) Hayır
teacher_id body int Evet
day_of_week body int Evet
total_sessions body int Evet

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/lesson-series');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['title' => 'ornek-deger', 'room_id' => 1, 'end_time' => 'ornek-deger', 'group_id' => 1, 'branch_id' => 1, 'start_date' => '2026-07-30', 'start_time' => 'ornek-deger', 'student_id' => 1, 'teacher_id' => 1, 'day_of_week' => 1, 'total_sessions' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/lesson-series/{id} live

Ders serisi güncelle

Ders serisi kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
title body string (opsiyonel) Hayır
room_id body int (opsiyonel) Hayır
end_time body string Evet
group_id body int (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
start_date body date Evet
start_time body string Evet
student_id body int (opsiyonel) Hayır
teacher_id body int Evet
day_of_week body int Evet
total_sessions body int Evet

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/lesson-series/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['title' => 'ornek-deger', 'room_id' => 1, 'end_time' => 'ornek-deger', 'group_id' => 1, 'branch_id' => 1, 'start_date' => '2026-07-30', 'start_time' => 'ornek-deger', 'student_id' => 1, 'teacher_id' => 1, 'day_of_week' => 1, 'total_sessions' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/lesson-series/{id} live

Ders serisi sil

Ders serisi kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/lesson-series/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/lesson-occurrences live

Ders oluşumları listesi

Gerçek ders tarihlerini (occurrences) listeler.

Oluşturma seri üzerinden yapılır; occurrence doğrudan POST edilmez.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
to query date (opsiyonel) Hayır
from query date (opsiyonel) Hayır
status query string (opsiyonel) Hayır
per_page query int (opsiyonel) Hayır
teacher_id query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/lesson-occurrences');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/lesson-occurrences/{public_token} live

Ders oluşumu detayı

Tek ders oluşumu + öğrenciler.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/lesson-occurrences/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/lesson-occurrences/{public_token} live

Ders oluşumu güncelle

Tarih, saat, durum, öğretmen/oda günceller.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
date body date (opsiyonel) Hayır
notes body string (opsiyonel) Hayır
status body string (opsiyonel) Hayır
room_id body int (opsiyonel) Hayır
end_time body string (opsiyonel) Hayır
start_time body string (opsiyonel) Hayır
teacher_id body int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/lesson-occurrences/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['date' => '2026-07-30', 'notes' => 'ornek-deger', 'status' => 'ornek-deger', 'room_id' => 1, 'end_time' => 'ornek-deger', 'start_time' => 'ornek-deger', 'teacher_id' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/lesson-occurrences/{public_token} live

Ders oluşumu sil

Occurrence kaydını siler.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/lesson-occurrences/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/lesson-occurrences/{public_token}/attendance live

Derse yoklama işle

Öğrenci bazlı yoklama işaretler (present/absent/late/excused/pending).

marks: { "": "present" }

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
note body string (opsiyonel) Hayır
marks body object Evet

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/lesson-occurrences/{public_token}/attendance');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['note' => 'ornek-deger', 'marks' => 'ornek-deger'], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

logs

GET /api/activity-logs live

Aktivite logları

Kurum içi işlem geçmişini listeler.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
action query string (opsiyonel) Hayır
subject_type query string (opsiyonel) Hayır
actor_user_id query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/activity-logs');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/activity-logs/{id} live

Aktivite logu detayı

Tek aktivite kaydı.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/activity-logs/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/activity-logs/{id} live

Aktivite logu sil

Log kaydını siler.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/activity-logs/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

notifications

GET /api/announcements live

Duyuru listesi

Duyurular kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Duyuru listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
status query string (opsiyonel) Hayır
channel query string (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/announcements');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/announcements/{id} live

Duyuru detayı

Tek Duyuru kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/announcements/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/announcements live

Duyuru oluştur

Yeni Duyuru oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
body body string Evet
queue body bool (opsiyonel) Hayır
title body string Evet
channel body string Evet
audience body string Evet
branch_id body int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/announcements');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['body' => 'ornek-deger', 'queue' => true, 'title' => 'ornek-deger', 'channel' => 'ornek-deger', 'audience' => 'ornek-deger', 'branch_id' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/announcements/{id} live

Duyuru güncelle

Duyuru kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
body body string Evet
queue body bool (opsiyonel) Hayır
title body string Evet
channel body string Evet
audience body string Evet
branch_id body int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/announcements/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['body' => 'ornek-deger', 'queue' => true, 'title' => 'ornek-deger', 'channel' => 'ornek-deger', 'audience' => 'ornek-deger', 'branch_id' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/announcements/{id} live

Duyuru sil

Duyuru kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/announcements/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/announcements/{id}/queue live

Taslak duyuruyu kuyruğa al

Draft duyuruyu e-posta kuyruğuna gönderir (asenkron).

Gönderim ShouldQueue job ile yapılır; yanıt beklemez.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/announcements/{id}/queue');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/notifications live

Uygulama içi bildirimler

Token sahibinin inbox bildirimlerini listeler.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
unread query bool (opsiyonel) Hayır
per_page query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/notifications');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/notifications/{id}/read live

Bildirimi okundu işaretle

Tek bildirimi okundu yapar.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/notifications/{id}/read');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/notifications/read-all live

Tüm bildirimleri okundu yap

Inbox’taki tüm okunmamışları işaretler.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/notifications/read-all');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/notifications/{id} live

Bildirimi sil

Inbox kaydını siler.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/notifications/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/notification-logs live

Bildirim gönderim logları

E-posta gönderim kayıtlarını listeler (alıcı maskeli).

KVKK: ham telefon/e-posta dönmez.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
status query string (opsiyonel) Hayır
channel query string (opsiyonel) Hayır
announcement_id query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/notification-logs');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/notification-logs/{id} live

Gönderim logu detayı

Tek gönderim logu.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/notification-logs/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/notification-logs/{id} live

Gönderim logu sil

Log kaydını siler.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/notification-logs/{id}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

pricing

GET /api/pricing-plans live

Fiyat paketi listesi

Fiyat paketleri kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Fiyat paketi listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
per_page query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/pricing-plans');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/pricing-plans/{public_token} live

Fiyat paketi detayı

Tek Fiyat paketi kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/pricing-plans/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/pricing-plans live

Fiyat paketi oluştur

Yeni Fiyat paketi oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
name body string Evet
amount body int Evet
currency body string (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
is_active body bool (opsiyonel) Hayır
billing_type body string Evet
lesson_quota body int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/pricing-plans');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['name' => 'ornek-deger', 'amount' => 1, 'currency' => 'ornek-deger', 'branch_id' => 1, 'is_active' => true, 'billing_type' => 'ornek-deger', 'lesson_quota' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/pricing-plans/{public_token} live

Fiyat paketi güncelle

Fiyat paketi kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
name body string Evet
amount body int Evet
currency body string (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
is_active body bool (opsiyonel) Hayır
billing_type body string Evet
lesson_quota body int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/pricing-plans/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['name' => 'ornek-deger', 'amount' => 1, 'currency' => 'ornek-deger', 'branch_id' => 1, 'is_active' => true, 'billing_type' => 'ornek-deger', 'lesson_quota' => 1], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/pricing-plans/{public_token} live

Fiyat paketi sil

Fiyat paketi kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/pricing-plans/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

rooms

GET /api/rooms live

Oda listesi

Odalar kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Oda listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
per_page query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/rooms');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/rooms/{public_token} live

Oda detayı

Tek Oda kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/rooms/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/rooms live

Oda oluştur

Yeni Oda oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
name body string Evet
capacity body int (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
is_active body bool (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/rooms');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['name' => 'ornek-deger', 'capacity' => 1, 'branch_id' => 1, 'is_active' => true], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/rooms/{public_token} live

Oda güncelle

Oda kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
name body string Evet
capacity body int (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
is_active body bool (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/rooms/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['name' => 'ornek-deger', 'capacity' => 1, 'branch_id' => 1, 'is_active' => true], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/rooms/{public_token} live

Oda sil

Oda kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/rooms/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

students

GET /api/students live

Öğrenci listesi

Öğrenciler kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Öğrenci listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
status query string (opsiyonel) Hayır
per_page query int (opsiyonel) Hayır
subject_id query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/students');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/students/{public_token} live

Öğrenci detayı

Tek Öğrenci kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/students/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/students live

Öğrenci oluştur

Yeni Öğrenci oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
email body email (opsiyonel) Hayır
phone body string (opsiyonel) Hayır
status body string (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
last_name body string Evet
first_name body string Evet
subject_ids body array (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/students');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['email' => 'kullanici@firma.test', 'phone' => 'ornek-deger', 'status' => 'ornek-deger', 'branch_id' => 1, 'last_name' => 'ornek-deger', 'first_name' => 'ornek-deger', 'subject_ids' => array (
)], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/students/{public_token} live

Öğrenci güncelle

Öğrenci kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
email body email (opsiyonel) Hayır
phone body string (opsiyonel) Hayır
status body string (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
last_name body string Evet
first_name body string Evet
subject_ids body array (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/students/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['email' => 'kullanici@firma.test', 'phone' => 'ornek-deger', 'status' => 'ornek-deger', 'branch_id' => 1, 'last_name' => 'ornek-deger', 'first_name' => 'ornek-deger', 'subject_ids' => array (
)], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/students/{public_token} live

Öğrenci sil

Öğrenci kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/students/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

subjects

GET /api/subjects live

Branş listesi

Branşlar kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Branş listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
per_page query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/subjects');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/subjects/{public_token} live

Branş detayı

Tek Branş kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/subjects/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/subjects live

Branş oluştur

Yeni Branş oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
name body string Evet
branch_id body int (opsiyonel) Hayır
is_active body bool (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/subjects');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['name' => 'ornek-deger', 'branch_id' => 1, 'is_active' => true], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/subjects/{public_token} live

Branş güncelle

Branş kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
name body string Evet
branch_id body int (opsiyonel) Hayır
is_active body bool (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/subjects/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['name' => 'ornek-deger', 'branch_id' => 1, 'is_active' => true], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/subjects/{public_token} live

Branş sil

Branş kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/subjects/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

teachers

GET /api/teachers live

Öğretmen listesi

Öğretmenler kapsamında kayıtları sayfalar. Tenant + şube filtresi otomatik.

Öğretmen listesi. Kimlik alanları çoğu kaynakta public_token ile taşınır.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
q query string (opsiyonel) Hayır
per_page query int (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object
meta object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/teachers');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
GET /api/teachers/{public_token} live

Öğretmen detayı

Tek Öğretmen kaydı.

Detay. Path parametresi public_token (veya kaynakta id).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/teachers/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
POST /api/teachers live

Öğretmen oluştur

Yeni Öğretmen oluşturur.

Oluşturma. Tüm şubeler görünümündeyken branch_id zorunlu olabilir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
email body email (opsiyonel) Hayır
phone body string (opsiyonel) Hayır
status body string (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
last_name body string Evet
first_name body string Evet
subject_ids body array (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/teachers');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['email' => 'kullanici@firma.test', 'phone' => 'ornek-deger', 'status' => 'ornek-deger', 'branch_id' => 1, 'last_name' => 'ornek-deger', 'first_name' => 'ornek-deger', 'subject_ids' => array (
)], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
PUT /api/teachers/{public_token} live

Öğretmen güncelle

Öğretmen kaydını günceller.

Güncelleme (PUT/PATCH).

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

İstek parametreleri

Alan Konum Tip Zorunlu
email body email (opsiyonel) Hayır
phone body string (opsiyonel) Hayır
status body string (opsiyonel) Hayır
branch_id body int (opsiyonel) Hayır
last_name body string Evet
first_name body string Evet
subject_ids body array (opsiyonel) Hayır

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/teachers/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
    'Content-Type: application/json',
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode(['email' => 'kullanici@firma.test', 'phone' => 'ornek-deger', 'status' => 'ornek-deger', 'branch_id' => 1, 'last_name' => 'ornek-deger', 'first_name' => 'ornek-deger', 'subject_ids' => array (
)], JSON_UNESCAPED_UNICODE),
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;
DELETE /api/teachers/{public_token} live

Öğretmen sil

Öğretmen kaydını siler.

Kalıcı silme. İşlem yalnızca kendi tenant verinizde geçerlidir.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
data object

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/teachers/{public_token}');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;

tenants

GET /api/organization live

Kurum profili

Token sahibinin bağlı olduğu kurum profili. Başka firmaya erişilemez.

Sanctum token üzerinden tenant otomatik çözülür.

Kimlik doğrulama: Authorization: Bearer <token>

Şube: İsteğe bağlı X-Branch-Id: {branchId} veya X-Branch-Id: all (tüm şubeleri görme yetkisi gerekir). Tenant token’dan otomatik çözülür; X-Tenant header kullanılmaz.

Yanıt zarfı: { "ok": true, "data": ..., "meta": ... }

Kimlik doğrulama

Bearer token zorunlu

Header: Authorization: Bearer TOKEN

Tenant izolasyonu

Token’daki tenant_id ile firma bağlamı otomatik çözülür; başka kurum verisine erişilemez.

Yanıt alanları

AlanTip
id string
logo_path string (opsiyonel)
primary_color string (opsiyonel)
license_ends_at date (opsiyonel)
organization_name string

PHP örneği

<?php

$baseUrl = 'https://www.neokurs.com.tr/api';
$token = 'BURAYA_BEARER_TOKEN'; // POST /api/auth/login yanıtından

$ch = curl_init('https://www.neokurs.com.tr/api/api/organization');
$headers = [
    'Accept: application/json',
    'Authorization: Bearer ' . $token,
    'X-Branch-Id: all', // veya şube id; opsiyonel
];

$options = [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
];

curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP {$status}\n";
echo $response;