Segment API
Dinamik kisi segmentleri olusturun ve kampanya hedeflemesi icin kullanin.
Endpointler
Segmentleri Listele
http
GET /api/v1/contacts/segmentsYanit:
json
{
"data": [
{
"id": "seg_abc123",
"name": "Aktif Musteriler",
"description": "Son 30 gunde mesaj gonderen musteriler",
"filters": {
"rules": [
{
"field": "lastMessageAt",
"operator": "greaterThan",
"value": "30d"
}
],
"logic": "AND"
},
"isDynamic": true,
"contactCount": 342,
"createdAt": "2026-01-15T10:00:00Z",
"updatedAt": "2026-02-10T08:00:00Z"
}
],
"total": 8
}Segment Olustur
http
POST /api/v1/contacts/segmentsBody:
json
{
"name": "VIP Musteriler",
"description": "Yuksek lead puanli musteriler",
"filters": {
"rules": [
{
"field": "leadScore",
"operator": "greaterThan",
"value": 80
},
{
"field": "tags",
"operator": "contains",
"value": "vip"
}
],
"logic": "AND"
},
"isDynamic": true
}| Alan | Tip | Zorunlu | Aciklama |
|---|---|---|---|
name | string | Evet | Segment adi |
description | string | Hayir | Aciklama |
filters | object | Evet | Filtre kurallari |
isDynamic | boolean | Hayir | Dinamik mi? (varsayilan: true) |
Segment Guncelle
http
PATCH /api/v1/contacts/segments/:idSegment Sil
http
DELETE /api/v1/contacts/segments/:idSegment Kisilerini Getir
http
GET /api/v1/contacts/segments/:id/contactsSegmentin filtrelerine uyan kisileri dondurur.
Query Parametreleri:
| Parametre | Tip | Aciklama |
|---|---|---|
page | number | Sayfa numarasi (varsayilan: 1) |
limit | number | Sayfa basina kayit (varsayilan: 20) |
Filtre Kurallari
Desteklenen Alanlar
| Alan | Tip | Aciklama |
|---|---|---|
name | string | Kisi adi |
email | string | E-posta adresi |
phone | string | Telefon numarasi |
tags | string | Etiketler |
source | string | Kaynak (web, whatsapp, vb.) |
leadScore | number | Lead puani (0-100) |
lastMessageAt | date | Son mesaj tarihi |
createdAt | date | Olusturulma tarihi |
totalMessages | number | Toplam mesaj sayisi |
sentiment | string | Duygu analizi (positive, negative, neutral) |
customField.* | any | Ozel alanlar |
Desteklenen Operatorler
| Operator | Aciklama | Gecerli Tipler |
|---|---|---|
equals | Esit | string, number |
notEquals | Esit degil | string, number |
contains | Icerir | string |
notContains | Icermez | string |
startsWith | Ile baslar | string |
greaterThan | Buyuk | number, date |
lessThan | Kucuk | number, date |
between | Arasinda | number, date |
isEmpty | Bos | any |
isNotEmpty | Bos degil | any |
Mantik Operatorleri
| Mantik | Aciklama |
|---|---|
AND | Tum kurallar karsilanmali |
OR | En az bir kural karsilanmali |
Ornek Filtreler
Soguk Lead'ler (30+ gun inaktif, dusuk puan):
json
{
"rules": [
{ "field": "lastMessageAt", "operator": "lessThan", "value": "30d" },
{ "field": "leadScore", "operator": "lessThan", "value": 20 }
],
"logic": "AND"
}WhatsApp Musterileri:
json
{
"rules": [
{ "field": "source", "operator": "equals", "value": "whatsapp" },
{ "field": "totalMessages", "operator": "greaterThan", "value": 5 }
],
"logic": "AND"
}Yuksek Etkileismli Kisiler:
json
{
"rules": [
{ "field": "leadScore", "operator": "greaterThan", "value": 60 },
{ "field": "sentiment", "operator": "equals", "value": "positive" }
],
"logic": "OR"
}Dinamik vs Statik Segmentler
| Ozellik | Dinamik | Statik |
|---|---|---|
| Otomatik guncelleme | Evet — yeni kisi filtre kurallarina uyarsa otomatik eklenir | Hayir |
| Manuel kisi ekleme | Hayir | Evet |
| Performans | Her sorgu canli filtrelenir | Onceden hesaplanmis |
| Kullanim | Degisen kitleler icin | Sabit listeler icin |
Hata Kodlari
| Kod | Anlam |
|---|---|
| 400 | Gecersiz filtre kurallari |
| 404 | Segment bulunamadi |
| 409 | Segment adi zaten mevcut |
Yetkilendirme
Tum segment endpointleri JWT token gerektirir. Detaylar icin Kimlik Dogrulama sayfasina bakin.
