Servis Adresi
POST /DealerSale/UpdateSale
İstek Parametreleri
DealerSaleAuthentication
| Parametre |
Açıklama |
| DealerCode string |
Ruut sistemi tarafından verilen bayi kodu |
| Username string |
Ruut sistemi tarafından verilen Api kullanıcı adı |
| Password string |
Ruut sistemi tarafından verilen Api şifresi |
| CheckKey string |
Kontrol anahtarı (DealerCode + "MK" + Username + "PD" + Password) String olarak birleştirilen bu bilgilerin SHA-256 hash algoritmasından geçirilmesiyle oluşturulur.
Buraya tıklayarak deneme ekranına gidebilirsiniz. |
DealerSaleRequest
| Parametre |
Açıklama |
| DealerSaleId integer |
SaleCode gönderilirse zorunlu değil. |
| SaleCode string |
DealerSaleId gönderilirse zorunlu değil. (Max 100 chars) |
| Amount decimal |
Her ödemede tahsil edilecek tutar. (Not: toplam satış tutarı değildir!) (örn: 25.45 formatında yazılır.) |
| CustomerCode string |
DealerCustomerId gönderilirse zorunlu değil. |
| DealerCustomerId integer |
CustomerCode gönderilirse zorunlu değil. |
| ProductCode string |
DealerProductId gönderilirse zorunlu değil. |
| DealerProductId integer |
ProductCode gönderilirse zorunlu değil. |
| SaleCode string |
Zorunlu değil, gönderilmezse yeni guid oluşturulur. (Max 100 chars) |
| Currency string |
Zorunlu değil, gönderilmezse TL kabul edilir. (TL, USD, EUR) |
| InstallmentNumber integer |
Zorunlu değil, gönderilmezse tek çekim kabul edilir. (1..12) |
| DealerSaleScheduleId integer |
Zaman programının ID si (PlanType : 2 verilecekse, bu alana değer girilse de sistem sıfıra çeker, bu yüzden hiç gönderilmese de olur) |
| SaleDate date |
Satışın yapıldığı tarih (YYYYMMDD formatında, örn: "20170918") |
| BeginDate date |
Bu satışa ait ödemeler hangi tarihten itibaren başlayacak. (YYYYMMDD formatında, örn: "20170918") |
| EndDate date |
Bu satışa ait ödemeler hangi tarihte son bulacak. Eğer bir bitiş tarihi verilmezse (boş string gönderilirse veya bu alan hiç gönderilmezse), satış silinene kadar veya EndDate güncellenene kadar düzenli çekimler
devam eder.(YYYYMMDD formatında, örn: "19901218") |
| HowManyTrial integer |
Zorunlu değil, gönderilmezse 1 kabul edilir. (Karttan çekim yapıldığında başarısız olunursa kaç gün daha çekim denenecek) |
| Description string |
Zorunlu değil, açıklama detay alanı (Max 200 chars) |
| PlanType integer |
Zorunlu değil, gönderilmezse 1 kabul edilir (1: Ödeme adımları, verilen zaman programına göre otomatik oluşturulur, 2: Ödeme adımları manuel oluşturulmak zorunda, 3: Ödeme adımları hem manuel hem de otomatik oluşturulabilir.) Ödeme adımı manuel
oluşturulacaksa, bu servis DealerSaleScheduleId : 0‘ a çeker. |
| DealerCustomerTypeId integer |
Saklı karttan değil de, müşteriye ödeme isteği göndererek ödeme yaptırılacaksa bu alana müşteri tipi ID si girilir. Bayiye özel Müşteri tipi Ruut tarafından oluşturulur ve ödeme isteği gönderecek bayiye bu Id önceden iletilir. |
| DefaultCard1Token guid |
Ödeme hangi karttan yapılacak. |
| DefaultCard2Token guid |
İlk karttan ödeme yapılamazsa, hangi kart denenecek. |
| DefaultCard3Token guid |
İlk 2 kart çalışmazsa, son olarak hangi kart denenecek. |
Örnek İstek (JSON)
{
"DealerSaleAuthentication": {
"DealerCode": "xxx",
"Username": "xxx",
"Password": "xxx",
"CheckKey": "aabbccddeeff"
},
"DealerSaleRequest": {
"DealerSaleId": "",
"SaleCode": "satis",
"Amount": "1",
"Currency": "TL",
"InstallmentNumber": "1",
"DealerSaleScheduleId": "1005",
"BeginDate": "20170821",
"EndDate": "20171230",
"HowManyTrial": "1",
"Description": "",
"PlanType": "3",
"DealerCustomerTypeId": "",
"DefaultCard1Token": "{9DE41BB0-E82F-4670-B36B-D71FF27A3111}",
"DefaultCard2Token": "",
"DefaultCard3Token": ""
}
}
Başarılı İstek Sonucu
Gönderilen istek verileri Ruut’ da başarılı bir şekilde işlenmişse, geri dönüş nesnesinin "ResultCode" alanında "Success" bilgisi yazar.
"Data" alanında ise dönen işlem sonucu bulunur. "Data" içinde yer alan bilgileri kontrol ederek akışlarınızı devam ettirebilirsiniz.
| Parametre |
Açıklama |
| DealerSaleId integer |
Ruut tarafında, satışın Unique ID sidir. |
| SaleCode string |
Bayi tarafında, satışın kodudur. |
| CustomerCode string |
Bayi tarafında, müşterinin kodudur. DealerCustomerId gönderilirse zorunlu değil. |
| DealerCustomerId integer |
Ruut tarafında, müşterinin Unique ID sidir. CustomerCode gönderilirse zorunlu değil. |
| ProductCode string |
Bayi tarafında, ürünün kodudur. DealerProductId gönderilirse zorunlu değil. |
| DealerProductId integer |
Ruut tarafında, ürünün Unique ID sidir. ProductCode gönderilirse zorunlu değil |
| Amount decimal |
Her ödemede tahsil edilecek tutar. (Not: toplam satış tutarı değildir!) (örn: 25.45 formatında yazılır.) |
| Currency string |
Zorunlu değil, gönderilmezse TL kabul edilir (TL, USD, EUR) |
| InstallmentNumber integer |
Zorunlu değil, gönderilmezse tek çekim kabul edilir (1..12) |
| DealerSaleScheduleId integer |
Zaman programının ID si (PlanType : 2 verilecekse, bu alana değer girilse de sistem sıfıra çeker, bu yüzden hiç gönderilmese de olur) |
| SaleDate date |
Satışın yapıldığı tarih (YYYYMMDD formatında, örn: "20170918") |
| BeginDate date |
Bu satışa ait ödemeler hangi tarihten itibaren başlayacak. (YYYYMMDD formatında, örn: "20170918") |
| EndDate date |
Bu satışa ait ödemeler hangi tarihte son bulacak. Eğer bir bitiş tarihi verilmezse (boş string gönderilirse veya bu alan hiç gönderilmezse), satış silinene kadar veya EndDate güncellenene kadar düzenli çekimler
devam eder.(YYYYMMDD formatında, örn: "19901218") |
| HowManyTrial integer |
Zorunlu değil, gönderilmezse 1 kabul edilir. (Karttan çekim yapıldığında başarısız olunursa kaç gün daha çekim denenecek) |
| Description string |
Zorunlu değil, açıklama detay alanı (Max 200 chars) |
| PlanType integer |
Zorunlu değil, gönderilmezse 1 kabul edilir (1: Ödeme adımları, verilen zaman programına göre otomatik oluşturulur, 2: Ödeme adımları manuel oluşturulmak zorunda, 3: Ödeme adımları hem manuel hem de otomatik oluşturulabilir.) Ödeme adımı manuel
oluşturulacaksa, bu servis DealerSaleScheduleId : 0‘ a çeker. |
| DealerCustomerTypeId integer |
Saklı karttan değil de, müşteriye ödeme isteği göndererek ödeme yaptırılacaksa bu alana müşteri tipi ID si girilir. Bayiye özel Müşteri tipi Ruut tarafından oluşturulur ve ödeme isteği gönderecek bayiye bu Id önceden iletilir. |
| DefaultCard1Token guid |
Ödeme hangi karttan yapılacak. |
| DefaultCard2Token guid |
İlk karttan ödeme yapılamazsa, hangi kart denenecek. |
| DefaultCard3Token guid |
İlk 2 kart çalışmazsa, son olarak hangi kart denenecek. |
Başarılı Sonuç Örneği
{
"Data": {
"DealerSaleId": 1003,
"SaleCode": "satis",
"DealerCustomerId": 1034,
"CustomerCode": "Customer",
"DealerProductId": 1009,
"ProductCode": "Product01",
"Amount": 1,
"Currency": "TL",
"InstallmentNumber": 1,
"DealerSaleScheduleId": 1005,
"SaleDate": "20170821",
"BeginDate": "20170821",
"EndDate": "20171230",
"HowManyTrial": 1,
"Description": "",
"PlanType": 3,
"DealerCustomerTypeId": 0,
"DefaultCard1Token": "9de41bb0-e82f-4670-b36b-d71ff27a3111",
"DefaultCard2Token": "",
"DefaultCard3Token": ""
},
"ResultCode": "Success",
"ResultMessage": "",
"Exception": null
}
Başarısız İstek Sonucu
Gönderilen istek verileri Ruut akışları içerisinde işlenemediyse, geri dönüş nesnesinin ResultCode alanında alttaki tablodaki hata kodlarından birisi bulunur.
Beklenmeyen yazılımsal bir hata oluştuğunda ise, ResultCode alanında EX yazar ve ResultMessage alanında alınan hata mesajı (Exception) yer alır.
Her iki durumda da, Data nesnesi null olarak gelir.
| ResultCode | Açıklama |
| DealerSale.UpdateSale.InvalidRequest | CheckKey hatalı ya da nesne hatalı ya da JSON bozuk olabilir. |
| DealerSale.UpdateSale.SaleCodeOrDealerSaleIdMustBeGiven | Satış kodu veya bayi satış id girilmelidir. |
| DealerSale.UpdateSale.DealerSaleNotFound | Bayi satışı bulunamadı. |
| DealerSale.UpdateSale.SaleCodeDoesntMatchDealerSaleId | Satış koduyla bayi satış id eşleşmiyor. |
| DealerSale.UpdateSale.EndDatePassed | Satışa ait ödemelerin bittiği tarih geçti. |
| DealerSale.UpdateSale.BeginDatePassed | Satışa ait ödemelerin başladığı tarih geçti. |
| DealerSale.UpdateSale.InvalidCurrencyCode | Para birimi kodu geçersiz. |
| DealerSale.AddSale.InvalidDealerCustomerTypeId | Müşteri tipi id geçersiz. |
| DealerSale.UpdateSale.RequestedBeginDatePassed | İstenen Başlangıç Tarihi Geçti. |
| EX | Beklenmeyen bir hata oluştu |
Başarısız Sonuç Örneği
{
"Data": null,
"ResultCode": "DealerSale.UpdateSale.RequestedBeginDatePassed",
"ResultMessage": "",
"Exception": null
}