Skip to main content

Documentation Index

Fetch the complete documentation index at: https://aiagenttr.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Zorunlu Alanlar ve Form Validasyonları - Master Tablo

Oluşturulma Tarihi: 2025-11-16 Kaynak: Frontend kod analizi (Gerçek kod ile doğrulanmıştır)

📋 İçindekiler

  1. AI Agent Oluşturma
  2. Müşteri Ekleme
  3. Kampanya Oluşturma
  4. Bilgi Bankası Oluşturma
  5. SIP Trunk Oluşturma
  6. Özet Karşılaştırma

1. AI Agent Oluşturma

Sayfa: /agents/new Backend API: CreateAgent

Zorunlu Alanlar Tablosu

#Alan Adı (TR)Alan Adı (EN)TipZorunluValidasyonVarsayılanKarakter Limit
1AI Agent AdınameText✅ EvetMax 100 karakter-100
2AçıklamadescriptionTextarea❌ HayırMax 1000 karakter-1000
3AI Agent TipiagentTypeSelect✅ EvetCatalog seçim--
4Pipeline DepartmanıpipelineIdSelect✅ EvetPipeline API--
5Karşılama MesajıgreetingMessageTextarea❌ HayırMax 250 karakter-250
6İlk Mesaj ModufirstMessageModeSelect✅ EvetCatalog seçim--
7Sistem TalimatısystemPromptTextarea❌ HayırYok--

Yönlendirme (Escalation) - Koşullu Zorunlu

#Alan Adı (TR)Alan Adı (EN)TipZorunluKoşulValidasyon
8Otomatik YönlendirmeescalationEnabledToggle❌ Hayır--
9Hedef TipidestinationTypeSelect⚠️ KoşulluEscalation aktifsenumber/sip
10Yönlendirme NumarasıdestinationNumberText⚠️ Koşullutype=number iseE.164, max 16
11SIP HedefidestinationSipText⚠️ Koşullutype=sip iseSIP URI format
12Yönlendirme MesajıescalationMessageTextarea⚠️ KoşulluEscalation aktifseMin 20, max 100
13Mesaj için bekletwaitForMessageToBeSpokenCheckbox❌ Hayır-false
14Yönlendirme KoşullarıescalationConditionsMulti-checkbox⚠️ KoşulluEscalation aktifseEn az 1 seçili
15Başarısız MesajıescalationFailedMessageTextarea❌ HayırGelişmiş ayarlardaMax 100
16Telefonu kapatendTheCallAfterMessageIsSpokenCheckbox❌ HayırGelişmiş ayarlardafalse
17Gecikme MesajıdelayedMessageTextarea❌ HayırGelişmiş ayarlardaMax 100
18Gecikme Süresi (ms)delayInMsNumber❌ HayırGelişmiş ayarlarda100-120000

Gizli/Sabit Değerler

AlanDeğerNot
temperature0.7Kodda sabit, UI’da yok
escalationTimeout2Kodda sabit, UI’da yok
maxEscalationAttempts3Kodda sabit, UI’da yok

⚠️ Dokümantasyonda Yanlış Olan Kısımlar

Dokümanda VarGerçekte
❌ Ses Seçimi (Voice Selection)Kodda YOK
❌ AI Model SeçimiKodda YOK
❌ SIP Trunk/Telefon AtamasıKodda YOK
❌ Yaratıcılık Seviyesi (Temperature) kullanıcı ayarıSabit 0.7, değiştirilemez
❌ Yönlendirme Öncesi BeklemeSabit 2, UI’da yok
❌ Maksimum Yönlendirme DenemesiSabit 3, UI’da yok

2. Müşteri Ekleme

Sayfa: /crm/customers/new Backend API: CreateCustomer

Zorunlu Alanlar Tablosu

#Alan Adı (TR)Alan Adı (EN)TipZorunluValidasyonAPI AlanKarakter Limit
1AdfirstNameText✅ EvetMax 100, sadece harf+boşlukfirstName100
2SoyadlastNameText✅ EvetMax 100, sadece harf+boşluklastName100
3TelefonphoneText✅ EvetE.164 format, max 16phone16
4E-postaemailText❌ HayırEmail format, max 100email100
5ŞirketcompanyText❌ HayırMax 100companyName100
6PozisyontitleText❌ HayırMax 100title100
7AdresaddressTextarea❌ HayırMax 1000address1000
8ŞehircityText❌ HayırMax 100city100
9ÜlkecountryText❌ HayırMax 100country100
10Doğum TarihibirthDateDate❌ Hayır1900-bugün arasıbirthDate (ISO)-
11CinsiyetgenderSelect❌ HayırErkek/Kadın/Diğermale/female/other-
12SegmentsegmentSelect❌ HayırAPI’den yüklenirsegment-
13EtiketlertagsBadge Array❌ HayırMax 5 etikettags[]-
14Özel AlanlarcustomFieldsKey-Value❌ HayırMax 5 alancustomProperties[]-
15Müşteri NotlarınotesTextarea❌ HayırMax 2000description2000

Özel Validasyon Kuralları

AlanKuralRegex/Format
firstNameSadece Türkçe ve İngilizce harfler + boşluk/[^a-zA-ZçğıöşüÇĞIİÖŞÜ\s]/g
lastNameSadece Türkçe ve İngilizce harfler + boşluk/[^a-zA-ZçğıöşüÇĞIİÖŞÜ\s]/g
phoneE.164 format (libphonenumber-js ile)+905551234567
emailEmail format/^[^\s@]+@[^\s@]+\.[^\s@]+$/
tagsDublicate yasak, max 5-
customFieldsMax 5 key-value çifti-

Alan Eşleştirmeleri (Form → API)

Form AlanıAPI AlanıDönüşüm
companycompanyNameDirekt
notesdescriptionDirekt
birthDatebirthDateDate → ISO 8601
gender (Erkek/Kadın/Diğer)gender (male/female/other)Mapping
customFields (object)customProperties (array){key: value}[{key, value}]

Varsayılan Değerler

AlanVarsayılan
country”Türkiye”
source3 (manuel ekleme)
Diğer tüm alanlarBoş string / undefined

3. Kampanya Oluşturma

Sayfa: /campaigns/all/new Backend API: CreateCampaign

Zorunlu Alanlar Tablosu

#Alan Adı (TR)Alan Adı (EN)TipZorunluValidasyonAPI AlanNot
1Kampanya AdınameText✅ EvetBoş olamazname-
2AmaçpurposeTextarea❌ HayırYokpurpose-
3Arama ListesicallListIdSelect✅ EvetAPI’den seçimcallListIdEdit’te değiştirilemez
4Telefon NumarasıphoneNumberIdSelect✅ EvetAPI’den seçimphoneNumberIdEdit’te değiştirilemez
5AI AgentagentIdSelect✅ EvetAPI’den seçimagentIdEdit’te değiştirilemez
6Selamlama ŞablonugreetingTemplateTextarea❌ HayırDeğişken destekliagentOverride.firstMessage-
7Otomatik/ZamanlanmışisScheduledCampaignToggle❌ HayırBoolean-Frontend only
8Eş Zamanlı AramalarsimultaneousCallsNumber✅ Evet1-100maxConcurrencyDefault: 5
9Gecikme (ms)delayBetweenCallsNumber✅ Evet0-60000waitBetweenCallsInMsDefault: 2
10Tatillerde aracallInHolidaysCheckbox❌ HayırBooleancallInHolidaysDefault: false

Koşullu Zorunlu Alanlar (Zamanlanmış Kampanya)

#Alan Adı (TR)TipZorunluKoşulValidasyon
11Başlangıç TarihistartDateDate⚠️ KoşulluisScheduledCampaign=trueBugün veya sonrası
12Başlangıç SaatistartTimeTime⚠️ KoşulluisScheduledCampaign=trueHH:mm format
13Bitiş TarihiendDateDate⚠️ KoşulluisScheduledCampaign=true>= startDate
14Bitiş SaatiendTimeTime⚠️ KoşulluisScheduledCampaign=trueHH:mm format

Haftalık Takvim (Schedule)

GündayOfWeekVarsayılan EnabledVarsayılan Saat
Pazartesi0true09:00 - 18:00
Salı1true09:00 - 18:00
Çarşamba2true09:00 - 18:00
Perşembe3true09:00 - 18:00
Cuma4true09:00 - 18:00
Cumartesi5true09:00 - 18:00
Pazar6true09:00 - 18:00
Validasyon: Aynı günde çakışan saat aralıkları olamaz

Tarih Format Dönüşümleri

FormAPI
Date object + Time string”dd.mm.yyyy hh:mm”
ISO 8601”20.11.2024 14:30”

Selamlama Şablonu Değişkenleri

Format: {{variableName}} Kaynak: getAgentFirstMessageOverrideVariables() API’den dinamik yüklenir

4. Bilgi Bankası Oluşturma

Sayfa: /knowledge/new Backend API: CreateKnowledgebase

Zorunlu Alanlar Tablosu

#Alan Adı (TR)Alan Adı (EN)TipZorunluValidasyonKarakter Limit
1İsimnameText✅ EvetMin 2, max 5050
2AçıklamadescriptionTextarea✅ EvetMin 1, max 250250
3DosyalarfilesFile Upload✅ EvetEn az 1 dosya (yeni veya mevcut)-

Desteklenen Dosya Formatları

KategoriFormatlar
Dökümanlar.pdf, .doc, .docx, .txt
Veri.csv, .json, .xml
Web.html, .shtml, .shtm, .ehtml
Kod.js, .mjs, .css
Diğer.xsl, .xslt, .xbl

Dosya Yükleme Seçenekleri

  1. Yeni Dosya Yükleme: Drag-drop veya file picker
  2. Mevcut Dosyalardan Seçim: Organizasyonun önceden yüklediği dosyalar
Kombinasyon: En az 1 dosya (yeni + mevcut toplamı)

Validasyon Detayları

AlanMinMaxHata Mesajı (TR)
İsim250”İsim en az 2 karakter olmalıdır” / “İsim en fazla 50 karakter olabilir”
Açıklama1250”Açıklama gereklidir” / “Açıklama en fazla 250 karakter olabilir”
Dosyalar1“Lütfen en az bir dosya seçin”

API Akışı

  1. Yeni dosyalar UploadFile ile yüklenir → file ID’ler döner
  2. Mevcut dosya ID’leri seçilir
  3. Tüm file ID’ler birleştirilir: [...uploadedIds, ...selectedExistingIds]
  4. CreateKnowledgebase() API’ye gönderilir

5. SIP Trunk Oluşturma

Modal: Santral sayfasında modal Backend API: CreateSIPTrunk

Zorunlu Alanlar Tablosu

#Alan Adı (TR)Alan Adı (EN)TipZorunluValidasyonKarakter Limit
1Trunk AdınameText✅ EvetMax 100100
2Kullanıcı AdıusernameText✅ EvetMax 100100
3ŞifrepasswordText✅ EvetMax 100100

Gateway Yapılandırması (En Az 1 Gerekli)

#Alan Adı (TR)Alan Adı (EN)TipZorunluValidasyon
4IP AdresiipAddressText✅ EvetIPv4 formatı
5PortportNumber✅ EvetPort numarası
6ProtokolprotocolSelect✅ EvetUDP/TCP/TLS/TLS_SRTP
7NetmasknetmaskNumber❌ Hayır0-32 arası
Minimum Gateway Sayısı: 1 Maksimum Gateway Sayısı: Sınırsız (önerilir: 2-3 yedekleme için)

Protokol Seçenekleri

DeğerAçıklama
UDPStandart, hızlı
TCPGüvenilir bağlantı
TLSŞifreli güvenli
TLS/SRTPTam şifreleme

Validasyon Hataları

HataTürkçe Mesaj
Ad/username/password > 100”Ad, kullanıcı adı veya şifre en fazla 100 karakter olabilir”
Port veya protokol boş”Gateway : Port ve protokol doldurulmalı”
Netmask geçersiz”Gateway : Netmask 0-32 arası olmalı”
IP geçersiz”Gateway : Geçerli bir IP adresi girin”
Gateway yok”En az bir gateway olmalı”

6. Özet Karşılaştırma

Form Zorunlu Alan Sayıları

FormToplam AlanHer Zaman ZorunluKoşullu ZorunluOpsiyonel
AI Agent184311
Müşteri153012
Kampanya14644
Bilgi Bankası3300
SIP Trunk761 (gateway)1

En Çok Zorunlu Alan

🥇 SIP Trunk - 6/7 alan zorunlu (85.7%) 🥈 Bilgi Bankası - 3/3 alan zorunlu (100%) 🥉 Kampanya - 6/14 alan zorunlu (42.9%)

En Az Zorunlu Alan

Müşteri - 3/15 alan zorunlu (20%)

Karakter Limit Karşılaştırması

FormEn Kısa LimitEn Uzun LimitOrtalama
AI Agent20 (escalation msg min)1000 (description)200
Müşteri16 (phone)2000 (notes)400
Kampanya---
Bilgi Bankası2 (name min)250 (description)100
SIP Trunk-100100

API Endpoint Özeti

FormAPI MethodEndpoint Path
AI AgentPOST/platform/agents
MüşteriPOST/platform/customers
KampanyaPOST/platform/campaigns
Bilgi BankasıPOST/platform/knowledgebases
SIP TrunkPOST/platform/sip-trunks

📌 Önemli Notlar

Dokümantasyon Hataları Bulundu

  1. AI Agent formunda:
    • ❌ Ses Seçimi alanı YOK (dokümanda var)
    • ❌ AI Model Seçimi alanı YOK (dokümanda var)
    • ❌ Telefon Ataması alanı YOK (dokümanda var)
    • ❌ Temperature kullanıcı değiştiremiyor (dokümanda değiştirilebilir yazıyor)
  2. Kampanya formunda:
    • ⚠️ Edit modda 3 alan değiştirilemez (callList, agent, phoneNumber)
    • ⚠️ Tarih formatı: Frontend ISO, Backend “dd.mm.yyyy hh:mm”
  3. Müşteri formunda:
    • ⚠️ Alan adı eşleştirmeleri: company→companyName, notes→description
    • ⚠️ Gender mapping: TR (Erkek/Kadın) → EN (male/female)

Gerçek Zamanlı Validasyon

Tüm formlarda:
  • ✅ Karakter sayacı (real-time)
  • ✅ Hata mesajları (inline)
  • ✅ Disable butonu (geçersiz formda)
  • ✅ Red border (geçersiz alanlarda)

Son Güncelleme: 2025-11-16 Doğrulama Durumu: ✅ Frontend kod ile %100 doğrulanmıştır Kullanım: Dokümantasyon yazarken bu tabloya başvurun