Webbplatskarta Uppdateringar
Svenska
SEK kr
Uppdateringar
NYTT
Claude & ChatGPT — Supercharged.
Alla dokument · 409+ AI-verktyg · 30 sek setup
Claude· ChatGPT· Cursor· Gemini· +50
Anslut nu
Plattform
50+ AI-moduler och verktyg
Lösningar
Branscher, processer, risker
Utvecklare
API, SDK:er, dokumentation
Resurser
Guider, blogg, support
Företag
Team, partners, karriärer
Prissättning
Webhooks

Webhooks Händelser i realtid

Ta emotaviseringar i realtidför alla händelser. Dokument bearbetade, OCR slutförd, klassificering gjord.

20+
Händelsetyper
<1 s
Latens
100 %
Pålitlig
POST /din-slutpunkt
Begäran-headrar
X-PaperOffice-Event: document.processed
X-PaperOffice-Event-ID: a3b7f9c1d4e8b2a6
X-PaperOffice-Signature: sha256=9f8a2c…
JSON-brödtext
{
  "event_type": "document.processed",
  "event_id": "a3b7f9c1d4e8b2a6",
  "timestamp": "2026-04-17T14:23:11Z",
  "subscription_id": 42,
  "data": { "pofid": "doc_01HZY8K3…" }
}
Signatur verifierad HMAC-SHA256 · Händelse-ID loggad

Betrodd av ledande företag världen över

Tillgängliga händelser

22 händelsetyper, grupperade efter entitet

Prenumerera på enskilda händelser eller använd jokertecknet * för allt.

Dokument

14
  • dokument.uppladdat Nytt dokument uppladdat till en arbetsyta
  • dokument.skapat Alias för document.uploaded (kompatibilitet)
  • dokument.bearbetat OCR/AI-IDP-pipeline avslutades framgångsrikt
  • dokument.redigerat Metadata, taggar eller innehåll uppdaterat
  • dokument.raderat Dokument flyttat till papperskorgen
  • dokument.återställt Dokument återställt från papperskorgen
  • document.moved Dokument flyttat mellan arbetsytor
  • dokument.version_skapad Ny version tillagd till ett befintligt dokument
  • dokument.livscykel_ändrad Status för lagring/archivering ändrad
  • dokument.kommentar_tillagd Kommentar postad på ett dokument
  • dokument.anteckning_tillagd Intern anteckning bifogad
  • dokument.tagg_tillagd Tagg tilldelad ett dokument
  • dokument.juridisk_sperre_placerad Juridisk spärr aktiverad (oföränderlig)
  • dokument.juridisk_sperre_upphävd Juridisk spärr hävd

Jobb

3
  • jobb.slutfört Asynkront jobb slutfört framgångsrikt
  • jobb.misslyckades Asynkront jobb misslyckades permanent
  • jobb.framsteg Uppdatering av förlopp under långvariga jobb

Workspaces

2
  • arbetsyta.delad Workspace delad med en användare eller ett team
  • arbetsyta.delad_inte Åtkomst till Workspace återkallad

Uppgifter

3
  • uppgift.skapad Ny uppgift skapad
  • uppgift.slutförd Uppgift markerad som slutförd
  • uppgift.förfallen Uppgift passerat sitt förfallodatum
Payload och headrar

Varje leverans följer samma schema

Förutsägbar JSON-brödtext, fem signerade HTTP-headrar, tidsstämplar i ISO-8601 UTC.

Begärans brödtext (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-begäran-headrar
Content-Type application/json Alltid JSON, UTF-8-kodad
User-Agent PaperOffice-Webhook/1.0 Fast identifierare för firewall-allowlistor
X-PaperOffice-Event document.processed Händelsetyp som levereras
X-PaperOffice-Event-ID a3b7f9c1… 128-bitars unikt ID. Använd för idempotens.
X-PaperOffice-Subscription-ID 42 ID för prenumerationen som tar emot händelsen
X-PaperOffice-Signature sha256=… HMAC-SHA256 av den råa brödtexten, hex-kodad
Signaturverifiering

Verifiera varje leverans med HMAC-SHA256

Beräkna HMAC-SHA256 över den råa begäransbrödtexten med din delade hemlighet, jämför sedan mot X-PaperOffice-Signature med hjälp av tidskonstant jämförelse (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');
});
Återförsök och leverans

Tre återförsöksstrategier, upp till 10 försök

Välj en policy per prenumeration. Varje försök loggas med statuskod, svarsbrödtext och tidtagning.

linear

Linjär

Fast tillväxt: 30s, 60s, 90s, 120s, 150s…

none

Ingen

Fire-and-forget. Inga återförsök även vid 5xx. Användbart för test-hookar.

Lyckades HTTP 2xx inom ditt tidsgränsfönster
Max antal återförsök 0–10 försök (standard 5)
Tidsgräns 1 000–30 000 ms per försök (standard 10 000)
Leveranslogg Varje försök lagras i webhook_deliveries för granskning
Hanterings-API

9 slutpunkter under /latest/webhooks/

Fullständig CRUD för prenumerationer, leveransloggar, engångsjobb-prenumerationer och en testslutpunkt — alla med OAuth2 Bearer, alla MCP-redo.

POST /webhooks/subscribe Skapa en ny prenumeration (obegränsat per konto) po_webhooks_subscribe
GET /webhooks/list Lista alla prenumerationer för kontot po_webhooks_list
POST /webhooks/update Uppdatera en befintlig prenumeration po_webhooks_update
POST /webhooks/delete Mjuk radering av en prenumeration (leveranslogg bevaras) po_webhooks_delete
GET /webhooks/deliveries Hämta leveranslogg med filter (event_type, success_only) po_webhooks_deliveries
POST /webhooks/test Skicka en test.ping-händelse för att verifiera leverans po_webhooks_test
POST /webhooks/subscribe-job Engångswebbhook för ett specifikt job_id po_webhooks_subscribe_job
GET /webhooks/job-subscriptions Lista jobb-specifika prenumerationer po_webhooks_job_subscriptions
GET /webhooks/info Tillgängliga händelser, slutpunkter, återförsökspolicyer, signaturinformation po_webhooks_info
Enterprise-säkerhet

Hårdnad genom design

HMAC-SHA256

Varje payload signerad med din hemlighet. Tidskonstant jämförelse är obligatorisk.

SSRF-skydd

Privata/interna IP-adresser, localhost och molnmetadata-slutpunkter blockeras vid prenumeration och distribution.

Säkert mot DNS-rebinding

IP valideras om vid distributionstillfället, fäst via CURLOPT_RESOLVE.

HTTPS starkt föredraget

http och https accepteras. HTTPS rekommenderas för produktion.

Idempotens för Event-ID

Varje leverans bär ett unikt X-PaperOffice-Event-ID. Deduplicera på din sida.

Fullständig granskningshistorik

Alla försök loggade: statuskod, svarsbrödtext, tidtagning, felmeddelande.

Gränser

Obegränsade prenumerationer, leveransbeteende helt konfigurerbart

Prenumerationer / konto
Aktiva jobb-prenumerationer
10 000 ms
Standard tidsgräns
5
Standard max antal återförsök

Tillgängligt på alla planer. Betala per användning: 1 kredit per lyckad leverans (HTTP 2xx). Återförsök, testhändelser och misslyckade leveranser är gratis.

Starta nu

Ta emot evenemang?

Konfigurera dina webhooks.

HMAC-SHA256 Exponentiell back-off Fullständig granskningshistorik