Sivukartta
Suomi
EUR €
UUSI
Claude & ChatGPT — Täydellä teholla.
Kaikki asiakirjat · 409+ AI-työkalua · 30 sek asennus
Claude· ChatGPT· Cursor· Gemini· +50
Yhdistä nyt
Alusta
50+ AI-moduulia ja työkalua
Ratkaisut
Toimialat, prosessit, riskit
Keittelijä
API, SDK:t, dokumentaatio
Resurssit
Oppaat, blogi, tuki
Yritys
Tiimi, kumppanit, ura
Hinnoittelu
Webhookit

Webhookit Reaaliaikaiset tapahtumat

HMAC-allekirjoitetut takaisinkutsut jokaiselle asiakirja-, työ-, työtila- ja tehtävätapahtumalle. 22 tapahtumatyyppiä, eksponentiaaliset uudelleenyritykset, HTTPS suositeltu.

22+
Tapahtumatyypit
<1s
Viive
HMAC
SHA-256-allekirjoitettu
POST /sinun-päätepisteesi
Pyyntöotsikot
X-PaperOffice-Event: document.processed
X-PaperOffice-Event-ID: a3b7f9c1d4e8b2a6
X-PaperOffice-Signature: sha256=9f8a2c…
JSON-runko
{
  "event_type": "document.processed",
  "event_id": "a3b7f9c1d4e8b2a6",
  "timestamp": "2026-04-17T14:23:11Z",
  "subscription_id": 42,
  "data": { "pofid": "doc_01HZY8K3…" }
}
Allekirjoitus vahvistettu HMAC-SHA256 · Tapahtumatunnus kirjattu

Johtavien yritysten luottamus maailmanlaajuisesti

Yksinoikeudellinen DMS-kumppani
Saatavilla olevat tapahtumat

22 tapahtumatyyppiä ryhmiteltyinä entityn mukaan

Tilaa yksittäisiä tapahtumia tai käytä jokerimerkkiä * kaikkeen.

Asiakirjat

14
  • asiakirja.ladattu Uusi asiakirja ladattu työtilaan
  • asiakirja.luotu Alias asiakirja.ladattu-yhteensopivuudelle
  • asiakirja.käsitelty OCR/IDP-putki valmistunut onnistuneesti
  • asiakirja.muokattu Metatiedot, tunnisteet tai sisältö päivitetty
  • asiakirja.poistettu Asiakirja siirretty roskakoriin
  • asiakirja.palautettu Asiakirja palautettu roskakorista
  • asiakirja.siirretty Asiakirja siirretty työtilojen välillä
  • asiakirja.versio_luotu Uusi versio lisätty olemassa olevaan asiakirjaan
  • asiakirja.elinkaari_muutettu Säilytys- tai arkistointitila muuttunut
  • asiakirja.kommentti_lisätty Kommentti julkaistu asiakirjaan
  • asiakirja.muistiinpano_lisätty Sisäinen muistiinpano liitetty
  • asiakirja.tunniste_lisätty Tunniste assigned asiakirjaan
  • asiakirja.säilytysmääräys_asetettu Lainmukainen pidätys aktivoitu (muuttumaton)
  • asiakirja.säilytysmääräys_poistettu Lainmukainen pidätys vapautettu

Työt

3
  • työ.valmistunut Asynkroninen työ valmistunut onnistuneesti
  • työ.epäonnistunut Asynkroninen työ epäonnistunut lopullisesti
  • työ.edistyminen Edistymispäivitys pitkäkestoisten töiden aikana

Työtilat

2
  • työtila.jaettu Työtila jaettu käyttäjälle tai tiimille
  • työtila.jaettu_pois Työtilan käyttöoikeus evätty

Tehtävät

3
  • tehtävä.luotu Uusi tehtävä luotu
  • tehtävä.valmistunut Tehtävä merkitty valmiiksi
  • tehtävä.myöhässä Tehtävä ylittänyt määräpäivänsä

Tilaa ["*"] vastaanottaaksesi kaikki tilisi tapahtumat.

Hyötykuorma ja otsikot

Jokainen toimitus noudattaa samaa skeemaa

Ennustettava JSON-runko, viisi allekirjoitettua HTTP-otsikkoa, ISO-8601 UTC-aikaleimat.

Pyyntörunko (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-pyyntöotsikot
Sisältö-tyyppi application/json Aina JSON, UTF-8-koodattu
User-Agent PaperOffice-Webhook/1.0 Kiinteä tunniste palomuurin sallimisluetteloita varten
X-PaperOffice-Event asiakirja.käsitelty Toimitettava tapahtumatyyppi
X-PaperOffice-Event-ID a3b7f9c1… 128-bittinen yksilöllinen tunnus. Käytä idempotenssiin.
X-PaperOffice-Subscription-ID 42 Tapahtuman vastaanottavan tilauksen tunnus
X-PaperOffice-Signature sha256=… Raakarungon HMAC-SHA256, heksadesimaalikoodattu
Allekirjoituksen vahvistus

Vahvista jokainen toimitus HMAC-SHA256:lla

Laske HMAC-SHA256 raakapyynnön rungolle käyttäen jaettua salaista avaintasi ja vertaa sitä kohtaan X-PaperOffice-Signature käyttäen vakioaikaista vertailua (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');
});
Uudelleenyritys ja toimitus

Kolme uudelleenyritysstrategiaa, jopa 10 yritystä

Valitse käytäntö tilausta kohden. Jokainen yritys kirjataan tilakoodin, vastausrungon ja ajoituksen kera.

linear

Lineaarinen

Kiinteä kasvu: 30s, 60s, 90s, 120s, 150s…

none

Ei mitään

Lähetä ja unohda. Ei uudelleenyrityksiä edes 5xx-virheissä. Hyödyllinen testiwahookeille.

Onnistuminen HTTP 2xx aikakatkaisuikkunasi sisällä
Max uudelleenyritykset 0–10 yritystä (oletus 5)
Aikakatkaisu 1 000–30 000 ms yritystä kohden (oletus 10 000)
Toimitusloki Jokainen yritys tallennettu kohteeseen webhook_deliveries tarkastusta varten
Hallinta-API

9 päätepistettä kohdassa /latest/webhooks/

Täydellinen CRUD tilauksille, toimituslokeille, kertaluonteisille työtilauksille ja testipäätepisteelle — kaikki OAuth2 Bearer, kaikki MCP-valmiita.

POST /webhooks/subscribe Luo uusi tilaus (rajoittamaton per tili) po_webhooks_subscribe
GET /webhooks/list Listaa kaikki tilin tilaukset po_webhooks_list
POST /webhooks/update Päivitä olemassa oleva tilaus po_webhooks_update
POST /webhooks/delete Poista tilaus pehmeästi (toimitusloki säilytetään) po_webhooks_delete
GET /webhooks/deliveries Nouda toimitusloki suodattimilla (event_type, success_only) po_webhooks_deliveries
POST /webhooks/test Lähetä test.ping-tapahtuma toimituksen vahvistamiseksi po_webhooks_test
POST /webhooks/subscribe-job Kertaluonteinen webhook tietylle job_id:lle po_webhooks_subscribe_job
GET /webhooks/job-subscriptions Listaa työkohtaiset tilaukset po_webhooks_job_subscriptions
GET /webhooks/info Saatavilla olevat tapahtumat, päätepisteet, uudelleenyrityskäytännöt, allekirjoitustiedot po_webhooks_info
Yritystason turvallisuus

Suunniteltu kovetetuksi

HMAC-SHA256

Jokainen hyötykuorma allekirjoitettu salaisella avaimellasi. Vakioaikainen vertailu pakollinen.

SSRF-suojaus

Yksityiset/sisäiset IP-osoitteet, localhost ja pilven metatietopäätepisteet estetty tilauksen ja lähetyksen yhteydessä.

DNS-uudelleensidontaturvallinen

IP vahvistetaan uudelleen lähetysajankohtana, kiinnitetty käyttäen CURLOPT_RESOLVE:a.

HTTPS vahvasti suositeltu

http ja https hyväksytty. HTTPS suositeltu tuotantokäyttöön.

Tapahtumatunnus-idempotenssi

Jokainen toimitus sisältää yksilöllisen X-PaperOffice-Event-ID:n. Poista päällekkäisyydet omalla puolellasi.

Täydellinen tarkastusloki

Kaikki yritykset kirjattu: tilakoodi, vastausruno, ajoitus, virheilmoitus.

Rajat

Rajoittamattomat tilaukset, toimituskäyttäytyminen täysin konfiguroitavissa

Tilaukset / tili
Aktiiviset työtilaukset
10 000 ms
Oletusaikakatkaisu
5
Oletus max uudelleenyritykset

Saatavilla kaikissa suunnitelmissa. Maksu käytön mukaan: 1 krediitti per onnistunut toimitus (HTTP 2xx). Uudelleenyritykset, testitapahtumat ja epäonnistuneet toimitukset ovat ilmaisia.

Aloita nyt

Ensimmäinen webhookisi 60 sekunnissa

Luo päätepiste, tilaa API:n kautta, laukaise testitapahtuma. Siinä kaikki.

HMAC-SHA256 Eksponentiaalinen takautuminen Täydellinen tarkastusloki