Servis Adresi
/DealerSale/AddSale
İstek Parametreleri
DealerSaleAuthentication
Parametre
|
Açıklama
|
DealerCode (string) |
Moka sistemi tarafından verilen bayi kodu |
Username (string) |
Moka sistemi tarafından verilen kullanıcı adı |
Password (string) |
Moka sistemi tarafından verilen şifre |
CheckKey (string) |
Kontrol anahtarı (DealerCode + "MK" + Username + "PD" + Password) bilgileriyle elde edilen anahtar SHA-256 hash algoritmasından geçirilerek bu alanda gönderilecektir
|
DealerSaleRequest
Parametre
|
Açıklama
|
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) |
SaleCode (string) |
Zorunlu değil, gönderilmezse yeni guid oluşturulur (Max 100 chars) |
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 Moka 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": "ELİF",
"Username": "Elif",
"Password": "Elif123",
"CheckKey": "aabbccddeeff"
},
"DealerSaleRequest": {
"CustomerCode": "Customer",
"DealerCustomerId": "",
"ProductCode": "Product01",
"DealerProductId": "",
"SaleCode": "satis",
"Amount": "0.01",
"Currency": "TL",
"InstallmentNumber": "1",
"DealerSaleScheduleId": "1005",
"BeginDate": "20170821",
"EndDate": "20171230",
"HowManyTrial": "1",
"Description": "",
"PlanType": "1",
"DealerCustomerTypeId": "",
"DefaultCard1Token": "{9DE41BB0-E82F-4670-B36B-D71FF27A3111}",
"DefaultCard2Token": "",
"DefaultCard3Token": "",
"SaleDate": "20170821"
}
}
Başarılı İstek Sonucu
Gönderilen istek verileri Moka’ 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 bilgiler kontrol edilerek kayıt gerçekleştirebilirsiniz.
Parametre
|
Açıklama
|
DealerSaleId (integer) |
Moka tarafında, satışın Unique ID sidir |
SaleCode (string) |
Bayi tarafında, satışın kodudur |
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) |
SaleCode (string) |
Zorunlu değil, gönderilmezse yeni guid oluşturulur (Max 100 chars) |
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 Moka 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": 0.01,
"Currency": "TL",
"InstallmentNumber": 1,
"DealerSaleScheduleId": 1005,
"SaleDate": "20170821",
"BeginDate": "20170821",
"EndDate": "20171230",
"HowManyTrial": 1,
"Description": "",
"PlanType": 1,
"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 Moka’ da başarılı bir şekilde işlenemediyse, geri dönüş nesnesinin "ResultCode" alanında alttaki tablodaki hata kodlarından birisi bulunur. "Data" nesnesi ise null olarak gelir.
ResultCode
|
Açıklama
|
DealerSale.AddSale.InvalidRequest | |
DealerSale.AddSale.CustomerCodeOrDealerCustomerIdMustBeGiven | |
DealerSale.AddSale.ProductCodeOrDealerProductIdMustBeGiven | |
DealerSale.AddSale.SaleDateIsRequired | |
DealerSale.AddSale.AmountIsRequired | |
DealerSale.AddSale.DealerSaleScheduleIdIsRequired | |
DealerSale.AddSale.BeginDateIsRequired | |
DealerSale.AddSale.EndDateIsRequired | |
DealerSale.AddSale.DefaultCard1TokenIsRequired | |
DealerSale.AddSale.DealerProductNotFund | |
DealerSale.AddSale.ProductCodeDoesntMatchDealerProductId | |
DealerSale.AddSale.DealerCustomerNotFound | |
DealerSale.AddSale.CustomerCodeDoesntMatchDealerCustomerId | |
DealerSale.AddSale.SaleDateAlreadyPassed | |
DealerSale.AddSale.BeginDateAlreadyPassed | |
DealerSale.AddSale.EndDateAlreadyPassed | |
DealerSale.AddSale.BeginSaleEndDateException | |
DealerSale.AddSale.DealerSaleScheduleNotFound | |
DealerSale.AddSale.InvalidCardToken | |
DealerSale.AddSale.InvalidDefaultCard2Token | |
DealerSale.AddSale.InvalidDefaultCard3Token | |
DealerSale.AddSale.InvalidDealerCustomerTypeId | |
DealerSale.AddSale.InvalidCurrencyCode | |
EX |
Beklenmeyen bir hata oluştu |
Başarısız Sonuç Örneği
{
"Data": null,
"ResultCode": "DealerSale.AddSale.DefaultCard1TokenIsRequired",
"ResultMessage": "",
"Exception": null
}