Av Loffe
Hej! Loffe här. Idag ger jag en liten inblick i vår vardag som integrationsutvecklare på Standout. Och dagens fråga är:
hur svårt kan det vara att synka ett telefonnummer? Ganska lätt? Tja, kunden säger att alla nummer är svenska, källsystemet har +46.. och mottagnade tillåter bara nollor i början. Vi tar bort inledande +46 ersätter med en nolla och skickar vidare. Klart på en kvart.
Men riktigt så enkelt är det sällan i verkligheten. Häng med så ska jag berätta om fallgroparna jag har stött på i vardagen med just telefonnummer i åtanke.
Kunden är säker. Vi tar bort +46, ersätter med 0 och kör igång.
Någon vecka senare kommer ett nummer med +47.
Regeln som kändes självklar igår är plötsligt fel för en norsk kund, en leverantör i Danmark eller en medarbetare som flyttat. Landskoden är inte dekoration. Den är information.
Fältet heter mobilePhone. Alltså ligger det alltid mobilnummer där. Perfekt för SMS.
Sedan tittar vi i datan:
"mobilePhone": "0470-123456"
Det är ett växelnummer i Växjö. Bra att ringa till. Riktigt dåligt att skicka SMS till. Fältnamn är intentioner. Innehållet är verkligheten. De två behöver inte stämma överens.
Absolut. Bara siffror.
Tills någon öppnar kalkylbladet:
070-123 45 67070/1234567(070) 123 45 67070.123.45.67070.123.45.67 (ring ej efter 16) Samma nummer, fem format. Om din synk antar “bara siffror” måste den antingen städa - eller faila högt. Att låtsas att skiljetecken inte finns brukar sluta med att de dyker upp i mottagarsystemet i stället.
Bra, vi tillåter bindestreck och mellanslag. Klart?
Inte riktigt:
070-123 45 67 (jobb)0701234567, kvällstid0701234567 / AnnaPlötsligt följer anteckningar, namn och tidpreferenser med. Det är värdefull information för en människa - och gift för ett SMS-API som förväntar sig ett E.164-nummer.
Obligatoriskt fält. Tomt får man inte spara. Alltså finns där alltid ett nummer.
Eller så finns där:
har glömt-saknasingen telefonmaila iställetAnvändare fyller i det de måste för att komma vidare. Validering som bara kollar “inte tomt” fångar inte det. Den fångar bara att någon tryckte på sparaknappen.
Efter några såna här rundor brukar jag ställa tre frågor tidigt:
Sedan: normalisera till ett känt format (ofta E.164), validera land och längd, och behandla fältnamn som ledtrådar - inte som sanning.
Telefonnummer är inte “bara en sträng”. De är små, kluriga dataobjekt som människor skriver på det sätt som känns naturligt just då. Det är okej. Det är vårt jobb att räkna med det.
Har du en synk där telefonnummer (eller något annat “enkelt” fält) krånglar mer än det borde? Hör av dig - vi har sett det förr.
Vill du veta mer, få en offert eller diskutera en lösning? Boka ett möte eller ring direkt.