- Spegnimento
- 6 ottobre 2026 alle ore 18:35 UTC
- Autore
- Kamo
- Impegno
- dc93deb
Importazioni manuali, importazioni automatizzate (aspirazione) e il backlog ciascuno portato loro propria copia del codice di mappatura, e non sono d'accordo: data, regex e split le trasformazioni mancavano ovunque, le copie di aspirazione saltavano vuoto valori prima di trasformare (così "valore predefinito" mai licenziato), diversi percorsi le offerte di tela sono state ritirate, e "Assigned User" è stato ignorato su tutti e tre. lead.mapping è ora il singolo motore: - LeadRequestMapper: elenco regole -> CreateLeadRequest. Le mappe funzionano in ordine e vince il primo valore non vuoto per campo; ogni percorso leadFields.ts, ogni campo mutuo e campi di forma personalizzati terra (LeadRequestMapper Perni di prova). - LeadFieldTransforms + TransformationsJson: ogni trasformazione di tela, una implementazione; i tipi sconosciuti sono rifiutati in tempo di salvataggio. - Obiettivo di assegnazione "assignedTeamMember" (legacy "assignedUser" ancora letto): un membro fisso, non firmato, o abbinato a campi. Campi di corrispondenza formano un catena ordinata - un valore vuoto o ineguagliato passa al successivo, il in primo luogo che nomina una persona decide, altrimenti la mappatura fallback (nessuno o un membro scelto) si applica. L'endpoint JustCall di Harmony si basa su quella catena. - TeamMemberMatcher: formato-tollerante, tipo-safe matching on email, username e nome ("Last, First", iniziali, soprannomi, accenti, un piccolo typo); un valore che si adatta a due persone non è mai indovinato. - LeadAssignableMembers: i candidati sono i titolari attivi VIEW LEADS, le stesse persone che l'agenteSelettore offre (RightHolders e GrantAllRoles trasferirsi qui da SecurityService in modo da DaemonService può usarli). Inoltre: LeadImportResponse report totalAssegnato e assegnazioneI dati; LeadIntakeService convalida le trasformazioni prima di sostituire le mappe e può richiedere i carichi di pagamento FAILED per il lavoro di assunzione.
