Nedir?Salesforce

Salesforce WhoId & WhatId Farkı Nedir?

Salesforce WhoId & WhatId alanları, sistem yöneticilerinin %80’inin yanlış anladığı polimorfik yapıların başında gelir. Task ve Event nesnelerinde “Name” ve “Related To” etiketleriyle görünen bu alanlar, aktivite verilerinin doğru ilişkilendirilmesi için büyük öneme sahiptir. Yanlış kullanımları raporlama hatalarına yol açarken, doğru uygulamaları müşteri ilişkileri yönetiminde devrim yaratabilir. Bu yazımızda iki alanın farkını inceleyebilirsiniz.

Salesforce WhoId & WhatId Nedir?

Salesforce ekosisteminde Task ve Event nesneleri üzerinde çalışırken karşılaştığımız WhoId & WhatId alanları, sistem mimarisinin en iyi bilinmesi gereken bileşenleri arasında yer alır. Bu polimorfik alanlar aktivite kayıtlarının diğer Salesforce nesneleriyle olan ilişkilerini tanımlar ve veri bütünlüğünün sağlanmasında önemli rol oynar.

WhoId alanı, kullanıcı arayüzünde “Name” etiketi altında görünürken, WhatId alanı “Related To” başlığıyla karşımıza çıkar. Bu API isimlendirmeleri, geliştiriciler ve sistem yöneticileri için standart terminolojiyi oluşturur. Her iki alan da polymorphic yapıda tasarlanmış olup, farklı nesne türlerinin ID değerlerini kabul edebilir.

Polimorfik yapının getirdiği esneklik, Salesforce’un güçlü ilişkisel veri modelinin temelini oluşturur. Bu özellik sayesinde tek bir alan birden fazla nesne türüyle ilişki kurabilir ve sistemin modüler yapısını destekler.

Salesforce WhoId Detaylı İnceleme

Salesforce WhoId alanının temel işlevi, aktiviteleri insan odaklı kayıtlarla ilişkilendirmektir. Bu alan özellikle Lead ve Contact nesneleriyle çalışırken önem taşır ve aktivite takibinin doğruluğunu belirler.

WhoId alanının kabul ettiği nesne türleri şunlardır:

  • Lead kayıtları: Potansiyel müşteri aktiviteleri için.
  • Contact kayıtları: Mevcut müşteri etkileşimleri için.
  • Person Account kayıtları: B2C senaryolarda kullanılır.

Shared Activities özelliği aktif edildiğinde, tek bir aktiviteye 50’ye kadar Contact veya Lead kaydı ilişkilendirilebilir. Bu özellik, grup toplantıları ve toplu e-posta kampanyaları için vazgeçilmez bir araç haline gelir.

WhoId alanının doldurulması sırasında dikkat edilmesi gereken husus, Lead kayıtları seçildiğinde WhatId alanının kullanılamaz hale gelmesidir. Bu kısıtlama, Lead nesnelerinin Account nesneleriyle doğrudan ilişkisinin bulunmamasından kaynaklanır.

SOQL sorgularında WhoId alanını kullanırken polimorfik yapısı nedeniyle özel dikkat gösterilmelidir:

SELECT Id, Subject, WhoId, Who.Name FROM Task 

WHERE WhoId != null

 

Contact kayıtlarıyla ilişkili Task’ları filtrelemek için Contact ID prefix’i kullanılabilir:

SELECT Id, Subject, WhoId FROM Task 

WHERE WhoId LIKE ‘003%’

Bu sorgu yapısı, Contact kayıtlarıyla ilişkili Task’ları filtreleyerek veri tutarlılığını sağlar.

Salesforce WhatId Kapsamlı Analizi

Salesforce WhatId alanı, aktiviteleri iş süreçleri ve kayıtlarla ilişkilendirmek için tasarlanmıştır. Bu alan WhoId’den farklı olarak çok daha geniş bir nesne yelpazesini destekler ve iş akışlarının merkezinde yer alır.

WhatId alanının desteklediği standart nesneler:

  • Account: Müşteri hesapları ve organizasyonlar
  • Opportunity: Satış fırsatları ve pipeline yönetimi
  • Case: Müşteri destek süreçleri
  • Campaign: Pazarlama kampanyaları
  • Contract: Sözleşme yönetimi
  • Custom Objects: Özel iş gereksinimleri

WhatId alanının esnekliği özel nesnelerle de çalışabilmesinde ortaya çıkar. Organizasyonunuzda oluşturulan özel nesneler, uygun yapılandırma ile WhatId alanında seçilebilir hale getirilebilir.

Account alanının otomatik doldurulması WhatId seçimlerine bağlı olarak gerçekleşir. Sistem seçilen nesnenin Account ile olan ilişkisini analiz ederek uygun Account ID’sini belirler.

WhoId ve WhatId Arasındaki Temel Farklar

Özellik Salesforce WhoId Salesforce WhatId
Kullanıcı Etiketi Name Related To
Hedef Nesneler Lead, Contact, Person Account Account, Opportunity, Case, Campaign, Custom Objects
Maksimum İlişki 50 (Shared Activities ile) 1
Lead Seçiminde Aktif Pasif
Account İlişkisi Contact üzerinden dolaylı Doğrudan veya dolaylı
Veri Türü Polymorphic Lookup Polymorphic Lookup

Bu karşılaştırma tablosu Salesforce WhoId & WhatId farkının net bir şekilde anlaşılmasını sağlar. Her iki alanın da polimorfik yapıda olması ortak özellik olmakla birlikte, hedef kitleleri ve kullanım senaryoları tamamen farklıdır.

WhoId alanının insan odaklı yaklaşımı, müşteri ilişkileri yönetiminin temelini oluştururken, WhatId alanının nesne çeşitliliği iş süreçlerinin detaylı takibini mümkün kılar.

Pratik Kullanım Senaryoları ve İpuçları

Salesforce WhoId ve Salesforce WhatId alanlarının doğru kullanımı, veri kalitesini ve raporlama doğruluğunu doğrudan etkiler. Satış temsilcileri müşteri ziyaretlerini kaydettiğinde, WhoId alanına Contact kaydını, WhatId alanına ise görüşülen Opportunity kaydını girmelidir.

Event kayıtları oluştururken, toplantının katılımcısı WhoId alanında, toplantının konusu ise WhatId alanında belirtilir. Bu yaklaşım aktivite raporlarının insan bazlı ve süreç bazlı analizlerini mümkün kılar.

Gelişmiş SOQL sorguları için TYPEOF clause kullanımı önerilir:

SELECT Id, Subject, 

       TYPEOF Who 

       WHEN Contact THEN Name, Phone 

       WHEN Lead THEN Name, Email 

       END 

FROM Task

Task kayıtlarında benzer mantık uygulanır ancak burada görevin sorumlusu ile ilgili kişi ayrımına dikkat edilmelidir. Assigned To alanı görevin sorumlusunu belirtirken, WhoId alanı görevle ilgili müşteriyi tanımlar.

Salesforce’un Account alanını otomatik doldurma algoritması şu hiyerarşiyi takip eder: WhoId alanında Contact seçilmişse, Contact’ın bağlı olduğu Account otomatik olarak atanır. WhatId alanında Account seçilmişse, doğrudan o Account kullanılır. Her ikisi de doluysa ve farklı Account’lara işaret ediyorsa, Contact’ın Account’u öncelik kazanır.

Workflow ve Process Builder kurallarında bu alanları kullanırken, null değer kontrollerinin mutlaka yapılması gerekir. Özellikle Lead kayıtları için WhatId alanının boş olacağı unutulmamalıdır.

Salesforce WhoId & WhatId Sık Karşılaşılan Hatalar ve Çözümleri

Yöneticilerin en sık karşılaştığı hata, Lead kayıtları seçildiğinde WhatId alanının neden pasif hale geldiğini anlayamamalarıdır. Bu durum, Lead to Contact conversion sürecinin doğru planlanmamasına yol açabilir.

Data import işlemlerinde WhoId ve WhatId alanlarının yanlış doldurulması, aktivite kayıtlarının hatalı ilişkilendirilmesine neden olur. Bu sorunu önlemek için import şablonlarında alan validasyonları mutlaka eklenmelidir.

Report ve Dashboard oluşturulurken, bu alanların polimorfik yapısı nedeniyle join işlemlerinde zorluklar yaşanabilir. Cross filter kullanımı bu durumda en etkili çözüm yöntemidir.

Salesforce’un resmi Tasks & Events Data Model dökümanı bu alanların sistem mimarisindeki konumunu detaylandırır. Veri modeli tasarımında lookup relationship’lerin master-detail relationship’lerden farkını anlamak, WhoId ve WhatId alanlarının davranışlarını öngörmek için önemlidir.

Apex kod geliştirmede, bu alanların veri türünü kontrol etmeden işlem yapmaya çalışmak ClassCastException hatalarına yol açar. getSObjectType() metodunun kullanımı bu tür hataları önler.

Salesforce WhoId & WhatId: Sıkça Sorulan Sorular

Salesforce WhoId & WhatId alanları aynı anda doldurulabilir mi?

Evet, Contact kayıtları seçildiğinde her iki alan da doldurulabilir. Ancak Lead seçildiğinde sadece WhoId alanı aktif olur.

WhoId alanında Person Account kayıtları kullanılabilir mi?

B2C yapılandırmasında Person Account özelliği aktifse, WhoId alanında Person Account kayıtları seçilebilir.

Custom Object kayıtları WhatId alanında nasıl görünür hale getirilir?

Custom Object’in “Allow Activities” seçeneği aktif edilmelidir. Bu ayar Object Manager’dan yapılandırılır.

Shared Activities özelliği nasıl aktif edilir?

Setup > Activity Settings bölümünden “Shared Activities” seçeneği işaretlenir. Bu özellik organizasyon genelinde geçerlidir.

WhoId ve WhatId alanları API çağrılarında nasıl güncellenir?

SOAP veya REST API kullanılarak bu alanlar standart field update işlemleriyle güncellenebilir. Polymorphic yapı nedeniyle doğru ID formatına dikkat edilmelidir. SOQL sorgularında SELECT Id, WhoId, WhatId, Who.Name FROM Task WHERE CreatedDate = TODAY gibi ifadeler kullanılabilir.

Bu alanların doğru kullanımı, Salesforce sisteminizdeki veri bütünlüğünü ve raporlama kalitesini önemli ölçüde artırır.

Bir önceki içeriğimize de göz atın: “Salesforce Cybersecurity: Güvenlik İle İlgili Rehber

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu