Ü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)

AlanAçıklama
Değer
AuthTicketKimlik doğrulaması için kullanılacak ticketZorunlu
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)

AlanAçı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.
MessageListHasError 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.

AlanAçıklama
MessageHata veya Bilgi mesajı metin olarak buradan alınabilir.
Urlhttps://simpleweburl.com/api/ERP/GetProduct
TypeServis 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
}