Hvad kan lade sig gøre?
| Sted | Muligt? | Hvordan |
|---|---|---|
| Kurv | Ja, alle planer | Kurv-attributter + lidt JavaScript i temaet |
| Kundeoprettelse | Ja, alle planer | Ekstra felt i registreringsformularen |
| Checkout | Begrænset | Checkout UI extensions, primært på Shopify Plus |
1. CVR-felt i kurven
Læg felterne ind i din kurv-sektion. Attributten form="cart" knytter dem til kurvformularen (i Dawn-temaet har den id'et cart). Alt med navnet attributes[...] følger med ordren og vises i admin under Yderligere oplysninger.
{%- comment -%} I cart-sektionen, fx sections/main-cart-footer.liquid {%- endcomment -%}
<div class="cart-attribute">
<label for="cvr-number">CVR-nummer</label>
<input id="cvr-number" type="text" inputmode="numeric" maxlength="8"
name="attributes[CVR]" form="cart"
value="{{ cart.attributes.CVR }}">
</div>
<div class="cart-attribute">
<label for="cvr-company">Firmanavn</label>
<input id="cvr-company" type="text"
name="attributes[Firmanavn]" form="cart"
value="{{ cart.attributes.Firmanavn }}">
</div>
<p id="cvr-status" aria-live="polite"></p>
2. Slå virksomheden op med JavaScript
API'et tillader kald fra alle domæner (CORS), så scriptet kan kalde det direkte fra butikken uden en app eller proxy.
// assets/cvr-lookup.js, loaded on the cart page
const cvrInput = document.getElementById('cvr-number');
const companyInput = document.getElementById('cvr-company');
const status = document.getElementById('cvr-status');
cvrInput?.addEventListener('input', async () => {
const cvr = cvrInput.value.replace(/\D/g, '');
status.textContent = '';
if (cvr.length !== 8) return;
try {
const res = await fetch(`https://apicvr.dk/api/v1/${cvr}`);
if (!res.ok) {
status.textContent = 'CVR not found';
return;
}
const company = await res.json();
companyInput.value = company.name;
status.textContent = `${company.name}, ${company.address}, ${company.zipcode} ${company.city}`;
} catch (err) {
// Leave the fields for the customer to fill in.
}
});
3. CVR ved kundeoprettelse
Har du B2B-kunder med konto, kan du også spørge efter CVR-nummeret ved oprettelse. Felter med navnet customer[note][...] gemmes i kundens note.
{%- comment -%} I kunderegistreringsformularen (customers/register) {%- endcomment -%}
<label for="RegisterForm-CVR">CVR-nummer</label>
<input id="RegisterForm-CVR" type="text" inputmode="numeric" maxlength="8"
name="customer[note][CVR]">
Husk reklamebeskyttelse
Bruger du firmadata fra kunderne til markedsføring, så tjek feltet protected i API-svaret. Se reklamebeskyttelse.
Ofte stillede spørgsmål
Skal jeg installere en app?
Nej. Kurv-felterne og scriptet ligger direkte i dit tema, og API'et kræver ingen nøgle.
Hvor finder jeg CVR-nummeret på ordren?
Kurv-attributter vises på ordren i Shopify admin under Yderligere oplysninger og følger med i ordre-webhooks og API'et som note_attributes.
Kan jeg tilføje CVR-feltet i selve checkout?
Kun med Checkout UI extensions, som til informations- og betalingstrinnet som udgangspunkt kræver Shopify Plus.