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

# 2. Oluştur

## Cüzdan Sahibi Oluşturma

<mark style="color:yellow;">`POST`</mark> `{{Base Adres}}/api/v1/walletowner`

{% hint style="info" %}
**Not**: Bu servisi çağırmadan önce, **apikeypublic** ve **apiclientpublic** parametrelerini **Header** kısmına eklemeniz gereklidir.

[<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>Üye işyeri paneli üzerinden oluşturulan ve API çağrılarında kimlik doğrulama amacıyla kullanılan genel anahtar bilgisidir.</td></tr><tr><td>apiclientpublic</td><td>string</td><td>Evet</td><td>Üye işyeri paneli üzerinden oluşturulan ve API erişiminde istemci bilgisini tanımlayan genel istemci anahtarıdır.</td></tr></tbody></table>

</details>

<details>

<summary><strong>İstek gövdesi 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>FullName</td><td>string</td><td>Hayır</td><td>Cüzdan sahibinin ad ve soyad bilgisini bir arada tutar. Kimlik bilgisi olarak gösterimlerde yer alır.</td></tr><tr><td>Email</td><td>string</td><td>Hayır</td><td>Kullanıcının kayıtlı e-posta adresidir. Bildirimler, uyarılar ve iletişim kanalları bu adres üzerinden yürütülür.</td></tr><tr><td>PhoneNumber</td><td>string</td><td>Hayır</td><td>Kullanıcıya ait telefon numarası bilgisidir. Gerekli durumlarda doğrulama süreçlerinde işleme alınır.</td></tr><tr><td>OwnerType</td><td>integer</td><td>Evet</td><td>Cüzdan sahibinin türünü belirtir. <code>1</code> = <code>Individual</code>, <code>2</code> = <code>Corporate</code> Kapsam belirleyici bir parametredir.</td></tr><tr><td>TaxNumber</td><td>string</td><td>Hayır</td><td>Vergi mükellefi kullanıcılar için tanımlanmış vergi numarası bilgisidir. Vergisel işlemlerde aktif olarak kullanılır.</td></tr><tr><td>IdentityNumber</td><td>string</td><td>Hayır </td><td>Gerçek kişilere özel tanımlanan kimlik numarasıdır. </td></tr><tr><td>Address</td><td>string</td><td>Hayır</td><td>Kullanıcının kayıt sırasında sağladığı adres bilgisidir. Lojistik ve yerelleştirme ihtiyaçlarında kullanıma açıktır.</td></tr><tr><td>Country</td><td>string</td><td>Hayır</td><td>Cüzdan sahibinin ülke konumunu ifade eder. Bölgesel kısıtlamalarda ve kampanya hedeflemelerinde baz alınır.</td></tr><tr><td>City</td><td>string</td><td>Hayır</td><td>Adresin şehir bilgisidir. Bölge bazlı filtrelemelerde kullanılabilir.</td></tr><tr><td>DateOfBirth</td><td>Date</td><td>Hayır</td><td>Kullanıcının doğum tarihini belirtir. Gerçek kişilere özel kayıt sürecinin parçasıdır.</td></tr><tr><td>CompanyName</td><td>string</td><td>Hayır</td><td>Tüzel kullanıcılar için geçerli olan firma adını belirtir. Şirket bazlı işlemlerde görüntülenir.</td></tr><tr><td>ExternalId</td><td>string</td><td>Evet</td><td>Kendi sisteminizdeki kullanıcıya ait benzersiz tanımlayıcı</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" %}

* `Email` verilmişse, aynı Merchant altında yalnızca tek bir kayıt için kullanılabilir. Aynı e-posta adresiyle farklı bir owner kaydı oluşturulamaz.
* `PhoneNumber` aynı Merchant altında benzersiz olmalıdır. Daha önce kayıtlı olan bir telefon numarası ile yeni kayıt oluşturulamaz.
* `IdentityNumber` verilmişse, aynı Merchant altında yalnızca bir kez kullanılabilir. Aynı kimlik numarasıyla tekrar kayıt oluşturulamaz.
* `TaxNumber` verilmişse, aynı Merchant altında benzersiz olmalıdır. Aynı vergi numarasıyla birden fazla kayıt oluşturulamaz.
* `ExternalId` verilmişse, aynı Merchant altında benzersiz olmalıdır. Başka bir owner kaydında kullanılmış bir `ExternalId` ile yeni kayıt oluşturulamaz.
  {% endhint %}

</details>

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

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

```json
{
    "FullName": "Test User",
    "Email": "user@gmail.com",
    "PhoneNumber": "+9052323200000",
    "OwnerType": 1, // 1: Individual | 2: Corporate
    "TaxNumber": "", // for Corporate
    "IdentityNumber": null, // for individual
    "Address": "address",
    "Country": "country",
    "City": "city",
    "DateOfBirth": "2030-10-15",
    "CompanyName": "",
    "ExternalId" : "HMQi07tKGyHFPzYkJddO6jyddssrmbooplb+sdAFn8"
}
```

{% endtab %}
{% endtabs %}

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

<details>

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

| Parametre                                                 | Tip           | Açıklama                                                                                                                                                  |
| --------------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| IsFailure                                                 | bool          | API yanıtının başarısızlık içerip içermediğini belirtir. True ise işlem olumsuz sonuçlanmıştır. İşlem akışında bu değer kontrol edilmelidir.              |
| IsSuccess                                                 | bool          | API çağrısının başarılı tamamlanıp tamamlanmadığını gösterir. True dönerse sonuç geçerli kabul edilir. Durum analizlerinde bu alan esas alınır.           |
| Errors                                                    | Array         | İşlem sırasında oluşan hatalara ilişkin detaylı mesaj listesidir. Sorunlu durumların raporlanmasında kullanılır. Geribildirim mekanizmasına katkı sağlar. |
| Value                                                     | Array\<Items> | İşlemin sonucunda dönen veri nesnesidir. İçerdiği veri tipi endpoint'e göre farklılık gösterebilir. Geri dönen içeriğin ana taşıyıcısıdır.                |
| <mark style="color:yellow;">Value</mark> > Id             | Guid          | Sistem tarafından tanımlanan, her kullanıcıya özel benzersiz kimlik değeridir. Uygulama içi referans olarak kullanılır.                                   |
| <mark style="color:yellow;">Value</mark> > Fullname       | string        | Cüzdan sahibinin ad ve soyad bilgisini bir arada tutar. Kimlik bilgisi olarak gösterimlerde yer alır.                                                     |
| <mark style="color:yellow;">Value</mark> > Email          | string        | Kullanıcının kayıtlı e-posta adresidir. Bildirimler, uyarılar ve iletişim kanalları bu adres üzerinden yürütülür.                                         |
| <mark style="color:yellow;">Value</mark> > PhoneNumber    | string        | Kullanıcıya ait telefon numarası bilgisidir. Gerekli durumlarda doğrulama süreçlerinde işleme alınır.                                                     |
| <mark style="color:yellow;">Value</mark> > TaxNumber      | string        | Vergi mükellefi kullanıcılar için tanımlanmış vergi numarası bilgisidir. Vergisel işlemlerde aktif olarak kullanılır.                                     |
| <mark style="color:yellow;">Value</mark> > IdentityNumber | string        | Gerçek kişilere özel tanımlanan kimlik numarasıdır.                                                                                                       |
| <mark style="color:yellow;">Value</mark> > OwnerType      | string        | Cüzdan sahibinin bireysel veya kurumsal olduğunu belirten alandır.`1` = `Individual`, `2` = `Corporate`                                                   |
| <mark style="color:yellow;">Value</mark> > CompanyName    | string        | Tüzel kullanıcılar için geçerli olan firma adını belirtir. Şirket bazlı işlemlerde görüntülenir.                                                          |
| <mark style="color:yellow;">Value</mark> > Address        | string        | Kullanıcının kayıt sırasında sağladığı adres bilgisidir. Lojistik ve yerelleştirme ihtiyaçlarında kullanıma açıktır.                                      |
| <mark style="color:yellow;">Value</mark> > Country        | string        | Cüzdan sahibinin ülke konumunu ifade eder. Bölgesel kısıtlamalarda ve kampanya hedeflemelerinde baz alınır.                                               |
| <mark style="color:yellow;">Value</mark> > City           | string        | Adresin şehir bilgisidir. Bölge bazlı filtrelemelerde kullanılabilir.                                                                                     |
| <mark style="color:yellow;">Value</mark> > DateOfBirth    | Date          | Kullanıcının doğum tarihini belirtir. Gerçek kişilere özel kayıt sürecinin parçasıdır.                                                                    |
| <mark style="color:yellow;">Value</mark> > CreatedAt      | DateTime      | Kullanıcının sistemde oluşturulduğu tarih ve saat bilgisidir. Log analizlerinde temel izleme alanıdır.                                                    |
| <mark style="color:yellow;">Value</mark> > UpdatedAt      | DateTime      | Kullanıcıya ait bilgilerin son güncellendiği zamanı gösterir. Değişiklik takibinde esas alınır.                                                           |
| <mark style="color:yellow;">Value</mark> > ExternalId     | string        | Kendi sisteminizdeki kullanıcıya ait benzersiz tanımlayıcı                                                                                                |

</details>

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

```json
{
    "IsSuccess": true,
    "IsFailure": false,
    "Value": {
        "Id": "0a949877-0ea0-48c3-9c92-41c9e33c461d",
        "Fullname": "Enes Selman",
        "Email": "Sienna.Johnson9@yahoo.com",
        "PhoneNumber": "+905359023987",
        "TaxNumber": "8430816988",
        "IdentityNumber": null,
        "OwnerType": "Corporate",
        "CompanyName": "test",
        "Address": "address",
        "Country": "country",
        "City": "city",
        "DateOfBirth": "2030-10-15",
        "ExternalId" : "HMQi07tKGyHFPzYkJddO6jyddssrmbooplb+sdAFn8",
        "CreatedAt": "2025-08-20T09:59:58.0704931Z",
        "UpdatedAt": null
    }
}
```

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