Sozlukspot API ile uygulama geliştir
Başlıkları oku, entry yaz, oy ver, mesajlaş. HTTP üzerinden JSON dönen basit bir REST API. Bu sayfa tüm uçların referansıdır.
01Genel bakış
API, her sözlük için ayrı bir anahtar (key) ile çalışır. Sana verilen anahtar hangi sözlüğe bağlıysa istekler otomatik olarak o sözlükte çalışır — örneğin kadınlarsözlük anahtarıyla yaptığın çağrılar kadınlarsözlük içeriğini döner.
| Kavram | Açıklama |
|---|---|
key | Uygulama anahtarın. Her istekte zorunlu. Sözlüğü belirler. |
ne | Çağırdığın uç (endpoint) adı. |
token | Giriş yapan kullanıcıyı temsil eder. Yazma/kişisel işlemlerde gerekir. |
02Çağrı şekli
Tüm istekler tek bir giriş noktasına gider; uç ne parametresiyle seçilir:
- Okuma uçları
GETile çağrılabilir. - Yazma uçları (entry ekleme/güncelleme, oylama, mesaj gönderme)
POSTister. - Yanıt her zaman
application/json; charset=utf-8.
v=beta parametresine artık gerek yok; göndersen de yok sayılır.03Kimlik doğrulama
1. API Key — her istekte
Her çağrıya key= ekle. Uygulamanı tanımlar ve sözlüğünü belirler. Geçersizse tüm istek reddedilir:
{ "error": true, "error_msg": "hatalı api key." }
2. Token — giriş yapan kullanıcı için
loginucunakuladi+sifregönder.- Dönen
token'ı cihazda güvenli sakla (Keychain / EncryptedSharedPreferences). - Kişisel her isteğe
token=ekle.
| Özellik | Değer |
|---|---|
| Geçerlilik | 7 gün |
| Oturum modeli | Tek oturum — aynı kullanıcı başka cihazdan girince önceki token geçersiz olur |
| Push | Login sırasında push_token göndererek bildirim kaydı yapılır (opsiyonel) |
error:true + “giriş yapmalısınız”): token süresi dolmuş ya da başka cihazdan giriş yapılmıştır → kullanıcıyı yeniden login'e yönlendir.04Yanıt formatı
Her yanıtta ortak alan error (boolean). Önce ona bak; true ise error_msg'i göster, false ise uca özgü alanları oku.
// başarılı
{ "error": false, "basliklar": [ … ] }
// hatalı
{ "error": true, "error_msg": "insan-okur hata mesajı" }
data altında dönmez — bazıları üst seviyede kendi anahtarını verir (basliklar, token, user, mesajlar, bildirimler). Uç bazında parse et.05Hesap
ne=login
Giriş yapar, token döner.
kuladi · sifre · push_token(ops.)
{
"error": false,
"token": "a1b2c3d4e5f6…",
"user": { "uye_id": 366, "kuladi": "ayse" }
}
Yalnızca anahtarın ait olduğu sözlüğün üyeleri giriş yapabilir.
ne=uyelik
Yeni üye kaydı. Döner: uye_id, mesaj.
kuladi · sifre · email
ne=sms
Telefon doğrulama.
Kod gönder: yap=gonder · uye_id · telefon · telefon_ulke=90
Kod onayla: yap=kod_onayla · uye_id · code
06İçerik okuma
ne=baslik_listele
Başlık akışları. islem = bugun · yeniler · trend · populer · solframe
{ "error": false, "basliklar": [
{
"baslik_id": 12, "baslik": "örnek başlık", "basliklink": "ornek-baslik",
"suku": 5, "cugu": 1, "entry_sayisi": 8, "kategori": "…"
}
] }
ne=baslik_ara
Başlık arama. q (aranan) · p (sayfa).
{ "error": false,
"basliklar": [ { "sira":1, "baslik":"…", "basliklink":"…", "entry_sayisi":8, "bugunki_sayisi":2 } ],
"sayfalar": [1,2,3] }
ne=uye_ara
·ne=detayli_ara
uye_ara: kullanıcı adına göre arama (q). detayli_ara: başlık + kullanıcı birleşik arama (q).
ne=entry_listele
Bir başlığın entry'leri. baslik (slug, örn. ornek-baslik), opsiyonel islem=populer.
| Parametre | Anlam |
|---|---|
diger=2 | 2. sayfa |
diger=sonra&sayfa=N | N. sayfadan sonrası (ileri) |
diger=once&sayfa=N | N. sayfadan öncesi (geri) |
img=goster | <img> etiketlerini korur (varsayılan: linke çevirir) |
ne=entry_detay
·ne=entry_detay_salt
entry_detay: tek entry, formatlı metin. entry_detay_salt: aynı entry, ham düz metin. Parametre: entry_id.
ne=altinci
Aktif sözlüğün kategori / alt-sözlük listesini döner.
07İçerik yazma
Bu uçlar token ister ve POST ile çağrılır.
ne=entry_ekle
tokenYeni entry ekler (görselli veya görselsiz).
| Alan | Zorunlu | Açıklama |
|---|---|---|
token | evet | Kullanıcı token'ı |
baslik | evet | Başlık adı (yoksa oluşturulur) |
entry | evet | Entry metni |
altinci | hayır | Kategori / alt-sözlük |
image | hayır | Görsel dosyası (multipart) — JPEG / PNG / GIF |
link | hayır | Entry'e eklenecek link |
parent_id | hayır | Başka bir entry'e cevapsa, o entry'nin id'si |
Görsel için isteği multipart/form-data gönder.
ne=entry_guncelle
tokenEntry düzenler. Alanlar: token · entry_id · entry.
ne=entry_sil
tokenEntry siler. Parametre: entry_id · token.
ne=oylama
tokenEntry oylar. entry_id · token · oy = suku (olumlu, +1) veya cugu (olumsuz, −1).
{ "error": false, "error_msg": "oyunuz kaydedildi" }
08Kullanıcı & sosyal
ne=profil
·ne=uye_ayar
profil: uye_id → profil bilgisi + son entry'ler. uye_ayar: token → kullanıcı ayarları.
ne=mesaj
tokenÖzel mesajlaşma (DM).
| yap= | İşlev | Ek parametre |
|---|---|---|
gelen_listele | Gelen kutusu | token · sayfa |
giden_listele | Gönderilenler | token · sayfa |
diyalog_listele | Bir kişiyle konuşma | token · uye |
gonder POST | Mesaj gönder | token · metin · kimlere |
gelen_sil / giden_sil | Mesaj sil | token · mesaj_id |
{ "error": false, "kuladi": "ben", "profil_foto": "https://…",
"mesajlar": [ { "mesaj_id":1, "kuladi":"karsi_taraf", "mesaj":"selam" } ] }
ne=bildirim
tokenyap=listele → bildirimler + okunmamış sayısı. yap=gonder → push token yönetimi.
{ "error": false, "yeni_sayisi": 3,
"bildirimler": [ { "bildirim_id":1, "yeni":true, "tip":"entry_cevap", "metin":"X sana cevap yazdı" } ] }
tip örnekleri: entry_cevap, takip_et, takip_birak, caylak_oldu.
ne=olanbiten
·ne=gammaz
olanbiten: token → kullanıcıyla ilgili son olay akışı. gammaz: yap=sebep_listele → şikayet sebepleri, ardından şikayet gönderimi.
09App kurulum rehberi
Uygulama ekranlarını uçlara eşleme:
| Ekran | Kullanılacak uç(lar) |
|---|---|
| Ana akış | baslik_listele&islem=bugun / trend |
| Giriş | login → token sakla |
| Kayıt | uyelik → sms (telefon doğrulama) |
| Arama | baslik_ara · detayli_ara · uye_ara |
| Başlık detayı | entry_listele (+ sayfalama) |
| Entry paylaş | entry_ekle (görsel / parent_id ile cevap) |
| Düzenle / sil | entry_guncelle · entry_sil |
| Oy butonları | oylama&oy=suku|cugu |
| Profil | profil&uye_id=… |
| Mesajlar | mesaj&yap=gelen_listele / diyalog_listele / gonder |
| Bildirim çanı | bildirim&yap=listele (yeni_sayisi badge) |
Tipik yaşam döngüsü
- Uygulama açılır →
keysabit, kayıtlı token varsa yükle. - Ana akış için
baslik_listele. Giriş yapılmadan okunabilir. - Başlığa dokununca
entry_listele; aşağı kaydırdıkçadiger/sayfaile sayfala. - Oy/yazma/mesaj için token gerekir → yoksa
login. - Oturum hatası gelirse → yeniden login.
10Sınırlamalar
| Konu | Durum |
|---|---|
| Görsel yükleme | Yalnızca entry içine, yalnızca JPEG / PNG / GIF |
| Video yükleme | Yok |
| Takip et / favori / engelle (aksiyon) | Uç yok (yalnızca bildirim tipi olarak görünür) |
| Profil fotoğrafı yükleme | Uç yok |
| Şifre sıfırlama | Uç yok (telefon doğrulama sms var) |