> For the complete documentation index, see [llms.txt](https://developer.paywall.one/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.paywall.one/cuzdan-servisleri/4.-limit-yonetimi/3.-olustur-wallet.md).

# 3. Oluştur (Wallet)

## Cüzdan Bazında Limit Oluştur

<mark style="color:yellow;">`POST`</mark>`{{WalletUrl}}/api/v1/limit/by/wallet`&#x20;

{% hint style="info" %}
Not: Bu servisin kullanılabilmesi için **apikeypublic** ve **apiclientpublic** parametrelerinin Header alanına eklenmiş olması zorunludur.

\
[<mark style="color:green;">**WalletAPI Adresi**</mark>](/ortam.md)
{% endhint %}

**Gerekli header ve istek parametreleri:**

<details>

<summary><strong>Zorunlu header parametreleri</strong></summary>

<table><thead><tr><th width="162">Parametre</th><th width="79">Tip</th><th width="107">Zorunlu</th><th width="403">Açıklama</th></tr></thead><tbody><tr><td>apikeypublic</td><td>string</td><td>Evet</td><td>API erişiminde doğrulama için kullanılan genel anahtar bilgisidir.</td></tr><tr><td>apiclientpublic</td><td>string</td><td>Evet</td><td>İsteğin hangi istemciden geldiğini gösteren genel istemci anahtarıdır.</td></tr></tbody></table>

</details>

<details>

<summary><strong>İstek gövdesi parametreleri</strong></summary>

<table><thead><tr><th width="211">Parametre</th><th width="122">Tip</th><th width="109">Zorunlu</th><th width="403">Açıklama</th></tr></thead><tbody><tr><td>LimitType</td><td>integer</td><td>Evet</td><td>Limitin zaman periyodu tipi. <code>Daily</code> = Günlük, <code>Monthly</code> = Aylık, <code>Yearly</code> = Yıllık,  <code>Unlimited</code> = Süresiz</td></tr><tr><td>LimitCategory</td><td>integer</td><td>Evet</td><td>Limitin uygulanacağı işlem kategorisi. <code>Deposit</code> = Para yükleme, <code>Withdrawal</code> = Para çekme, <code>Transfer</code> = Transfer, <code>Purchase</code> = Satın alma, <code>Total</code> = Tüm kategoriler, <code>ExternalTransactionType</code> = Harici işlem tipi</td></tr><tr><td>LimitApproach</td><td>integer</td><td>Evet</td><td>Limitin hesaplanma yöntemi. <code>Amount</code> = Tutar bazlı, <code>Count</code> = Adet bazlı</td></tr><tr><td>Value</td><td>decimal</td><td>Evet</td><td>Limit değeri. <code>LimitApproach</code> = <code>Amount</code> ise maksimum tutar, <code>Count</code> ise maksimum işlem adedi</td></tr><tr><td>WalletId</td><td>guid</td><td>Evet</td><td>Limitin uygulanacağı cüzdanın benzersiz tanımlayıcısı (UUID).</td></tr><tr><td>ExternalTransactionTypeId</td><td>guid</td><td>Hayır</td><td>Kendi sisteminizdeki işlem tipini UUID olarak belirtir. <code>LimitCategory</code> = <code>ExternalTransactionType</code> olduğunda kullanılır. <code>ExternalTransactionTypeEnum</code> ile birlikte kullanılabilir, ikisi birbirinin alternatifidir</td></tr><tr><td>ExternalTransactionTypeEnum</td><td>string</td><td>Hayır</td><td>Kendi sisteminizdeki işlem tipini string olarak belirtir. <code>LimitCategory</code> = <code>ExternalTransactionType</code> olduğunda kullanılır. <code>ExternalTransactionTypeId</code> ile birlikte kullanılabilir, ikisi birbirinin alternatifidir</td></tr></tbody></table>

</details>

**Servise gönderilecek örnek bir JSON dosyası şu şekildedir :**

{% tabs %}
{% tab title="JSON" %}

```json
{
    "WalletId": "7883fb19-2359-4a9b-b917-f08a259898ed", // Cüzdan kimlik bilgisi
    "LimitType": 1, // Daily = 1 || Monthly = 2
    "LimitCategory": 1, // Deposit = 1, Withdrawal = 2, Transfer = 3, Purchase = 4, Total = 5, ExternalTransactionType = 6
    "LimitApproach": 1, // Amount = 1, Count = 2
    "Value": 1000.00,
    "ExternalTransactionTypeId": null,
    "ExternalTransactionTypeEnum": null
}
```

{% endtab %}
{% endtabs %}

**Servisten dönen parametreler şu şekildedir:**

<details>

<summary><strong>Parametreler ve açıklamaları</strong></summary>

<table><thead><tr><th width="234.05859375">Parametre</th><th width="162.38671875">Tip</th><th width="348.94140625">Açıklama</th></tr></thead><tbody><tr><td>IsFailure</td><td>bool</td><td>İlgili servis işleminin başarısız olup olmadığını belirten boolen değerdir.</td></tr><tr><td>IsSuccess</td><td>bool</td><td>İlgili servisin başarılı şekilde tamamlanıp tamamlanmadığını ifade eder.</td></tr><tr><td>Errors</td><td>Array</td><td>Servis sırasında oluşabilecek hata mesajlarının bulunduğu bilgi alanıdır.</td></tr><tr><td>Value</td><td>object</td><td>Servis başarılı ise dönen ana veri nesnesidir (detay nesne yapısıdır).</td></tr></tbody></table>

</details>

{% tabs %}
{% tab title="JSON" %}

```json
{
    "IsSuccess": true,
    "IsFailure": false,
    "Value": "598a4a0e-9e7a-4f09-9d11-1d7e7ffb584d"
}
```

{% endtab %}
{% endtabs %}
