e-conomic REST API: en praktisk guide
Det, du skal vide for at læse data fra e-conomic: to tokens, sider på højst 1.000, filtre i querystrengen og posteringer, der ligger under regnskabsåret. Alle eksempler virker med e-conomics offentlige demo-aftale — kopiér og kør.
Indhold
Login: to tokens i hver forespørgsel
Base-adressen er https://restapi.e-conomic.com. Hver forespørgsel sender X-AppSecretToken (identificerer din app — hemmelig) og X-AgreementGrantToken (kundens tilladelse til netop hans aftale) samt Content-Type: application/json.
Til test giver e-conomic en offentlig demo-aftale: begge tokens er bare "demo".
curl https://restapi.e-conomic.com/customers?pagesize=5 \
-H "X-AppSecretToken: demo" \
-H "X-AgreementGrantToken: demo" \
-H "Content-Type: application/json"
Sådan giver en kunde din app adgang
Din app har et offentligt token (appPublicToken). Kunden åbner e-conomics adgangsside med det og din redirectUrl, logger ind og godkender. e-conomic sender browseren tilbage med ?token=… — det er kundens X-AgreementGrantToken. Gem det krypteret; det gælder, til kunden fjerner appen.
https://secure.e-conomic.com/secure/api1/requestaccess.aspx
?appPublicToken=<APP_PUBLIC_TOKEN>
&redirectUrl=https://example.com/e-conomic/callback
→ https://example.com/e-conomic/callback?token=<AGREEMENT_GRANT_TOKEN>
Paginering: skippages og pagesize
Samlinger returnerer 20 elementer som standard og højst 1.000 med pagesize. Med skippages springer du hele sider over. Svaret har et pagination-objekt med results, firstPage, nextPage og lastPage — følg nextPage, til det mangler.
import requests
H = {"X-AppSecretToken": "demo", "X-AgreementGrantToken": "demo"}
url = "https://restapi.e-conomic.com/invoices/booked?pagesize=1000"
invoices = []
while url:
page = requests.get(url, headers=H, timeout=30).json()
invoices += page["collection"]
url = page["pagination"].get("nextPage") # absent on the last page
Filtre og sortering
Filtrér med ?filter=egenskab$operator:værdi. Operatorer: $eq, $ne, $gt, $gte, $lt, $lte, $like (understøtter *), $in og $nin (kun tal, f.eks. customerNumber$in:[2,5,7]). Kæd betingelser med $and: og $or:, brug parenteser til rækkefølge, og URL-kod altid filteret.
Sortér med ?sort=name, faldende med ?sort=-name. Kun egenskaber markeret filterable/sortable i skemaet kan bruges — ellers svarer API'et 400.
Kun ændringer siden sidst: filter=lastUpdated$gt:<tidspunkt> på f.eks. /customers.
Posteringer ligger under regnskabsåret
Der er ingen global /entries-liste til læsning pr. periode: hent /accounting-years, find de år, der overlapper din periode, og læs /accounting-years/{år}/entries med et datofilter. Eksemplet giver 138 posteringer på demo-aftalen.
curl -G https://restapi.e-conomic.com/accounting-years/2022/entries \
--data-urlencode 'filter=date$gte:2022-01-01$and:date$lte:2022-06-30' \
--data-urlencode 'pagesize=1000' \
-H "X-AppSecretToken: demo" -H "X-AgreementGrantToken: demo"
Faldgruber, vi selv er gået i
- Booleske felter udelades, når de er false — et manglende barred betyder aktiv.
- Beløb er kroner med decimaler; regn i øre (heltal), før du summerer.
- En postering i fremmed valuta har amount i sin egen valuta. Brug amountInBaseCurrency — ellers passer din resultatopgørelse ikke med e-conomics egne totaler.
- Fair use er ca. 50.000 kald pr. døgn pr. aftale. Cache data og hent kun ændringer.
- Idempotency-Key gælder kun skrivende kald, ikke GET.
Eller lad JaKonto gøre det
JaKonto klarer tokens, paginering, regnskabsår, valuta og fair use og giver dig fakturaer, posteringer, konti og kontakter i samme form som fra Billy og Dinero — plus moms, resultatopgørelse og CSV. Prøv gratis på e-conomics demo-regnskab:
curl -X POST https://jakonto.dk/api/v1/connections/economic-demo \
-H "X-API-Key: jk_live_…"
curl https://jakonto.dk/api/v1/connections/$ID/invoices \
-H "X-API-Key: jk_live_…"
Spørgsmål
Hvor er den officielle e-conomic API-dokumentation?
På restdocs.e-conomic.com. Hver samling har et JSON-skema, der viser, hvilke felter der kan filtreres og sorteres.
Kan jeg teste e-conomics API uden et abonnement?
Ja. Sæt både X-AppSecretToken og X-AgreementGrantToken til "demo" og kald f.eks. /customers.
Hvor mange elementer kan jeg hente pr. side?
Højst 1.000 (pagesize=1000). Standard er 20.
Skriver JaKonto i e-conomic?
Nej. JaKonto læser kun.
e-conomic API-integration · Billy API-integration · Dinero API-integration · MCP-server