- Ya
- 5 Agosti 2026, 17:40 UTC
- Mwandishi
- Kamo
- Ahadi ya
- 6854a2d
The marketing site's demo form collected name, email, company, company size, industry and a message, then advanced to scheduling without telling anyone. Lead creation lived only inside **************** so every visitor who did not complete a booking — including every visitor at all while no availability is published — was discarded after handing over their details. - POST **************** writes the lead on its own. Owning org comes from the X-Public-Chat-Org-Id header APIService stamps from the validated key, never from the body. - findOrCreatePublicLead is now the single lead-writing path for all three public surfaces (demo form, schedule, join), so one visitor produces one lead however many steps they complete. It stamps the org's "KamoCRM" / "Demo Request" vendor product and takes the market from that vendor, and it routes through LeadService.createLead instead of saving the entity directly — the old inline save produced no history row and no LEAD_CREATED event, so those leads never appeared in an already-open grid. - Company size, industry and the visitor's message are kept as a lead history entry; Lead has no column for any of them and they are the part a salesperson actually reads. - GET /api/public/webinar/types lets a public page discover the type id rather than carry a hardcoded copy, and slots/available now also returns availableTimes — the same availability resolved against the owning org's timezone into instants that can be posted back as a scheduledStartTime.