Sozlukspot API v1 · REST
İçindekiler
Geliştirici Dokümanı

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.

KavramAçıklama
keyUygulama anahtarın. Her istekte zorunlu. Sözlüğü belirler.
neÇağırdığın uç (endpoint) adı.
tokenGiriş 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:

https://kadinlar.sozlukspot.com/api/?key=kadinlar_android&ne=baslik_listele&islem=bugun
  • Okuma uçları GET ile çağrılabilir.
  • Yazma uçları (entry ekleme/güncelleme, oylama, mesaj gönderme) POST ister.
  • Yanıt her zaman application/json; charset=utf-8.
Not: Eski dokümanlardaki 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

  1. login ucuna kuladi + sifre gönder.
  2. Dönen token'ı cihazda güvenli sakla (Keychain / EncryptedSharedPreferences).
  3. Kişisel her isteğe token= ekle.
ÖzellikDeğer
Geçerlilik7 gün
Oturum modeliTek oturum — aynı kullanıcı başka cihazdan girince önceki token geçersiz olur
PushLogin sırasında push_token göndererek bildirim kaydı yapılır (opsiyonel)
Token reddedilirse (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ı" }
Dikkat: Tüm uçlar veriyi data altında dönmez — bazıları üst seviyede kendi anahtarını verir (basliklar, token, user, mesajlar, bildirimler). Uç bazında parse et.

05Hesap

POST

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.

POST

ne=uyelik

Yeni üye kaydı. Döner: uye_id, mesaj.

kuladi · sifre · email

GET

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

GET

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": "…"
  }
] }
GET

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] }
GET

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).

GET

ne=entry_listele

Bir başlığın entry'leri. baslik (slug, örn. ornek-baslik), opsiyonel islem=populer.

ParametreAnlam
diger=22. sayfa
diger=sonra&sayfa=NN. sayfadan sonrası (ileri)
diger=once&sayfa=NN. sayfadan öncesi (geri)
img=goster<img> etiketlerini korur (varsayılan: linke çevirir)
GET

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.

GET

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.

POST

ne=entry_ekle

token

Yeni entry ekler (görselli veya görselsiz).

AlanZorunluAçıklama
tokenevetKullanıcı token'ı
baslikevetBaşlık adı (yoksa oluşturulur)
entryevetEntry metni
altincihayırKategori / alt-sözlük
imagehayırGörsel dosyası (multipart) — JPEG / PNG / GIF
linkhayırEntry'e eklenecek link
parent_idhayırBaşka bir entry'e cevapsa, o entry'nin id'si

Görsel için isteği multipart/form-data gönder.

POST

ne=entry_guncelle

token

Entry düzenler. Alanlar: token · entry_id · entry.

DELETE

ne=entry_sil

token

Entry siler. Parametre: entry_id · token.

POST

ne=oylama

token

Entry oylar. entry_id · token · oy = suku (olumlu, +1) veya cugu (olumsuz, −1).

{ "error": false, "error_msg": "oyunuz kaydedildi" }

08Kullanıcı & sosyal

GET

ne=profil

·

ne=uye_ayar

profil: uye_id → profil bilgisi + son entry'ler. uye_ayar: token → kullanıcı ayarları.

GETPOST

ne=mesaj

token

Özel mesajlaşma (DM).

yap=İşlevEk parametre
gelen_listeleGelen kutusutoken · sayfa
giden_listeleGönderilenlertoken · sayfa
diyalog_listeleBir kişiyle konuşmatoken · uye
gonder POSTMesaj göndertoken · metin · kimlere
gelen_sil / giden_silMesaj siltoken · mesaj_id
{ "error": false, "kuladi": "ben", "profil_foto": "https://…",
  "mesajlar": [ { "mesaj_id":1, "kuladi":"karsi_taraf", "mesaj":"selam" } ] }
GET

ne=bildirim

token

yap=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.

GET

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:

EkranKullanılacak uç(lar)
Ana akışbaslik_listele&islem=bugun / trend
Girişlogin → token sakla
Kayıtuyeliksms (telefon doğrulama)
Aramabaslik_ara · detayli_ara · uye_ara
Başlık detayıentry_listele (+ sayfalama)
Entry paylaşentry_ekle (görsel / parent_id ile cevap)
Düzenle / silentry_guncelle · entry_sil
Oy butonlarıoylama&oy=suku|cugu
Profilprofil&uye_id=…
Mesajlarmesaj&yap=gelen_listele / diyalog_listele / gonder
Bildirim çanıbildirim&yap=listele (yeni_sayisi badge)

Tipik yaşam döngüsü

  1. Uygulama açılır → key sabit, kayıtlı token varsa yükle.
  2. Ana akış için baslik_listele. Giriş yapılmadan okunabilir.
  3. Başlığa dokununca entry_listele; aşağı kaydırdıkça diger/sayfa ile sayfala.
  4. Oy/yazma/mesaj için token gerekir → yoksa login.
  5. Oturum hatası gelirse → yeniden login.

10Sınırlamalar

KonuDurum
Görsel yüklemeYalnızca entry içine, yalnızca JPEG / PNG / GIF
Video yüklemeYok
Takip et / favori / engelle (aksiyon)Uç yok (yalnızca bildirim tipi olarak görünür)
Profil fotoğrafı yüklemeUç yok
Şifre sıfırlamaUç yok (telefon doğrulama sms var)