> 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/1.-olustur-sistem.md).

# 1. Oluştur (Sistem)

## Sistem Geneli Limit Oluştur

<mark style="color:yellow;">`POST`</mark>`{{WalletUrl}}/api/v1/limit/by/merchant`&#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>RegionId</td><td>integer</td><td>Evet</td><td>Limitin geçerli olduğu bölgenin tanımlayıcısı</td></tr><tr><td>CurrencyCode</td><td>string</td><td>Hayır</td><td>Limitin uygulanacağı para birimi kodu. <code>LimitApproach</code> = <code>Amount</code> ise belirtilmesi önerilir</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
{
    "LimitType": "Daily",
    "LimitCategory": "Purchase",
    "LimitApproach": "Amount",
    "Value": 1000.00,
    "RegionId": 1,
    "CurrencyCode": "TRY",
    "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" %}
{% code lineNumbers="true" %}

```json
{
    "Value": "5c9f2a4b-f4a7-486a-b3c9-b42c5b69386c",
    "Errors": [],
    "IsSuccess": true,
    "IsFailure": false

```

{% endcode %}
{% endtab %}
{% endtabs %}
