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 Api kullanıcı adı
Password (string) Moka 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
CustomerCode (string) DealerCustomerId gönderilirse zorunlu değil. Satış bu müşteriye yapılacak.
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": "xxx",
		"Username": "xxx",
		"Password": "xxx",
		"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) Bayi tarafında, müşterinin kodudur. DealerCustomerId gönderilirse zorunlu değil.
DealerCustomerId (integer) Moka 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) Moka tarafında, ürünün Unique ID sidir. ProductCode gönderilirse zorunlu değil
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

ResultCodeAçıklama
DealerSale.AddSale.InvalidRequestCheckKey hatalı ya da nesne hatalı ya da JSON bozuk olabilir.
DealerSale.AddSale.CustomerCodeOrDealerCustomerIdMustBeGivenMüşteri kodu veya bayi müşteri id girilmelidir.
DealerSale.AddSale.ProductCodeOrDealerProductIdMustBeGivenÜrün kodu veya bayi ürün id girilmelidir.
DealerSale.AddSale.SaleDateIsRequiredSatış tarihi gerekli.
DealerSale.AddSale.AmountIsRequiredTutar bilgisi gerekli.
DealerSale.AddSale.DealerSaleScheduleIdIsRequiredZaman programı id gerekli.
DealerSale.AddSale.BeginDateIsRequiredSatışın hangi tarihte ödemelere başlacağı bilgisi gerekli.
DealerSale.AddSale.EndDateIsRequiredSatışın hangi tarihte ödemelerin son bulacağı bilgisi gerekli.
DealerSale.AddSale.DefaultCard1TokenIsRequiredÖdemenin hangi karttan yapılacağı bilgisi gerekli.
DealerSale.AddSale.DealerProductIdNotFoundMüşterinin ürün id bulunamadı.
DealerSale.AddSale.ProductCodeDoesntMatchDealerProductIdÜrün koduyla bayi ürün id eşleşmiyor.
DealerSale.AddSale.DealerCustomerIdNotFoundBayi müşteri id bulunamadı.
DealerSale.AddSale.CustomerCodeDoesntMatchDealerCustomerIdMüşteri koduyla bayi müşteri id eşleşmiyor.
DealerSale.AddSale.SaleDateAlreadyPassedSatışın yapıldığı tarih geçti.
DealerSale.AddSale.BeginDateAlreadyPassedSatışa ait ödemelerin başladığı tarih geçti.
DealerSale.AddSale.EndDateAlreadyPassedSatışa ait ödemelerin bittiği tarih geçti.
DealerSale.AddSale.BeginSaleEndDateExceptionBaşlangıç ve bitiş satış tarihi istisnası.
DealerSale.AddSale.DealerSaleScheduleNotFoundZaman programı bulunamadı.
DealerSale.AddSale.InvalidCardTokenKart Token bilgisi geçersiz.
DealerSale.AddSale.InvalidDefaultCard2TokenVarsayılan 2. kart Token bilgisi geçersiz.
DealerSale.AddSale.InvalidDefaultCard3TokenVarsayılna 3. kart Token bilgisi geçersiz.
DealerSale.AddSale.InvalidDealerCustomerTypeIdMüşteri tipi id geçersiz.
DealerSale.AddSale.InvalidCurrencyCodePara birimi kodu geçersiz.
EX Beklenmeyen bir hata oluştu

Başarısız Sonuç Örneği


{
	"Data": null,
	"ResultCode": "DealerSale.AddSale.DefaultCard1TokenIsRequired",
	"ResultMessage": "",
	"Exception": null
}