Logo Rest servisi, daha önce Logo Objects ile yapabildiğimiz data nesnesi (muhasebe hesap kartı, malzeme kartı, sipariş fişi vb. kart ve fişlerin her birine data nesnesi diyoruz) okuma işlemlerini daha esnek yapabilmektedir. Tek bir kaydı, örneğin bir malzeme kartını veya bir faturayı okuyabildiğimiz gibi bir çok kaydı liste halinde Rest servisten talep edebiliriz. Daha önceki konuda bahsettiğimiz gibi, herhangi bir talep öncesinde elimizde geçerli "accessToken" bilgisi bulunmalıdır. Dolayısıyla bu sayfada anlatılanların çalışabilmesi için öncelikle bir önceki adımda anlatılan işlemlerin başarılı olması gerekmektedir.
Aşağıdaki örnek malzeme kartlarının listesini JSON formatında vermektedir.
itemListJSON= HttpGet("http://172.16.57.114:32001/api/v1/items", accessToken);
Yukarıdaki örnekte görüldüğü gibi malzeme kartları listesini "items" linki ile çağırıyoruz. Rest serviste kullandığımız data nesnelerinin isimleri Logo Objects entegrasyonlarında kullandıklarımızdan farklıdır. Bu farklara ve REST servis ile kullanabileceğimiz data nesnelerine Logo REST Resource sayfasından ulaşabilirsiniz.
Eğer listeyi örnekteki gibi almaya çalışırsanız size sadece ilk 10 malzeme kartını listelediğini farkedeceksiniz. Bunun sebebi, web ve mobil projelerde veri akışının efektif kullanılabilmesi için REST servisin paging(sayfalama) yapmasıdır. Siz ilk 10 kayıttan sonraki 10 kaydı listelemek istiyorsanız aşağıdaki şekilde offset özelliğini kullanarak bir çağrı yapabilirsiniz.
itemListJSON= HttpGet("http://172.16.57.114:32001/api/v1/items?offset=10", accessToken);
Projenizde sayfalamanın 20'şer kayıt ile yapılmasını istiyorsanız bunun 2 yöntemi vardır.
1 - Logo REST Servis Ayarları içerisindeki "Varsayılan Sorgu Kayıt Limiti" değerini 20 olarak değiştirebilirsiniz. Rest servisi tekrar başlattığınızda artık sayfalama 20 kayıt üzerinden yapılacaktır.
2 - Varsayılan ayarı değiştirmeden, aşağıdaki örnekteki gibi çağrılarınızda limit özelliğini belirtebilirsiniz.
itemListJSON= HttpGet("http://172.16.57.114:32001/api/v1/items?limit=20", accessToken);
Birden fazla özelliği "&" işaretiyle birbirine bağlayarak kullanabilirsiniz.
itemListJSON= HttpGet("http://172.16.57.114:32001/api/v1/items?offset=20&limit=20", accessToken);
Eğer, veritabanından tek bir kaydı, örneğin tek bir malzeme kartının detayını okumak istiyorsak yapmamız gereken tek şey bu malzeme kartının referans bilgisini (malzeme kartı için _ITEMS tablosundaki LOGICALREF alanı) REST çağrısında belirtmektir. Aşağıdaki örnekte referansı 5 olan malzeme kartı JSON formatında okunmaktadır.
itemJSON= HttpGet("http://172.16.57.114:32001/api/v1/items/5", accessToken);