> 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/2.-cuzdan/5.-olustur.md).

# 5. Oluştur

## **Cüzdan Oluştur**

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

{% hint style="info" %}
Not: Servis çağrısından önce **apikeypublic** ve **apiclientpublic** bilgilerinin Header alanına eklenmiş olması şarttır.

[<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 isteklerinde kimlik doğrulaması için kullanılan genel erişim anahtarıdır.</td></tr><tr><td>apiclientpublic</td><td>string</td><td>Evet</td><td>API'yi çağıran istemcinin kimliğini belirten açık anahtar değeridir.</td></tr></tbody></table>

</details>

<details>

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

<table><thead><tr><th width="166">Parametre</th><th width="121">Tip</th><th width="120">Zorunlu</th><th>Açıklama</th></tr></thead><tbody><tr><td>WalletOwnerId</td><td>Guid</td><td>Evet</td><td>Cüzdan sahibinin kimlik bilgisi</td></tr><tr><td>Name</td><td>string</td><td>Evet</td><td>Cüzdan hesabına verilecek olan isim</td></tr><tr><td>RegionId</td><td>int</td><td>Evet</td><td>Cüzdan'a ait ülkenin kimlik bilgisi<br><br>Bkz: <a href="/pages/KiW740WHj5K5RTpukhMh">Bölgeler</a></td></tr><tr><td>CurrencyCode</td><td>string</td><td>Evet</td><td>Para birimi<br><br>Bkz: <a href="/pages/bahfUMz1dqpN1ZCnpVtM">Para birimi</a></td></tr><tr><td>Alias</td><td>string</td><td>Hayır</td><td>Tekil cüzdan numarası</td></tr><tr><td>AllowOverdraft</td><td>bool</td><td>Hayır</td><td>Cüzdanın eksi bakiyeye düşmesine izin verilip verilmediğini belirtir.<code>true</code> ise bakiye sıfırın altına inebilir.</td></tr><tr><td>OverdraftLimit</td><td>decimal</td><td>Hayır</td><td>Cüzdanın düşebileceği maksimum eksi bakiye limitini belirtir.<code>AllowOverdraft = true</code> olduğunda geçerlidir.</td></tr></tbody></table>

</details>

<details>

<summary><i class="fa-memo-circle-info">:memo-circle-info:</i>   <mark style="color:blue;"><strong><code>İş Kuralları</code></strong></mark></summary>

{% hint style="info" %}

* `WalletOwnerId` alanında belirtilen cüzdan sahibi, ilgili Merchant altında aktif olarak kayıtlı olmalıdır. Silinmiş veya pasif durumdaki bir cüzdan sahibi ile cüzdan oluşturulamaz.
* `Alias` değeri aynı Merchant altında benzersiz olmalıdır. Başka bir cüzdanda kullanılmış bir alias ile yeni cüzdan oluşturulamaz.
* `CurrencyCode` alanında gönderilen para birimi kodu, sistemde tanımlı ve aktif olarak desteklenen bir para birimine karşılık gelmelidir.
* Aynı `WalletOwnerId`, `RegionId` ve `CurrencyCode` kombinasyonu için en fazla 5 cüzdan oluşturulabilir. Bu limit aşıldığında yeni cüzdan oluşturulmasına izin verilmez.
  {% endhint %}

</details>

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

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

```json
{
  "WalletOwnerId": "9edb23f2-7362-42a8-8eb4-0c89ffb397b0",
  "Name": "{{$randomFirstName}}",
  "RegionId": 1,
  "CurrencyCode": "try", // usd, eur, all
  "Alias": "1234567890", // 10 digit number
  "AllowOverdraft": false,
  "OverdraftLimit": 0
}
```

{% 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>Yapılan işlemin başarısızlıkla sonuçlanıp sonuçlanmadığını belirten bilgi alanıdır.</td></tr><tr><td>IsSuccess</td><td>bool</td><td>API çağrısının başarılı tamamlanıp tamamlanmadığını ifade eder.</td></tr><tr><td>Errors</td><td>Array</td><td>Servis sırasında karşılaşılan hata kayıtlarının listelendiği veri alanıdır.</td></tr><tr><td>Value</td><td>Array&#x3C;Items></td><td>API yanıtı içerisinde dönen ana veri nesnesini temsil eder.</td></tr><tr><td><mark style="color:yellow;">Value</mark> > Id</td><td>Guid</td><td>İlgili kaydın sistemdeki benzersiz kimlik numarasıdır.</td></tr><tr><td><mark style="color:yellow;">Value</mark> > WalletOwnerId</td><td>Guid</td><td>Cüzdan sahibine ait olan eşsiz kimlik numarasıdır.</td></tr><tr><td><mark style="color:yellow;">Value</mark> > Name</td><td>string</td><td>Cüzdan sahibinin ad veya unvan bilgisidir.</td></tr><tr><td><mark style="color:yellow;">Value</mark> > Alias</td><td>string</td><td>Cüzdana tanımlanan takma ad veya kısa isim bilgisidir.</td></tr><tr><td><mark style="color:yellow;">Value</mark> > RegionId</td><td>string</td><td>Cüzdan sahibinin ilişkilendirildiği coğrafi bölge kimlik numarasıdır.</td></tr><tr><td><mark style="color:yellow;">Value</mark> > CurrencyCode</td><td>string</td><td>Cüzdanın bağlı olduğu para biriminin kod bilgisidir (örneğin: TRY, USD).</td></tr><tr><td><mark style="color:yellow;">Value</mark> > Balance</td><td>decimal</td><td>Cüzdanın toplam bakiyesini gösteren finansal değerdir.</td></tr><tr><td><mark style="color:yellow;">Value</mark> > AvailableBalance</td><td>decimal</td><td>İşlem yapmaya uygun olan kullanılabilir bakiye bilgisidir.</td></tr><tr><td><mark style="color:yellow;">Value</mark> > TotalGiftBalance</td><td>decimal</td><td>Cüzdanda yer alan toplam hediye bakiyesi miktarıdır.</td></tr><tr><td><mark style="color:yellow;">Value</mark> > BlockedBalance</td><td>decimal</td><td>Kullanımı kısıtlanmış olan bloke bakiye miktarıdır.</td></tr><tr><td><mark style="color:yellow;">Value</mark> >CreatedAt</td><td>DateTime</td><td>Kaydın oluşturulduğu tarih ve zaman damgasıdır.</td></tr><tr><td><mark style="color:yellow;">Value</mark> > AllowOverdraft</td><td>bool</td><td>Cüzdanın eksi bakiyeye düşmesine izin verilip verilmediğini belirtir.<code>true</code> ise bakiye sıfırın altına inebilir.</td></tr><tr><td><mark style="color:yellow;">Value</mark> > OverdraftLimit</td><td>decimal</td><td>Cüzdanın düşebileceği maksimum eksi bakiye limitini belirtir.<code>AllowOverdraft = true</code> olduğunda geçerlidir.</td></tr></tbody></table>

</details>

{% tabs %}
{% tab title="JSON" %}
{% code lineNumbers="true" %}

```json
{
    "IsSuccess": true,
    "IsFailure": false,
    "Value": {
        "Id": "e75df134-185a-4b2b-b501-719dba2129c4",
        "WalletOwnerId": "0a949877-0ea0-48c3-9c92-41c9e33c461d",
        "Name": "External Test Wallet",
        "Alias": "5746347646",
        "RegionId": 1,
        "CurrencyCode": "TRY",
        "Balance": 0,
        "AvailableBalance": 0,
        "TotalGiftBalance": 0,
        "BlockedBalance": 0,
        "CreatedAt": "2025-08-20T10:04:01.3659489Z",
        "AllowOverdraft": false,
        "OverdraftLimit": 0
    }
}
```

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