# 5.2.1 Limit İsteğinin Başlatılması

Müşterinin bilgileri ile Kkb talebinin veya ön tanımlı limit isteğinin başlatıldığı servistir. Gönderilen Tckn eğer sistemde yoksa öncelikle müşteri Haso sistemine kaydedilir. Eğer müşteri Haso sisteminde kayıtlı değil ise veya kayıtlı olmasına rağmen limit belirlenmesi gerekiyorsa Kkb talebi yapılır. Kkb talebi başarılı yapıldı ise Kkb tarafından müşterinin telefonuna Pin Kodu gönderilir. 2. Adımda girilecek olan PinKodu ile birlikte gönderilmek üzere KkbRefNo parametresi çıkış parametrelerinde yer alır. Kkb talebi başarısız ise hata kodu geri döner. Eğer müşteri Haso sisteminde kayıtlı ve limit belirlenmesine ihtiyaç yoksa response olarak müşterinin mevcut limitini içeren CustomerInfo modeli döner. Ön tanımlı limit verilmek isteniyorsa PreDefinedLimit request parametresi sıfırdan büyük gönderilmelidir. PreDefinedLimit>0 ise kkb isteği yapılmadan otp doğrulaması ile satıcı limiti müşteriye tanımlanır.&#x20;

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="221">Parametre adı</th><th width="144">Parametre Tipi </th><th width="65">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>shopperName</td><td>String</td><td>Z</td><td>Müşterinin adı bilgisidir. Tckn doğrulamada kullanıldığı için müşterinin kimliğinde nasıl yazıyorsa aynen girilmesi gerekir. Eğer orta adı var ise o da girilmelidir.</td></tr><tr><td>shopperSurname</td><td>String</td><td>Z</td><td>Müşterinin soyadı bilgisidir. Tckn doğrulamada kullanıldığı için müşterinin kimliğinde nasıl yazıyorsa aynen girilmesi gerekir.</td></tr><tr><td>tckn</td><td>String(11)</td><td>Z</td><td>Müşterinin 11 haneli tckn bilgisidir.</td></tr><tr><td>mobileNumber</td><td>String(10)</td><td>Z</td><td>Başında ülke kodu veya sıfır olmadan girilen 10 haneli cep telefonu numarasıdır. Örneğin 5161112233 formatında gönderilmelidir.</td></tr><tr><td>email</td><td>String</td><td>Z</td><td>Müşterinin sisteme kayıt olacağı email adresidir.</td></tr><tr><td>dealerSegment</td><td>String(10)</td><td>Z</td><td>Müşterinin satıcı tarafındaki segmentidir.</td></tr><tr><td>birthDate</td><td>DateTime</td><td>Z</td><td>“yyyy-mm-dd” olarak gönderilmesi gereken doğum tarihi parametresidir. Tckn doğrulamada doğum yılı gerektiği için önemli bir parametredir.</td></tr><tr><td>PreDefinedLimit</td><td>String</td><td>O</td><td>Ön tanımlı limit tutarıdır. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır.</td></tr><tr><td>testOn</td><td>Bool</td><td>O</td><td>Gerçek Kkb isteği yapmamak için kullanılır. Eğer true gönderilirse gerçek kkb isteği yapılmaz. Sadece sandbox ortamında çalışır.</td></tr><tr><td>skipTcknValidation</td><td>Bool</td><td>O</td><td>True gönderilirse nvi servislerinden tckn doğrulaması yapılmaz. Sadece tckn’nin 11 karakterli nümerik olması kontrolü yapılır.</td></tr><tr><td>SpecialLimit</td><td>String</td><td>O</td><td>Müşterinin alacağı kendi limitine ilave olarak özel limit tanımlanmak isterse bu parametre ile özel limit değeri gönderilebilir.</td></tr><tr><td>forceToPredefinedLimit</td><td>Bool</td><td>O</td><td>Ön tanımlı limit göderildiğinde başka şarta bakmadan ön tanımlı limitin kullanıcıya tanımlanması zorlanır.</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><p></p><p><mark style="color:red;">merchantId + ipAddress + shopperName + shopperSurname</mark></p><p><mark style="color:red;">+ tckn + birthDate + mobileNumber + email + dealerSegment + 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.</p></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 width="157">Parametre adı </th><th width="224">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Success</td><td>bool</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, object</mark>></td><td>Eğer success=true ise key-value şeklinde data döner.</td></tr></tbody></table>

Müşteri Haso sisteminde kayıtlı değilse veya olmasına rağmen Kkb sorgusu ihtiyacı varsa kkb talebi yapılır. Bu durumda Data parametresi içeriğinde şu key değerleri olur.

<table data-full-width="true"><thead><tr><th width="196">Parametre Adı</th><th width="121">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“KkbRefNo”]</td><td>String</td><td><p></p><ol start="2"><li>ve 3. adımda request olarak kullanılacaktır.</li></ol></td></tr><tr><td>Data[“Message”]</td><td>String</td><td>Bilgi mesajıdır.</td></tr><tr><td>Data[“KkbPhones”]</td><td>List&#x3C;string></td><td>Kkb’de tanımlı olan telefon numaralarının maskelenmiş formatıdır.</td></tr><tr><td>Data[“CustomerId”]</td><td>String</td><td>Kaydedilen müşteri için verilen unique değerdir. Bu değeri kendi sisteminizde müşteri ile eşleştirmek için kullanabilirsiniz.</td></tr><tr><td>Data[“OtpCode”]</td><td>String</td><td>Öntanımlı limiti gönderilmiş ise otp sms işlemini satıcı kendisi gönderecekse müşteriye gönderilecek sms içeriğinde yer alacak olan kod değeridir.</td></tr></tbody></table>

Eğer müşteri zaten Hasoda kayıtlı ve Kkb sorgu ihtiyacı yoksa CustomerId ve güncel limit bilgisini içeren CustomerInfo model döner. Normalde müşterinin limit ihtiyacı yok ise zaten bu endpoint çağrılmamalıdır.

<table data-full-width="true"><thead><tr><th width="211">Parametre Adı</th><th width="83">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“CustomerInfo”]</td><td>Model</td><td>GetCustomerInformation endpointinde de bulunan response modeldir.</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://storedocs.haso.com.tr/5.-servis-metodlari/5.2.-limit-belirle/5.2.1-limit-isteginin-baslatilmasi.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.
