Genel Bakış
https://www.xlyazilim.com/api/v1Tüm API istekleri bu base URL üzerinden yapılmalıdır.
Hızlı Başlangıç
Kimlik Doğrulama
API, Laravel Sanctum tabanlı token authentication kullanır. Korumalı endpoint'lere erişmek için her istekte token gönderilmelidir.
Authorization: Bearer YOUR_TOKEN_HERE
Hata Kodları
API standart HTTP durum kodlarını kullanır. Hata durumunda detaylı mesaj döner.
| Kod | Durum | Açıklama |
|---|---|---|
| 200 | OK | İstek başarılı |
| 201 | Created | Kaynak başarıyla oluşturuldu |
| 400 | Bad Request | Geçersiz istek formatı |
| 401 | Unauthorized | Kimlik doğrulama gerekli veya token geçersiz |
| 403 | Forbidden | Bu işlem için yetkiniz yok |
| 404 | Not Found | Kaynak bulunamadı |
| 422 | Validation Error | Doğrulama hatası (detaylar response'da) |
| 429 | Too Many Requests | Rate limit aşıldı |
| 500 | Server Error | Sunucu hatası |
{
"success": false,
"message": "Validation failed",
"errors": {
"email": ["Email alanı gereklidir."],
"password": ["Şifre en az 8 karakter olmalıdır."]
}
}
Kimlik Doğrulama (Auth)
6 EndpointKullanıcı kayıt, giriş, çıkış ve şifre işlemleri için kullanılan endpoint'ler. Token tabanlı kimlik doğrulama (Laravel Sanctum) kullanılmaktadır.
Yeni bir kullanıcı hesabı oluşturur. Başarılı kayıt sonrası otomatik olarak token döner.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| name Zorunlu | string | Kullanıcının tam adı (min: 2) |
| email Zorunlu | string | Geçerli ve benzersiz email adresi |
| password Zorunlu | string | Şifre (min: 8 karakter) |
| password_confirmation Zorunlu | string | Şifre tekrarı |
Test Et
Email ve şifre ile giriş yapar, başarılı olursa Bearer token döner. Bu token diğer korumalı endpoint'lerde kullanılır.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| email Zorunlu | string | Kayıtlı email adresi |
| password Zorunlu | string | Kullanıcı şifresi |
Test Et
{
"success": true,
"message": "Giriş başarılı",
"token": "1|abc123...",
"user": {
"id": 1,
"name": "John Doe",
"email": "john@example.com"
}
}
Giriş yapmış kullanıcının bilgilerini döner. Token gerektirir.
Test Et
Mevcut token'ı iptal eder ve kullanıcıyı çıkış yaptırır.
Test Et
Şifre sıfırlama e-postası gönderir.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| email Zorunlu | string | Kayıtlı email adresi |
Test Et
Token ile şifre sıfırlama işlemini tamamlar.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| token Zorunlu | string | E-posta ile gelen sıfırlama token'ı |
| email Zorunlu | string | Kullanıcı email adresi |
| password Zorunlu | string | Yeni şifre (min: 8) |
| password_confirmation Zorunlu | string | Yeni şifre tekrarı |
Test Et
Onboarding
5 EndpointYeni kullanıcıların ilk giriş akışını yöneten endpoint'ler. Kullanıcı tercihlerini toplar ve profili yapılandırır.
Aktif onboarding flow'u ve tüm adımlarını döner. Kullanıcının mevcut durumunu ve tamamlanan adımları içerir.
Test Et
Tüm onboarding adımlarını cevaplanma durumuyla birlikte listeler. Bu endpoint ile tüm step'leri tek seferde alabilir ve next'e gerek kalmadan flow'u gösterebilirsiniz.
Test Et
Kullanıcının tamamlaması gereken bir sonraki onboarding adımını döner. Cevaplanan step'ten sonraki ilk cevaplanmamış step'i döndürür.
Test Et
Belirli bir onboarding adımı için kullanıcının cevabını kaydeder.
URL Parametreleri
| Parametre | Tip | Açıklama |
|---|---|---|
| step_id Zorunlu | integer | Onboarding adım ID'si |
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| option_id Opsiyonel | integer | Seçilen seçenek ID'si (single/multiple choice için) |
| option_ids Opsiyonel | array | Seçilen seçenek ID'leri (multiple choice için) |
| answer Opsiyonel | string|number|boolean|array | Cevap değeri (soru tipine göre: text, number, date, boolean, single_choice, multi_choice) |
Test Et
Onboarding sürecini tamamlar ve kullanıcıyı ana uygulamaya yönlendirir.
Test Et
Engagement & Points
4 EndpointGünlük giriş, streak takibi ve puan kazanma sistemi için kullanılan endpoint'ler.
Kullanıcının günlük girişini kaydeder. Streak bilgisi ve bonus XP döner.
Test Et
Belirli bir eylem için puan kazandırır. Aksiyon tipine göre puan miktarı değişir.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| action Zorunlu | string | Aksiyon tipi (lesson_complete, quiz_pass, streak_bonus vb.) |
| reference_type Opsiyonel | string | Referans model tipi |
| reference_id Opsiyonel | integer | Referans model ID'si |
Test Et
Kullanıcının mevcut puan durumunu, seviye bilgisini ve streak verisini döner.
Test Et
Kullanıcının puan kazanma geçmişini sayfalı olarak döner.
Query Parametreleri
| Parametre | Tip | Açıklama |
|---|---|---|
| page Opsiyonel | integer | Sayfa numarası (varsayılan: 1) |
| per_page Opsiyonel | integer | Sayfa başına kayıt (varsayılan: 20) |
Test Et
Avatar Sistemi
3 EndpointKullanıcı avatarı özelleştirme ve yönetim endpoint'leri. Kategorilere göre avatar parçaları satın alınabilir ve kombinlenebilir.
Tüm avatar kategorilerini ve içerdikleri parçaları döner. Her parçanın fiyatı, kilit durumu ve kullanıcının sahip olup olmadığı bilgisi içerir.
Test Et
Kullanıcının mevcut avatar konfigürasyonunu döner. Seçili parçalar ve sahip olunan tüm parçalar listelenir.
Test Et
Avatar konfigürasyonunu kaydeder. Yeni parça seçimi veya satın alma işlemi yapar. Kullanıcının sahip olmadığı parça seçilirse otomatik satın alma yapılır.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| selections Zorunlu | object | Kategori bazlı seçimler {"hair": 5, "eyes": 2, ...} |
Test Et
Seviye Belirleme (Placement)
5 EndpointKullanıcının İngilizce seviyesini belirlemek için kullanılan test sistemi. Adaptif sorularla kullanıcının gerçek seviyesi tespit edilir.
Kullanıcının alabileceği aktif placement testlerini listeler. Daha önce tamamlanmış ve devam eden testler bilgisi içerir.
Test Et
Yeni bir placement test oturumu başlatır veya devam eden oturumu döner. İlk soru ile birlikte oturum bilgisi döner.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| test_id Zorunlu | integer | Test ID'si (aktif testlerden birini seçin) |
Test Et
Mevcut soruya cevap gönderir. Adaptif sistem sonraki soruyu belirler. Cevap doğruluğuna göre zorluk seviyesi ayarlanır.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| attempt_id Zorunlu | integer | Test attempt ID'si (start endpoint'inden alınır) |
| question_id Zorunlu | integer | Soru ID'si |
| answer Opsiyonel | string | Seçilen cevap (soru tipine göre değişir) |
Test Et
Placement testini tamamlar ve sonuçları hesaplar. Belirlenen seviye kullanıcı profiline kaydedilir.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| attempt_id Zorunlu | integer | Test attempt ID'si (start endpoint'inden alınır) |
Test Et
Kullanıcının placement test sonucu belirlenen seviyesini döner. Test tamamlanmamışsa null döner.
Test Et
Öğrenci API (Student)
14 EndpointÖğrenci paneli için sınıf, ders, aktivite, sınav ve ilerleme bilgilerini yöneten endpoint'ler.
Öğrencinin kayıtlı olduğu sınıfları listeler.
Test Et
Öğrencinin erişebileceği dersleri listeler.
Test Et
Belirli bir dersin detay bilgilerini döner.
Test Et
Öğrencinin aktivitelerini listeler.
Test Et
Belirli bir aktivitenin detayını döner.
Test Et
Aktiviteyi tamamlandı olarak işaretler.
Test Et
Öğrencinin atanmış sınavlarını listeler.
Test Et
Sınav detay bilgilerini döner.
Test Et
Sınav cevaplarını gönderir.
Test Et
Öğrencinin genel ilerleme bilgilerini döner.
Test Et
Öğrencinin puan bilgilerini döner.
Test Et
Öğrencinin kazandığı rozetleri listeler.
Test Et
Sınıf veya okul bazlı liderlik tablosunu döner.
Test Et
Öğrencinin erişebileceği kelime setlerini listeler.
Test Et
Listening (Dinleme)
10 EndpointDinleme içerikleri ve oturumlar için mobil API endpoint'leri. Grade + Level bazlı içerik sistemi ile çalışır.
AI İçerik Üretimi: Diyalog ve soru üretimi gibi AI endpoint'leri öğretmen panelinde bulunmaktadır.
Text-to-Speech için kullanılabilir seslerin listesini döner.
Test Et
Kullanılabilir zorluk seviyelerinin listesini döner.
Test Et
Dinleme içerikleri için önerilen konuların listesini döner.
Test Et
Kullanıcının grade ve level'ına göre filtrelenmiş dinleme içeriklerini listeler. Kilit durumu bilgisi içerir.
Test Et
Belirli bir dinleme içeriğinin detayını, diyalog satırlarını ve ses dosyalarını döner. İçerik kilitliyse 403 hatası döner.
URL Parametreleri
| Parametre | Tip | Açıklama |
|---|---|---|
| id Zorunlu | integer | İçerik ID'si |
Test Et
Belirli bir içerik için dinleme oturumu başlatır. Devam eden oturum varsa onu döner.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| content_id Zorunlu | integer | Dinleme içeriği ID'si |
Test Et
Oturuma ait soruları döner. Doğru cevaplar gizlidir.
Test Et
Bir soru için cevap gönderir ve doğruluk durumunu döner.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| question_id Zorunlu | integer | Soru ID'si |
| answer Zorunlu | mixed | Cevap (soru tipine göre string veya array) |
Test Et
Dinleme oturumunu tamamlar, skoru hesaplar ve XP kazandırır.
Test Et
Dinleme oturumunun ilerleme yüzdesini günceller.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| progress_percent Zorunlu | integer | İlerleme yüzdesi (0-100) |
Test Et
Reading (Okuma)
12 EndpointOkuma içerikleri ve oturumlar için mobil API endpoint'leri. Grade + Level bazlı içerik sistemi ile çalışır.
Kullanılabilir okuma içerik tiplerinin listesini döner (article, story, dialogue vb.).
Test Et
Kullanılabilir yazım stillerinin listesini döner (formal, informal, academic vb.).
Test Et
Kullanıcının grade ve level'ına göre filtrelenmiş okuma içeriklerini listeler.
Test Et
Belirli bir okuma içeriğinin detayını döner. Kilitliyse 403 hatası döner.
Test Et
Belirli bir okuma içeriğine ait soruları döner. Her içeriğin MCQ, True/False, Fill Blank türünde soruları vardır.
Test Et
Bir içerik sorusuna cevap gönderir ve doğru/yanlış kontrolü yapar.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| answer Zorunlu | string | Kullanıcının cevabı (MCQ için "A", "B", "C", "D" veya True/False için "True", "False") |
Test Et
Belirli bir içerik için okuma oturumu başlatır.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| content_id Zorunlu | integer | Okuma içeriği ID'si |
Test Et
Bir soru için cevap gönderir.
Test Et
Okuma oturumunu tamamlar, skoru hesaplar ve XP kazandırır.
Test Et
Kullanıcının öğrenme profilini, seviyesini ve aktif sınıf bilgisini döner.
Test Et
Verilen metin için boşluk doldurma egzersizi üretir.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| reading_text Zorunlu | string | Analiz edilecek okuma metni |
| question_count Zorunlu | integer | Oluşturulacak boşluk sayısı (1-20) |
| difficulty Opsiyonel | string | beginner, elementary, intermediate, upper_intermediate, advanced |
| additional_instructions Opsiyonel | string | Ek talimatlar |
Test Et
Karışık kelimelerden cümle kurma egzersizi üretir.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| reading_text Zorunlu | string | Analiz edilecek okuma metni |
| question_count Zorunlu | integer | Oluşturulacak soru sayısı (1-10) |
| difficulty Zorunlu | string | beginner, elementary, intermediate, upper_intermediate, advanced |
| additional_instructions Opsiyonel | string | Ek talimatlar |
Test Et
Verilen metinden kelime quizi üretir.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| reading_text Zorunlu | string | Analiz edilecek okuma metni |
| word_count Zorunlu | integer | Oluşturulacak kelime sayısı (1-20) |
| difficulty Opsiyonel | string | beginner, elementary, intermediate, upper_intermediate, advanced |
| additional_instructions Opsiyonel | string | Ek talimatlar |
Test Et
Tek kelime için anlam/çeviri quizi üretir.
Test Et
Okuma oturumunun ilerleme yüzdesini günceller.
Test Et
Oturumdaki içerik için otomatik quiz oluşturur.
Test Et
Oturuma ait soruları döner.
Test Et
Speaking (Konuşma)
13 EndpointKonuşma pratikleri ve telaffuz egzersizleri için kullanılan endpoint'ler. Ses kaydı yükleme ve AI değerlendirme özelliklerini içerir.
TTS için kullanılabilir seslerin listesini döner.
Test Et
Kullanıcının grade ve level'ına göre filtrelenmiş konuşma egzersizlerini listeler.
Test Et
Belirli bir konuşma egzersizinin detayını ve kelime/cümle listesini döner.
Test Et
Belirli bir egzersiz için konuşma oturumu başlatır.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| exercise_id Zorunlu | integer | Konuşma egzersizi ID'si |
Test Et
Belirli bir kelime/cümle için IPA, fonetik ve ses dosyası döner. Sonuçlar önbelleklenir.
Query Parametreleri
| Parametre | Tip | Açıklama |
|---|---|---|
| voice_id Opsiyonel | string | Ses ID'si (varsayılan: female_1) |
| speed Opsiyonel | float | Hız (0.5 - 2.0, varsayılan: 1.0) |
Test Et
Kullanıcının ses kaydını yükler. Multipart form-data kullanılır.
Request Body (multipart/form-data)
| Parametre | Tip | Açıklama |
|---|---|---|
| session_id Zorunlu | integer | Oturum ID'si |
| item_id Zorunlu | integer | Kelime/Cümle ID'si |
| audio_file Zorunlu | file | Ses dosyası (wav, m4a, mp3) |
Yüklenen ses kaydını değerlendirir ve skor döner.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| expected_text Zorunlu | string | Beklenen kelime/cümle |
| mode Opsiyonel | string | word veya sentence |
Test Et
Konuşma oturumunu tamamlar, genel skoru hesaplar ve XP kazandırır.
Test Et
Kelime listesi için IPA, fonetik ve ses dosyası üretir.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| words Zorunlu | array | Kelime listesi |
| voice_id Opsiyonel | string | Ses ID'si |
Test Et
Speaking servisinin sağlık durumunu kontrol eder.
Test Et
Writing (Yazma)
8 EndpointYazma pratikleri ve AI destekli analiz için kullanılan endpoint'ler. Taslak kaydetme, gönderme ve detaylı analiz özellikleri içerir.
Kullanıcının grade ve level'ına göre filtrelenmiş yazma görevlerini listeler.
Query Parameters (Opsiyonel)
| Parametre | Tip | Açıklama |
|---|---|---|
| level_id Opsiyonel | integer | Level band ID'sine göre filtrele |
| type Opsiyonel | string | Yazı türüne göre filtrele (email, essay, letter, report, story) |
Test Et
Belirli bir yazma görevinin detayını, talimatları ve ipuçlarını döner.
Test Et
Kullanıcının yazısını taslak olarak kaydeder. Aynı görev için birden fazla taslak oluşturulamaz.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| task_id Zorunlu | integer | Yazma görevi ID'si |
| user_text Zorunlu | string | Kullanıcının yazdığı metin |
Test Et
Taslağı final gönderim olarak işaretler. Gönderim sonrası düzenleme yapılamaz.
Test Et
Gönderilen yazıyı AI ile analiz eder. Grammar, fluency, vocabulary ve structure skorları döner.
Test Et
Analiz edilmiş gönderimin detaylı sonuçlarını döner. Güçlü yönler ve gelişim önerileri içerir.
Test Et
AI kullanarak yazma görevi oluşturur. Admin/Teacher panelinde kullanılır.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| topic Zorunlu | string | Görev konusu (max 500 karakter) |
| task_type Zorunlu | string | Yazı tipi: essay, email, letter, story, report, review, article |
| difficulty Zorunlu | string | Zorluk seviyesi: a1, a2, b1, b2, c1, c2 |
| word_count_min Opsiyonel | integer | Minimum kelime sayısı (min: 50) |
| word_count_max Opsiyonel | integer | Maksimum kelime sayısı (max: 2000) |
| focus_grammar Opsiyonel | array | Odaklanılacak dilbilgisi konuları. Örn: ["past_simple", "conditionals"] |
| include_rubric Opsiyonel | boolean | Değerlendirme kriterleri eklensin mi? |
| include_sample Opsiyonel | boolean | Örnek yanıt eklensin mi? |
Test Et
Verilen metni AI ile analiz eder. Grammar, vocabulary, coherence ve task achievement skorları döner.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| task_instruction Zorunlu | string | Yazma görevinin talimatı |
| user_response Zorunlu | string | Analiz edilecek metin (min 10 karakter) |
| difficulty Zorunlu | string | beginner, elementary, intermediate, upper_intermediate, advanced |
| target_tense Opsiyonel | string | Hedef zaman: past_simple, present_simple, future_simple, vb. |
| target_vocabulary Opsiyonel | array | Hedef kelimeler. Örn: ["opportunity", "experience"] |
| additional_details Opsiyonel | string | Ek talimatlar |
| tips Opsiyonel | array | Kullanıcıya verilecek ipuçları. Örn: ["Use formal language", "Include examples"] |
Test Et
Writing servisinin sağlık durumunu kontrol eder.
Test Et
Derslerim (Education)
8 EndpointKlasik eğitim omurgası: Program → Ünite → Ders → İçerik hiyerarşisi. Kilitli ilerleme sistemi ile çalışır - bir ders bitmeden sonraki açılmaz.
Kullanıcının grade_level'ına uygun programları listeler.
Test Et
Kullanıcıyı programa kaydeder ve ilerleme tablolarını başlatır.
Test Et
Programın ünitelerini ve tamamlanma yüzdesini döner.
Test Et
Ünitenin derslerini ve her ders için kilit durumunu döner.
Test Et
Dersin içeriğini ve soru bankasını döner. Kilitliyse 403 döner.
Test Et
Dersi tamamlandı olarak işaretler ve sonraki dersi/üniteyi açar.
Test Et
Ders içindeki bir soruyu cevaplar.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| question_id Zorunlu | integer | Soru ID'si |
| answer Zorunlu | mixed | Cevap |
Test Et
Konular (Topics)
7 EndpointKonu bazlı içerik sistemi: Topic → Lesson → Unit hiyerarşisi. Serbest ilerleme sistemi - kullanıcı istediği konuyu seçip çalışabilir.
Tüm aktif konuları listeler. Her konu için ders sayısı ve ilerleme durumu döner.
Test Et
Belirli bir konunun detayını ve derslerini döner.
Test Et
Belirli bir dersin detayını ve ünitelerini döner.
Test Et
Dersi manuel olarak tamamlandı olarak işaretler.
Test Et
Belirli bir ünitenin içeriğini ve navigasyon bilgilerini döner.
Test Et
Üniteyi tamamlandı olarak işaretler. Tüm üniteler tamamlanınca ders otomatik tamamlanır.
Test Et
Kullanıcının tüm konulardaki ilerleme özetini döner.
Test Et
Sınavlarım (Exams)
9 EndpointSkill-based sınavlar: Reading, Listening, Speaking, Writing. Zamanlı sınav sistemi, otomatik değerlendirme ve manuel review desteği.
Şu an açık olan ve öğrenciye atanmış sınavları listeler.
Test Et
Gelecekte açılacak sınavları listeler (opens_at > now).
Test Et
Tamamlanan veya süresi dolan sınavları listeler.
Test Et
Yeni sınav oturumu oluşturur ve zamanlayıcıyı başlatır.
Test Et
Sınav sorularını ve kalan süreyi döner. Doğru cevaplar gizlidir.
Test Et
Soru bazlı otomatik kayıt (autosave). Süre dolduysa kabul edilmez.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| question_id Zorunlu | integer | Soru ID'si |
| answer_json Zorunlu | mixed | Cevap (şık, metin vb.) |
Test Et
Sınavı sonlandırır, otomatik puanlama yapar ve sonuç üretir.
Test Et
Sınav sonuç detaylarını döner. show_result_immediately false ise 403 döner.
Test Et
Takvim & Etkinlik
5 EndpointSınav, ders, etkinlik ve tatil tarihlerini yönetir. Aylık/günlük görünüm ve yaklaşan etkinlikler.
Belirtilen ay için etkinlikleri gruplandırılmış olarak döner.
Query Parametreleri
| Parametre | Tip | Açıklama |
|---|---|---|
| year Zorunlu | integer | Yıl (örn: 2025) |
| month Zorunlu | integer | Ay (1-12) |
Test Et
Belirtilen gün için etkinlikleri döner.
Query Parametreleri
| Parametre | Tip | Açıklama |
|---|---|---|
| date Zorunlu | string | Tarih (YYYY-MM-DD) |
Test Et
Bugünkü etkinlikleri döner.
Test Et
Gelecek N gün içindeki etkinlikleri döner. Push bildirimi için kullanışlı.
Query Parametreleri
| Parametre | Tip | Açıklama |
|---|---|---|
| days Opsiyonel | integer | Gün sayısı (varsayılan: 7) |
Test Et
Belirli bir etkinliğin detaylarını döner.
Test Et
Bildirimler & Duyurular
8 EndpointSistem bildirimleri, duyurular ve bildirim ayarları. Push bildirimine hazır yapı.
Kullanıcının bildirimlerini sayfalanmış olarak döner.
Test Et
Okunmamış bildirim sayısını döner. Badge gösterimi için kullanılır.
Test Et
Belirli bir bildirimi okundu olarak işaretler.
Test Et
Tüm bildirimleri okundu olarak işaretler.
Test Et
Bildirimler ve duyuruları birleşik akış olarak döner.
Test Et
Kullanıcının bildirim tercihlerini döner.
Test Et
Bildirim tercihlerini günceller.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| push_enabled Opsiyonel | boolean | Push bildirimleri |
| email_enabled Opsiyonel | boolean | E-posta bildirimleri |
| exam_reminders Opsiyonel | boolean | Sınav hatırlatıcıları |
Test Et
İlerleme & Rozet & XP
7 EndpointKullanıcının tüm gelişimini takip eden sistem. XP → Level → Rozet zinciri ve modül bazlı ilerleme.
Kullanıcının genel ilerleme özetini döner: toplam XP, seviye, streak, rozet sayısı.
Test Et
Reading, Listening, Speaking, Writing modüllerinin yüzdelik ilerlemesini döner.
Test Et
Kullanıcının kazandığı ve henüz kazanmadığı rozetleri listeler.
Test Et
Kullanıcının XP kazanım geçmişini döner.
Test Et
XP bazlı kullanıcı sıralamasını döner.
Test Et
Günlük giriş kontrolü yapar, streak günceller ve XP verir.
Test Et
Rozeti profilinde göster/gizle.
Test Et
Profil & Hesap
10 EndpointKullanıcı profili, avatar, şifre değişikliği ve hesap güvenliği işlemleri.
Kullanıcının profil bilgilerini döner.
Test Et
Profil bilgilerini günceller.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| name Opsiyonel | string | Ad soyad |
| grade Opsiyonel | integer | Sınıf (1-12) |
| school_name Opsiyonel | string | Okul adı |
| city Opsiyonel | string | Şehir |
| birth_date Opsiyonel | date | Doğum tarihi (YYYY-MM-DD) |
Test Et
Kullanıcının eğitim bilgilerini ve mevcut seçenekleri döner. Öğrenci kayıt sonrası eğitim bilgilerini toplamak için kullanılır.
Test Et
Öğrenci kayıt olduktan sonra eğitim bilgilerini kaydeder veya günceller. Sadece öğrenciler için kullanılabilir.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| education_level Zorunlu | string | Eğitim seviyesi (primary, secondary, high_school, university, graduate, other) |
| grade Opsiyonel | integer | Sınıf (1-12 arası, sadece ilkokul/ortaokul/lise için) |
| school_name Opsiyonel | string | Okul adı (max 255 karakter) |
Test Et
Profil fotoğrafı yükler. Multipart form-data kullanılır.
Kullanıcı şifresini değiştirir. Mevcut token iptal edilir.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| current_password Zorunlu | string | Mevcut şifre |
| password Zorunlu | string | Yeni şifre (min: 8) |
| password_confirmation Zorunlu | string | Yeni şifre tekrarı |
Test Et
Kullanıcı emailini değiştirir. Yeni email için doğrulama gerekir.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| email Zorunlu | string | Yeni email adresi |
| password Zorunlu | string | Mevcut şifre (doğrulama için) |
Test Et
Hesap güvenlik geçmişini döner (giriş, şifre değişikliği vb.).
Test Et
Kullanıcı hesabını kalıcı olarak siler.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| password Zorunlu | string | Mevcut şifre (doğrulama için) |
Test Et
İnteraktif Konuşma (Practice)
7 EndpointAI destekli interaktif konuşma pratiği. Akış: GET /practice/scenarios ile kullanıcının sınıfı ve seviyesine göre senaryolar çekilir; listeden bir senaryonun scenario_id değeri ile POST /practice/start çağrılarak konuşma başlatılır. Senaryolar panelden (Pratik Senaryoları) sınıf/ünite/zorluk seviyeli oluşturulur.
Panel Senaryo Alanları → API Parametre Eşlemesi
Panelden oluşturulan senaryoda yer alan alanlar, konuşma başlatılırken aşağıdaki API parametrelerine map edilir.
| Panel alanı | API parametresi | Açıklama |
|---|---|---|
| Konu Başlığı (Topic) | topic + llm_role |
Ana konu başlığı hem topic hem llm_role parametrelerine aynı anda eklenir (llm_role: "Konu Başlığı – rol metni" formatında) |
| Konu İçerik Detayı (Senaryo / Metin Bağlamı) | details |
Senaryo veya metin bağlamı |
| Hedeflenen Özel Kelimeler (Vocabulary) | vocabulary |
Pratik yapılacak kelime listesi (array) |
| Hedeflenen Gramer Kuralları (Grammar / Tense) | target_grammar |
Hedef gramer kuralları veya tense |
| Zorluk Seviyesi (Level) | difficulty |
beginner / intermediate / advanced veya A1–C2 |
Konuşma pratiğinde kullanılabilir TTS seslerinin listesini döner.
Test Et
Giriş yapan kullanıcının sınıfı ve İngilizce seviyesine göre konuşma senaryolarını döner. Kullanıcının kayıtlı olduğu sınıf (grade_level_id) ve o sınıftaki dil seviyesi (level_band_id) varsayılan olarak kullanılır; query parametreleri ile override edilebilir.
Query Parameters (Opsiyonel)
Parametre verilmezse kullanıcının sınıfı ve seviyesi kullanılır. Verilirse bu değerler override edilir.
| Parametre | Tip | Açıklama |
|---|---|---|
| grade_level_id Opsiyonel | integer | Sınıf ID. Yoksa kullanıcının kayıtlı olduğu sınıftan alınır. |
| level_band_id Opsiyonel | integer | Seviye bandı ID (A1, A2, B1 vb.). Yoksa kullanıcının o sınıftaki dil seviyesinden alınır. |
| unit_id Opsiyonel | integer | Ünite ID ile filtre (panel senaryoları) |
| difficulty Opsiyonel | string | Varsayılan senaryolarda filtre: beginner, intermediate, advanced |
| category Opsiyonel | string | Varsayılan senaryolarda filtre: travel, business, daily_life, vb. |
Test Et
Yeni bir konuşma oturumu başlatır. Senaryo ID ile başlatma: scenario_id göndererek panelden seçilen senaryoyla konuşmayı başlatın; topic, details, vocabulary, target_grammar, difficulty ve diğer alanlar otomatik doldurulur. TTS destekli AI partner ile konuşma pratiği yapılır; başlangıç mesajı ve ses (base64) ile birlikte session_id döner.
Senaryo ID ile Konuşma Başlatma (Önerilen)
| Parametre | Tip | Açıklama |
|---|---|---|
| scenario_id Opsiyonel | integer | GET /practice/scenarios ile dönen listeden seçilen senaryonun id veya scenario_id değeri. Verildiğinde topic, details, vocabulary, target_grammar, difficulty, partner_name, llm_role, total_steps senaryodan alınır; ek parametre göndermeniz gerekmez. |
Request Body - Zorunlu Parametreler (scenario_id yoksa)
| Parametre | Tip | Açıklama |
|---|---|---|
| partner_name Zorunlu* | string | AI partnerin adı (örn: "Sarah", "Emma"). *scenario_id verilirse opsiyonel |
| llm_role Zorunlu* | string | AI'ın rol açıklaması. Konu Başlığı (topic) ile birlikte gönderilir (topic – llm_role). *scenario_id verilirse opsiyonel |
| total_steps Zorunlu* | integer | Konuşma tur sayısı (3-30). *scenario_id verilirse opsiyonel |
Request Body - Opsiyonel Parametreler
| Parametre | Tip | Açıklama |
|---|---|---|
| topic Opsiyonel | string | Konu Başlığı. Aynı değer llm_role ile birlikte de kullanılır (topic – llm_role). Panel: Konu Başlığı |
| details Opsiyonel | string | Senaryo / metin bağlamı. Panel: Konu İçerik Detayı |
| vocabulary Opsiyonel | array | Hedeflenen özel kelimeler. Panel: Hedeflenen Özel Kelimeler |
| target_grammar Opsiyonel | string | Hedeflenen gramer kuralları / tense. Panel: Hedeflenen Gramer Kuralları |
| difficulty Opsiyonel | string | Zorluk seviyesi. Panel: Zorluk Seviyesi. beginner, intermediate, advanced veya A1–C2 (varsayılan: intermediate) |
| voice_gender Opsiyonel | string | male veya female (varsayılan: female) |
| voice_id Opsiyonel | string | Spesifik ses ID'si (female_1-female_8, male_1-male_8) |
| speech_rate Opsiyonel | number | Konuşma hızı (0.5-1.5, varsayılan: 1.0) - 0.75=yavaş, 1.0=normal, 1.25=hızlı |
| enable_tts Opsiyonel | boolean | Ses çıktısı aktif olsun mu? (varsayılan: true) |
| scenario Opsiyonel | string | Backward compatibility: Senaryo adı (restaurant, hotel vb.) - partner_name ve llm_role için varsayılan değerler sağlar |
| ai_role Opsiyonel | string | Backward compatibility: llm_role için alias |
| include_audio Opsiyonel | boolean | Backward compatibility: enable_tts için alias |
Test Et
Konuşmada mesaj gönderir ve AI yanıtını alır. Opsiyonel olarak ses dosyası ve düzeltme de döner.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| session_id Zorunlu | string | Konuşma oturum ID'si (start endpoint'inden dönen session_id) |
| user_message Zorunlu | string | Kullanıcının mesajı |
| conversation_id Opsiyonel | string | Backward compatibility: session_id için alias |
| message Opsiyonel | string | Backward compatibility: user_message için alias |
| include_audio Opsiyonel | boolean | AI yanıtının sesli olup olmayacağı |
| include_correction Opsiyonel | boolean | Gramer/yazım düzeltmesi verilsin mi? |
Test Et
Konuşma oturumunu sonlandırır ve özet rapor döner.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| session_id Zorunlu | string | Konuşma oturum ID'si (start endpoint'inden dönen session_id) |
| conversation_id Opsiyonel | string | Backward compatibility: session_id için alias |
Test Et
Kullanıcının geçmiş konuşmalarını listeler. Senaryo, zorluk seviyesi ve durum (aktif/tamamlanmış) ile filtreleme yapılabilir.
Query Parameters (Opsiyonel)
| Parametre | Tip | Açıklama |
|---|---|---|
| scenario Opsiyonel | string | Senaryo filtresi (restaurant, hotel, airport vb.) |
| difficulty Opsiyonel | string | beginner, intermediate, advanced |
| status Opsiyonel | string | active (devam eden) veya completed (tamamlanmış) |
| per_page Opsiyonel | integer | Sayfa başına kayıt sayısı (varsayılan: 20, maksimum: 50) |
Test Et
Belirli bir konuşmanın detaylarını ve tüm mesajlarını getirir.
URL Parameters
| Parametre | Tip | Açıklama |
|---|---|---|
| id Zorunlu | integer | Konuşma ID'si |
Test Et
API Durumu (External)
2 EndpointHarici API servislerinin durumunu ve bilgilerini kontrol etmek için kullanılan endpoint'ler. Sistemin sağlık durumu ve versiyon bilgisi alınabilir.
API hakkında genel bilgileri döner. Versiyon, desteklenen özellikler ve konfigürasyon bilgisi içerir.
Test Et
Harici servislerin (OpenAI, ElevenLabs vb.) çalışma durumunu kontrol eder. Her servisin durumu ve yanıt süresi döner.
Test Et
Admin API
12 EndpointAdmin yetkisi gerektiren endpoint'ler. Onboarding flow, step ve option yönetimi.
/api/admin/onboarding
Tüm onboarding flow'larını listeler.
Test Et
Yeni onboarding flow'u oluşturur.
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
| name Zorunlu | string | Flow adı |
| description Opsiyonel | string | Açıklama |
| is_active Opsiyonel | boolean | Aktif mi? (varsayılan: false) |
Test Et
Belirli bir flow'un detayını döner.
Test Et
Flow'u aktif eder. Diğer aktif flow'lar deaktif edilir.
Test Et
Flow'a ait adımları listeler.
Test Et
Step'e ait seçenekleri listeler.