snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s

This commit is contained in:
upstream-mirror
2026-09-17 23:28:13 +05:00
commit e7da97194a
32688 changed files with 4208681 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
---
title: Hata Yönetimi ve Doğrulama
description: Onaylamadan önce içe aktarma hatalarını doğrudan kullanıcı arayüzünde gözden geçirip düzeltin.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## İçe Aktarma Öncesi Doğrulama
Dosyanızı yükleyip alanları eşledikten sonra, Twenty verilerinizi içe aktarmadan **önce** doğrular. Bu, mevcut verilerinizi etkilemeden hataları yakalayıp düzeltmenizi sağlar.
## Nasıl Çalışır
1. CSV dosyanızı **yükleyin**
2. Sütunlarınızı Twenty alanlarıyla **eşleyin**
3. Sarıyla vurgulanan olası hataları **gözden geçirin**
4. **Hataları düzeltin** doğrudan kullanıcı arayüzünde
5. İçe aktarmayı **onaylayın**
<VimeoEmbed videoId="1145273857" title="Video gösterimi" />
## Hata Görüntüleme
Sorun içeren satırlar **sarı** renkle vurgulanır. Şunları yapabilirsiniz:
* Hatayı düzeltmek için **hücreyi doğrudan düzenleyin**
* Tamamen atlamak için **satırı kaldırın**
Bu satır içi düzenleme zaman kazandırır — e-tablonuza geri dönüp hataları düzeltmenize ve yeniden yüklemenize gerek yoktur.
## Yaygın Hata Türleri
### Yinelenen Değerler
**Neden**: Benzersiz bir alan (e-posta, alan adı) Twenty'de zaten mevcut veya dosyanızda iki kez görünüyor.
**Düzeltme**:
* Yinelenen değeri içe aktarma arayüzünde düzenleyin
* Yinelenen satırlardan birini kaldırın
Benzersizliğin nasıl sağlandığı hakkında daha fazla bilgi için [Benzersizlik Kısıtları](/l/tr/user-guide/data-migration/capabilities/uniqueness-constraints) bölümüne bakın.
### Geçersiz Biçim
**Neden**: Veriler beklenen biçimle eşleşmiyor (ör. geçersiz e-posta, yanlış tarih biçimi).
**Düzeltme**: Doğru biçimi kullanmak için hücreyi düzenleyin.
Her alan türü için beklenen biçimi görmek üzere [Alan Eşleme](/l/tr/user-guide/data-migration/capabilities/field-mapping) bölümüne bakın.
### Zorunlu Alanlar Eksik
**Neden**: Zorunlu bir alan boş.
**Düzeltme**: Zorunlu alana bir değer girin veya satırı kaldırın.
### İlişki Bulunamadı
**Neden**: Atıf yapılan kayıt mevcut değil (ör. içe aktarılmamış bir Şirket alan adı).
**Düzeltme**:
* Önce ana kayıtları içe aktarın
* Veya referans değerini düzeltin
Doğru içe aktarma sırası ve kayıtların nasıl ilişkilendirileceği hakkında bilgi için [İlişkileri İçe Aktarma](/l/tr/user-guide/data-migration/capabilities/import-relations) bölümüne bakın.
## Daha Az Hata İçin İpuçları
1. Dosyanızı içe aktarmadan önce beklenen biçimi görmek için **şablonu indirin**
2. Önce e-tabloda verilerinizi **temizleyin**
3. İlişkileri içe aktarmak için **dosyaları doğru sırayla içe aktarın** (Şirketler → Kişiler → Fırsatlar)
4. Tam içe aktarmadan önce **küçük gruplarla test edin**
5. Yüklemeden önce **yinelenenleri kontrol edin**
6. **Her dosyayı 10.000 kayıtla sınırlandırın**

View File

@@ -0,0 +1,198 @@
---
title: Alan Eşlemesi
description: Veri içe aktarma sırasında alan eşlemenin nasıl çalıştığı.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Alan Eşlemesi Nasıl Çalışır
Bir dosya yüklediğinizde, Twenty sütunlarınızı analiz eder ve bunları mevcut alanlarla eşleştirmeye çalışır.
### Otomatik Eşleme
Twenty, sütunları aşağıdakilere göre eşleştirmeye çalışır:
* Sütun başlık adları (tam veya benzer eşleşmeler)
* Veri türü algılama (tarihler, sayılar, e-postalar)
* Yaygın alan kalıpları
<Note>**Hızlı ipucu:** İçe aktarmak istediğiniz nesneden birkaç satır dışa aktarın. Dışa aktarılan dosya, Twenty'nin beklediği sütun adlarını tam olarak içerir; bu da içe aktarma sırasında otomatik eşlemeyi sorunsuz hale getirir.</Note>
### Manuel Eşleme Seçenekleri
Her sütun için şunları yapabilirsiniz:
* **Bir alana eşleyin**: Açılır menüden eşleşen Twenty alanını seçin
* **Eşleme yapmayın**: Sütunu tamamen atlayın (veri içe aktarılmayacaktır)
<Note>**Alanlar, içe aktarmadan önce mevcut olmalıdır.** İçe aktarma alanları değil, kayıtları oluşturur. İçe aktarmadan önce özel alanları **Ayarlar → Veri Modeli** altında oluşturun.</Note>
## Alan Türü Uyumluluğu
Veri Modelinde mevcut olan tüm alan türleri içe aktarma için desteklenir.
`id` değerlerini de içe aktararak yeni kayıtlara belirli bir ID atayabilir veya mevcut olanları güncelleyebilirsiniz.
<img src="/images/user-guide/fields/all-field-types.png" style={{width:'100%'}} />
## Veri Biçimi Gereksinimleri
<Note>**Bazı alanların özel bir sözdizimi vardır.** İçe aktarmayı hazırlamadan önce her alan türü için beklenen sözdizimini görmek adına örnek dosyayı indirmenizi öneririz.</Note>
### Adres Alanları
Adres, birden çok sütuna sahip iç içe bir alandır. Bazıları boş bırakılabilir.
* **Address / Address 1**: Sokak adresinin 1. satırı
* **Address / Address 2**: Sokak adresinin 2. satırı
* **Address / City**: Şehir adı
* **Address / State**: Eyalet veya il
* **Address / Country**: Ülke adı
* **Address / Post Code**: Posta/ZIP kodu
### Dizi Alanları
Aşağıdaki biçimi kullanın:
```
["value1","value2"]
```
### Boole Alanları
`TRUE` veya `FALSE` kullanın (büyük harf) - `true` ya da `false` kullanmayın
### Para Birimi Alanları
Para birimi, her ikisi de doldurulması gereken iki sütundan oluşan iç içe bir alandır:
* **Amount / Amount**: Sayısal değer (örn. `1234.56`)
* **Amount / Currency**: Para birimi kodu (örn. `USD`, `EUR`)
### Tarih Alanları
Desteklenen biçimler:
* `YYYY-MM-DD` (önerilir)
* `MM/DD/YYYY`
* `DD/MM/YYYY`
* ISO 8601 biçimi
### Alan Adı Alanları
* Kopyalar oluşmasını önlemek için `https://domain.com` biçiminin kullanılması önerilir; çünkü posta kutusu ve takvim eşzamanlaştırmalarıyla oluşturulan Şirketler için kullanılan biçim budur
* Bir `Domain Label` ve `Domain URL` doldurulabilir: en iyi uygulama olarak etikete `domain.com`, URL'ye `https://domain.com` yazmaktır
* Alan adları, Şirketler nesnesi içinde benzersiz olmalıdır
* **İçe aktarılacak dosya içinde alan adlarının benzersiz olması gerekir**
### E-posta Alanları
* Geçerli e-posta biçiminde olmalıdır
* E-postalar, Kişiler nesnesi içinde benzersiz olmalıdır
* **İçe aktarılacak dosya içinde e-postaların benzersiz olması gerekir**
* Ek e-postalar için: ana e-posta için **Emails / Primary Email**'i ve şu biçimle **Emails / Additional Emails**'i kullanın:
```
["jane@twenty.com","jane.doe@twenty.com"]
```
### ID Alanları
İçe aktarma sırasında bir `id` belirtmek isteğe bağlıdır. Sağlanmazsa Twenty bir tane otomatik olarak oluşturur.
`id` sütununu eşlemeye yönelik kullanım durumları:
* **Belirli bir ID ayarlayın**: Yeni oluşturulan kayıtlar için UUID seçin
* **Mevcut kayıtları güncelleyin**: Yinelenenler oluşturmak yerine mevcut kayıtlarla eşleştirerek güncelleyin. Bu durumda diğer benzersiz alanları eşlememeniz önerilir: Yalnızca tek bir benzersiz alanı eşlemek daha sorunsuz bir içe aktarma sağlar.
<Note>Bir `id` sağlarsanız, UUID biçiminde olmalıdır (ör. `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
### JSON Alanları
Geçerli JSON biçimini kullanın:
```
{"key":"value","key2":"value2"}
```
### Bağlantı Alanları
Alan Adı alanlarına benzer:
* Etiket ve URL sütunlarının ikisini de doldurun: **Links / Link URL** ve **Links / Link Label**
* Tam URL biçimini kullanın: `https://example.com`
* İkincil bağlantılar için **Links / Secondary Links** sütununu şu biçimde kullanın:
```
[{"url":"https://twenty.com","label":"Twenty"}]
```
### Çoklu Seçim Alanları
**Görünen etiketleri** değil, **API adlarını** aşağıdaki biçimde kullanın:
```
["VALUE1","VALUE2"]
```
API adlarının nerede bulunacağını [buradan](#finding-api-names-for-select-fields) görün.
<Note>Yeni seçim seçenekleri içe aktarma tarafından otomatik olarak oluşturulmaz. İçe aktarmadan önce **Ayarlar → Veri Modeli** içinde ekleyin.</Note>
<Warning>
**İçe aktarma üzerine yazar; ekleme yapmaz.**
Bir kayıtta halihazırda `VALUE2` ve `VALUE3` seçiliyse ve siz `["VALUE1"]` içe aktarırsanız, içe aktarmadan sonra kayıtta yalnızca `VALUE1` bulunur. Önceki seçimler birleştirilmez, değiştirilir.
</Warning>
### Sayı Alanları
* Yalnızca sayılar
* Ondalıklar nokta kullanır: `1234.56`
* Binlik ayırıcı kullanmayın
### Telefon Alanları
Telefon, birden çok sütundan oluşan ve **doldurulması gereken** iç içe bir alandır
* **Phones / Primary Phone Number**: Telefon numarası (örn. `4159095555`)
* **Phones / Primary Phone Country Code**: Ülke kodu (örn. `US`)
* **Phones / Primary Phone Calling Code**: Arama kodu (örn. `+1`)
### Puanlama Alanları
Şu API adı biçimini kullanın: `RATING_1`, `RATING_2`, `RATING_3`, `RATING_4`, `RATING_5`
### İlişki Alanları
Lütfen şu özel makalemize bakın: [Nesneler Arasındaki İlişkileri İçe Aktarma](/l/tr/user-guide/data-migration/capabilities/import-relations)
### Seçim Alanları
**Görünen etiketi** değil, seçeneğin **API adını** kullanın:
```
VALUE1
```
API adlarının nerede bulunacağını [buradan](#finding-api-names-for-select-fields) görün.
<Note>Yeni seçim seçenekleri içe aktarma tarafından otomatik olarak oluşturulmaz. İçe aktarmadan önce **Ayarlar → Veri Modeli** altında eklenmelidir.</Note>
### Metin Alanları
* Özel biçimlendirme gerekmez
* Baştaki/sondaki boşluklar kırpılır
## API Adlarını Bulma
Önceden tanımlı seçeneklere sahip Select, Multi-Select ve Array alanları için, görünen etiketler değil, **API adlarını** kullanmalısınız.
### API Adları Nasıl Bulunur
1. **Ayarlar → Veri Modeli** bölümüne gidin
2. Nesneyi ve alanı seçin
3. **Gelişmiş mod**u etkinleştirin (ayarlar sayfasının sağ altındaki anahtarı kullanarak)
4. Her seçenek için API adını görüntüleyin
<VimeoEmbed videoId="1144910809" title="Video gösterimi" />

View File

@@ -0,0 +1,48 @@
---
title: Desteklenen Dosya Biçimleri
description: Twenty'de veri içe aktarma için desteklenen dosya biçimleri.
---
## Desteklenen Biçimler
Twenty, içe aktarma için üç dosya biçimini destekler:
| Biçim | Uzantı | Notlar |
| ---------------- | ------ | ------------------- |
| **CSV** | .csv | Önerilen, en uyumlu |
| **Excel** | .xlsx | Modern Excel biçimi |
| **Excel (Eski)** | .xls | Eski Excel biçimi |
## Dosya Gereksinimleri
| Gereksinim | Değer |
| ---------------- | ---------------------------------------- |
| **Kodlama** | UTF-8 önerilir |
| **Kayıt sınırı** | Dosya başına 10.000 kayıt |
| **Yapı** | İlk satır sütun başlıklarını içermelidir |
| **İçerik** | Dosya başına bir nesne türü |
## CSV için En İyi Uygulamalar
* **Ayraç**: Virgül (`,`) veya noktalı virgül (`;`) kullanın
* **Metin sınırlayıcısı**: Virgül içeren metinler için çift tırnak (`"`) kullanın
* **Satır sonları**: Windows (CRLF) veya Unix (LF) her ikisi de desteklenir
* **Boş değerler**: Hücreleri boş bırakın, "NULL" veya "N/A" kullanmayın
## Excel için En İyi Uygulamalar
Excel'den dışa aktarırken:
* Formülleri kaldırın (yalnızca değerleri dışa aktarın)
* Sondaki boş satırları silin
* Birleştirilmiş hücre olmadığından emin olun
* Yalnızca ilk sayfayı kullanın
## Büyük Veri Kümeleri
10.000 kayıttan büyük veri kümeleri için:
* Birden fazla dosyaya bölün
* Veya sınırsız kayıt için [API içe aktarma](/l/tr/user-guide/data-migration/how-tos/import-data-via-api) kullanın
<Note>Çok büyük geçişler (100.000+ kayıt) için API, CSV içe aktarmadan önemli ölçüde daha hızlı ve daha güvenilirdir.</Note>

View File

@@ -0,0 +1,148 @@
---
title: Nesneler Arasındaki İlişkileri İçe Aktarma
description: Kayıtlar arasındaki ilişkileri CSV ile içe aktarın.
---
## Genel Bakış
Twenty, CSV içe aktarma sırasında nesneler arasındaki ilişkilerin içe aktarılmasını destekler. Bu, veri geçişinizin bir parçası olarak kayıtları birbirine bağlamanıza olanak tanır (ör. Kişileri Şirketlere iliştirme).
<Note>**Şu anda içe aktarma için desteklenenler**: Her iki tarafta da tek bir nesne türüne işaret eden bire-çok ilişkiler (ör. Kişiler → Şirketler). Birden fazla nesne türüne işaret eden ilişkiler henüz içe/dışa aktarma için desteklenmiyor.</Note>
## Twenty'de İlişkiler Nasıl Çalışır
### Bire-Çok / Çoktan-Bire
Twenty, bir kaydın birden çok başka kayda bağlandığı standart ilişkileri destekler:
* **Bir Şirket → Birçok Kişi**: Bir şirketin birden fazla çalışanı olabilir, ancak her kişi bir şirkete aittir
* **Bir Şirket → Birçok Fırsat**: Bir şirketin birden fazla fırsatı olabilir, ancak her fırsat bir şirkete aittir
### Birden Fazla Nesne Türüne İşaret Edebilen İlişkiler
Bazı ilişkiler farklı türdeki nesnelere bağlanabilir. Bu iki şekilde çalışır:
**Kalıp 1: Farklı nesne türlerinden birçok kayıt, her biri bir kayda bağlanır**
Birden çok Not veya Görevin her biri aynı anda birden fazla nesne türüne iliştirilebilir:
* **Notlar** aynı anda bir Kişiye, bir Şirkete ve bir Fırsata bağlanabilir
* **Görevler** aynı anda bir Kişiye, bir Şirkete ve bir Fırsata bağlanabilir
Burada, Notlar/Görevler "çok" tarafındadır. Her biri, her nesne türü için bir kayda bağlanır.
<img src="/images/user-guide/fields/many-to-one-morph.png" style={{width:'100%'}} />
**Kalıp 2: Farklı nesne türlerinden çok sayıda kayıttan bağlantı alan tek bir kayıt**
Bir Proje, farklı nesne türleri genelinde birden fazla kayıttan bağlantı alabilir:
* **Bir Proje** kendisine bağlı birçok Kişi, kendisine bağlı birçok Şirket ve kendisine iliştirilmiş birçok Not barındırabilir
Burada Proje, "bir" tarafındadır. Farklı nesnelerden birden çok kayıt aynı Projeye bağlanabilir.
<img src="/images/user-guide/fields/one-to-many-morph.png" style={{width:'100%'}} />
<Warning>
**İçe/Dışa Aktarma sınırlaması**: Birden fazla nesne türüne işaret eden ilişkiler (ör. Notlar → Kişiler/Şirketler/Fırsatlar) CSV içe aktarma veya dışa aktarmada **henüz desteklenmiyor**.
* **İçe aktarma**: Her iki tarafta da tek bir nesne türüne işaret eden bire-çok ilişkiler içe aktarılabilir
* **Dışa aktarma**: Birden fazla nesne türüne işaret eden ilişkilere ait sütunlar şu anda boş bırakılır
Bu özellik yol haritamızda.
</Warning>
### Bugün Neler Desteklenmiyor
**Çoktan-Çoka ilişkiler** henüz mevcut değil. Örneğin, şu anda aşağıdaki gibi bir ilişki oluşturamazsınız:
* Birçok Kişi birçok Projeye bağlıdır
<Note>Çoktan-Çoka ilişkiler 2026 H2 için planlanıyor.</Note>
## İçe Aktarma Sırasında Kayıtları Bağlama
<Note>**Hatırlatma**: Yalnızca her iki tarafta da tek bir nesne türüne işaret eden bire-çok ilişkiler içe aktarılabilir (ör. Kişiler → Şirketler). Birden fazla nesne türüne işaret eden ilişkiler (ör. Notlar → Kişiler/Şirketler/Fırsatlar) henüz desteklenmiyor.</Note>
### Adım 1: "Bir" ve "Çok" Tarafları Belirleyin
Önce, ilişkinin "bir" tarafında hangi nesnenin, "çok" tarafında hangi nesnenin olduğunu belirleyin.
**Örnek**:
* **Şirket** "bir" tarafıdır (bir şirketin birçok çalışanı vardır)
* **Kişiler** "çok" tarafıdır (her kişi bir şirkete aittir)
### Adım 2: "Bir" Tarafındaki Kayıtların Mevcut Olduğundan Emin Olun
"Çok" tarafını içe aktarmadan önce, "bir" tarafındaki kayıtlar Twenty'de zaten mevcut olmalıdır.
* Önce "bir" tarafındaki kayıtları içe aktarın veya oluşturun (ör. Şirketler)
* Benzersiz tanımlayıcılarını doğrulayın. Bu şu olabilir:
* `id` (Twenty'nin UUID'si)
* Benzersiz olarak ayarlanmış bir alan (ör. Şirketler için `domain` veya önceki sisteminizden bir dış kimlik)
<Warning>Var olmayan bir kayda referans verilirse içe aktarma başarısız olur.</Warning>
### Adım 3: CSV Dosyanızı Hazırlayın
"Çok" tarafındaki CSV dosyanıza, "bir" tarafındaki kayda referans veren bir sütun ekleyin.
**Örnek**: Şirketlere bağlanan bir Kişiler CSV dosyası için:
```
firstName,lastName,email,companyDomain
John,Smith,john@acme.com,https://acme.com
Jane,Doe,jane@widgets.co,https://widgets.co
```
**Önemli**:
* Değer, Şirket kaydındaki benzersiz alanla **tam olarak eşleşmelidir**
* Alan adları için **Alan Adı URL'si**ni (ör. `https://acme.com`) kullanın, Alan Adı Etiketini değil
* Her ilişki için yalnızca **bir** benzersiz tanımlayıcıyı eşleyin: bu, daha sorunsuz bir içe aktarma sağlar
### Adım 4: İlişki Alanının Mevcut Olduğundan Emin Olun
Dosyanızı yüklemeden önce, nesneleriniz arasında ilişki alanının mevcut olduğundan emin olun.
Eğer mevcut değilse:
1. **Ayarlar → Veri Modeli** bölümüne gidin
2. Nesnenizi seçin (ör. Kişiler)
3. Hedef nesneyi işaret eden bir ilişki alanı oluşturun (ör. Şirket)
### Adım 5: İlişkiyi Yükleyin ve Eşleyin
1. CSV dosyanızı içe aktarma arayüzü üzerinden yükleyin
2. Alan eşleme adımında, ilişki sütununuzu bulun (ör. `companyDomain`)
3. Bunu ilişki alanına eşleyin (ör. Şirket)
4. Twenty, her kaydı otomatik olarak eşleşen ana kayda bağlar
### İlişkiler İçin Kullanılabilir Benzersiz Alanlar
| Nesne | Kullanılabilir Benzersiz Alanlar |
| ----------------------------------- | ----------------------------------------------------- |
| **Şirketler** | `id`, `domain`, herhangi bir özel benzersiz alan |
| **Kişiler** | `id`, `email`, herhangi bir özel benzersiz alan |
| **İş Alanı Üyeleri** | `id`, `email` (isim değil) |
| **Diğer standart ve özel nesneler** | `id`, benzersiz olarak işaretlenmiş herhangi bir alan |
<Note>**Çalışma Alanı Üyelerine Bağlama**: İlişki Çalışma Alanı Üyelerini işaret ediyorsa (Twenty'ye giriş yapan ekibiniz), onlara adlarıyla değil, **e-posta adresleriyle** referans verin.</Note>
<Note>Tablolarda okunabilir ve bakımı kolay olduğundan, Şirketler için `domain` ve Kişiler için `email` kullanmanızı öneririz.</Note>
<Note>**Hatırlatma**: Yumuşak silinmiş kayıtlar (Komut Menüsü → Silinen kayıtları görüntüle altında görünür) benzersizlik ölçütlerine dahildir. Silinmiş bir kayıtla aynı benzersiz değere sahip bir kaydı içe aktarırsanız, silinmiş kayıt geri yüklenir. Daha fazla bilgi için [Benzersizlik Kısıtları](/l/tr/user-guide/data-migration/capabilities/uniqueness-constraints) bölümüne bakın.</Note>
## İçe Aktarma Sırası Kuralı
<Warning>
**Her zaman önce "bir" tarafı içe aktarın!**
1. Önce **Şirketler** (bağımlılık yok)
2. İkinci olarak **Kişiler** (Şirketlere bağlı)
3. Üçüncü olarak **Fırsatlar** (Şirketlere/Kişilere bağlı)
4. **Özel nesneler** (bağımlılıklarına uyarak)
Ona referans verebilmeden önce ana kayıt mevcut olmalıdır.
</Warning>

View File

@@ -0,0 +1,72 @@
---
title: Benzersizlik Kısıtlamaları
description: Twenty'nin içe aktarma sırasında veri benzersizliğini nasıl sağladığı.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Genel Bakış
Yinelenen kayıtları önlemek ve veri bütünlüğünü sağlamak için Twenty bazı alanlarda benzersizliği uygular. Başarılı içe aktarmalar için bu kısıtlamaları anlamak kritiktir.
## Varsayılan Benzersiz Alanlar
| Nesne | Benzersiz Alanlar |
| ----------------- | --------------------------------- |
| **Kişiler** | `id`, `email` |
| **Şirketler** | `id`, `domain` |
| **Özel nesneler** | Yalnızca `id` (varsayılan olarak) |
<Note>`id` alanı Twenty'nin dahili tanımlayıcısıdır, her kayıt için otomatik olarak oluşturulur. UUID biçimini kullanır (ör. `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
## Özel Benzersiz Alanlar
Ek benzersiz alanları **Ayarlar → Veri Modeli** altında tanımlayabilirsiniz:
1. **Ayarlar → Veri Modeli** bölümüne gidin
2. Nesneyi seçin
3. Bir alana tıklayın
4. Alan ayarlarında **Unique** özelliğini etkinleştirin
### Özel Benzersiz Alanlar için Kullanım Senaryoları
* **Harici ID'ler**: Diğer sistemlerden gelen ID'leri saklayın (Salesforce ID, HubSpot ID)
* **İş tanımlayıcıları**: Çalışan numaraları, müşteri kodları
* **Alternatif iletişim bilgileri**: LinkedIn profili, telefon numarası
<Note>`id` alan adı Twenty'nin dahili ID'si için ayrılmıştır. Harici tanımlayıcılar için `externalId` veya `legacyId` gibi farklı bir ad kullanın.</Note>
## İçe Aktarma Davranışı
### Yeni Kayıtlar Oluşturma
Benzersiz alan değeri mevcut değilse yeni bir kayıt oluşturulur.
### Mevcut Kayıtları Güncelleme
Benzersiz alan değeri mevcut bir kayıtla eşleşirse, o kayıt yeni verilerle **güncellenir**.
<Warning>**Mevcut kayıtları güncellemek** için, **yalnızca bir benzersiz alanı** eşleştirmeniz önerilir.</Warning>
### Yumuşak Silinmiş Kayıtlar
<Warning>
**Silinmiş kayıtlar benzersizliğe dahildir.**
Yumuşak silinmiş kayıtlar (Komut Menüsü → Silinen kayıtları görüntüle altında görünür) benzersizlik kontrollerine dahildir. Silinmiş bir kayıtla aynı benzersiz değere sahip bir kaydı içe aktarırsanız, silinmiş kayıt yeni verilerle **geri yüklenir**.
</Warning>
## İçe Aktarma Sırasında Yinelenenleri Tespit Etme
Doğrulama aşamasında:
* Dosyanızdaki yinelenenler sarı renkle vurgulanır
* İçe aktarmayı başlatmadan önce yinelenen satırları arayüzden düzenleyebilir veya kaldırabilirsiniz
<VimeoEmbed videoId="1145246326" title="Video gösterimi" />
## En İyi Uygulamalar
1. İçe aktarmadan önce dosyanızdan **yinelenenleri kaldırın**
2. İçe aktarmadan önce Twenty'de **mevcut kayıtları kontrol edin**
3. Diğer sistemlerden geçiş yaparken **harici ID'leri kullanın**
4. Mevcut kayıtları güncellemek istiyorsanız **benzersiz alanları dahil edin**