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)
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. Yedek parçayla ilgili bilgileri almak için kullanılmaktadır | Zorunlu |
AgreementType | AgreementType Servis/Bayi tipine göre listelemek için alan tek başına verince bütün buna bağlı bilgileri getirir | isteğe bağlı |
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/GetPartner |
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ı |
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)
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. Yedek parçayla ilgili bilgileri almak için kullanılmaktadır | Zorunlu |
AgreementType | AgreementType Servis/Bayi tipine göre listelemek için alan tek başına verince bütün buna bağlı bilgileri getirir | Zorunlu |
Name | Bayi/Servis ismi | Zorunlu |
Title | Zorunlu | |
TaxIdNumber | Vergi numarası | isteğe bağlı |
TaxOffice | Vergi dairesi | isteğe bağlı |
ContactPerson | İlgili Kişi | isteğe bağlı |
ParentPartnerCode | Bayinim 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ı | |
OrderLimit | sipariş 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ı | |
Email 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)
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/SavePartner |
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ı |
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 }