Satış Ekleme

Servis Adresi

İ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

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

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
}