API og webhooks

Forbind dit eget system med DocuTract: udsted et token til API'et, og lad os give besked på din adresse, når et dokument er klar, eller noget kræver opmærksomhed.

Hvor du finder det

Hvis dokumenterne på dit kontor begynder et andet sted end i DocuTract, kan det system tale direkte med os. Åbn menuen med din adresse i øverste højre hjørne, og vælg Integrationer: dér udstedes et token, som dit system kalder os med, og dér tilføjer du den adresse, vi giver besked på om færdige dokumenter.

Skærmen begynder med færdige CRM-forbindelser (CRM-integrationer); de tokens og webhooks, der beskrives her, står nedenunder i afsnittet API og webhooks.

Skærmen Integrationer: API-tokens og webhook-adresser

Tokenet

Tryk på Opret et token, giv det et navn, du kan genkende senere (så du ved, hvilket system der bruger det), og sæt flueben ved, hvad det må: læse skabeloner, oprette dokumenter, arbejde med sager.

Selve tokenet vises én gang, lige efter at det er oprettet: vi gemmer kun et hash af det, så at vise det en gang til er noget, selv vi ikke kan. Kopiér det direkte ind i dit systems indstillinger.

Listen viser de første tegn i hvert token, hvad det må, og hvornår det senest blev brugt. Tilbagekald slår et token fra med det samme; registreringen af det bliver, så det kan ses, at det fandtes, og hvornår det holdt op med at virke.

Hvad API'et kan

Dit system kan:

  • åbne en sag og uploade scanninger til den;
  • oprette et dokument ud fra en skabelon med værdierne allerede udfyldt;
  • spørge, hvilket stadie et dokument er nået til;
  • hente hver værdi sammen med den scanning, den blev læst fra;
  • få et kortlivet link til den færdige fil.

Den fulde beskrivelse af hver adresse og hvert felt genereres ud fra selve koden og offentliggøres åbent: API-beskrivelsen.

Webhooks

I stedet for at spørge os, om et dokument er klar, kan du give os en adresse, så skriver vi til dig. Tilføj den under Webhooks, og sæt flueben ved hændelserne: dokument klar, dokument mislykket, sag klar, en uoverensstemmelse fundet, en klient har sendt en fil.

Hver anmodning signeres med headeren X-DocuTract-Signature, og den hemmelighed, der bekræfter signaturen, vises én gang, ligesom tokenet. Dit system skal tjekke signaturen og svare med en 2xx-kode. Hvis det svarer noget andet eller slet ikke svarer, prøver vi igen: efter et minut, efter fem, efter en halv time, efter to timer og efter ti, og så stopper vi.

Når noget ikke er kommet frem

Knappen Leveringer viser loggen: hvilken hændelse vi sendte, hvornår, hvor mange gange, hvilken svarkode der kom tilbage, og begyndelsen af svarets indhold. Det er svaret på »vores system har intet modtaget«: det står sort på hvidt, at det svarede 500 fire gange kl. 14.12.

Leveringsloggen for en webhook-adresse: hændelser, forsøg og svarkoder

Send test sender et ping til adressen med det samme uden at vente på en rigtig hændelse, så en modtager kan sættes op, før der kører rigtigt arbejde igennem den. Prøv igen, ved siden af en mislykket levering, laver straks ét forsøg mere.

Zapier, Make og n8n

No-code-platforme (tjenester, hvor man bygger en integration uden at programmere) abonnerer selv på vores hændelser via REST hooks-delen af API'et, så ingen behøver at kopiere deres adresser ind i DocuTract. Giv platformen et token med rettighederne webhooks:read og webhooks:write plus dem, dens handlinger kræver (for eksempel templates:read og documents:write).

  • POST /api/v1/hooks med {"event": "document.ready", "target_url": "https://…"} abonnerer en adresse på én hændelse. Svaret indeholder abonnementets id og, én gang, dets secret til signaturen.
  • GET /api/v1/hooks viser de abonnementer, der er oprettet på denne måde; DELETE /api/v1/hooks/{id} fjerner et.
  • GET /api/v1/hooks/events viser hændelserne: document.ready, document.failed, case.ready, finding.raised, intake.uploaded.
  • GET /api/v1/hooks/samples/{event} returnerer et eksempel på indholdet, som platformen viser i sin "testudløser", før der er sket en rigtig hændelse.

Et abonnement er en almindelig webhook-adresse: signeret, forsøgt igen og logget på samme måde og synlig i listen under Webhooks. Det ophører, når det token, der oprettede det, tilbagekaldes eller udløber, eller når platformen besvarer en levering med 410 Gone.

Sådan ser document.ready ud:

{
  "document_id": "00000000-0000-4000-8000-000000000001",
  "reference": "DOC-26-0001",
  "template_id": "00000000-0000-4000-8000-000000000002",
  "template_version": 1,
  "event": "document.ready",
  "occurred_at": "2026-01-15T10:30:00+00:00"
}

og sådan case.ready:

{
  "case_id": "00000000-0000-4000-8000-000000000003",
  "title": "Sample case",
  "documents": [
    { "id": "00000000-0000-4000-8000-000000000001", "reference": "DOC-26-0001" }
  ],
  "event": "case.ready",
  "occurred_at": "2026-01-15T10:30:00+00:00"
}

En skabelons felter

GET /api/v1/templates/{id}/fields (rettighed templates:read) viser, hvad en skabelon skal bruge: hvert felts key (som values i POST /api/v1/documents angives efter), dets label, hvor det udfyldes fra, og fillable, som er false for et felt, DocuTract selv udfylder, for eksempel en dato. En formular i Zapier eller Make bygges ud fra denne liste og passer derfor altid til skabelonen, som den er nu.

Opslag

Nogle kald findes, så et system eller en no-code-platform kan finde det, det har brug for, uden at gætte:

  • GET /api/v1/me (ingen rettighed) returnerer det arbejdsområde, tokenet hører til, dets abonnement samt tokenets eget navn og rettigheder. Det er den nemmeste måde at tjekke, at et token virker.
  • GET /api/v1/documents (rettighed documents:read) viser de nyeste dokumenter først. Afgræns med reference (den præcise DOC-…-reference), status eller template_id; limit går op til 100, standard er 25.
  • GET /api/v1/cases (rettighed cases:read) viser de nyeste sager, eventuelt kun dem med én status, med samme limit. Hver sag har nu også sit created_at.
  • GET /api/v1/case-types (rettighed cases:read) viser de sagstyper, en sag kan oprettes ud fra.
  • GET /api/v1/templates?name=… beholder kun de skabeloner, hvis navn indeholder teksten, uanset store og små bogstaver.

Der er bevidst ingen sideinddeling: listerne er til at finde det nyeste, ikke til at eksportere et helt arbejdsområde.

Hvilket abonnement

API og webhooks er en del af Team-abonnementet. I alle andre abonnementer forbliver de tokens og adresser, du allerede har oprettet, synlige og kan tilbagekaldes, men der udstedes ikke nye, og kald foretaget med et token besvares ikke længere. Sammenlign abonnementer på prissiden.