Servis/Bayi Entegrasyonu

Licrus’da kayıtlı Bayi ve Servis bilgileri web servisleri aracılığıyla entegre edilebilir. Entegrasyon işlemlerinde kullanılacak Bayi veya Servis bilgileri için Partner nesnesi kullanılır. Temel olarak Licrus ile işlem yapan tüm iş ortakları Partner olarak yorumlanır. Partner nesnesinin detayları için Veri Modeli başlığına bakınız.


Partner Kayıtlarını Güncellemek
Aşağıdaki fonksiyonu kullanarak Servis ve/veya Bayi kayıtlarını güncelleyebilir veya yeni kayıtlar ekleyebilirsiniz. Code alanına verilen değerle eşleşen bir kayıt yoksa gönderilen bilgileri yeni bir iş ortağı olarak ekler. Code ile eşleşen bir kayıt varsa iş ortağının bilgileri güncellenir.

Fonksiyon

PartnerResponse SavePartner(PartnerRequest)

Örnek

var licrusService = new LicrusWebServices.Integration();
var request = new PartnerRequest();

//Login metoduyla alınmış ticket
request.AuthTicket = ticket;

//kaydedilmek istenen iş ortağına ait bilgileri içeren nesne.
request.Entity = new Partner();
var response = licrusService.SavePartner(request);


Partner Kayıtlarını Almak
Aşağıdaki fonksiyonu kullanarak Servis ve/veya Bayi kayıtlarına ulaşabilirsiniz. Sadece Bayi veya Servis kaydını almak için request.Agreement Type alanına Veri modelinde yeralan AgreementType alanlarından birini verebilirsiniz. Herhangi bir değer verilmediğinde tüm iş ortaklarını listeleyecektir.

Fonksiyon

PartnerResponse GetPartner(PartnerRequest)

Örnek C# (XML)

// İşlemleri yapmak için kullanılacak Servis nesnesi.
LicrusWebServices.Integration();
var request = new PartnerRequest();

// Login metoduyla alınmış ticket.
request.AuthTicket = ticket;

// filtre nesnesi.
request.Filter = new PartnerFilter();

// Listelenmek istenen Partner türü
// Veri modelinde yeralan Agreement Type alanlarından birini verebilirsiniz.
// Herhangi bir değer verilmediğinde tüm iş ortaklarını listeleyecektir.
request.Filter.AgreementType = AgreementType.Dealer;

// Tek bir kayıt alınmak isteniyorsa istenen kaydın kodu (cari kod)
// Boş bırakıldığında bu alan dikkate alınmaz.
request.Filter.Code = "ABC";
var response = licrusService.GetPartner(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) {
		// Servis/Bayi kayıtları
	}
}

Örnek JSON

// PartnerRequest nesnesini oluşturun
var request = {
  AuthTicket: ticket, // Login metoduyla alınmış ticket
  Entity: {
    Code: "ABC123",
    Name: "İş Ortağı Adı",
    Title: "İş Ortağının Ticari Ünvanı",
    // Diğer iş ortağı bilgilerini buraya ekleyin
  }
};

// SavePartner fonksiyonunu çağırın
var response = licrusService.SavePartner(request);

// JSON formatında veriyi stringe çevir
var requestData = JSON.stringify(request);

// XMLHttpRequest kullanarak POST isteği yap
var xhr = new XMLHttpRequest();
xhr.open("POST", "https://your_host_url"+"/external/Erp/SavePartner", true);
xhr.setRequestHeader("Content-Type", "application/json");

xhr.onreadystatechange = function () {
  if (xhr.readyState === 4 && xhr.status === 200) {
    // İstek başarıyla tamamlandığında işlemlerinizi burada gerçekleştirin
    var response = JSON.parse(xhr.responseText);
    console.log(response);
  }
};

xhr.send(requestData);

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. Yedek parçayla  ilgili bilgileri almak için kullanılmaktadır

Zorunlu
AgreementTypeAgreementType Servis/Bayi tipine göre listelemek için alan tek başına verince bütün buna bağlı bilgileri getiriristeğe bağlı

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/GetPartner
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ı

GetPartner JSON Request Modeli

{
		"AuthTicket": "demodemodemodemodemodemodemodemo",
  "Filter": {
    "Code": "test",
    // "AgreementType": 1    zorunlu değildir
  }
}


GetPartner  JSON Response Modeli

{
	"Results": [
		{
			"Code": "test ",
			"Name": "test test name",
			"Title": "test test name  SAN.TİC.LTD.ŞTİ.",
			"TaxIdNumber": null,
			"TaxOffice": null,
			"ContactPerson": null,
			"AgreementType": 0,
			"ParentPartnerCode": null,
			"ContractDate": "2023-04-13T00:00:00",
			"FoundedDate": null,
			"Balance": 0.00,
			"OrderLimit": 9999999.00,
			"FinancialLedgerType": 18,
			"OnlinePaymentWalletNumber": null,
			"MobilePhone": "+90........",
			"WorkPhone": "+90 .........",
			"Email": null,
			"Fax": null,
			"WebSite": null,
			"Country": "TÜRKİYE",
			"City": "ISTANBUL",
			"District": ".......",
			"PostalCode": null,
			"AddressLine": "... MH. .. CAD. NO:..",
			"IsActive": false,
			"PartnerType": null,
			"Region": null
		}
	],
	"MessageList": [],
	"HasError": false,
	"HasMessage": false
}


Yeni Bayi ve Servis  Kaydı eklemek

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. Yedek parçayla  ilgili bilgileri almak için kullanılmaktadır

Zorunlu
AgreementTypeAgreementType Servis/Bayi tipine göre listelemek için alan tek başına verince bütün buna bağlı bilgileri getirir

Zorunlu
NameBayi/Servis ismiZorunlu
Title
Zorunlu
TaxIdNumberVergi  numarasıisteğe bağlı
TaxOfficeVergi dairesi
isteğe bağlı
ContactPersonİlgili Kişi
isteğe bağlı
ParentPartnerCodeBayinim bağlı olduğu üst bayi
isteğe bağlı
ContractDate
isteğe bağlı
FoundedDate
isteğe bağlı
Balance
isteğe bağlı
OrderLimitsipariş limiti
isteğe bağlı
FinancialLedgerType
isteğe bağlı
OnlinePaymentWalletNumber
isteğe bağlı
MobilePhone
isteğe bağlı
WorkPhone
isteğe bağlı
EmailEmail adresi
isteğe bağlı
Fax
isteğe bağlı
WebSite
isteğe bağlı
Country
isteğe bağlı
City
isteğe bağlı
District
isteğe bağlı
PostalCode
isteğe bağlı
AddressLine
isteğe bağlı
IsActive
isteğe bağlı
PartnerType
isteğe bağlı

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/SavePartner
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ı

SavePartner JSON Request Modeli

{
		"AuthTicket": "demodemodemodemodemoedmodemodemode",
  		"Entity": {
    	"Code": "test",
			"Name": "test İKL.EŞYA VE ELK. SAN.TİC.LTD.ŞTİ.",
			"Title": "test İKL.EŞYA VE ELK. SAN.TİC.LTD.ŞTİ.",
			"TaxIdNumber": null,
			"TaxOffice": null,
			"ContactPerson": null,
			"AgreementType": 1,
			"ParentPartnerCode": null,
			"ContractDate": "2023-04-13T00:00:00",
			"FoundedDate": null,
			"Balance": 0.00,
			"OrderLimit": 9999999.00,
			"FinancialLedgerType": 18,
			"OnlinePaymentWalletNumber": null,
			"MobilePhone": "+90 (...) ...-....",
			"WorkPhone": "+90 (...) ...-....",
			"Email": null,
			"Fax": null,
			"WebSite": null,
			"Country": "TÜRKİYE",
			"City": "ISTANBUL",
			"District": "BUYUKCEKMECE",
			"PostalCode": null,
			"AddressLine": ".....MH. ŞEHİT OĞUZ ...CAD. NO:...",
			"IsActive": false,
			"PartnerType": null,
			"Region": null
  }
}

SavePartner JSON Response Modeli

{
	"Results": [],
	"MessageList": [
		{
			"Type": 2,
			"Message": "test Cari koduyla yeni bayi/müşteri bilgisi eklendi."
		}
	],
	"HasError": false,
	"HasMessage": true
}

Güncelleme  İsteği

Code alanına verilen değerle eşleşen bir kayıt yoksa gönderilen bilgileri yeni bir iş ortağı olarak ekler. Code ile eşleşen bir kayıt varsa iş ortağının bilgileri güncellenir.Yeni kayıt ekleme ile aynı metod üzerinden işlem yapmaktadır.


Güncelleme SavePartner JSON Request Modeli

{
		"AuthTicket": "demodemodemodemodemodemodemodemodemo",
  		"Entity": {
    	"Code": "test",
			"Name": "UkTest İKL.EŞYA VE ELK. SAN.TİC.LTD.ŞTİ.",
			"Title": "UkTest İKL.EŞYA VE ELK. SAN.TİC.LTD.ŞTİ.",
			"TaxIdNumber": null,
			"TaxOffice": null,
			"ContactPerson": null,
			"AgreementType": 1,
			"ParentPartnerCode": null,
			"ContractDate": "2023-04-13T00:00:00",
			"FoundedDate": null,
			"Balance": 0.00,
			"OrderLimit": 9999999.00,
			"FinancialLedgerType": 18,
			"OnlinePaymentWalletNumber": null,
			"MobilePhone": "+90 (552) 222-8585",
			"WorkPhone": "+90 (212) 222-0505",
			"Email": null,
			"Fax": null,
			"WebSite": null,
			"Country": "TÜRKİYE",
			"City": "ISTANBUL",
			"District": "BUYUKCEKMECE",
			"PostalCode": null,
			"AddressLine": "PINARTEPE MH. ŞEHİT OĞUZ PARPALOĞLU CAD. NO:6B",
			"IsActive": false,
			"PartnerType": null,
			"Region": null
  }
}

SavePartner JSON Request Modeli

{
	"Results": [],
	"MessageList": [
		{
			"Type": 2,
			"Message": "test Cari kodu bayi/müşteri bilgisi güncellendi"
		}
	],
	"HasError": false,
	"HasMessage": true
}