Opret kunder, planer og abonnementer via API

API'et gør det muligt at lade et eksternt system holde Aluntas grunddata synkroniseret. Arbejd med objekterne i deres naturlige rækkefølge: opret eller find kunden, opret planen med gyldige priser og intervaller, og opret derefter abonnementet.

Alle produktnyheder

Historisk tilbageblik - november 2025 til april 2026
Denne artikel er skrevet efterfølgende og samler den dokumenterede udvidelse af API-ressourcerne.

API’et gør det muligt at lade et eksternt system holde Aluntas grunddata synkroniseret. Arbejd med objekterne i deres naturlige rækkefølge: opret eller find kunden, opret planen med gyldige priser og intervaller, og opret derefter abonnementet.

Brug teamets personlige token fra Indstillinger → API til disse kald. Partner-OAuth er en separat godkendelsesvej for partnerintegrationer og ændrer ikke, hvordan teamets API-token oprettes eller tilbagekaldes.

Kunder og stabile forbindelser

Opret en kunde med et navn; det er det eneste påkrævede felt i OpenAPI-kontrakten. E-mail, telefon, adresse, postnummer, by og country er valgfrie. Hvis du sender country, skal den være en stor ISO 3166-1 alpha-2-kode som DK; udelader du den, bruges teamets land som beskrevet i kontrakten. Et valgfrit external_customer_id kan indeholde dit systems reference. Gem altid både den eksterne reference og Aluntas UUID; de løser forskellige problemer. Den eksterne reference må ikke genbruges ukontrolleret for flere kunder.

Planer og intervaller

Læs først planens pricing_type. For en almindelig plan kan du hente planens renewal intervals og bruge et gyldigt renewal_interval_uuid. En tiered-plan har derimod ingen renewal-interval-rækker i den samling; brug i stedet tier-prisens dokumenterede interval og currency sammen med de tier-inputs, som oprettelsen kræver. Sørg altid for at pris, valuta, pricing type og betalingsudbyder passer sammen. En plan er en genanvendelig beskrivelse af det, der sælges. Den er ikke det samme som kundens konkrete pris eller startdato.

Abonnementet

Når kunden og planen er klar, opret abonnementet med planens UUID, kundens UUID og enten et renewal-interval-UUID eller det tiered interval/valutapar, som planen tilbyder. Et syntetisk eksempel for en tiered-plan kan bruge de fiktive, ikke-eksisterende UUID’er {"plan_uuid":"00000000-0000-4000-8000-000000000002","customer_uuid":"00000000-0000-4000-8000-000000000001","interval":1,"currency":"DKK"}; brug den aktuelle OpenAPI-schema til de præcise feltnavne og eventuelle efterfølgende tier-endpoints. Svarobjektet er den stabile kilde til abonnementets UUID og status. Læs det igen efter oprettelsen, hvis integrationen skal vise startdato, pris eller betalingsoplysninger.

Bankkonti kan oprettes, ændres, læses og slettes via de dokumenterede bank account-endpoints. Det holder en ekstern admin- eller ERP-flade synkroniseret; oprettelsen af en bankkonto flytter ikke i sig selv penge og ændrer ikke automatisk en fakturas betalingsstatus.

Fejl og afgrænsninger

En 422 kan betyde, at en landekode, valuta, interval eller payment provider ikke passer til requesten. Et manglende interval er ikke et tegn på, at klienten skal opfinde et alternativ. Pagination, feltnavne og statusser læses fra OpenAPI, og beløb håndteres i den enhed, som den konkrete schema-definition angiver.

Se vejledningen til offentlig API og webhooks (Markdown-fil, AI-agentvenlig) for den aktuelle rækkefølge og eksempler med syntetiske UUID’er.

Et samlet eksempel

Et eksternt salgssystem kan først sende en kunde med external_customer_id: "crm_demo_42", gemme den returnerede UUID og derefter hente planens renewal intervals. Hvis planen har en pris i EUR for 12 måneder, må klienten ikke oprette abonnementet med DKK eller et interval, der ikke findes på planen. Efter oprettelsen gemmer systemet abonnementets UUID og læser status tilbage. På den måde kan en senere webhook kobles til både kundens eksterne ID og Aluntas egne referencer.

Hvis en kunde allerede findes, bør integrationen bruge sin egen entydige mapping eller søge efter den dokumenterede identitet, før den opretter en ny. API’et bør ikke bruge navn alene som deduplikeringsregel. Hvis en bankkonto slettes, skal klienten også kontrollere standardkonto- og anvendelsesreglerne i den aktuelle kontrakt; bankkonto-CRUD er ikke en betalingskommando.

Hvorfor mangler et interval? På en almindelig plan mangler der en gyldig renewal-interval-pris. På en tiered-plan er den tomme renewal-interval-samling forventet; læs tier-priserne og brug interval plus valuta.

Kan jeg ændre en plan uden at ændre alle abonnementer? Planens katalog og et eksisterende abonnement er forskellige; læs den konkrete endpointbeskrivelse og subscription-responsen.

Hvad gør jeg ved 422? Vis feltfejlen, ret den ugyldige kombination, og send samme forretningsintention igen først, når inputtet er gyldigt.

Bo Møller
Bo Møller
Emil Højbjerg
Emil Højbjerg

Menneskerne og AI-hjælperne bag opdateringerne

Bo Møller og Emil Højbjerg er de primære udviklere bag Alunta. De bruger det meste af tiden på at kode og har derfor uddelegeret formuleringen af disse forklaringer til vores AI-hjælpere.

AI-hjælperne skriver på baggrund af de opdateringer, vi har lagt i systemet. Bo og Emil står bag ændringerne og har ansvaret for, at oplysningerne tager udgangspunkt i det, der faktisk er udgivet.