Proje: Okul Platform · Hub: Okul Platform — Domain
getLeadContacts() — SchoolService (Bases)
Lead geldiğinde okula kimin bildirim alacağını belirler.
Öncelik Sırası
1. CustomerUserSchool Üzerinden (has_lead_access=true kullanıcılar)
$school->leadNotificationUsers // has_lead_access=true usersHer kullanıcı için UserContact’tan kişisel iletişim bilgileri:
can_receive_leads_mail = false→ E-posta iletişimleri hariçcan_receive_leads_sms = false→ Telefon iletişimleri hariçunsubscribed = false→ Abonelikten çıkmamış olanlaris_primary = true→ Birincil iletişim
2. Fallback: SchoolContact Üzerinden
Eğer UserContact’tan kimse bulunamazsa:
school.notifyEmails→ SchoolContact (contact_type_id=10)school.notifyGsmNumbers→ SchoolContact (contact_type_id=9)
redirectToPanel Flag
contact['redirectToPanel'] = true/false
- CustomerUser üzerinden gelen kişilerde:
true(portal’a yönlendirme) - SchoolContact üzerinden:
school.limitedLead()— Limit doluysa true
getLeadNotificationUsers() vs getLeadContacts()
getLeadNotificationUsers()→ User nesneleri dönergetLeadContacts()→ İletişim bilgileri döner (e-posta/telefon karışık)
Sonitel Entegrasyonu
Gelen arama akışında da aynı mekanizma kullanılır:
school_contacts_lead_forward → Aramanın yönlendirileceği kişiler
Related
- api-lead-flow — Lead bildirim akışı
- api-b2b-vs-b2c — B2B kullanıcı iletişim tercihleri
- api-inbound-call-webhook-detail — Gelen arama için aynı çözümleme