Ürün Entegrasyonu
Licrus’da, ürün bilgileri doğrudan tanımlamak ve kullanmak mümkündür. Aynı zamanda ürünlerin bir ERP/MRP sisteminde alınması isteniyorsa ilgili sistem tarafından Licrus’u aşağıdaki entegrasyon metodları kullanılarak veri aktarımı yapmak mümkündür. Ürün entegrasyon işlemlerinde Product nesnesi kullanılır. Product nesnesinin detayları için Veri Modeli başlığına bakınız.
Yeni Ürün Kaydetmek veya Ürün Güncellemek
Aşağıdaki fonksiyonu kullanarak yeni bir ürün bilgisini Licrus’a aktara bilir veya Code alanıyla eşleşen mevcut bir ürünün bilgilerini güncelleyebilirsiniz.
Fonksiyon
ProductResponse SaveProduct(ProductRequest request)
Örnek
// web service için istemci oluşturulyor var licrusService = new Integration(); //istek nesnesi var request = new ProductRequest(); // Login metoduyla alınmış ticket. request.AuthTicket = ticket; // kaydedilmek istenen ürün bilgileri. var card = new Product(); // ürün kodu daha önce gönderilmiş bir kod ise güncelleme yapılır // diğer durumda yeni kayıt olarak eklenecektir card.Code = "PRODUCT-001"; // ürün adı card.Name = "ABC01"; // ... diğer bilgileri //ürün nesnesi istek nesnesiyle ekleniyor. request.Entity = card; // web servis fonksiyonu çağrılıyor var response = licrusService.SaveProduct(request); // Herhangi bir hata varsa if (response.HasError) { // Detaylar için (bkz:Api Kullanım) } else { //işlem başarılı gerçekleşti. }
Kayıtlı Ürünleri Almak
Aşağıdaki fonksiyonu kullanarak daha önce Licrus’a kaydedilmiş ürünleri alabilirsiniz. Code değeri verildiğinde sadece eşleşen ürün alınır. Diğer durumda tüm ürün bilgisi gelecektir
Fonksiyon
ProductResponse GetProduct(ProductRequest request)
Örnek
// web service için istemci oluşturulyor var licrusService = new Integration(); //istek nesnesi var request = new ProductRequest(); // Login metoduyla alınmış ticket. request.AuthTicket = ticket; // filtre nesnesi. request.Filter = new ProductFilter(); // alınmak istenen ürünün kodu // boş bırakıldığında tüm ürünleri getirir. request.Filter.Code = "PRODUCT-001"; var response = licrusService.GetProduct(request); // Herhangi bir hata varsa if (response.HasError) { // Detaylar için (bkz:Api Kullanım) } else { // Arama kriterleriyle eşleşen tüm kayıtlar // response.Results alanı üzerinde yeralır. foreach (var item in response.Results) { // ürün bilgileri } }
Servis Nesneleri
Servis üzerinden yayınlanan tüm metotlar, Request nesnesi alır ve Response nesnesi döner. Request ve Response nesneleri kullanıldığı metoda özgü alanlar içermekle birlikte ortak bazı alanlar da içerirler;
Request (İstek)
Alan | Açıklama | Değer |
AuthTicket | Kimlik doğrulaması için kullanılacak ticket | Zorunlu |
Filter | Bu, sorguyu daraltmak için kullanılan bir dizi filtre içeren bir nesne özelliğidir. Bu durumda, “Code” adlı bir özelliğe sahiptir. | Zorunlu |
Code | “Filter” nesnesi altında bir özelliktir. Ürünle ilgili bilgileri almak için kullanılmaktadır | Zorunlu değildir.Verilmediği takdirde tüm ürünleri getirir. |
Response (Cevap)
Alan | Açıklama |
HasError | İşlem sonucunda bir hata oluştuysa true değer döner. Yapılan işlem başarılıysa false değer alır. |
HasMessage | İşlem sonucunda paylaşılan bir bilgi mesajı varsa true değer verir. |
MessageList | HasError veya HasMessage alanlarından herhangi bir true ise hata veya bilgi mesajı buradan alınabilir. |
Response.MessageList
Mesaj nesnesini barındıran listedir ve içerisinde yer alan Message nesnesinin detayları aşağıdaki gibidir.
Alan | Açıklama |
Message | Hata veya Bilgi mesajı metin olarak buradan alınabilir. |
Url | https://simpleweburl.com/api/ERP/GetProduct |
Type | Servis tarafından gönderilen mesajın tipini verir. ServiceResponseMessageType tipinde bir enum değeri taşır. Bu alan 3 tip değer alabilir, bunlar; Error: Hata Info: Bilgi Warning: Uyarı |
GetProduct JSON Request Modeli
{ "AuthTicket": "demodemodemodemodemodemodemodemo", "Filter": { "Code": "PRODUCT-001" } }
GetProduct Response Modeli
{ "Results": [ { "Code": "PRODUCT-001", "Name": "demo ürün", "MainGroup": { "Code": "A.B1", "Name": "YOĞUŞMALI KOMBİ", "IsMainGroup": false, "UseInQuote": false, "ParentGroup": null, "CssStyle": null, "CssClass": null, "PreviewImageUrl": null, "DisplayOrder": null, "SubGroups": null, "IsTrackVersion": false, "Id": 0, "IsActive": false, "Text": null }, "Point": 0.0, "Brand": { "Code": "Marka", "Name": "Marka", "Id": 0, "IsActive": false, "Text": null }, "Model": { "Code": "8406450010", "Name": "Demo", "Id": 0, "IsActive": false, "Text": null }, "Manufacturer": null, "Price": 0.0, "Currency": null, "PreviewImage": null, "Description": "demo ürün bilgisi", "Images": null, "WarrantyPeriod": 3, "SerialNumberCount": 1, "Width": 0.0, "Height": 0.0, "Id": 0, "IsActive": false, "Text": null } ], "MessageList": [], "HasError": false, "HasMessage": false }