Netsis Dokümantasyonu

Sorgulama parametreleri

Liste döndüren GET uçları ortak sorgu parametrelerini kabul eder. Değerler URL-encode edilmelidir.

Parametre Anlam Varsayılan
limit Sayfadaki kayıt sayısı Kütüphane sayfasında 20, Başlangıç sayfasında 10 yazıyor (doğrulanmadı). Her zaman açıkça verin.
offset Kaçıncı kayıttan başlanacağı 0
sort KOLON ASC / KOLON DESC; birden çok kolon virgülle yok
fields Yalnızca bu kolonlar, virgülle tüm kolonlar
first true: ilk sayfa
last true: son sayfa
q SQL WHERE koşulu, ör. CARI_KOD like 'C%'
expandLevel full: alt koleksiyonları ve model tanımlarını da getir

Örnek:

GET api/v2/ARPs?limit=20&offset=40&sort=CARI_KOD%20ASC&fields=CARI_KOD,CARI_ISIM&q=CARI_KOD%20like%20'120%25'

Kolon adları veritabanı kolon adlarıdır (CARI_KOD, STOK_KODU, SUBE_KODU…). Hangi tablonun sorgulandığını bilmek için veritabanı şemasına bakın: ARPs → TBLCASABIT, ARPTransactions → TBLCAHAR, Items → TBLSTSABIT, GLAccounts → TBLMUPLAN…

Sayfalama döngüsü

def tum_cariler(s, base):
    offset, limit = 0, 200
    while True:
        r = s.get(f"{base}/ARPs", params={"limit": limit, "offset": offset, "sort": "CARI_KOD ASC"}).json()
        veri = r.get("Data") or []
        yield from veri
        if len(veri) < limit:
            break
        offset += limit

C#: SelectFilter

var sonuc = new ARPsManager(oAuth2).GetInternal(new SelectFilter
{
    Limit  = 20,
    Offset = 0,
    Filter = "CARI_KOD like '%120%'",                        // q
    Fields = new List<string> { "CARI_KOD", "CARI_ISIM", "Plasiyer_Kodu" },
    Sort   = new List<SortParam> { new SortParam { Column = "CARI_KOD", SortType = SortParamType.ASC } },
    ExpandLevel = "Full"
});

Şema uçları

Her kaynak için model ve denetleyici şeması alınabilir:

Uç Döner
GET api/v2/definitions/<Kaynak> Model şeması (JSON string)
GET api/v2/services/<Kaynak> Denetleyici şeması; expandLevel=full ile model tanımlarıyla
GET api/v2/services Tüm API şeması
GET api/v2/services/describe Model tanımları olmadan tüm denetleyiciler

Bir uca hangi alanları gönderebileceğinizi öğrenmenin en güvenilir yolu definitions/<Kaynak> ve helpinfo sayfalarıdır.

Güvenlik notu

q ve Filter doğrudan SQL WHERE parçası olarak işlenir. Kullanıcı girdisini ham hâlde bu alanlara koymayın:

  • Kolon adlarını bir izin listesinden (allowlist) seçin.
  • Değerlerde tek tırnağı kaçırın (' → '') ve tipini doğrulayın (sayı, tarih).
  • Mümkünse son kullanıcıya serbest filtre vermeyin; sabit filtre şablonları kullanın.