Proje: Okul Platform · Hub: Okul Platform — Architecture
ShouldDispatchAfterCommit Interface
LeadUpdatedEvent → implements ShouldDispatchAfterCommit
Bu interface Laravel’de bir event’in veritabanı transaction commit olduktan sonra dispatch edilmesini sağlar.
class LeadUpdatedEvent implements ShouldDispatchAfterCommit
{
public function __construct(
public Lead $lead,
public array $oldData = [],
) {}
}Neden Önemli?
CIO (CustomerIO) entegrasyonunda Lead güncellemesi CRM’e gönderilirken, önce DB’nin commit olması gerekiyor. Aksi halde Lead verisi tutarsız gönderilebilir.
Akış
Lead güncelle → DB transaction commit → LeadUpdatedEvent dispatch
↓
LeadUpdateListener
↓
B2BEventService::handleLeadUpdated()
↓
CIO B2B Track API
oldData array’i: Değişiklik öncesi lead verisi — CIO’ya “önceki durum” vs “yeni durum” göndermek için.
Related
- api-event-listener-map — Event/Listener haritası
- api-customerio-events — CIO B2B event’leri
- api-lead-flow — Lead güncelleme akışı