Frågor · Adresser
Hur lägger jag till autokomplettering av adresser i mitt formulär?
Du kopplar widgeten till adressfältet i ditt formulär: medan användaren skriver dyker gatorna upp ur det nationella adressregistret, med orten, och vid valet fylls fälten i av sig själva med adressen redan i korrekt form, postnummer inräknat. Det gäller i länderna vars register är i drift: Norge, Finland, Danmark, Tyskland och de andra på landssidan. För svenska adresser finns förslagen inte ännu, för det svenska registret är inte i drift: fältet fylls i för hand, utan att något dras, och adressen sätts i sin form när den sparas. Sverige följer så snart tillgången till registret är på plats. Din server fungerar som mellanled till vårt API, så att token aldrig hamnar i webbläsaren.
Vad den som fyller i ser
I ett land med register i drift skriver användaren början på gatunamnet och ser de gator som finns, med orterna där gatan finns; är orten redan ifylld smalnar förslagen av till den. När gatan är vald skriver användaren husnumret och formuläret säger om det finns: postnumret som kommer är det som hör till just det numret, inte en gissning ur ortnamnet.
Vid valet fylls fälten gata, husnummer, postnummer och ort i med posten som motorn kontrollerat, samma som vid adresskontrollen. Registret föds rent i stället för att städas efteråt.
För en svensk adress ser användaren i dag inga förslag: hen skriver adressen som vanligt, och svaret från endpointen säger att det inte finns något register i drift för landet och öppnar ingen session. Adressen får sin form i stället i nästa steg, vid sparandet, genom kontaktverifieringen: gatan utskriven, postnumret som ”111 52”, orten med versaler.
Så betalas det
Per session, inte per tangenttryckning. Förslagen medan man skriver är gratis; en bearbetning räknas när användaren väljer adressen och fälten fylls i. Ändrar användaren sedan husnumret och väljer igen i samma session betalas inget nytt. Varje session tillåter upp till trettio anrop och gäller i tio minuter. I ett land utan register i drift, som Sverige i dag, öppnas ingen session och inget dras. Prislistan finns på prissidan.
Så integreras den
Tre delar:
- En API-token, från ditt konto.
- En liten proxy på din server, en sida som tar emot anropet från webbläsaren, lägger till token och skickar det vidare till vår endpoint. Den behövs för att token aldrig får ligga i kod som körs i webbläsaren.
- Widgeten
ra-suggerisci.js, utan beroenden: du anger proxyns adress och selektorerna för formulärets fält, och den sköter resten: väntetiden medan man skriver, sammanhanget från de fält som redan är ifyllda och ifyllningen vid valet.
Den som hellre gör det själv anropar endpointen /api/v1/suggest direkt: ett sessions-id som klienten skapar, den skrivna texten, de redan kända fälten som sammanhang; sedan valet med den valda gatan och husnumret. Allt finns i API-dokumentationen och i specifikationen OpenAPI.
Särskilda fall
- Svenska adresser: inga förslag ännu, eftersom det svenska registret inte är i drift. Widgeten stör inte: svaret säger att registret saknas, ingen session öppnas, och användaren fyller i adressen för hand. Sätter du sedan posten genom kontaktverifieringen vid sparandet får adressen sin svenska postform. Sverige följer så snart tillgången till registret är på plats, utan att du behöver ändra något i formuläret.
- Andra länder: förslagen finns i alla länder vars nationella adressregister är i drift (listan); formuläret skickar med landet användaren valt och widgeten söker där, med det landets form för husnummer och postnummer. Användaren kan skriva allt i ett enda fält (”Karl Johans gate 22 Oslo”): svaret säger hur det lästes (
parsed: gata, husnummer, postnummer). - WooCommerce och PrestaShop: inget behöver skrivas, det finns pluginen för WooCommerce och modulen för PrestaShop med autokomplettering i kassan och kontroll av ordrarna.
- En gata som inte dyker upp: användaren kan alltid skriva hela adressen; posten går genom kontrollen i ett senare steg, från en fil eller från API:et.
- Flera formulär, flera webbplatser: samma token tjänar alla formulär; proxyn kan ligga på varje webbplats eller vara gemensam.
Vad som händer med fälten för en svensk adress i dag
postnummer: 11152
ort: stockholm
111 52 STOCKHOLM
Ingen autokomplettering ännu för Sverige: användaren skriver adressen själv, och vid sparandet sätter kontaktverifieringen den i svensk postform: gatan utskriven, postnumret med mellanslag, orten med versaler. Gatans existens är inte kontrollerad, och resultatet säger det. I länderna med register i drift föreslås gata och husnummer redan medan användaren skriver.
Frågorna som följer
Behövs ett särskilt bibliotek eller ramverk?
Nej. Widgeten är en JavaScript-fil utan beroenden som hakar på de befintliga fälten via deras selektorer. Den fungerar med vilket HTML-formulär som helst, i ett CMS lika väl som i en egenbyggd applikation.
Varför behövs en proxy på min server?
För att API-token är en nyckel till ditt konto: låg den i kod som körs i webbläsaren kunde vem som helst läsa den och använda den på din bekostnad. Proxyn är en sida på några rader som tar emot anropet, lägger till token och skickar det vidare.
Vad kostar det om användaren skriver men inte väljer något?
Inget. Förslagen är gratis: en bearbetning räknas bara när användaren väljer en adress och fälten fylls i.
Fungerar det för svenska adresser?
Inte ännu: förslagen kommer ur det nationella registret, och det svenska är inte i drift. Formuläret fortsätter att fungera med manuell ifyllning, utan att något dras, och adressen får sin postform vid sparandet genom kontaktverifieringen. Sverige följer så snart tillgången till registret är på plats.
Fungerar det även för husnummer?
Ja, där registret är i drift. När gatan är vald kommer med ett påbörjat husnummer de nummer som finns på gatan, och formuläret vet om det skrivna finns. Postnumret som fylls i är det som hör till just det numret.
Kan jag använda det för utländska adresser?
Ja, i alla länder vars adressregister är i drift: formuläret skickar med landet och förslagen kommer ur det landets register, i det landets form. I ett land utan register säger svaret det utan att öppna en session, så att formuläret fortsätter med manuell ifyllning utan kostnad.
Vad hamnar i fälten vid valet?
Adressen redan genomgången av kontrollmotorn: gatan i korrekt form, postnummer och ort. Det är samma post som du skulle få från kontrollen av en adress, fast i samma stund som uppgiften kommer in.
Jag har en WooCommerce- eller PrestaShop-butik: måste jag integrera widgeten för hand?
Nej: RadarAddress-pluginen för WooCommerce och modulen för PrestaShop lägger autokompletteringen i kassan och kontrollerar varje order. Du installerar, klistrar in token, och det fungerar.
Läs dokumentationen om autokomplettering
Endpoint, session, widget och proxy: allt du behöver för att lägga den i ditt formulär.
Läs dokumentationen om autokompletteringLäs även: Ett API för att normalisera adresser · Kontrollera adresserna i en Excel-fil · Pluginen för WooCommerce · Modulen för PrestaShop