# 5.1. Müşteri Limit Bilgilerini Getir

Müşteri bilgilerini ve/veya taksit planını getirmek için kullanılır. Eğer müşteri daha önce Haso başvurusu yapmışsa başvuru servisinde dönen ödeme planı cevabında işlemi yapan müşterinin CustomerId parametresi de döner. Müşteriye özel üretilen bu unique bilgiyi kendi veritabanınıza kaydettiğinizde müşteri tekrar ödeme sayfanıza geldiğinde taksitler ile birlikte müşterinin limit bilgilerini de bu servis ile gösterebilirsiniz.&#x20;

Servis Url: <mark style="color:red;">{SERVIS\_URL}/Index/GetCustomerInformation</mark>

<table data-full-width="true"><thead><tr><th>Parametre adı</th><th width="153">Parametre  Tipi</th><th width="66">Z/O</th><th> Açıklama</th></tr></thead><tbody><tr><td>merchantId</td><td>String</td><td>Z</td><td>Haso tarafından size verilen sabit parametredir.</td></tr><tr><td>ipAddress</td><td>String</td><td>O</td><td>İstek yapan istemcinin ip adresi. (Önemli: Lokal makinenizde yapacağınız denemelerde mutlaka dış IP adresini gönderdiğinizden emin olun)</td></tr><tr><td>customerId</td><td>String</td><td>O</td><td>Müşterinin önceki başvurusu cevabında size gönderilen müşteriyi tanımlayan unique değerdir. Eğer yeni müşteri ise null gönderebilirsiniz.</td></tr><tr><td>orderAmount</td><td>String</td><td>Z</td><td>Sipariş tutarı. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır.</td></tr><tr><td>notCalculateFees</td><td>Bool</td><td>O</td><td>Ekstra ücret hesaplanmaması isteniyorsa true gönderilmeli.</td></tr><tr><td>forceRiskFreeEvaluate</td><td>Bool</td><td>O</td><td>true geldiğinde riskli müşterilerden ilk taksiti peşin olarak almayacak şekilde ayarlanır</td></tr><tr><td>postponeSelected</td><td>Bool</td><td>O</td><td>Taksitler ertelemeli olarak hesaplanacak ise true gönderilir. False ise taksitlerde erteleme yapılmaz.</td></tr><tr><td>RevisedFeeRate</td><td>İnt</td><td>O</td><td>Fee değerinde yapılacak değişikliği belirten değerdir. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır. 0 gönderilirse veya gönderilmezse fee değerinde değişiklik yapılmaz. 20 gönderilirse yeni fee değeri orjinal feenin %20’sidir.</td></tr><tr><td>availableLimit</td><td>int</td><td>O</td><td>Satıcı tarafında müşterinin anlık limiti tutuluyorsa peşin ödeme hesabı için <strong>availableLimit</strong> hasoya bu parametre ile gönderilir. Ondalık sayıdan kurtarmak için 100 ile çarparak gönderiniz.<br><mark style="color:purple;"><strong>Dikkat</strong>: Bu parametre 0'dan büyük gönderilirse Haso tarafında limit kontrolü yapılmaz.</mark> Sadece limit aşımı peşin ödeme hesaplaması yapılır.</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + ipAddress + customerId + orderAmount + merhant_salt</mark> parametreleri ile sha256 algoritması ve HMAC(http://en.wikipedia.org/wiki/Hash-based_message_authentication_code) yöntemi ile şifreleyerek token oluşturur. Sonrasında token'ı base64 hale dönüştürür. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr><tr><td>basketList</td><td>List model</td><td>O</td><td>Sepette bulunan ürünleri aşağıdaki bilgileri gönderilirse erteleme, peşinat, taksit sayısı ve işlem ücreti gibi hesaplamalarda özelleştirme yapılabilir.</td></tr><tr><td>basketList.skuCode</td><td>String</td><td>O</td><td>Ürününüzün sku kodudur.</td></tr><tr><td>basketList.skudefinitionId</td><td>String</td><td>O</td><td>Ürün grubu kodudur.</td></tr><tr><td>basketList.skuAmount</td><td>İnt</td><td>O</td><td>Ürün tutarının 100 ile çarpılmış halidir.</td></tr><tr><td>basketList.skuMerchant</td><td>String</td><td>O</td><td>Ürünün satan satıcıya verdiğiniz koddur.</td></tr><tr><td>basketList.skuMerchantContributionRate</td><td>İnt</td><td>O</td><td>Taksit planında çıkan fee değerinin ürünün sepetteki oranına göre hangi satıcı ürünü için ne kadar fee olacağı hesaplanabilir. Böylelikle satıcı bazlı fee hesaplanabilir.</td></tr></tbody></table>

Giriş parametreleri Servis Url adresine WebRequest ile post isteği yapılır. İstek sonucunda Json olarak response döner.

#### **Çıkış Parametreleri**

<table data-full-width="true"><thead><tr><th>Parametre adı</th><th>Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Success</td><td><mark style="color:blue;">bool</mark></td><td>Yapılan isteğin başarılı sonuç dönüp dönmediğini bildirir. False dönerse Errors parametresi doludur. True dönerse Data parametresi doludur.</td></tr><tr><td>Errors</td><td>List&#x3C;<mark style="color:blue;">string</mark>></td><td>Success=false ise işlem ile ilgili hataları liste şeklinde getirir.</td></tr><tr><td>Data</td><td>Dictionary&#x3C;<mark style="color:blue;">string</mark>, <mark style="color:blue;">object</mark>></td><td>Eğer success=true ise key-value şeklinde data döner.</td></tr></tbody></table>

#### Data parametresinde müşteri limit bilgileri ile taksit değerleri vardır. Data parametresi içeriği ise şöyledir:

<table data-full-width="true"><thead><tr><th width="357">Parametre adı</th><th width="117">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“FirstPaymentDate”]</td><td>DateTime</td><td>İlk ödeme günüdür.</td></tr><tr><td>Data[“DownPaymentAmount”]</td><td>Decimal</td><td>Limit aşımı durumunda peşin alınacak tutar değeridir.</td></tr><tr><td>Data["DownPaymentType"]</td><td>string</td><td>Limit aşımında peşin alma olacaksa hangi kuraldan olduğunu belirten değerdir.</td></tr><tr><td>Data[“PostponeEnabled”]</td><td>Bool</td><td>Taksit Erteleme seçilip seçilemeyeceğini belirtir.</td></tr><tr><td>Data[“CustomerInfo”]</td><td></td><td>Müşteri limit bilgilerini içeren modeldir. Bu modele ait parametreler şöyledir.</td></tr><tr><td>CustomerInfo.customerID</td><td>String</td><td>Requestte gönderilen CustomerId değeridir.</td></tr><tr><td>CustomerInfo.customerLimit</td><td>Decimal</td><td>Müşterinin kullanılabilir limitidir.</td></tr><tr><td>CustomerInfo.specialLimit</td><td>Decimal</td><td>Müşteriye atanan özel limit değeridir.</td></tr><tr><td>CustomerInfo.initialLimit</td><td>Decimal</td><td>Müşterinin ilk limit aldığı andaki değerdir.</td></tr><tr><td>CustomerInfo.extraLimit</td><td>Decimal</td><td>Müşterinin belirli skularda kullanabileceği ek limit değeridir.</td></tr><tr><td>CustomerInfo.diffExtraAndCustomerLimit</td><td>Decimal</td><td>Müşterinin ek limiti ile geçerli limiti arasındaki farktır.</td></tr><tr><td>CustomerInfo.hasOverduePayments</td><td>Bool</td><td>Müşterinin vadesi geçen ödenmemiş ödeme kaydı olup olmadığı bilgisini verir.</td></tr><tr><td>CustomerInfo.totalOrderedAmount</td><td>Decimal</td><td>Müşterinin toplam başarılı sipariş tutarıdır.</td></tr><tr><td>CustomerInfo.totalPaidAmount</td><td>Decimal</td><td>Müşterinin taplam ödeme yaptığı tutardır.</td></tr><tr><td>CustomerInfo.totalRemainingAmount</td><td>Decimal</td><td>Müşterinin ödemesi gereken toplam tutardır.</td></tr><tr><td>CustomerInfo.balanceAmount</td><td>Decimal</td><td>Müşterinin sahip olduğu bakiye tutarıdır.</td></tr><tr><td>CustomerInfo.isNeedLimitRequest</td><td>Bool</td><td>Eğer bu parametre True ise Limit sorgusu yapılması gerekmektedir.</td></tr><tr><td>CustomerInfo.limitIncreased</td><td>Bool</td><td>Farklı zamanlarda segment cap limitlerinde değişiklik yapılabilir. Müşterinin de limitinde artış meydana gelebilir. Eğer limiti artmışsa bu parametre true yapılır. Müşteriye limitinin arttığını bilgilendirmek isteyebilirsiniz.</td></tr><tr><td>CustomerInfo.dealerSegment</td><td>String</td><td>Müşterinin geçerli satıcı segmentidir.</td></tr><tr><td>CustomerInfo.hasoSegment</td><td>String</td><td>Müşterinin geçerli haso segmentidir.</td></tr><tr><td>CustomerInfo.limitValidityDate</td><td>DateTime</td><td>Limit geçerlilik tarihidir.</td></tr><tr><td>Data[“Installments”]</td><td>List</td><td>Sipariş tutarına göre kaç taksit olacaksa o sayıda item’a sahip bir liste gelir.</td></tr></tbody></table>

#### Listenin içindeki her bir taksit modeline ait alanlar ise şöyledir.

<table data-full-width="true"><thead><tr><th width="416">Parametre adı</th><th width="95">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Installments.InstallmentNo</td><td>Int</td><td>Kaç taksit olacağını belirten taksit sayısıdır.</td></tr><tr><td>Installments.Price</td><td>Decimal</td><td>Taksit tutarıdır.</td></tr><tr><td>Installments.TransactionPrice</td><td>Decimal</td><td>Sipariş tutarıdır. Ekstra ücretler eklenmiş taksitler ilave olan tutar değildir. Taksitleri getirmek için orderAmount parametresi olarak gönderdiğiniz değerdir.</td></tr><tr><td>Installments.TotalAmount</td><td>Decimal</td><td>Toplam işlem tutarıdır.</td></tr><tr><td>Installments.downPayment</td><td>Decimal</td><td>Taksit kaydı eğer peşin alınacak ise bu tutar ile gösterilir.</td></tr><tr><td>Installments.downPaymentType</td><td>String</td><td>peşin alma olacaksa hangi kuraldan dolayı olduğunu belirtir</td></tr><tr><td>Installments.Fee</td><td>Decimal</td><td>Sipariş tutarı haricinde ödenecek toplam ekstra tutardır.</td></tr><tr><td>Installments.originalFee</td><td>Decimal</td><td>Fee değerinde indirim yapıldığını göstermek için kullanılır. üstü çizili değerdir. İşlem ücreti listelerindeki değerdir.</td></tr><tr><td>Installments.feeDiscountCampaigns</td><td>List</td><td>Fee indirimi uygulanan kampanya adı ve indirim oranlarını listeler</td></tr><tr><td>Installments.merchantContributions</td><td>List</td><td>Requestte basketList parametresinde gönderilen skuMerchantContributionRate değerine göre hangi satıcının ne kadar işlem ücretini karşılayacağı gösterilir.</td></tr><tr><td>Installments.merchantContributions.skuCode</td><td>string</td><td>basketList ile gönderilen sku</td></tr><tr><td>Installments.merchantContributions.skuMerchant</td><td>string</td><td>basketList ile gönderilen merchant kodu</td></tr><tr><td>Installments.merchantContributions. skuMerchantContributionAmount</td><td>Decimal</td><td>Merchant için hesaplanan işlem ücreti katkı bedeli</td></tr><tr><td>Installments.PaymentPlan</td><td>List</td><td>Her taksit değeri için ödeme planını list olarak gösterir. Bu modele ait alt parametreler ise şöyledir.</td></tr><tr><td>Installments.PaymentPlan. InstallmentNo</td><td>Int</td><td>Ödeme planındaki taksit numarasıdır.</td></tr><tr><td>Installments.PaymentPlan. installmentPayment</td><td>Decimal</td><td>Ödeme planındaki taksitin tutarıdır.</td></tr><tr><td>Installments.PaymentPlan. termDate</td><td>Date</td><td>Ödeme planındaki taksidin vade tarihidir.</td></tr><tr><td>Installments.PaymentPlan.fee</td><td>Decimal</td><td>İşlemdeki fee değerinin taksit başına düşen değeri</td></tr><tr><td>Installments.PaymentPlan.originalFee</td><td>Decimal</td><td>İşlemdeki original fee değerinin taksit başına düşen değeri</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://restdocs.haso.com.tr/5.-servis-metodlari/5.1.-musteri-limit-bilgilerini-getir.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
