Klirr Docs

Kunder

Kundregistret – lista, skapa, hämta, uppdatera och inaktivera kunder via /3/customers.

Kundresursen speglar Fortnox /3/customers. Kunden adresseras på sitt kundnummer (CustomerNumber), inte på ett internt id, och numret kan inte ändras när det väl är satt.

Scope: customer · Kräver AI Pro

Endpoints

Metod och sökvägBeskrivning
GET/api/v1/3/customersLista kunder (reducerad listform)
POST/api/v1/3/customersSkapa en kund. Svarar 201.
GET/api/v1/3/customers/{CustomerNumber}Hämta en kund (fullständig form)
PUT/api/v1/3/customers/{CustomerNumber}Uppdatera en kund (partiellt)
DELETE/api/v1/3/customers/{CustomerNumber}Inaktivera en kund. Svarar 204.

Bas-URL: https://app.klirr.ai/api/v1. Skrivningar kuverteras i Customer.

Listparametrar

Utöver paginering (page, limit, offset) och sortorder (asc/desc, även ascending/descending):

ParameterVärdenBeskrivning
filteractive, inactiveUtan filter (eller med okänt värde) returneras alla kunder.
sortbycustomernumber, nameStandard är customernumber.
customernumbertextExakt kundnummer.
nametextSökning i namnet.
organisationnumbertextSökning i organisationsnumret.
emailtextSökning i e-postadressen.

Bara en av name, organisationnumber och email kan användas per anrop. Skickar du flera, eller någon av de Fortnox-parametrar Klirr inte stöder ännu (zipcode, city, phone, gln, glndelivery, lastmodified), svarar API:t 400 i stället för att tyst returnera ett ofiltrerat svar.

Fält

Fullständig form (GET /3/customers/{CustomerNumber}, och svaret på POST/PUT).

FältTypSkrivskyddatBeskrivning
@urlstringjaResursens URL i Klirr.
CustomerNumberstringefter skapandeKundnummer. Utelämnas det vid POST tilldelas nästa lediga nummer. Kan inte ändras.
NamestringnejObligatoriskt vid POST. Max 1024 tecken.
OrganisationNumberstringnejOrganisationsnummer (eller personnummer för privatkund).
VATNumberstringnejMomsregistreringsnummer.
EmailstringnejE-post.
EmailInvoicestringnejDelar värde med Email i Klirr. Skickas båda vinner Email.
Phone1stringnejTelefon.
Address1stringnejAdress.
ZipCodestringnejPostnummer.
CitystringnejOrt.
CountrystringjaSvenskt landsnamn, härlett ur CountryCode.
CountryCodestringnejLandskod, två tecken.
CurrencystringnejStandard SEK. Bärs vidare oförändrat.
Activebooleannejfalse för inaktiverad kund.
CommentsstringnejAnteckning, max 1024 tecken.
TypeCOMPANY | PRIVATEjaHärleds: COMPANY om organisationsnummer finns, annars PRIVATE. Värdet du skickar läses inte.
VATTypeSEVAT | SEREVERSEDVAT | EUREVERSEDVAT | EUVAT | EXPORTnejStandard SEVAT. Bärs vidare; momsbehandlingen i Klirr sätts per faktura.
TermsOfPaymentstringnejBetalningsvillkorskod, t.ex. "30". Bärs vidare.
DefaultDeliveryTypesobjectnej{ Invoice, Order, Offer }, vardera PRINT, EMAIL eller PRINTSERVICE. Standard EMAIL.

Fält som Klirr inte modellerar (till exempel Phone2, DeliveryAddress1, GLN, YourReference) sparas och returneras oförändrade.

Listform

GET /3/customers returnerar en reducerad rad med exakt dessa fält: @url, Address1, Address2, City, CustomerNumber, Email, Name, OrganisationNumber, Phone, ZipCode. Observera att telefon heter Phone i listan men Phone1 i den fullständiga formen.

Skapa en kund

curl -X POST https://app.klirr.ai/api/v1/3/customers \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{"Customer":{"Name":"Bergström Bygg AB","OrganisationNumber":"556000-0000","Email":"[email protected]","City":"Uppsala"}}'

Svar (201):

{
  "Customer": {
    "@url": "https://app.klirr.ai/api/v1/3/customers/1001",
    "CustomerNumber": "1001",
    "Name": "Bergström Bygg AB",
    "OrganisationNumber": "556000-0000",
    "VATNumber": "",
    "Email": "[email protected]",
    "EmailInvoice": "[email protected]",
    "Phone1": "",
    "Address1": "",
    "ZipCode": "",
    "City": "Uppsala",
    "Country": "Sverige",
    "CountryCode": "SE",
    "Currency": "SEK",
    "Active": true,
    "Comments": "",
    "Type": "COMPANY",
    "VATType": "SEVAT",
    "TermsOfPayment": "",
    "DefaultDeliveryTypes": { "Invoice": "EMAIL", "Order": "EMAIL", "Offer": "EMAIL" }
  }
}

Lista kunder

curl "https://app.klirr.ai/api/v1/3/customers?filter=active&sortby=name&limit=50" \
  -H "Authorization: Bearer <access_token>"
{
  "Customers": [
    {
      "@url": "https://app.klirr.ai/api/v1/3/customers/1001",
      "Address1": "",
      "Address2": "",
      "City": "Uppsala",
      "CustomerNumber": "1001",
      "Email": "[email protected]",
      "Name": "Bergström Bygg AB",
      "OrganisationNumber": "556000-0000",
      "Phone": "",
      "ZipCode": ""
    }
  ],
  "MetaInformation": { "@TotalResources": 1, "@TotalPages": 1, "@CurrentPage": 1 }
}

Uppdatera en kund

PUT ändrar bara de fält du skickar. Använd "API_BLANK" för att tömma ett textfält. Se Fortnox-kompatibilitet.

curl -X PUT https://app.klirr.ai/api/v1/3/customers/1001 \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{"Customer":{"Phone1":"018-000 00 00"}}'

Inaktivera en kund

DELETE raderar inte kunden. Den inaktiveras (Active: false), eftersom bokförda fakturor refererar till den. Svaret är 204, och kunden finns kvar på sin URL.

Fel

StatusCodeNär
4009000400Name saknas, ostödd sökparameter, fler än en sökparameter, eller API_BLANK på Name.
4049000404Kan inte hitta kunden.
4099000409Kundnumret används redan, eller organisationsnumret används redan av en annan kund.

Allmänna fel (401, 403, 429) beskrivs under Felkoder.

On this page