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 users

Her 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ış olanlar
  • is_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öner
  • getLeadContacts() → İ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