# 2. Yeni Kart/Tokenizasyon

## Yeni Kart Sakla / Tokenizasyon

<mark style="color:green;">`POST`</mark> `{{Base Adres}}/paywall/card/tokenization`

{% hint style="info" %}
Önemli: Kart işlemleri yüksek güvenlikli işlemlerdir. Bu nedenle 'Header' alanında '**apikeyprivate**' ve '**apiclientprivate**' parametrelerini göndermeniz gerekmektedir.\
\
[<mark style="color:green;">**CardWallAPI Adresi**</mark>](/ortam.md)
{% endhint %}

#### Servise gönderilmesi gereken (HEADERS) parametreler şu şekildedir :

<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>apikeyprivate</td><td>string</td><td>Evet</td><td>Üye işyeri panelinden temin etmiş olduğunuz Private Key.</td></tr><tr><td>apiclientprivate</td><td>string</td><td>Evet</td><td>Üye işyeri panelinden temin etmiş olduğunuz Private Client.</td></tr></tbody></table>

#### Servise gönderilmesi gereken (BODY) parametreler şu şekildedir :

<table><thead><tr><th width="244">Parametre</th><th width="92">Tip</th><th width="127">Zorunlu</th><th width="336">Açıklama</th></tr></thead><tbody><tr><td>PartnerBased</td><td>bool</td><td>Hayır</td><td>Eğer kartlar Partner'lik yönetimi kapsamında ortak bir havuzda kayıt edilecekse kullanılmalıdır</td></tr><tr><td>PartnerIdentity</td><td>string</td><td>Evet/Hayır</td><td>Partnerlik kapsamında kayıt edilecek ise Partner hesabınızın kimlik bilgisi</td></tr><tr><td>RelationalId1</td><td>string</td><td>Evet</td><td>Kart'ın ilişkilendirilmesi istenen unique bilgi</td></tr><tr><td>RelationalId2</td><td>string</td><td>Hayır</td><td>Kart'ın ilişkilendirilmesi istenen unique ikinci bilgi (listeleme anında tüm bilgiler gönderilmelidir)</td></tr><tr><td>RelationalId3</td><td>string</td><td>Hayır</td><td>Kart'ın ilişkilendirilmesi istenen unique üçüncü bilgi (listeleme anında tüm bilgiler gönderilmelidir)</td></tr><tr><td>Nickname</td><td>string</td><td>Evet</td><td>Kart'ın takma ismi (Örnek: Yüksek limitli kartım)</td></tr><tr><td>CardToken</td><td>Guid</td><td>Evet</td><td>İstemci (Client) tarafından tokenize edilmiş kart bilgisinin kendisidir</td></tr><tr><td>IncludeDetails</td><td>boolean</td><td>Hayır</td><td>Kartın detay bilgileri (Bin, Tip, Marka, Banka vs) dönsün istiyorsanız <code>TRUE</code>olarak göndermelisiniz</td></tr></tbody></table>

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

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

<pre class="language-json5" data-line-numbers><code class="lang-json5"><strong>{
</strong>    "PartnerBased": false,
    "PartnerIdentity": "",
    "RelationalId1": "1000923",
    "RelationalId2": "",
    "RelationalId3": "",
    "Card": {
        "CardToken": "580a3866-0055-4486-8c4b-96c8ac173e32",
        "Nickname": "Test Nickname"
    },
    "IncludeDetails": true
}
</code></pre>

{% endtab %}
{% endtabs %}

Servisten dönen parametreler şu şekildedir:

<table><thead><tr><th width="189">Parametre</th><th width="100.33333333333331">Tip</th><th>Açıklama</th></tr></thead><tbody><tr><td>ErrorCode</td><td>int</td><td>Hata kodu. İşlem başarılı ise '0' değerini döner.</td></tr><tr><td>Result</td><td>bool</td><td>True ya da false değeri döner. İşlem başarılı iste 'true' değerini döner.</td></tr><tr><td>Message</td><td>string</td><td>İşlem hatalıysa, bu hataya dair belirtilen mesajdır, locale parametresine göre dil desteği sunar.</td></tr><tr><td>Body</td><td>nesne</td><td>İşlem hatalıysa, bu hataya dair detay nesne</td></tr></tbody></table>

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

```json
{
    "ErrorCode": 4,
    "Result": false,
    "Message": "Card already exists",
    "Body": {
        "Scope": 0,
        "Name": "Test Card",
        "CardBin": "55287900",
        "CardLastFour": "0008",
        "CardHolderName": "Kart Sahibi İsmi",
        "CardNumber": "55287900****0008",
        "Expired": false,
        "CardTypeId": 1,
        "CardType": "Credit",
        "Month": 12,
        "Year": 2030,
        "UniqueCode": "ZtuCwuJWMD+Jqju+ZRnw/X92WNSqFEo97slEjPZD6+5M40L75cT4+g==",
        "Details": {
            "CardBankId": 55,
            "CardBank": "T.HALK BANKASI A.Ş.",
            "CardBrandId": 1,
            "CardBrand": "Master Card",
            "CardFamilyId": 5,
            "CardFamily": "Paraf",
            "CardKindId": 1,
            "CardKind": "Bireysel Kart",
            "CardTypeId": 1,
            "CardType": "Credit"
        }
    }
}
```

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


---

# 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://developer.paywall.one/kart-saklama-servisi/kart-kaydetme/2.-yeni-kart-tokenizasyon.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.
