Nettstedskart
Norsk
EUR €
NYTT
Claude & ChatGPT — Med full kraft.
Alle dokumenter · 409+ AI-verktøy · 30 sek oppsett
Claude· ChatGPT· Cursor· Gemini· +50
Koble til nå
Plattform
50+ AI-moduler og verktøy
Løsninger
Bransjer, prosesser, risikoer
Utvikler
API, SDK-er, dokumentasjon
Ressurser
Veiledninger, blogg, støtte
Selskap
Team, partnere, karrierer
Priser
Webhooker

Webhooker Sanntidshendelser

HMAC-signerte tilbakekall for hver hendelse knyttet til dokument, jobb, arbeidsområde og oppgave. 22 hendelsestyper, eksponentielle gjenforsøk, HTTPS anbefales.

22+
Hendelsestyper
<1s
Latens
HMAC
SHA-256 signert
POST /din-endepunkt
Forespørselshoder
X-PaperOffice-Event: document.processed
X-PaperOffice-Event-ID: a3b7f9c1d4e8b2a6
X-PaperOffice-Signature: sha256=9f8a2c…
JSON-brødtekst
{
  "event_type": "document.processed",
  "event_id": "a3b7f9c1d4e8b2a6",
  "timestamp": "2026-04-17T14:23:11Z",
  "subscription_id": 42,
  "data": { "pofid": "doc_01HZY8K3…" }
}
Signatur verifisert HMAC-SHA256 · Hendelses-ID loggført

Betrodd av ledende selskaper over hele verden

Tilgjengelige hendelser

22 hendelsestyper, gruppert etter entitet

Abonner på enkelte hendelser eller bruk jokertegnet * for alt.

Dokumenter

14
  • dokument.lastet_opp Nytt dokument lastet opp til et arbeidsområde
  • dokument.opprettet Alias for document.uploaded (kompatibilitet)
  • dokument.behandlet OCR/IDP-pipeline fullført vellykket
  • dokument.redigert Metadata, tagger eller innhold oppdatert
  • dokument.slettet Dokument flyttet til papirkurv
  • dokument.gjenopprettet Dokument gjenopprettet fra papirkurv
  • dokument.flyttet Dokument flyttet mellom arbeidsområder
  • dokument.versjon_opprettet Ny versjon lagt til et eksisterende dokument
  • dokument.livssyklus_endret Status for oppbevaring/arkivering endret
  • dokument.kommentar_lagt_til Kommentar postert på et dokument
  • dokument.notat_lagt_til Internt notat vedlagt
  • dokument.tagg_lagt_til Tag tildelt et dokument
  • dokument.juridisk_sikring_aktivert Juridisk sperre aktivert (uendelig)
  • dokument.juridisk_sikring_deaktivert Juridisk sperre opphevet

Jobber

3
  • jobb.fullført Asynkron jobb fullført vellykket
  • jobb.mislyktes Asynkron jobb feilet terminalt
  • jobb.framdrift Fremdriftsoppdatering under langvarige jobber

Arbeidsområder

2
  • arbeidsområde.delt Arbeidsområde delt med en bruker eller team
  • arbeidsområde.ikke_delt Tilgang til arbeidsområde trukket tilbake

Oppgaver

3
  • oppgave.opprettet Ny oppgave opprettet
  • oppgave.fullført Oppgave merket som fullført
  • oppgave.forfalt Oppgave har passert forfallsdato

Abonner på ["*"] for å motta hver hendelse på kontoen din.

Nyttelast og hodere

Hver levering følger samme skjema

Forutsigbar JSON-brødtekst, fem signerte HTTP-hodere, ISO-8601 UTC-tidsstempler.

Forespørselsbrødtekst (JSON)
{
  "event_type": "document.processed",
  "event_id": "a3b7f9c1d4e8b2a6c9f1d4e7b2a5c8f1",
  "timestamp": "2026-04-17T14:23:11Z",
  "subscription_id": 42,
  "data": {
    "pofid": "doc_01HZY8K3M7P2Q9R5T1V6W4X2Y8",
    "workspace_id": 17,
    "filename": "invoice-2026-04-17.pdf",
    "mime_type": "application/pdf",
    "size_bytes": 284521,
    "processing_result": {
      "ocr_done": true,
      "classification": "invoice",
      "confidence": 0.98
    }
  }
}
HTTP-forespørselshoder
Content-Type application/json Alltid JSON, UTF-8-kodet
User-Agent PaperOffice-Webhook/1.0 Fast identifikator for brannmur-allowlist
X-PaperOffice-Event dokument.behandlet Hendelsestype som leveres
X-PaperOffice-Hendelses-ID a3b7f9c1… 128-biters unik ID. Bruk for idempotens.
X-PaperOffice-Abonnements-ID 42 ID for abonnementet som mottar hendelsen
X-PaperOffice-Signatur sha256=… HMAC-SHA256 av rå brødtekst, heksadesimal-kodet
Signaturverifisering

Verifiser hver levering med HMAC-SHA256

Beregn HMAC-SHA256 over den rå forespørselsbrødteksten ved hjelp av din delte hemmelighet, og sammenlign deretter mot X-PaperOffice-Signature ved bruk av tidskonstant sammenligning (hash_equals, crypto.timingSafeEqual).

import crypto from 'crypto';
import express from 'express';
const app = express();

const WEBHOOK_SECRET = process.env.PAPEROFFICE_WEBHOOK_SECRET;

app.post('/webhooks/paperoffice', express.raw({ type: 'application/json' }), (req, res) => {
  const signature = req.header('X-PaperOffice-Signature'); // "sha256=..."
  const eventId   = req.header('X-PaperOffice-Event-ID');
  const eventType = req.header('X-PaperOffice-Event');

  const expected = 'sha256=' + crypto
    .createHmac('sha256', WEBHOOK_SECRET)
    .update(req.body)
    .digest('hex');

  if (!signature || !crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected))) {
    return res.status(401).send('invalid signature');
  }

  const event = JSON.parse(req.body.toString());
  // eventId als Idempotency-Key speichern -> gleiche ID nicht zweimal verarbeiten
  console.log(eventType, event.data);
  res.status(200).send('ok');
});
Gjenforsøk og levering

Tre gjenforsøksstrategier, opptil 10 forsøk

Velg en policy per abonnement. Hvert forsøk loggføres med statuskode, svarbrødtekst og timing.

linear

Lineær

Fast vekst: 30s, 60s, 90s, 120s, 150s…

none

Ingen

Fire-og-glem. Ingen gjenforsøk selv ved 5xx. Nyttig for test-hooks.

Suksess HTTP 2xx innenfor ditt tidsvindu
Maks gjenforsøk 0–10 forsøk (standard 5)
Tidsavbrudd 1 000–30 000 ms per forsøk (standard 10 000)
Leveringslogg Hvert forsøk lagret i webhook_deliveries for revisjon
Administrasjons-API

9 endepunkter under /latest/webhooks/

Full CRUD for abonnementer, leveringslogger, engangsjobb-abonnementer og et testendepunkt — alt OAuth2 Bearer, alt MCP-klart.

POST /webhooks/abonner Opprett et nytt abonnement (ubegrenset per konto) po_webhooks_subscribe
GET /webhooks/liste List opp alle abonnementer på kontoen po_webhooks_list
POST /webhooks/oppdater Oppdater et eksisterende abonnement po_webhooks_update
POST /webhooks/slett Slett et abonnement mykt (leveringslogg bevart) po_webhooks_delete
GET /webhooks/leveranser Hent leveringslogg med filtre (event_type, success_only) po_webhooks_deliveries
POST /webhooks/test Send en test.ping-hendelse for å verifisere levering po_webhooks_test
POST /webhooks/abonner-jobb Engangs-webhook for en spesifikk job_id po_webhooks_subscribe_job
GET /webhooks/jobb-abonnementer List opp jobb-spesifikke abonnementer po_webhooks_job_subscriptions
GET /webhooks/info Tilgjengelige hendelser, endepunkter, gjenforsøkspolicyer, signaturinfo po_webhooks_info
Bedriftssikkerhet

Herdet etter design

HMAC-SHA256

Hver nyttelast signert med din hemmelighet. Tidskonstant sammenligning er obligatorisk.

SSRF-beskyttelse

Private / interne IP-er, localhost og sky-metadata-endepunkter blokkert ved abonnement og utsending.

Trygg mot DNS-rebinding

IP re-valideres ved utsendingstidspunkt, festet via CURLOPT_RESOLVE.

HTTPS sterkt foretrukket

http og https aksepteres. HTTPS anbefales for produksjon.

Event-ID idempotens

Hver levering bærer en unik X-PaperOffice-Event-ID. Dedupliser på din side.

Full revisjonsspor

Alle forsøk loggført: statuskode, svarbrødtekst, timing, feilmelding.

Grenser

Ubegrensede abonnementer, leveringsatferd fullt konfigurerbar

Abonnementer / konto
Aktive jobb-abonnementer
10 000 ms
Standard tidsavbrudd
5
Standard maks gjenforsøk

Tilgjengelig på alle planer. Betaling per bruk: 1 kreditt per vellykket levering (HTTP 2xx). Gjenforsøk, testhendelser og mislykkede leveringer er gratis.

Start nå

Din første webhook på 60 sekunder

Opprett et endepunkt, abonner via API, utløs en testhendelse. Det var det.

HMAC-SHA256 Eksponentiell back-off Full revisjonsspor