Guide Adresser

# Adresseforslag i en Shoporama-shop

Shoporama har HTML-felter, der indsættes på alle shoppens sider, også kurv, checkout og kvittering. Ét felt med [adressefeltet](https://grundfast.dk/docs/adressefelt) er nok til at give kunderne forslag på adressesiden. Navnene på felterne kommer fra dit tema, så dem finder du først.

Kaldet i guiden

- [GET /v1/adresse/search](https://grundfast.dk/docs/api/adresse-search)

3 min læsning 6 trin Opdateret 5. oktober 2026

## Opret en offentlig nøgle

Feltet kalder Grundfast direkte fra kundens browser, så det bruger en **offentlig nøgle** (`gf_pub_live_`). Den må gerne stå i sidens kildekode, fordi den kun virker fra de domæner, du skriver på den, og kun til adresseopslag. Opret den under [Nøgler i dashboardet](https://grundfast.dk/dashboard/keys): vælg **Offentlig** og skriv dine domæner, fx `butik.dk` og `www.butik.dk`.

Byg og test med en offentlig testnøgle (`gf_pub_test_`), som aldrig faktureres, og skift til live-nøglen, når feltet virker. Reglerne for domæner — `www`, underdomæner med `*.` og porte — står i [dokumentationen for adressefeltet](https://grundfast.dk/docs/adressefelt#offentlige-noegler).

## Find felterne på adressesiden

Adressesiden i checkouten er en del af dit tema, og temaet bestemmer felternes id og navn. Læs dem af din egen shop:

1. Gå til adressesiden Læg en vare i kurven og gå videre til siden, hvor kunden skriver sin adresse.
2. Undersøg felterne Højreklik i adressefeltet og vælg **Undersøg**. Notér `id` (eller `name`). Gør det samme for postnummer og by.
3. Skriv dem som selektorer Et id skrives med `#` foran (`#zipcode`), et navn som `input[name="zipcode"]`. Har temaet både en betalings- og en leveringsadresse, kan du skrive begge adressefelter i `data-felt`, adskilt med komma.

Retter du selv i temaet, kan du i stedet sætte `data-grundfast-adresse` direkte på adressefeltet i skabelonen og pege på postnummer og by med `data-gf-postnr` og `data-gf-by`. Så skal script-tagget ikke kende selektorerne.

## Opret HTML-feltet

1. Åbn HTML-felter Gå til **Webshop → HTML-felter** og klik **Tilføj nyt HTML-felt**. Giv det et navn uden mellemrum, fx `grundfast_adresse`.
2. Indsæt koden Indsæt tagget med dine egne selektorer: html ```
<script
  src="https://grundfast.dk/widget/v1/grundfast-adresse.js"
  defer
  data-key="gf_pub_live_..."
  data-felt="#ADRESSEFELTETS-ID"
  data-postnr="#POSTNUMMERFELTETS-ID"
  data-by="#BYFELTETS-ID"
></script>
```
3. Vælg placering og gem Vælg **Indsæt sidst i \<body>** — scriptet skal ikke bremse sidens første visning — og klik **Gem**.

Feltet indsættes nu på alle sider. På sider uden adressefelt gør scriptet ingenting; det er cirka 4 KB og hentes én gang.

## Tjek en ordre til ende

Læg en testordre igennem, og se adressen på den færdige ordre i administrationen — ikke kun i feltet. Feltet skriver værdierne, som om kunden havde tastet dem, så temaets egen validering og fragtvalg reagerer som normalt; men en ordre, der er gået hele vejen, er det eneste sikre bevis.

## Tjek nøglen fra en terminal

Før du leder i platformens indstillinger, kan du se, om nøglen og domænet passer sammen. Kaldet nedenfor er det samme, feltet laver. `Origin` er dit domæne, præcis som browseren skriver det:

bash

```
curl -G "https://api.grundfast.dk/v1/adresse/search" \
  --data-urlencode "q=Vestergade 10" \
  --data-urlencode "token=$GRUNDFAST_PUBLIC_KEY" \
  -H "Origin: https://www.butik.dk"
```

Svarer det med adresser, er nøglen i orden. Et `403` med `origin … is not allowed` betyder, at domænet ikke står på nøglen — ret listen i dashboardet; det slår igennem inden for et halvt minut.

## Hvis der ikke kommer forslag

- Åbn browserens konsol (F12, fanen Console). Feltet skriver én linje, der begynder med `[grundfast-adresse]`, med årsagen fra API’et.
- `no public key` — scriptet blev indlæst uden `data-key`.
- Ingen linje og ingen liste — feltet blev ikke fundet. Tjek at selektoren i `data-felt` rammer feltet: skriv `document.querySelectorAll('…')` med den samme selektor i konsollen.
- Listen vises, men felterne udfyldes ikke — selektorerne i `data-postnr` og `data-by` rammer ikke noget. De slås op i samme formular som adressefeltet først, derefter på hele siden.

Feltet stopper aldrig formularen: fejler et kald, lukker listen, og kunden kan skrive adressen i hånden som før.

Var denne side nyttig?

## Ofte stillede spørgsmål

### Hvorfor står feltnavnene ikke i guiden?

Fordi de kommer fra dit tema, og temaer kan navngive felterne forskelligt. Et navn, vi gættede på, kunne se rigtigt ud uden at virke i din shop.

### Skal HTML-feltet i head eller body?

I body. Scriptet skal bruge felterne på siden og kan godt vente, til siden er tegnet. Placeringen i head er til kode, der skal køre, før indholdet vises.

### Kan kunden stadig skrive adressen selv?

Ja. Forslagene er en hjælp. Skriver kunden adressen uden at vælge et forslag, sendes den som før.

### Kan jeg få BFE-nummeret med på ordren?

Kun hvis temaet har et felt, der gemmes med ordren — fx et kommentarfelt eller et ekstra felt. Peg data-bfe på det, så skrives BFE-nummeret dér, når kunden vælger en adresse.

## Prøv det på rigtige data

En gratis nøgle giver adgang til alle registre med samme svarform. Testnøgler faktureres aldrig, så du kan bygge færdigt, før du skifter til produktion.

[Kom i gang gratis](https://grundfast.dk/dashboard?mode=register) [Se alle guides](https://grundfast.dk/guides)

Gratis op til 5.000 kald/md · intet kreditkort · data fra Klimadatastyrelsen/Datafordeler, CC BY 4.0

Relateret

- [Adressefelt til checkout og formularer Dokumentation](https://grundfast.dk/docs/adressefelt)
- [Adresseforslag i en DanDomain-webshop Guide](https://grundfast.dk/guides/adressefelt-i-dandomain)
- [Adressefelt med autocomplete i checkout Guide](https://grundfast.dk/adressefelt-i-checkout)
- [Datavask Vask adresser mod DAR](https://grundfast.dk/datavask-api)
- [Søg efter en adresse GET /v1/adresse/search](https://grundfast.dk/docs/api/adresse-search)

På denne side

1. Opret en offentlig nøgle
2. Find felterne på adressesiden
3. Opret HTML-feltet
4. Tjek en ordre til ende
5. Tjek nøglen fra en terminal
6. Hvis der ikke kommer forslag
7. Ofte stillede spørgsmål

[API-dokumentation](https://grundfast.dk/docs)[Alle guides](https://grundfast.dk/guides)[Spørg os](https://grundfast.dk/kontakt)
