Áttekintés Áttekintés Hírek Hírek
Megosztás

Webhookok

Webhookok és események Valós idejű események

Fogadjon valós idejű értesítéseket minden eseményről. Dokumentumok feldolgozva, OCR befejezve, osztályozás megtörtént.

  • Saját EU-infrastruktúra Az adatai Európában maradnak.
  • ISO 27001 aktív Biztonság tanúsítva.
  • SOC 2 Type II aktív Nemzetközi audit szabványok.
  • 24+ év tapasztalat Bevált. Stabil. Jövőbiztos.
Elérhető események

22 eseménytípus, entitás szerint csoportosítva

Iratkozzon fel egyes eseményekre, vagy használja a * helyettesítő karaktert mindenhez.

Dokumentumok

14
  • document.uploaded Új dokumentum feltöltve egy munkaterületre
  • document.created Álnév a document.uploaded számára (kompatibilitás)
  • document.processed Az OCR/AI-IDP folyamat sikeresen befejeződött
  • document.updated Metaadatok, címkék vagy tartalom frissítve
  • document.deleted Dokumentum kukába helyezve
  • document.restored Dokumentum visszaállítva a kukából
  • document.moved Dokumentum áthelyezve munkaterületek között
  • document.version_created Új verzió hozzáadva egy meglévő dokumentumhoz
  • document.lifecycle_changed Megőrzési/archiválási állapot megváltozott
  • document.comment_added Megjegyzés közzétéve egy dokumentumon
  • document.note_added Belső jegyzet csatolva
  • document.tag_added Címke hozzárendelve egy dokumentumhoz
  • document.legal_hold_placed Jogi zárolás aktiválva (változtathatatlan)
  • document.legal_hold_released Jogi zárolás feloldva

Feladatok

3
  • job.completed Aszinkron feladat sikeresen befejeződött
  • job.failed Aszinkron feladat véglegesen meghiúsult
  • job.progress Folyamatfrissítés hosszú ideig futó feladatok során

Workspaces

2
  • workspace.shared Workspace megosztva egy felhasználóval vagy csapattal
  • workspace.unshared Workspace hozzáférés visszavonva

Feladatok

3
  • task.created Új feladat létrehozva
  • task.completed Feladat teljesítettként megjelölve
  • task.overdue Feladat túllépte a határidőt
Videó

Webhook-ok a gyakorlatban

Lássa, hogyan működik a PaperOffice Webhooks a gyakorlatban — videó.

Webhook-ok a gyakorlatban
Hasznos adat és fejlécek

Minden kézbesítés ugyanazt a sémát követi

Kiszámítható JSON törzs, öt aláírt HTTP fejléc, ISO-8601 UTC időbélyegek.

Kérés törzse (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 kérés fejlécei
Content-Type application/json Mindig JSON, UTF-8 kódolással
User-Agent PaperOffice-Webhook/1.0 Rögzített azonosító tűzfal-engedélylistákhoz
X-PaperOffice-Event document.processed Kézbesített eseménytípus
X-PaperOffice-Esemény-ID a3b7f9c1… 128 bites egyedi azonosító. Használja idempotenciához.
X-PaperOffice-Előfizetés-ID 42 Az eseményt fogadó előfizetés azonosítója
X-PaperOffice-Aláírás sha256=… A nyers törzs HMAC-SHA256 értéke, hexadecimális kódolással
Aláírás ellenőrzése

Minden kézbesítés ellenőrzése HMAC-SHA256-tal

Számítsa ki a HMAC-SHA256 értéket a nyers kérelem törzsére a megosztott titokkulcs segítségével, majd hasonlítsa össze az X-PaperOffice-Signature értékkel állandó idejű összehasonlítást használva (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());
  // store eventId as idempotency key -> never process the same ID twice
  console.log(eventType, event.data);
  res.status(200).send('ok');
});
Újrapróbálkozás és kézbesítés

Három újrapróbálkozási stratégia, legfeljebb 10 próbálkozás

Válasszon házirendet előfizetésenként. Minden próbálkozás naplózásra kerül az állapotkóddal, a válasz törzsével és az időzítéssel.

linear

Lineáris

Fix növekedés: 30s, 60s, 90s, 120s, 150s…

none

Nincs

Tűzijáték-elv (fire-and-forget). Nincs újrapróbálkozás még 5xx hibák esetén sem. Teszt hookokhoz hasznos.

Siker HTTP 2xx a timeout ablakon belül
Max. újrapróbálkozások 0–10 próbálkozás (alapértelmezett: 5)
Időtúllépés 1.000–30.000 ms próbálkozásonként (alapértelmezett: 10.000)
Kézbesítési napló Minden próbálkozás tárolásra kerül a webhook_deliveries táblában auditálási célokra
Kezelési API

9 végpont a /latest/webhooks/ alatt

Teljes CRUD műveletek előfizetésekhez, kézbesítési naplókhoz, egyszeri munkafolyamat előfizetésekhez és egy teszt végponthoz – mindez OAuth2 Bearerrel, mind MCP-képes.

POST /webhooks/subscribe Új előfizetés létrehozása (fiókonként korlátlan) po-webhooks-subscribe
GET /webhooks/list A fiók összes előfizetésének listázása po-webhooks-list
POST /webhooks/update Meglévő előfizetés frissítése po-webhooks-update
POST /webhooks/delete Előfizetés lágy törlése (a kézbesítési napló megmarad) po-webhooks-delete
POST /webhooks/test Kézbesítési napló lekérése szűrőkkel (event_type, success_only) po-webhooks-test
POST /webhooks/test Egy test.ping esemény küldése a kézbesítés ellenőrzésére po_webhooks_test
POST /webhooks/subscribe-job Egyszeri webhook egy adott job_id-hoz po_webhooks_subscribe_job
GET /webhooks/job-subscriptions Munkafolyamat-szintű előfizetések listázása po_webhooks_job_subscriptions
GET /webhooks/info Elérhető események, végpontok, újrapróbálkozási házirendek, aláírás-információk po_webhooks_info
Enterprise biztonság

Tervezésileg megerősítve

HMAC-SHA256

Minden hasznos adat aláírva van a titkos kulcsával. Az állandó idejű összehasonlítás kötelező.

SSRF védelem

Privát / belső IP-címek, localhost és felhő metaadat végpontok blokkolva vannak előfizetéskor és kézbesítéskor.

DNS rebinding biztonság

Az IP-cím újraellenőrzésre kerül kézbesítéskor, rögzítve a CURLOPT_RESOLVE segítségével.

HTTPS erősen ajánlott

A http és https elfogadott. HTTPS ajánlott éles környezetben.

Event-ID idempotencia

Minden kézbesítés tartalmaz egy egyedi X-PaperOffice-Event-ID-t. Deduplikálás az Ön oldalán.

Teljes auditálási nyomvonal

Minden próbálkozás naplózva: állapotkód, válasz törzse, időzítés, hibaüzenet.

Korlátok

Korlátlan előfizetések, a kézbesítési viselkedés teljesen konfigurálható

Előfizetések / fiók
Aktív munkafolyamat előfizetések
10.000 ms
Alapértelmezett timeout
5
Alapértelmezett max. újrapróbálkozások

Elérhető minden csomagban. Használatalapú díjazás: 1 kredit sikeres kézbesítésenként (HTTP 2xx). Az újrapróbálkozások, teszt események és sikertelen kézbesítések ingyenesek.

Indítás most

Eseményeket fogadni?

Konfigurálja webhookjait.

HMAC-SHA256 Exponenciális várakozás Teljes auditálási nyomvonal

Hol szeretné kipróbálni a PaperOffice-t?

A Workspace és a Playground számítógépre vannak tervezve. A rács, a kötegelt feldolgozás és az API-playground szélességet és billentyűzetet igényel.

Munkaterület számítógépen. Telefonon: rögzítés és jóváhagyás.

Küldés e-mailben önmagának PaperOffice Mobile megnyitása
Ingyenes regisztráció Alkalmazás megnyitása PaperOffice alkalmazás A teljes termék: web, asztali és mobil. Dokumentumok rögzítése, rendszerezése, keresése és csapatmunka. Ingyenes fiók szükséges Playground megnyitása Playground Kiválasztott funkciók azonnal — regisztráció nélkül, korlátozott demó API-kulccsal. Nincs regisztráció, de korlátozott demó API-kulcs