Fra dawa-autocomplete2 til Danadresse

Behold DAWA's autocomplete-widget, skift script-adressen og tilføj en domænelåst browsernøgle, så adressefeltet virker igen.

4 min Niveau: Begynder ✓ Kode testet

Mange sider brugte DAWA's widget dawa-autocomplete2 direkte fra dawa.aws.dk eller cdn.dataforsyningen.dk. De filer forsvandt, da DAWA lukkede 1. oktober 2026, og adressefeltet holdt op med at foreslå adresser.

Vi serverer den samme widget (version 1.1.0, MIT-licens) på de samme stier under api.danadresse.dk. Din initialiseringskode og din CSS kan blive, som de er. Du skifter domænet i <script src> og giver widgetten en nøgle.

1. Opret en browsernøgle

Nøglen står i sidens HTML, så alle besøgende kan se den. Brug derfor en nøgle, der er låst til dine domæner:

  1. Åbn Nøgler og opret en live-nøgle til websitet.
  2. Fold Tilladte domæner ud på nøglen og skriv dine domæner, fx firma.dk, www.firma.dk. *.firma.dk dækker kun underdomæner, ikke firma.dk selv. localhost er tilladt til udvikling.
  3. Gem. En nøgle kan have op til 40 domæner.

En låst nøgle svarer kun, når browserens Origin (eller Referer) matcher et af domænerne. Hver besøgende kan lave 120 kald i minuttet, så én besøgende ikke kan bruge hele din kvote. Detaljerne står i Browsernøgler og tilladte domæner.

Bruger du en ulåst nøgle i en offentlig side, bliver den set fra mange IP-adresser. Det ligner en lækket nøgle, og den kan blive spærret (403 key_blocked).

2. Skift script-adressen

Erstat domænet og sæt nøglen på som ?key=:

HTML#script-tag
<!-- Før -->
<script src="https://dawa.aws.dk/js/autocomplete/dawa-autocomplete2.min.js"></script>

<!-- Efter -->
<script src="https://api.danadresse.dk/js/autocomplete/dawa-autocomplete2.min.js?key=dawa_live_din_browsernøgle"></script>

Disse stier virker:

DAWA-stiDanadresse
dawa.aws.dk/js/autocomplete/dawa-autocomplete2.min.jsapi.danadresse.dk/js/autocomplete/dawa-autocomplete2.min.js
dawa.aws.dk/js/autocomplete/dawa-autocomplete2.jsapi.danadresse.dk/js/autocomplete/dawa-autocomplete2.js
cdn.dataforsyningen.dk/dawa/assets/dawa-autocomplete2/<version>/…api.danadresse.dk/dawa/assets/dawa-autocomplete2/<version>/…
CSSapi.danadresse.dk/css/dawa-autocomplete2.css

Alle versionsnumre på CDN-stien giver den samme 1.1.0-build. Widgettens options er uændrede siden 1.0.

Widgetten finder nøglen ét af disse steder, i denne rækkefølge: params.api_key, apiKey-option, data-api-key på script-tagget eller ?key= (eller ?api_key=) på script-adressen. Den sender den som api_key på hvert kald. ?key= kræver et klassisk <script>-tag; som ES-modul kan widgetten ikke læse sit eget tag, så brug apiKey i stedet.

3. Behold din initialisering

Koden, der kobler widgetten på dit felt, skal ikke ændres:

HTML#widget-init
<link rel="stylesheet" href="https://api.danadresse.dk/css/dawa-autocomplete2.css">

<div class="autocomplete-container">
  <input type="search" id="adresse" autocomplete="off">
</div>

<script src="https://api.danadresse.dk/js/autocomplete/dawa-autocomplete2.min.js?key=dawa_live_din_browsernøgle"></script>
<script>
  dawaAutocomplete.dawaAutocomplete(document.getElementById("adresse"), {
    debounce: 200,
    select: function (valgt) {
      // valgt.data.id er adressens UUID – gem den sammen med teksten
      document.getElementById("adresse-id").value = valgt.data.id;
    }
  });
</script>
<input type="hidden" id="adresse-id" name="adresse_id">

Options, som widgetten understøtter: select, type (adresse, adgangsadresse eller vejnavn), adgangsadresserOnly, params (fx { kommunekode: "0101" } eller { postnr: "8000" }), fuzzy, minLength, debounce, id (forudfyld feltet med en gemt adresse), multiline og baseUrl. Filtrene i params (postnr, kommunekode) indsnævrer forslagene.

Tolerance over for stavefejl virker som i DAWA: widgetten sender fuzzy= som standard, hvilket slår den til, og fuzzy: false udelader parameteren, hvilket slår den fra.

Sæt debounce. Uden den laver widgetten ét kald pr. tastetryk. Med debounce: 200 venter den, til brugeren holder en kort pause.

Forudfyldning med id virker også med nøgle: vores build sender nøglen med på det kald, som den oprindelige widget lavede uden parametre.

4. Test det

Åbn siden, skriv et par bogstaver og kig i browserens udviklerværktøj under Network. Du skal se kald til https://api.danadresse.dk/autocomplete?…&api_key=… med status 200.

Det er det samme kald, som widgetten laver. Du kan prøve det fra terminalen:

Shell#widget-request
curl -s "https://api.danadresse.dk/autocomplete?q=R%C3%A5dhuspladsen%201&type=adresse&caretpos=15&supplerendebynavn=true&stormodtagerpostnumre=true&multilinje=true&fuzzy=" \
  -H "X-Api-Key: $DANADRESSE_API_KEY"

Tester du en domænelåst nøgle fra terminalen, skal du tilføje -H "Origin: https://firma.dk" med et af nøglens domæner. Ellers får du 403 origin_not_allowed.

Fejl, du kan møde:

Status og kodeBetydningLøsning
401 missing_api_keyWidgetten fandt ingen nøgleTjek ?key= på script-adressen, eller brug apiKey
401 invalid_api_keyNøglen findes ikke eller er tilbagekaldtKopiér nøglen igen fra Nøgler
403 origin_not_allowedSidens domæne er ikke på nøglens listeTilføj domænet under Tilladte domæner (husk både firma.dk og www.firma.dk)
429 rate_limit_per_visitorÉn besøgende har lavet for mange kald i minuttetSæt debounce

Når et kald fejler, skriver widgetten DAWA request failed i konsollen og prøver igen efter et halvt sekund. Ser du den linje gentage sig, så kig på statuskoden i Network.

Næste skridt

Relaterede guides

Markdown-kilde Fejl i guiden? Skriv til os API-reference (Swagger)

Prøv det med en gratis nøgle

2 000 kald/måned på gratisplanen. Intet kreditkort.

Opret konto →