Takım Oluşturma ve Üyeler
Purvisor’da bir Takım oluşturduğunda, ekip arkadaşlarını e-postayla ekleyip onlara owner / admin / member rollerinden birini atayabilirsin — kimin ne yapabileceğini baştan netleştirir. Ama net olmak gerekirse: bugün itibariyle bir takım oluşturmak, üyelerine otomatik olarak asistanlarını, kontaklarını ya da kampanyalarını göstermez. Bu sayfa hem kurulumu hem de bu önemli sınırı açıklıyor.
Nasıl çalışır?
Takım oluştur (POST /api/teams)
↓ (ad + açıklama; oluşturan kullanıcı otomatik owner olur)
Benzersiz bir slug atanır (örn. "pazarlama-ekibi-m8x2k1")
↓
Üye e-postayla eklenir (POST /api/teams/{id}/members)
↓ (e-posta Purvisor'da KAYITLI olmalı — davet e-postası akışı yok)
Üye "admin" veya "member" rolüyle eklenir (varsayılan: member)
↓
Üye giriş yapar → "Takımlarım" listesinde bu takımı görür (GET /api/teams)
↓
Gerektiğinde rol değiştirilir (PATCH) veya üye çıkarılır (DELETE)Ön koşullar
- Aktif bir Purvisor hesabı (Hesap Oluşturma) — takımı oluşturan kişi otomatik owner olur.
- Eklemek istediğin her kişinin kendi Purvisor hesabı olmalı. Purvisor şu an davet e-postası göndermiyor; sistem sadece zaten kayıtlı bir e-postayı takıma bağlayabiliyor. Kişi henüz kayıtlı değilse önce Hesap Oluşturma adımını tamamlamalı.
Kurulum
Takımı oluştur
Panelde Takımlar → Yeni Takım ile bir isim (2-100 karakter) ve isteğe bağlı bir açıklama (en fazla 500 karakter) gir. Oluşturduğun anda:
- Otomatik olarak takımın owner’ı olursun.
- İsminden türetilmiş, zaman damgasıyla benzersizleştirilmiş bir slug atanır (Türkçe karakterler sadeleştirilir: ç→c, ğ→g, ı→i, ö→o, ş→s, ü→u).
📸 [Ekran görüntüsü: Takımlar sayfası — “Yeni Takım” formu, ad + açıklama alanları]
Şu an takım adını/açıklamasını sonradan düzenleyen veya takımı silen bir panel işlevi yok — bu alan yalnızca oluşturma anında set edilir.
Üye ekle (e-posta ile)
Takım sayfasında Üye Ekle’ye tıkla, kişinin Purvisor’a kayıtlı e-postasını gir ve rolünü seç (admin veya member, varsayılan member). Bu işlem için en az admin rolünde olman gerekir — owner her zaman admin yetkisini de taşır.
POST /api/teams/42/members
Content-Type: application/json
{
"email": "ayse@sirket.com",
"role": "admin"
}Başarılı yanıt:
{
"userId": "118",
"name": "Ayşe Yılmaz",
"email": "ayse@sirket.com",
"role": "admin"
}Kişi henüz kayıtlı değilse 404 döner:
{
"error": "Bu e-postayla kayıtlı kullanıcı yok. Önce Purvisor'a kayıt olmalı.",
"code": "user_not_registered"
}📸 [Ekran görüntüsü: Üye Ekle formu — e-posta + rol seçimi (admin/member)]
Rolü değiştir veya üyeyi çıkar
Üye listesindeki bir kişinin rolünü değiştirmek ya da onu takımdan çıkarmak yine admin yetkisi ister — tek istisna, bir üyenin kendini çıkarması: bunu member rolüyle bile yapabilir.
PATCH /api/teams/42/members
Content-Type: application/json
{ "userId": "118", "role": "member" }DELETE /api/teams/42/members?userId=118📸 [Ekran görüntüsü: Üye listesi — rol dropdown’ı ve “Takımdan Çıkar” butonu]
Roller ve yetkiler
Rol hiyerarşisi: owner → admin → member. Üstteki rol, alttakinin tüm yetkilerini kapsar.
| Rol | Kim | Yetkiler |
|---|---|---|
| owner | Takımı oluşturan kullanıcı (Team.owner_id) | Her şeyi yapabilir. Rolü değiştirilemez, takımdan çıkarılamaz — sistem bunu her uçta ayrıca reddeder. |
| admin | Owner’ın admin atadığı üyeler | Üye ekleme/çıkarma, rol değiştirme (owner hariç). |
| member | Varsayılan üye rolü | Üye listesini görüntüleme, takım kaynaklarını kullanma. Başkasını ekleyemez/çıkaramaz/rolünü değiştiremez — ama kendini takımdan çıkarabilir. |
“Bu işlem için yetkiniz yok” hatası alıyorsan, muhtemelen member rolüyle admin gerektiren bir işlem (üye ekleme, rol değiştirme, başkasını çıkarma) yapmaya çalışıyorsundur.
Takım oluşturmak neyi paylaştırır, neyi paylaştırmaz?
Kurulumdan hemen sonra sorulan soru genelde şu olur: “Ekip arkadaşımı ekleyince benim asistanlarımı, kontaklarımı, kampanyalarımı görecek mi?”
Bugün itibariyle: hayır. Takıma üye eklemek ve rol atamak, o kaynakları otomatik olarak paylaştırmaz. Asistanlar tamamen onları oluşturan kullanıcıya (userId) bağlıdır ve bir takıma bağlanamaz. Kontak, kampanya, bilgi tabanı ve SIP numarası kayıtlarının veritabanı şemasında bir team_id alanı bulunur, ama uygulama tarafı bu alanı şu an okumuyor/yazmıyor — yani pratikte bu kaynaklar da hâlâ onları oluşturan kullanıcıya özeldir.
Bir takım bugün sana somut olarak şunu verir:
- Ortak bir üye/rol listesi: kim owner, kim admin, kim member — bunu her üye görebilir (
GET /api/teams/{id}/members). - Roller üzerinden yetki denetimi altyapısı: kimin üye ekleyip çıkarabileceği, kimin sadece görüntüleyebileceği net.
Bugün vermediği şey:
- Bir üye eklendiğinde, ekleyenin asistanlarını, kontak listesini, kampanyalarını veya çağrı kayıtlarını görme/yönetme yetkisi kazanmaz.
- Aynı asistan setine veya kontak havuzuna birden fazla kişinin gerçekten ortak eriştiği bir “şirket hesabı” modeli henüz yok.
Yani aynı asistan ve kontak setine birden fazla kişinin fiilen erişmesi gerekiyorsa, bugün için en pratik yol hâlâ aynı kullanıcı hesabı altında çalışmaktır. Takımlar özelliği, rol tabanlı bir yapıyı şimdiden kuruyor; kaynak paylaşımının bu rollere bağlanması ayrı bir adım.
KVKK notu: Üye listesi (
GET /api/teams/{id}/members) her üyenin ad ve e-postasını diğer tüm üyelere gösterir — bu da kişisel veridir. Takıma birini eklemeden önce bu görünürlüğün onun rızası/beklentisiyle uyumlu olduğundan emin ol. Detay: KVKK ve Veri Yönetimi.
İyi uygulamalar
- Admin sayısını sınırlı tut — üye ekleme/çıkarma/rol değiştirme yetkisi olan kişi sayısı arttıkça yanlışlıkla yapılan bir rol değişikliğinin etkisi de büyür.
- Kayıt olmadan ekleyemezsin — bir ekip arkadaşını eklemeden önce ona Hesap Oluşturma bağlantısını gönder, kayıt tamamlandıktan sonra e-postasıyla ekle.
- “Görecek mi?” sorusunu baştan netleştir — yukarıdaki paylaşım sınırını ekip arkadaşlarına önceden anlat; beklenti farkı, “neden asistanlarımı göremiyorum” gibi gereksiz destek taleplerini önler.
- Owner’ı canlı tut — owner rolü devredilemediği ve owner çıkarılamadığı için, takımı kuran hesabın erişiminin (şifre, 2FA kurtarma kodları) güvenilir şekilde saklandığından emin ol (İki Adımlı Doğrulama).
Sorun giderme
| Hata mesajı / belirti | Neden |
|---|---|
"Bu e-postayla kayıtlı kullanıcı yok. Önce Purvisor'a kayıt olmalı." (user_not_registered) | Eklemeye çalıştığın e-posta Purvisor’da kayıtlı değil. Davet e-postası akışı yok — kişi önce kendi hesabını oluşturmalı. |
"Takım sahibi zaten üye" | Owner’ın kendi e-postasını tekrar üye olarak eklemeye çalıştın — owner zaten örtük olarak üyedir. |
"Kullanıcı zaten takım üyesi" | Aynı kişi ikinci kez eklenmeye çalışılıyor. |
"Takım sahibinin rolü değiştirilemez" | PATCH ile owner’ın rolü değiştirilmeye çalışıldı — owner rolü sabittir. |
"Takım sahibi takımdan çıkarılamaz" | DELETE ile owner çıkarılmaya çalışıldı. |
"Bu işlem için yetkiniz yok" | member rolündeki biri admin gerektiren bir işlem (ekleme/çıkarma/rol değiştirme) yapmaya çalıştı. |
"Üye bulunamadı" | Rolü değiştirilmek/çıkarılmak istenen kullanıcı bu takımda üye değil. |
"Takım bulunamadı" | Takım kimliği yanlış, silinmiş veya bu takımı görme yetkin yok. |
| ”Eklediğim üye asistanlarımı/kontaklarımı göremiyor” | Beklenen davranış budur — bkz. yukarıdaki “Takım oluşturmak neyi paylaştırır, neyi paylaştırmaz?” bölümü. |