ERP sisteminizi veya diğer yazılımlarınızı ONEROV uygulamalarıyla etegrasyon ve API kullanımı hakkında bilgiler
ERP sisteminizi veya diğer yazılımlarınızı ONEROV uygulamalarıyla etegrasyon ve API kullanımı hakkında bilgiler
Licrus'u daha verimli kullanmak için yapabileceklerinizi öğrenin ve uygulama parametrelerini keşfedin
Client's Feedback
Sed ut Perspiciatis Unde Omnis Iste
Sed ut Perspiciatis Unde Omnis Iste Sed ut perspiciatis unde omnis iste natu error sit voluptatem accu tium neque fermentum veposu miten a tempor nise. Duis autem vel eum iriure dolor in hendrerit in vulputate velit consequat in velit esse.
![]()
Bella Robbertson Developer
CreateWallBoxWorkOrder()
Wallbox için otomatik iş emri açan ve kaydeden metotdur.
APİ URL: /api/WorkOrder/createWallBoxWorkOrder
Request
{
"FreeEntity": {
"BranchCode": "",
"VIN": "",
"CustomerNo": "",
"Importer":””,
"CreateHeader": 0,
"ServiceOrderNo": "",
"Data": [
{
"ItemNo": ""
}
],
"FullName": "",
"UserName": "d_ ",
"ServiceAdvisorNo": ""
},
"AuthTicket": "80d2f55cb59a4518973ae98c8b9de110"
}
Response
{
"Results": [],
"Entity": null,
"HasResult": false,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [],
"HasError": false,
"HasMessage": true,
"RrpTag":
}
SetSerZatOrderIdForOrder Metodu
İş Emrinin oluşturulan SerzartOrderId sini set eden metotdur.
Metod ismi = SerzatOrderIdUpdate
Api Url: https://customer.xyz/api/Serzat/SerzatOrderIdUpdate
Request:
{
"Id": 1,
"Filter": {
"OrderNo": "SORD120934",
"BranchCode": "134710",
"SplitCode": "01",
"LineNos": [
1000,
2,
3
]
},
"AuthTicket": "----------------------------"
}
AuthTicket: Erişim için kullanıcı adınız ve şifreniz ile alınan key
Id = OrderId numarasına
Filter.OrderNo = OrderNo numarasına
Filter.BranchCode = BranchCode numarasına
Filter.SplitCode = SplitCode numarasına Filter.LineNos= LineNos
denk gelen alanlardır.
Response:
{
"Results": [],
"Entity": true,
"HasResult": true,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [
{
"Type": 2,
"Message": "İş Emrinin oluşturulan Serzat OrderId'si eklenmiştir."
}
],
"HasError": false,
"HasMessage": true,
"RrpTag": null
}
ClearOrderId Metodu
SerzartOrderId’yi iş emri üzerinden silen metotdur.
Metod ismi = SerzatOrderIdUpdate
Api Url: https://customer.xyz/api/Serzat/SerzatOrderIdUpdate
Request:
{
"Filter": {
"BranchCode": "134710",
"OrderId": "1"
},
"AuthTicket": "----------------------------"
}
Filter.BranchCode = BranchCode numarasına
Filter.OrderId= OrderId’ye
denk gelen alanlardır.
Response:
{
"Results": [],
"Entity": true,
"HasResult": true,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [
{
"Type": 2,
"Message": "İş Emrinin oluşturulan Serzat OrderId'si 0 olarak setlenmiştir."
}
],
"HasError": false,
"HasMessage": true,
"RrpTag": null
}
SetRepairStatusForServiceJob Metodu
Service Job Line tablosunda “Repair Status ”, “Work Completed”,“Last Process Date“,”Start Date”,”WorkShop”,”ProcessedFromSerzat”,”Completion Date” alanlarını ve Service Line tablosunda : “WorkShop” alanını setleyen metotdur.
Metod ismi = SetRepairStatusForServiceJob
Api Url: https://customer.xyz/api/Serzat/SetRepairStatusForServiceJob
Request:
{
"Filter": {
"JobNo": 10000,
"OrderId": 1,
"RepairStatus": 2,
"LastProcessDate": "2023-01-01T00:00:00.123Z",
"FirstProcessDate": "2021-02-01T00:00:00.123Z",
"BranchCode": "134710" },
"AuthTicket": "----------------------------"
}
Response:
{
"Results": [],
"Entity": true,
"HasResult": true,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [
{
"Type": 2,
"Message": "İş Emrinin tamir durumu bilgileri eklenmiştir."
}
],
"HasError": false,
"HasMessage": true,
"RrpTag": null
}
SetDamageDocumentNoForOrder Metodu
İş emri’ne DamageDocumentNo’yu setleyen metotdur.
Metod ismi = SetDamageDocumentNoForOrder
Api Url: https://customer.xyz/api/Serzat/SetDamageDocumentNoForOrder
Request:
{
"Filter": {
"OrderNo": "SORD120934",
"BranchCode": "134710",
"SplitCode": "01",
"DamageDocumentNo": "Test1"
},
"AuthTicket": "----------------------------"
}
Response:
{
"Results": [],
"Entity": true,
"HasResult": true,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [
{
"Type": 2,
"Message": " İş Emrinin ağır hasarlı kaydı eklenmiştir."
}
],
"HasError": false,
"HasMessage": true,
"RrpTag": null
}
ReadyForInvoice Metodu
SerzatOrderId ye göre ilgili iş emrini faturaya hazır olarak işaretleyen metotdur.
Metod ismi = SetReadyStatusForInvoice
Api Url: https://customer.xyz/api/Serzat/SetReadyStatusForInvoice
Request:
{
"Filter": {
"OrderId": 1,
"BranchCode": "134710",
"ReadyForInvoice":1
},
"AuthTicket": "----------------------------"
}
ReadyForInvoice: Bu alan Metodun nasıl çalışacağını belirler 1(true) değer alması durumunda faturaya hazır olarak işaretlenir.
Response:
{
"Results": [],
"Entity": true,
"HasResult": true,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [
{
"Type": 2,
"Message": "İş Emrinin incadea faturaya hazır olarak işaretlendi."
}
],
"HasError": false,
"HasMessage": true,
"RrpTag": null
}
CancelReadyForInvoice Metodu
SerzatOrderId ye göre ilgili iş emrini faturaya hazır değil olarak işaretleyen metotdur.
Metod ismi = SetReadyStatusForInvoice
Api Url: https://customer.xyz/api/Serzat/SetReadyStatusForInvoice
Request:
{
"Filter": {
"OrderId": 1,
"BranchCode": "134710",
"ReadyForInvoice":0
},
"AuthTicket": "----------------------------"
}
ReadyForInvoice: Bu alan Metodun nasıl çalışacağını belirler 0(false) değer alması durumunda faturaya hazır değil olarak işaretlenir.
Response:
{
"Results": [],
"Entity": true,
"HasResult": true,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [
{
"Type": 2,
"Message": "İş Emrinin incadea faturaya hazır değil olarak işaretlendi."
}
],
"HasError": false,
"HasMessage": true,
"RrpTag": null
}
UpdateServiceHeaderMetodu
İş Emrini update eden metotdur.
Metod ismi = UpdateServiceHeader
Api Url: https:/customer.xyz/api/Serzat/UpdateServiceHeader
Request:
{
"Filter": {
"OrderNo": "SORD122687",
"BranchCode": "134710",
"Mileage":1,
"PickupDate":"2021-02-01T00:00:00.123Z",
"Description":"test",
"DocumentType":2
},
"AuthTicket": "----------------------------"
}
Filter. OrderNo= DocumentNo ya denk gelmektedir ve db’de kayıtlı veri bu numaraya göre sorgulanmaktadır.
Response:
{
"Results": [],
"Entity": true,
"HasResult": true,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [
{
"Type": 2,
"Message": "İş Emri güncellendi."
}
],
"HasError": false,
"HasMessage": true,
"RrpTag": null
}
SetFixedCurrencyByOrderIdAsync Metodu
Serzat OrderId için kur sabitler.
Metod ismi = SetFixedCurrencyByOrderIdAsync
Api Url: https://customer.xyz/api/Serzat/SetFixedCurrencyByOrderIdAsync
Request:
{
"Filter": {
"OrderID": "1",
"BranchCode": "134710"
},
"AuthTicket": "----------------------------"
}
Response:
{
"Results": [],
"Entity": true,
"HasResult": true,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [
{
"Type": 2,
"Message": "İş Emrine Sabit kur değeri verildi."
}
],
"HasError": false,
"HasMessage": true,
"RrpTag": null
}
GetOrderRemarks Metodu
VOR bilgisini döner.
Metod ismi = GetOrderRemarks
Api Url: https://customer.xyz/api/Serzat/GetOrderRemarks
Request:
{
"Filter": {
"CustomerNo": " XXXXXXXXXX ",
"VIN": " XXXXXXXXXX ",
"DocumentNo": "XXXXXXXXXX ",
"BranchCode": "134710"
},
"AuthTicket": "----------------------------"
}
Response:
{
"Results": [
{
"RemarkDescription": null,
"OrderNo": null,
"RemarkType": 13,
"RemarkSubType": 32,
"Date1": null,
"Date2": null,
"Int1": 0,
"Int2": 0,
"Text1": 0,
"Text2": 0
},
{
"RemarkDescription": null,
"OrderNo": null,
"RemarkType": 13,
"RemarkSubType": 32,
"Date1": null,
"Date2": null,
"Int1": 0,
"Int2": 0,
"Text1": 0,
"Text2": 0
}
],
"Entity": null,
"HasResult": true,
"Count": 614,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [
{
"Type": 2,
"Message": "Vor Bulundu."
}
],
"HasError": false,
"HasMessage": true,
"RrpTag": null
}
AddVorRecordMetodu
Vor Kaydı yapar.
Metod ismi = AddVorRecord
Api Url: https://customer.xyz/api/Serzat/AddVorRecord
Request:
{
"Filter": {
"VIN": "XXXXXXX",
"Customer": "XXXXXX",
"DocumentNo": "XXXXX",
"Category":" XXXXX ",
"Subject":" XXXXX ",
"Reason":" XXXXX ",
"Notes":" XXXXX ",
"EventId":" XXXXX ",
"ChannelName":" XXXXX ",
"BranchCode": "134710"
}, "AuthTicket": "----------------------------"
}
Response:
{
"Results": [],
"Entity": null,
"HasResult": false,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [
{
"Type": 2,
"Message": "VOR kaydı yapıldı."
}
],
"HasError": false,
"HasMessage": true,
"RrpTag": null
}
GetCustomerNoToken Metodu
Müşteri bilgisini döner.
Metod ismi = GetCustomerNoToken
Api Url: https://customer.xyz/api/Serzat/GetCustomerNoToken
Request:
{
"Filter": {
"CustomerNo": "XXXXX",
"BranchCode": "134710"
},
"AuthTicket": "----------------------------"
}
Response:
{
"Results": [],
"Entity": {
"CustomerNo": " XXXXXXXX ",
"CustomerName": " XXXXXXXX ",
"VehicleCount": 0,
"Address": " XXXXXXXX ",
"City": "ISTANBUL",
"CustomerType": XXXXXXXX,
"IdentityNo": null,
"SalesforceId": " XXXXXXXX ",
"CrmCustomerNo": "XXXXXXXX",
"VatRegistrationNo": "XXXXXXX",
"TaxAreaCode": "XXXXX",
"PhoneNo": null,
"County": null,
"Email": null,
"MobilePhoneNo": "XXXXXXXX",
"VatBusinessPostingGroup": null,
"GeneralBusinessPostingGroup": null,
"LaborPriceGroup": null,
"ItemSalesPriceGroup": null,
"IsEInvoice": true,
"DefaultSplitCode": null,
"ServiceGroup": null,
"HasDepartment": false,
"PostCode": null,
"HomeMobilePhoneNo": "XXXXXXX",
"IsEArchive": false
},
"HasResult": true,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [
{
"Type": 2,
"Message": "Müşteri Bulundu."
}
],
"HasError": false,
"HasMessage": true,
"RrpTag": null
}
GetCustomerVehicle Metodu
Müşteri bilgisini döner.
Metod ismi = GetCustomerVehicle
Api Url: https://customer.xyz/api/Serzat/GetCustomerVehicle
Request:
{
"Filter": {
"LicenseNo": " XXXXXXXXXX ",
"VIN": " XXXXXXXXXX ",
"BranchCode": "134710"
},
"AuthTicket": "----------------------------"
}
Response:
{
"Results": [],
"Entity": {
"SfId": null,
"BoNo": " XXXXXXXXXX ",
"KeyNo": " XXXXXXXXXX ",
"KosNo": " XXXXXXXXXX ",
"TekNo": null,
"VIN": " XXXXXXXXXX ",
"AccountName": " XXXXXXXXXX ",
"Phone": null,
"Fax": " XXXXXXXXXX ",
"Gsm": null,
"PCGsm": " XXXXXXXXXX ",
"City": null,
"Town": null,
"MakeCode": "BMW",
"ModelCode": null,
"ModelDescription": null,
"ModelYear": "2004",
"Visibility": null,
"LicenseNo": " XXXXXXXXXX ",
"Mileage": 165110,
"Email": "XXXXXXXXXX",
"IsDefaultUser": 0
},
"HasResult": true,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [
{
"Type": 2,
"Message": "Araç ve tanımlı olduğu müşteri bulundu."
}
],
"HasError": false,
"HasMessage": true,
"RrpTag": null
}
SaveServiceLine Metodu
Service Line Ekleme ve Güncelleme yapar. LineNo Var ise günceller yok ise ekler.
Metod ismi = SaveServiceLine
Api Url: https://customer.xyz/api/Serzat/SaveServiceLine
Request:
{
"Filter": {
"UserName":" XXXXXXXX ",
"DocumentNo": "XXXXXXXX",
"BranchCode": XXXXXXXX,
"Mileage":1,
"PickupDate":"2021-02-01T00:00:00.123Z",
"Description":"test",
"DocumentType":0,
"LineNo": XXXXXXXX,
"JobNo": XXXXXXXX,
"Description":" ",
"Description2":" ",
"FcCode":"",
“No”:”XX”,
“LineType”:XX,
"LineDiscount":1,
"Quantity": XXXXXXXX,
"UnitPrice": XXXXXXXX,
"JLRMenuPricingJobId":" XXXXXXXX ",
"IsAbk":1,
"IsAdditionalJob":0,
"IsWashing":2
},
"AuthTicket": " XXXXXXXX "
}
Response:
{
"Results": [],
"Entity": true,
"HasResult": false,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [
{
"Type": 2,
"Message": ""
}
],
"HasError": false,
"HasMessage": true,
"RrpTag": null
}
Başarılı Kayıt işlemlerinden sonra bu metot için response.Entity=True döner.
Başarısız işlemler için response.HasMessage = True döner.
DeleteServiceLine Metodu
Serzatta iş emrindeki ilgili pozisyonu siler.
Metod ismi = DeleteServiceLine
Api Url: https://customer.xyz/api/Serzat/DeleteServiceLine
Request:
{
"Filter": {
"UserName":" XXXXXXXX ",
"DocumentNo": "XXXXXXXX",
"BranchCode": XXXXXXXX,
"Mileage":1,
"PickupDate":"2021-02-01T00:00:00.123Z",
"Description":"test",
"DocumentType":0,
"LineNo": XXXXXXXX,
"JobNo": XXXXXXXX,
"Description":" ",
"Description2":" ",
"FcCode":"",
"LineDiscount":1,
"Quantity": XXXXXXXX,
"UnitPrice": XXXXXXXX,
"JLRMenuPricingJobId":" XXXXXXXX ",
"IsAbk":1,
"IsAdditionalJob":0,
"IsWashing":2
},
"AuthTicket": " XXXXXXXX "
}
Response:
{
"Results": [],
"Entity": true,
"HasResult": false,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [
{
"Type": 2,
"Message": ""
}
],
"HasError": false,
"HasMessage": true,
"RrpTag": null
}
Başarılı Kayıt işlemlerinden sonra bu metot için response.Entity=True döner.
Başarısız işlemler için response.HasMessage = True döner.
GetRoleUsersNoToken Metodu
Kullanıcı grubu ismi altındaki kullanıcıları listeleyen metotdur.
GetRoleByName metotunun serzat endpointi ile verilmiş halidir.
Metod ismi = GetRoleUsersNoToken
Api Url: https:/customer.xyz/api/Serzat/GetRoleUsersNoToken
Request:
{
"Filter":{
"Id":"2"
},
"AuthTicket": " XXXXXXXX "
}
Response:
{
"Results": [
{
"Company": null,
"DefaultBranchCode": " XXXXXXXX ",
"DefaultBranchName": " XXXXXXXX ",
"DistinguishedName": "test",
"IsInternalDomainUser": true,
"Description": " XXXXXXXX ",
"Email": "",
"FullName": " XXXXXXXX XXXXXXXX ",
"IsActive": true,
"Phone": " XXXXXXXX ",
"Name": null,
"Surname": "ADMIN",
"UserPhoto": null
},
{
"Company": null,
"DefaultBranchCode": " XXXXXXXX ",
"DefaultBranchName": " XXXXXXXX ",
"DistinguishedName": "test",
"IsInternalDomainUser": true,
"Description": " XXXXXXXX ",
"Email": " XXXXXXXX ",
"FullName": " XXXXXXXX ",
"IsActive": true,
"Phone": " XXXXXXXX ",
"Name": null,
"Surname": " XXXXXXXX ",
"UserPhoto": null
}
],
"Entity": null,
"HasResult": true,
"Count": 2,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [],
"HasError": false,
"HasMessage": false,
"RrpTag": null
}
GetServiceHeaderForSerzat Metodu
Serzata özel filtre ve sadece serzatı ilgilendiren alanları dönen fonskiyon ServisHeader listesi döner. Filtreye göre ServiceJob ve ServiceLine listelerini de doldurur,Arşivide kontol eder. vb.
Metod ismi = GetServiceHeaderForSerzat
Api Url: https:/customer.xyz/api/Serzat/GetServiceHeaderForSerzat
Request:
{
"Filter": {
"UserName":"XXXXX",
"BranchCode": 134710,
"ServiceAdvisor":"XXXXX",
"WithServiceJob":1,
"WithArchive":0,
"WithServiceLine":1,
"DocumentNoList":["XXXXX"]
}, "AuthTicket": " XXXXXXXX "
}
Response:
{
"Results": [
{
"No": "",
"SellToCustomerNo": "XXXXXXXXX",
"SellToCustomerName": null,
"MakeCode": "XXX",
"LicenseNo": "XX XXX XXX",
"VIN": "XXXXXXXXXXXXXXXX",
"OrderDate": "2022-10-25T14:39:16.557",
"OrderTime": "2022-10-25T14:39:16.557",
"PickupDate": "2022-10-25T17:00:00",
"PickupTime": "2022-10-25T17:00:00",
"Mileage": 50000.00,
"InitialRegistration": null,
"Description": null,
"VehicleEntryNo": "XXXXX",
"SellToCustomerName2": "XXXX XXXXX",
"DifferenceDate": 0,
"RepeatRepair": false,
"ServiceAdvisor": "XXXXXXXX",
"IsAdditionalServiceJob": false,
"Details": [
{
"DocumentNo": "XXXXXXXXXX",
"DocumentType": "TEKLİF",
"LineNo": 10000,
"LineType": "Labor",
"PositionNo": 1,
"No": "XXXXXXX",
"Description": "Diyagnoz sisteminde arıza hafızasınınsorgulanması",
"Description2": "Diyagnoz sisteminde arıza hafızasınınsorgulanması",
"ServiceJobNo": 0,
"FCCode": "00",
"LineDiscount": 0.00,
"Quantity": 2.000000,
"UnitPrice": 2.649000,
"StandartTime": 0.000000,
"ReadyForInvoice": false,
"Inventory": null,
"AvailableInventory": null,
"QuantityShipped": 0.000000,
"FooterText": null,
"ReservationStatus": 0.0,
"IsWashing": 0,
"UnitOfMeasureCode": "AW",
"IsDiagnosisLabor": false,
"Id": 0,
"IsActive": false,
"Text": null
}],
"Groups": [
{
"DocumentNo": "XXXXXXXXXX",
"ServiceAdvisorNo": "XXXXXXXX",
"LineNo": 10000,
"BillToCustomerNo": "XXXXXXXX",
"SplitCode": "16",
"WorkCompleted": false,
"CompletionDate": null,
"WorkShop": null,
"WorkshopID": null,
"SerzatOrderId": 0,
"Complaint": null,
"ComplaintMainGroup": null,
"ComplaintSubGroup": null,
"LastProcessDate": null,
"Id": 0,
"IsActive": false,
"Text": null
}],
"IsArchived": false,
"Id": 0,
"IsActive": false,
"Text": null
}
"Entity": null,
"HasResult": true,
"Count": 2,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [],
"HasError": false,
"HasMessage": false,
"RrpTag": null
}
NOT: Arşiv yapısı henüz aktif olmadığı için Arşiv datası dönülmemektedir. ReservationStatus, Inventory ve AvailableInventory Fieldları Item ve Item Master yapısını oturması gerekmektedir. Sonradan dahil edilecektir.
SetTransferedFlagForInvoice Metodu
Metot : SetTransferedFlagForInvoice
Requestten gelen fatura numarasına göre filtreleme yaparak döküman tipi invoice olan ilgili faturanın IsTransfered fieldını true yapar.
Url : https://dev-borusan-api.licrus.com.tr/api/ Serzat/SetTransferedFlagForInvoice
Request:
{
"Filter":{
"InvoiceNumber":"XX1010XX"
},
"AuthTicket": "demodemodemodemodemodemo"
}
Response:
{
"Results": [],
"Entity": {
"IsSuccess": true
},
"HasResult": true,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [],
"HasError": false,
"HasMessage": false,
"RrpTag": null
}
SetTransferedFlagForCancelledInvoice Metodu
Metot : SetTransferedFlagForCancelledInvoice
Requestten gelen fatura numarasına göre filtreleme yaparak döküman tipi credit memo(alacaklı dekontu) olan ilgili faturanın IsTransfered fieldını true yapar.
Url : https://dev-borusan-api.licrus.com.tr/api/ Serzat/ SetTransferedFlagForCancelledInvoice
Request:
{
"Filter":{
"InvoiceNumber":"XXXX000XXX"
},
"AuthTicket": "demodemodemodemodemodemodemo"
}
Response:
{
"Results": [],
"Entity": {
"IsSuccess": true
},
"HasResult": true,
"Count": 0,
"TotalCount": 0,
"Id": 0,
"Meta": null,
"MessageList": [],
"HasError": false,
"HasMessage": false,
"RrpTag": null
}
AuthTicket İçin Gerekli Metot
Önemli Not: Yukarıdaki metotlara erişimsağlayabilmeniz için ticket almanız gerekmektedir. Bu ticketlara kullanıcıbazlı erişim sağlayabilirsiniz. Aşağıdaki metoda kullanıcı adınız ve şifrenizigirerek AuthTicket alabilirsiniz.
Metod ismi = Login
Api Url : https://customer.xyz/api/account/login
{
"Name": "test",
"Password": "test"
}
Name = Kullanıcı Adı
Parola = Kullanıcı Parolası
İnsomia aracılığıyla test işlemleri gerçekleştirilmiştir.