Studentsynken er en integrasjon mellom FS og Public360 for å sikre at alle aktive studenter er opprettet med en egen oppdatert privat-kontaktkort i Public360.
Integrasjonen består av 2 hoved deler. Den ene kjører direkte fra Databasene. Den samler og sender student-dataene til integrasjonsplattformen (Mule). Den andre delen skjer i på integrasjonsplattformen. Den leser inn dataene, tolker dem og oppretter/oppdaterer tilsvarende kontaktkort i Public360.
Del 1:
Den delen kjører som jobber direkte fra FS databasen. Det er 2 jobber pr FS database. Den ene går hver helg og sender en fullstendig liste over alle aktive studenter (De som har betalt semesteravgift). Den andre kjører i uke-dagene og får med seg endringer for siste dagen.
Del 2:
Den delen (som kjører på inegrasjosnplattformen) leser den innkommende listen (av studentdata) og behandler den en og en.
Mottatt studendata ser slik ut og har følgende elementer:
{ "Adresser": { "Hjemadresse": { "Fylke": "......", "Postadresse": "......", "Postkode": "......", "Postnummer": "......" }, "Semesteradresse": { "Fylke": "......", "Postadresse": "......", "Postkode": "......", "Postnummer": "......" } }, "Aktiv": -1, "EksternId": "<studentens fs-løpenummer>", "Epost": { "Privat": "......", "Semester": "......" }, "Etternavn": "......", "Fnr": "<fødselsnummer>", "Fornavn": "......", "Studentnummer": "<studentnummer>", "Telefonnummer": { "Mobil": "......" } }
Integrasjonen vil forsøke å ikke opprette duplikate private-kontaktkort. Den vil derfor først forsøke å finne om det allerede finnes en annen privat-kontaktkort for samme person basert på fødselsnummer.
Her er en detaljert beskrivelse av logikken (merk at externalId er fs-løpenummer til studenten):
Finner vi ingen, så leter vi igjen etter externalId (Her fanger vi utenlandske studenter, som først ble rettet opp uten fdselsnummer, eller med D-nunmmeret). Finner vi fortsatt ingen, retter vi opp et nytt kort
Finner vi eksakt et kort, så oppdaterer vi dette kortet, hvis det er forandret, ie: kortet blir muligens oppdatert på
active Flag
ExternalId
FirstName
LastName
PersonalIdNumber
privateAddress
workAddress
categories
Finner vi flere kort, så prøver vi å filtere ut kortet som passer best. Logikken her er som følge:
vi leter etter om da fins et kort med passende ExternalId. Hvis det fins et slikt kort, så tar vi det. Etter at ExternalId is unique kan vi ikke far flere treff her.
Hvis da fins i aktive kort eksakt et kort som er en student, så plukker vi det. Fins da flere studenter, stopper vi denne student og melder det som feil
Hvis da fins i ikke aktive kort eksakt en student, så blir det den som blir oppdatert. Fins da flere studenter, melder vi det som feil
Til slutt sendes det e-poster til ….