Mevzuat Kütüphanesi
/api/v1/library
Mevzuat Kütüphanesi
/documents uç noktasının etiketlenmiş versiyonudur. AI, boru hattında her regülasyonu kurum tipi (InstitutionType) ve konu (TopicType) etiketleriyle işaretler. Bu uç nokta bu etiketler ile filtreleme sunar.
Filtreleme
institutionType— kurum tipinin sayı değeri (1-22). Tam liste: Enum Referansı.topic— konunun sayı değeri (1-25).department— departmanın sayı değeri (1-24).search— başlık, AI özeti/sınıflandırması ve yükümlülük metinleri üzerinde Postgres tam metin araması (Türkçe kök ve aksan duyarsız) + başlıkta ≥3 karakterlik alt dize yedeği. Eşleşen kayıtlardamatchedSnippetalanı<b>ile işaretli pasajı döner. Belgenin çıkarılmış ham metni bu indekse dâhil değildir; gövde metninde arama için/library/semantickullanın./documents?filter=ile de aynı değildir — orası kök/aksan farkındalığı, pasajı ve skoru olmayan düz birLIKEfiltresidir (yalnızca başlık + AI özeti).sort— kabul edilen değerler:date_desc,date_asc,title_asc,title_desc,relevance.relevanceyalnızcasearchile birlikte anlamlıdır. Varsayılan:searchvarsa ilgi düzeyi, yoksadate_desc. Listede olmayan bir ifade (örn.publishedDate desc) hata vermez ama yok sayılır; aramasız gezinmede sonuçlar bu durumda yayım tarihine değil kayıt oluşturma tarihine göre sıralanır.legalStatus— yürürlük süzgeci:all(tüm korpus, mülga dâhil) veyamulga(yalnızca mülga). Belirtilmezse mülga mevzuat yanıttan çıkarılır — hem sonuçlardan hempagination.totalCountsayısından. "Değişmiş" (değiştirilmiş ama hâlâ yürürlükte) belgeler varsayılan sonuçlara dâhildir. Tanınmayan bir değer hata vermez, sessizce varsayılana döner; tam korpusu görmenin tek yolu?legalStatus=all'dır.
Aynı kanunun nüshaları tek satırda toplanır
Bir kanunun farklı kaynaklardaki (örn. Mevzuat Bilgi Sistemi + kurum sitesi) kopyaları listede tek satırda gösterilir. Karttaki sourceCount alanı ailenin büyüklüğüdür (1 ise tek nüshalı belgedir), ailenin diğer üyelerine ise yalnızca GET /library/{id}/versions ile ulaşılır.
/documents ile fark
| Uç nokta | Etiket filtresi | Yanıt alanları |
|---|---|---|
/documents |
Yok | Başlık, kaynak adı, format, URL |
/library |
Var (kurum + konu) | Başlık, kaynak id'si (ad değil — /library/sources ile eşleyin), format, URL, özet, etiketler, yükümlülük sayısı, eşleşme pasajı (matchedSnippet), nüsha sayısı (sourceCount), yürürlük etiketi (legalStatus) |
Kütüphane uç noktası özellikle compliance panel entegrasyonu için tasarlanmıştır. Düz kronolojik listeleme için /documents daha hafiftir.
Aynı mevzuatın ikinci resmî nüshası (ikiz) listelerde ve sayımlarda yer almaz; detay ucu canonicalDocumentId ile sahibine işaret eder.
Paketler: isPackage ve matchedFile
isPackage— sonuç bir zip paketi mi. Paketin dosyalarıGET /library/{id}yanıtındakifiles[]'tadır.matchedFile— yalnızsearchgönderildiğinde ve yalnız paketlerde: arama sözcüklerinin hepsinin geçtiği tek dosyanın paket içindeki yolu (ekranda son bölümünü, yani dosya adını gösterin). Sözcükler dosyanın adında ya da metninde aranır; büyük/küçük harf ve Türkçe harf farkı gözetilmez, 3 harften kısa sözcükler, tırnaklar,-hariçveordikkate alınmaz, en çok 5 sözcük kullanılır. Sözcükler hiçbir dosyada ya da birden çok dosyada geçiyorsanull'dır.matchedSnippetpasajı belgenin başlığından ve özetinden gelir;matchedFileo pasajın değil, arama sözcüklerinin hangi dosyada olduğunu gösterir.
Parametreler
| İsim | Konum | Tip | Zorunlu | Açıklama |
|---|---|---|---|---|
institutionType |
Query | integer |
Hayır | Kurum tipi — InstitutionType enum sayı değeri (1-22). Tam liste: Enum Referansı sayfası. |
topic |
Query | integer |
Hayır | Konu — TopicType enum sayı değeri (1-25). |
department |
Query | integer |
Hayır | Departman — DepartmentType enum sayı değeri (1-24). |
search |
Query | string |
Hayır | Serbest metin araması. |
source |
Query | uuid |
Hayır | Yayımlayan kaynağa göre filtre (bkz. /library/sources). |
sort |
Query | string |
Hayır | Sıralama: 'date_desc' | 'date_asc' | 'title_asc' | 'title_desc' | 'relevance'. 'relevance' yalnızca 'search' ile anlamlıdır. Varsayılan: 'search' verildiğinde ilgi düzeyi, verilmediğinde 'date_desc'. Bu beş değerin dışındaki bir ifade hata vermez; aramalı istekte yayım tarihine, aramasız gezinmede kayıt oluşturma tarihine göre sıralanır. |
legalStatus |
Query | string |
Hayır | Yürürlük süzgeci: 'all' (tüm korpus, mülga dâhil) veya 'mulga' (yalnızca mülga). Belirtilmezse yalnızca yürürlükteki mevzuat döner — 'Değişmiş' (değiştirilmiş ama yürürlükte) belgeler dâhildir, 'Mülga' hariçtir. Tanınmayan bir değer hata vermez, sessizce bu varsayılana düşer. |
page |
Query | integer |
Hayır | Sayfa numarası. |
pageSize |
Query | integer |
Hayır | 1-100; varsayılan 20. |