Kavramlar

Kapsam, sayfalama, arama parametreleri, enum tabloları, normalize

Hızlı Deneme

Kurulum gerektirmeyen en kolay yol — Swagger:

  1. /api/docs adresini açın.
  2. Sağ üstteki Authorize'a tıklayıp API anahtarınızı girin (Bearer ile).
  3. Bir uca tıklayın → Try it out → gövdeyi düzenleyin → Execute. Yanıtı anında görürsünüz.

Postman / Insomnia tercih ederseniz, hazır dosya indirmenize gerek yok — güncel uç listesini doğrudan içe aktarın:

  1. Postman → Import → Link.
  2. Şu adresi yapıştırın: https://metadata.libraryturk.com/swagger/v1/swagger.json
  3. İçe aktarılan istekler her zaman günceldir (uçlar koddan üretilir). Authorization başlığına Bearer <anahtarınız> ekleyin.
Anahtarınızı kimseyle paylaşmayın ve dosyalara gömmeyin. İçe aktarılan tanım yalnız genel/yayıncı uçlarını içerir; yönetim uçları görünmez.

Çok-Kiracılı Kapsam

API anahtarınız yayıncı kapsamınızı belirler. Liste, arama ve detay uçları yalnız yetkili olduğunuz veriyi (kendi yayınlarınız + alt yayıncılarınız) döndürür. Bazı alanlar (ör. documentId, telif/dağıtım oranları) yalnız yayıncı kapsamında döner; genel/kurum tüketicisine dönmez.

Sayfalama

Liste uçları page ve pageSize (varsayılan 25, en çok 200) alır; yanıt total, page, pageSize, items[] içerir. Arama ucu (/search) ise page + limit kullanır; yanıt total ve hits[] döndürür.

Arama İstek Parametreleri (/search)

Gövde JSON; yalnız query tipik olarak yeterlidir, diğerleri filtre/sıralama içindir.

AlanTipAnlam
querystringArama metni. Boş gönderilirse TÜM katalog (match_all) + facet'ler döner. En fazla 200 karakter.
limitnumberSonuç sayısı (varsayılan 25).
pagenumberSayfa numarası (varsayılan 1).
sortstringSıralama — geçerli değerler aşağıdaki tabloda. Varsayılan: alaka (relevance).
publishersstring[]Yayıncı adına göre filtre (yanıttaki facet 'publishers' değerleri).
categoriesstring[]Kategori adına göre filtre (facet 'categories').
languagesstring[]Dil koduna göre filtre (örn. TR, EN — facet 'languages').
mezostring[]Bilim dalı adına göre filtre (facet 'mezo').
subjectsstring[]Alt konu adına göre filtre (facet 'subjects').
yearsnumber[]Belirli yıllar (facet 'years').
yearMin / yearMaxnumberYıl aralığı (min–max). years yerine aralık vermek için.

sort — geçerli değerler

DeğerAnlam
(boş) / relevanceAlaka skoruna göre (varsayılan)
date-desc / newestEn yeni → en eski
date-asc / oldestEn eski → en yeni
alphabetical / azBaşlığa göre A → Z
alphabetical-desc / zaBaşlığa göre Z → A

Karşılık (Enum) Tabloları

matchType (arama yanıtı)

Arama, girilen metni otomatik tanır; matchType hangi yolla eşleştiğini belirtir:

DeğerAnlam
SearchSerbest metin araması
IsbnGirdi ISBN olarak tanındı
DoiGirdi DOI olarak tanındı
OrcidGirdi ORCID olarak tanındı

ISBN türü

DeğerAnlam
tBasılı ISBN
eElektronik (e-kitap) ISBN

Otomatik Normalize

Tekil getirme uçları girdiyi otomatik temizler — önek/biçim takmanıza gerek yok:

AlanKabul edilen biçimler
ISBN978-605-123-456-7, boşluklu veya tiresiz — hepsi normalize edilir
DOIÇıplak 10.x/..., https://doi.org/... veya doi:...
ORCIDÇıplak 0000-0002-... veya https://orcid.org/...

Kimlik (ID) Kaynakları

Filtrelerde kullanılan kimliklerin listesini ilgili uçlardan alırsınız:

KimlikListeleyen uç
categoryIdPOST /api/v1/categories
languageId / dil koduPOST /api/v1/languages
subjectId (bilim dalı / mezo)POST /api/v1/subjects
alt konuPOST /api/v1/subtopics

Tarih Biçimi ve Yanıt

Tüm tarihler ISO 8601 (örn. 2026-01-15T00:00:00). Yanıtlar JSON · UTF-8. Null veya yetkisiz alanlar yanıttan düşebilir. Arama yanıtındaki took alanı motorun sorgu süresini (ms) verir.