> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API Mapping Oluşturma

> Kaynak ve hedef ortamlar arasında API eşleştirmeleri oluşturabilir, ortam değişkenlerini eşleştirebilir, dönüşüm kuralları tanımlayabilir ve aktarım öncesi ön kontrollerle yapılandırmanızı doğrulayabilirsiniz.

## Mapping Listesi

Mapping listesinde tüm tanımlı eşleştirmeleri görebilirsiniz. Liste aşağıdaki filtreleme seçeneklerini sunar:

* **Kaynak Instance / Proje / API**: Belirli bir kaynağa göre filtreleme
* **Hedef Instance / Proje / API**: Belirli bir hedefe göre filtreleme
* **Durum**: Taslak, Uyarı veya Hazır durumuna göre filtreleme

Her mapping satırında kaynak ve hedef bilgileri, ortam değişkeni durumu (eksik değişken sayısı) ve son çalışma zamanı gösterilir.

<img src="https://mintcdn.com/apinizer/1yFCZZQUbO1Sf_g6/images/promotion/map-listesi.png?fit=max&auto=format&n=1yFCZZQUbO1Sf_g6&q=85&s=c42537cb4f704531b899ebfc8ef94965" alt="mapping-create" width="1000" data-path="images/promotion/map-listesi.png" />

## Mapping Sihirbazı

Yeni bir mapping oluşturmak için **Yeni Mapping** butonuna tıkladığınızda çok adımlı bir sihirbaz açılır. Sihirbaz, seçtiğiniz promotion tipine göre farklı adımlar sunar.

### Adım 1: Genel Bilgi & Variables

Bu adımda temel yapılandırma bilgilerini girersiniz:

#### Promotion Tipi Seçimi

<img src="https://mintcdn.com/apinizer/1yFCZZQUbO1Sf_g6/images/promotion/promotion-secim.png?fit=max&auto=format&n=1yFCZZQUbO1Sf_g6&q=85&s=9184d3e7a1f285dc4db2072d0d05b046" alt="mapping-create" width="1000" data-path="images/promotion/promotion-secim.png" />

İlk olarak ne aktarmak istediğinizi seçin:

| Tip                                                             | Açıklama                                                                  |
| --------------------------------------------------------------- | ------------------------------------------------------------------------- |
| **[API Proxy](/tr/concepts/temel-kavramlar/api-proxy-nedir)**   | Tek bir API Proxy aktarımı. Creator bağımlılıkları otomatik tespit edilir |
| **DB-2-API**                                                    | DB-2-API Creator tanımını bağımsız olarak aktarma                         |
| **Script-2-API**                                                | Script-2-API Creator tanımını bağımsız olarak aktarma                     |
| **Mock API**                                                    | Mock API Creator tanımını bağımsız olarak aktarma                         |
| **[Proxy Group](/tr/concepts/temel-kavramlar/api-proxy-group)** | Proxy Group'u tüm içeriğiyle birlikte aktarma                             |

#### Kaynak ve Hedef Tanımı

<img src="https://mintcdn.com/apinizer/1yFCZZQUbO1Sf_g6/images/promotion/hedef-secimim.png?fit=max&auto=format&n=1yFCZZQUbO1Sf_g6&q=85&s=076cec684b7ca81571b00ded23382e5c" alt="mapping-create" width="1000" data-path="images/promotion/hedef-secimim.png" />

Promotion tipini seçtikten sonra kaynak ve hedef bilgilerini belirleyin:

1. **Kaynak Instance** ve **Kaynak Proje** seçin
2. **Hedef Instance** ve **Hedef Proje** seçin
3. Kaynak API'yi seçin

<Info>
  Kaynak ve hedef instance aynı ortamı gösteriyorsa bir uyarı mesajı görüntülenir.
</Info>

#### Bağımlılık Tespiti (API Proxy Tipinde)

Kaynak API seçildiğinde sistem, API'nin oluşturulma tipini analiz eder ve gerekli bağımlılıkları otomatik olarak gösterir:

* **Manuel oluşturulan API Proxy**: Bağımlılık yoktur, sadece proxy tanımı taşınır
* **DB-2-API ile oluşturulan API Proxy**: Creator + Veritabanı Bağlantısı zorunlu olarak birlikte taşınır
* **Script-2-API ile oluşturulan API Proxy**: Creator zorunlu olarak birlikte taşınır
* **Mock API ile oluşturulan API Proxy**: Creator zorunlu olarak birlikte taşınır

Bağımlılıklar sıralı adımlar halinde tamamlanır. Her adım, bir önceki tamamlandıktan sonra aktif olur.

<img src="https://mintcdn.com/apinizer/1yFCZZQUbO1Sf_g6/images/promotion/bagimilik-adim.png?fit=max&auto=format&n=1yFCZZQUbO1Sf_g6&q=85&s=5856733fb66a9452ea3f48f007f8b8dd" alt="mapping-create" width="1000" data-path="images/promotion/bagimilik-adim.png" />

#### Hedef API Seçimi

Hedef ortamda iki seçeneğiniz vardır:

* **Mevcut API Güncelle**: Hedef projeden mevcut bir API seçin. API'nin mevcut yapılandırması kaynak ortamdan gelen değerlerle değiştirilir
* **Yeni API Oluştur**: Hedef ortamda kaynak API'den yeni bir API oluşturun

<Warning>
  Mevcut bir API'yi güncelleme seçeneğinde, hedef API'nin mevcut yapılandırması kaynak ortamdan gelen değerlerle değiştirilecektir. Bu işlem geri alınamaz.
</Warning>

Hedef ortamda karşılık gelecek bir API yoksa **Kaynaktan Oluştur** butonu ile kaynak API'den otomatik olarak hedef ortamda yeni bir API oluşturabilirsiniz.

<img src="https://mintcdn.com/apinizer/1yFCZZQUbO1Sf_g6/images/promotion/select-targte-api.png?fit=max&auto=format&n=1yFCZZQUbO1Sf_g6&q=85&s=c3cd9cf86c7fd6e64d6542ee48d57e98" alt="mapping-create" width="1000" data-path="images/promotion/select-targte-api.png" />

#### Proxy Group Senaryosu

Proxy Group seçildiğinde, grup içindeki tüm proxy'ler listelenir. Her proxy için hedef eşleştirme yapılmalıdır:

* Taşıma sırası: Önce grup ayarları (CORS, kimlik doğrulama, hız limiti, [client route](/tr/concepts/temel-kavramlar/client-route)), ardından her bir proxy ve bağımlılıkları sırayla taşınır
* Creator tabanlı proxy'lerde Creator + Bağlantı zorunludur
* Manuel proxy'lerde sadece proxy tanımı taşınır

<img src="https://mintcdn.com/apinizer/1yFCZZQUbO1Sf_g6/images/promotion/proxy-group.png?fit=max&auto=format&n=1yFCZZQUbO1Sf_g6&q=85&s=4f424f980bae27b5625d6c90ad1a917a" alt="mapping-create" width="1000" data-path="images/promotion/proxy-group.png" />

#### Deployment Ortamları

Hedef instance üzerinde API'nin hangi ortamlara deploy edileceğini seçebilirsiniz.

<img src="https://mintcdn.com/apinizer/1yFCZZQUbO1Sf_g6/images/promotion/env-secim.png?fit=max&auto=format&n=1yFCZZQUbO1Sf_g6&q=85&s=e3bb472c0b96e15ce4d853e4ff39a1cc" alt="mapping-create" width="1000" data-path="images/promotion/env-secim.png" />

### Adım 2: API Proxy Karşılaştırma

Bu adımda kaynak ve hedef API yapılandırmaları arasındaki farklar görüntülenir.

#### Fark Özeti

Karşılaştırma sonucunda aşağıdaki bilgiler gösterilir:

* **Toplam fark sayısı**
* **Değiştirilen alanlar**: Hem kaynakta hem hedefte mevcut ancak değerleri farklı olan alanlar
* **Eklenen alanlar**: Kaynakta var, hedefte olmayan alanlar (hedef ortama eklenecek)
* **Silinen alanlar**: Hedefte var, kaynakta olmayan alanlar (hedef ortamdan kaldırılacak)

<img src="https://mintcdn.com/apinizer/1yFCZZQUbO1Sf_g6/images/promotion/karsilastirma.jpg?fit=max&auto=format&n=1yFCZZQUbO1Sf_g6&q=85&s=0ae2a500e57f55721bc9b4da6026249f" alt="mapping-create" width="600" data-path="images/promotion/karsilastirma.jpg" />

#### Find & Replace Kuralları

API tanımındaki belirli alanları veya değerleri aktarım sırasında otomatik olarak değiştirmek için kurallar tanımlayabilirsiniz. Her kural bir **Bul** ve bir **Değiştir** değerinden oluşur.

Kurallar JSONPath ifadesi veya düz metin olarak tanımlanabilir:

* **JSONPath örneği**: `$.routing.routingAddressWrapperList[0].address` → Backend URL'ini değiştirir
* **Düz metin**: Belirli bir metin değerini başka bir değerle değiştirir

<Info>
  Find & Replace kuralları yalnızca hedef API nesnesi üzerinde uygulanır. Bağımlı nesneler (bağlantı, creator, grup proxy) bu kurallardan etkilenmez.
</Info>

<img src="https://mintcdn.com/apinizer/1yFCZZQUbO1Sf_g6/images/promotion/replace.png?fit=max&auto=format&n=1yFCZZQUbO1Sf_g6&q=85&s=e6bfcaf2873741c0d7b8db65b756c0da" alt="mapping-create" width="800" data-path="images/promotion/replace.png" />

#### Hariç Tutulan Alanlar

Karşılaştırma ve aktarım sırasında belirli alanları hariç tutabilirsiniz. İki tür hariç tutulan alan vardır:

* **Sistem Varsayılanları** (değiştirilemez): Kimlik numarası, oluşturma/güncelleme tarihi, kullanıcı bilgisi gibi ortama özgü alanlar otomatik olarak hariç tutulur
* **Kullanıcı Tanımlı Alanlar**: Ek olarak hariç tutmak istediğiniz alanları kendiniz ekleyebilirsiniz

<img src="https://mintcdn.com/apinizer/1yFCZZQUbO1Sf_g6/images/promotion/excluded-fields.png?fit=max&auto=format&n=1yFCZZQUbO1Sf_g6&q=85&s=54c77a7b959be4365ed76c8fb52414bb" alt="mapping-create" width="800" data-path="images/promotion/excluded-fields.png" />

### Adım 3: Variables Mapping

Kaynak API'de kullanılan [ortam değişkenlerinin](/tr/concepts/temel-kavramlar/environment-variable) hedef ortamdaki karşılıkları bu adımda eşleştirilir.

Sistem, kaynak API'deki ortam değişkenlerini otomatik olarak tespit eder ve hedef ortamda aynı anahtarla tanımlı değişkenleri otomatik eşleştirir. Her değişken için durum bilgisi gösterilir:

* **Mevcut**: Hedef ortamda aynı anahtarla tanımlı bir değişken var
* **Eksik**: Hedef ortamda bu anahtarla tanımlı bir değişken bulunamadı

<Warning>
  Hedef ortamda eksik ortam değişkenleri varsa, aktarım öncesinde bu değişkenlerin hedef ortamda tanımlanması önerilir.
</Warning>

Değişkenler arasında filtreleme yapabilirsiniz: Tümü, Mevcut veya Eksik.

<img src="https://mintcdn.com/apinizer/1yFCZZQUbO1Sf_g6/images/promotion/env-variable-map.png?fit=max&auto=format&n=1yFCZZQUbO1Sf_g6&q=85&s=a8e942e6f836580f498950753e45bc2b" alt="mapping-create" width="800" data-path="images/promotion/env-variable-map.png" />

### Adım 4: Ön Kontrol (Pre-Flight Check)

Aktarım öncesinde yapılandırmanın eksiksiz olduğunu doğrulamak için ön kontroller çalıştırabilirsiniz. Kontroller üç kategoride yapılır:

| Kategori                      | Kontroller                                |
| ----------------------------- | ----------------------------------------- |
| **Sistem Kontrolleri**        | Hedef ortam bağlantısı, erişilebilirlik   |
| **Konfigürasyon Kontrolleri** | API versiyon çakışması, proje mevcudiyeti |
| **Güvenlik Kontrolleri**      | Yetki doğrulama, token geçerliliği        |

Her kontrol sonucu **Başarılı**, **Uyarı** veya **Hata** olarak raporlanır.

### Adım 5: Summary & Done

Son adımda tüm yapılandırmanın özeti görüntülenir:

* Instance bilgileri (kaynak ve hedef)
* Mapping bilgileri (API eşleştirmesi)
* Ortam değişkenleri durumu
* Find & Replace kuralları
* Hariç tutulan alanlar
* Bağlantı durumu

Özeti inceledikten sonra **Tamamla** butonu ile mapping'i kaydedebilirsiniz.

<img src="https://mintcdn.com/apinizer/1yFCZZQUbO1Sf_g6/images/promotion/promotion-view.png?fit=max&auto=format&n=1yFCZZQUbO1Sf_g6&q=85&s=c011329e98978ca49262ad57e2ba7d10" alt="mapping-create" width="800" data-path="images/promotion/promotion-view.png" />

## Mapping Görüntüleme ve Düzenleme

Kaydedilmiş bir mapping'in detaylarını görüntüleyebilir ve düzenleyebilirsiniz. Mapping detay ekranında:

* Kaynak ve hedef bilgilerini görebilirsiniz
* Ortam değişkeni eşleştirmelerini güncelleyebilirsiniz
* Find & Replace kurallarını düzenleyebilirsiniz
* Karşılaştırma sonuçlarını yenileyebilirsiniz
* Mapping'i çalıştırabilirsiniz

## Mapping Klonlama

Mevcut bir mapping'i klonlayarak benzer yapılandırmayı farklı bir API veya ortam için hızlıca oluşturabilirsiniz.
