5.1. Listeleme (_listele) Servisleri
_listele
son eki ile biten servisler listeleme servisleridir. Dia'daki ilgili ekranda görünen bilgileri bu servis yoluyla almak mümkündür. Örneğin Fatura Listesi (scf2220)
ekranındaki bilgileri scf_fatura_listele
servisi ile alınabilir. Dikkat edilmesi gereken nokta modelden değil, ilgili ekrandan bilgileri getirmektedir.
Servis Parametreleri:
- session_id : login ile alınmış session id bilgisi
- firma_kodu : firma gerçek kodu
- donem_kodu : dönem gerçek kodu
- filters: Liste verisi üzerinde herhangi bir filtre uygulanmak istenirse doldurulur.
- sorts : Liste verisi üzerinde herhangi bir filtre uygulanmak istenirse doldurulur.
- params : Ekranın istediği ekstra bir parametre varsa bu kısımda gönderilir. Her servis params bilgisi beklemez, bu parametrelerin neler olabileceğini servisle ilgili detaylı açıklamalardan öğrenebilirsiniz.
- limit : Kaç kayıt alınmak isteniyorsa belirtilir. Sıfır girilirse tüm kayıtlar döner. Optimizasyon amaçlı değer girilmesi önerilir.
- offset: Veri üzerinde sayfalama yapılacaksa, kaçıncı kayıttan itibaren veriler getirilsin isteniyorsa girilir. Sıfır durumunda ilk kayıttan itibaren verileri getirir.
5.1.1. Filtreleme (filters)
Çeşitli filtreler göndermeye olanak sağlar. Birden fazla filtre de gönderilebilmektedir.
- field: Filtrelenecek alanın adı
- operator: Filtre türü. “<”, “>”, “⇐”, “>=”, “!”, “=”, “IN”, “NOT IN” operatörleri kullanılabilir.
- value: Filtre değeri.
Örnek:
Cari kart tipi “AL” olanlar
"filters":[{"field": "carikarttipi", "operator": "=", "value": "AL"}]
Örnek:
Cari kart kodu “001” veya “002” olanlar
"filters":[{"field": "carikartkodu", "operator": "IN", "value": "001,002"}]
IN operatörüne birden fazla değer virgülle ayrılarak gönderilebilir.
Örnek:
01.07.2016 tarihinden sonra eklenen yada güncellenen cariler
"filters":[{"field": "_date", "operator": ">=", "value": "2016-07-01"}]
_date alanı son işlem tarihi bilgisi tutulur.
Örnek:
01.07.2016 ile 01.08.2016 tarihleri arasında eklenen yada güncellenen cariler
"filters":[{"field": "_date", "operator": ">=", "value": "2016-07-01"}, {"field": "_date", "operator": "<", "value": "2016-08-01"}]
_date alanı son işlem tarihi bilgisi tutulur.
Örnek:
Ünvanında “ANONİM” geçen cariler
"filters":[{"field": "unvan", "value": "ANONİM"}]
Operatör gönderilmezse içinde geçen şeklinde çalışır.
Örnek:
Ünvanında “ANONİM” geçmeyen cariler
"filters":[{"field": "unvan", "operator": "!", "value": "ANONİM"}]
Örnek:
Cari kart kodu “001” e eşit olmayan cariler.
"filters":[{"field": "carikartkodu", "operator": "!", "value": "001"}]
Örnek:
Birden fazla filtre virgülle ayrılarak eklenebilir. Cari kart tipi “AL” ve cari kart kodu “001” e eşit olanlar
"filters":[{"field": "carikarttipi", "operator": "=", "value": "AL"}, {"field": "carikartkodu", "operator": "=", "value": "001"}]
5.1.2. Sıralama (sorts)
Listenin belirli bir sırada gelmesi isteniyorsa kullanılır.
- field: Sıralanması istenen alan adı
- sorttype: Sıralama türü (ASC: düz sıralı, DESC: ters sıralı)
Örnek:
Cari kart koduna göre ters sıralı
"sorts": [{"field": "carikartkodu", "sorttype": "DESC"}]
5.1.3. Ek Parametreler (params)
Bazı listelere ekstra parametre gönderimi yapılabilmektedir. Örneğin cari kart listesinde eğer yetki varsa bakiye bilgisi döndürülmektedir. Hesaplanan bu bakiyenin “Faturalanmamış irsaliyelerin dahil edilmesi” isteniyorsa aşağıdaki gibi bir ekstra parametre ilave edilir.
Örnek:
"params": {"irsaliyeleriDahilEt": "False"}
5.1.4. Limit (limit)
Listelerde kaç adet kayda ait bilgi dönsün isteniyorsa gönderilir.
Örnek:
"limit": 0
5.1.5. Offset (offset)
Hangi kayıttan itibaren veriler gösterilsin isteniyorsa. Sayfalama türü işlemlerde kullanılabilir.
Örnek:
"offset": 100
5.1.6. Sadece İstenen Kolonların Getirilmesi
Listeleme web servislerinde tüm kolonlar yerine sadece ihtiyaç duyulan kolonların sorgudan dönebilmesi için params altına selectedcolumns parametresi eklenir
Örnek:
"params": {"selectedcolumns": ["stokkartkodu", "aciklama"]}
Örnek Çağrı (Input):
{"sis_ozelkod_listele" : {"session_id": "b2d4820cc43f4d98a8c6698686b6d386", "firma_kodu": 34, "donem_kodu": 1, "filters":"", "sorts": "", "params": "", "limit": 1, "offset": 0 } }
Örnek Çıktı (Response):
{'code': '200', 'msg': '', 'result': [{'_cdate': '', '_date': '2017-04-27 17:22:28.00', '_key': '197861', '_level1': '34', '_level2': '1', '_owner': '1878', '_serial': '1132', '_user': '1878', 'aciklama': 'KK Kartı', 'durum': 'A', 'kod': '01', 'turkodu': 'U_KKK'} ] }