사이트맵
한국어
EUR €
신규
Claude & ChatGPT — 초강력.
모든 문서 · 409+ AI 도구 · 30초 설정
Claude· ChatGPT· Cursor· Gemini· +50
지금 연결
플랫폼
50개 이상의 AI 모듈 및 도구
솔루션
산업, 프로세스, 리스크
개발자
API, SDK, 문서
리소스
튜토리얼, 블로그, 지원
회사
팀, 파트너, 채용
가격
웹훅

웹훅 실시간 이벤트

모든 문서, 작업, 워크스페이스 및 작업 이벤트에 대한 HMAC 서명 콜백. 22 가지 이벤트 유형, 지수 재시도, HTTPS 권장.

22+
이벤트 유형
<1 초
지연 시간
HMAC
SHA-256 서명
POST /your-endpoint
요청 헤더
X-PaperOffice-Event: document.processed
X-PaperOffice-Event-ID: a3b7f9c1d4e8b2a6
X-PaperOffice-Signature: sha256=9f8a2c…
JSON 본문
{
  "event_type": "document.processed",
  "event_id": "a3b7f9c1d4e8b2a6",
  "timestamp": "2026-04-17T14:23:11Z",
  "subscription_id": 42,
  "data": { "pofid": "doc_01HZY8K3…" }
}
서명 확인됨 HMAC-SHA256 · 이벤트 ID 기록됨

전 세계 선도 기업의 신뢰

사용 가능한 이벤트

엔티티별로 그룹화된 22 가지 이벤트 유형

개별 이벤트를 구독하거나 모든 것을 위한 와일드카드 * 를 사용하세요.

문서

14
  • document.uploaded 워크스페이스에 새 문서 업로드됨
  • 문서 생성됨 document.uploaded 의 별칭 (호환성)
  • 문서 처리됨 OCR/IDP 파이프라인이 성공적으로 완료됨
  • 문서 수정됨 메타데이터, 태그 또는 콘텐츠 업데이트됨
  • 문서 삭제됨 문서가 휴지통으로 이동됨
  • 문서 복원됨 문서가 휴지통에서 복구됨
  • document.moved 문서가 워크스페이스 간에 이동됨
  • 문서 버전 생성됨 기존 문서에 새 버전 추가됨
  • 문서 라이프사이클 변경됨 보유/보관 상태 변경됨
  • 문서 댓글 추가됨 문서에 댓글 게시됨
  • 문서 메모 추가됨 내부 메모 첨부됨
  • 문서 태그 추가됨 문서에 태그 할당됨
  • 문서 법적 보유 조치됨 법적 보유 활성화 (변경 불가)
  • 문서 법적 보유 해제됨 법적 보유 해제됨

작업

3
  • 작업 완료됨 비동기 작업이 성공적으로 완료됨
  • 작업 실패함 비동기 작업이 최종적으로 실패함
  • 작업 진행 중 장기 실행 작업 중 진행률 업데이트

워크스페이스

2
  • 워크스페이스 공유됨 워크스페이스가 사용자 또는 팀과 공유됨
  • 워크스페이스 공유 해제됨 워크스페이스 액세스 취소됨

작업

3
  • 작업 생성됨 새 작업 생성됨
  • 작업 완료됨 작업이 완료로 표시됨
  • 작업 기한 초과됨 작업이 마감일을 지남

["*"] 를 구독하여 계정의 모든 이벤트를 수신하세요.

페이로드 및 헤더

모든 배달은 동일한 스키마를 따릅니다

예측 가능한 JSON 본문, 5 개의 서명된 HTTP 헤더, ISO-8601 UTC 타임스탬프.

요청 본문 (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 요청 헤더
Content-Type application/json 항상 JSON, UTF-8 인코딩
User-Agent PaperOffice-Webhook/1.0 방화벽 허용 목록을 위한 고정 식별자
X-PaperOffice-Event document.processed 전달 중인 이벤트 유형
X-PaperOffice-Event-ID a3b7f9c1… 128 비트 고유 ID. 멱등성에 사용하세요.
X-PaperOffice-Subscription-ID 42 이벤트를 수신하는 구독의 ID
X-PaperOffice-Signature sha256=… 원본 본문의 HMAC-SHA256, 16 진수 인코딩
서명 확인

모든 배달을 HMAC-SHA256 으로 검증하세요

공유 비밀 키를 사용하여 원본 요청 본문에 대해 HMAC-SHA256 을 계산한 후, 상수 시간 비교 (hash_equals, crypto.timingSafeEqual) 를 사용하여 X-PaperOffice-Signature 와 비교하십시오.

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');
});
재시도 및 배달

최대 10 회 시도 가능한 3 가지 재시도 전략

구독별 정책을 선택하십시오. 모든 시도는 상태 코드, 응답 본문 및 타이밍과 함께 기록됩니다.

linear

선형

고정 증가: 30 초, 60 초, 90 초, 120 초, 150 초…

none

없음

발송 후 망각. 5xx 오류 발생 시에도 재시도하지 않습니다. 테스트 훅에 유용합니다.

성공 타임아웃 창 내에서 HTTP 2xx 응답
최대 재시도 0–10 회 시도 (기본값 5)
타임아웃 시도당 1,000–30,000ms (기본값 10,000)
배달 로그 감사를 위해 모든 시도가 webhook_deliveries 에 저장됨
관리 API

/latest/webhooks/ 아래의 9 개 엔드포인트

구독, 배달 로그, 일회성 작업 구독 및 테스트 엔드포인트에 대한 전체 CRUD — 모두 OAuth2 베어러 토큰 인증 및 MCP 준비 완료.

POST /webhooks/subscribe 새 구독 생성 (계정당 무제한) po_webhooks_subscribe
GET /webhooks/list 계정의 모든 구독 나열 po_webhooks_list
POST /webhooks/update 기존 구독 업데이트 po_webhooks_update
POST /webhooks/delete 구독 소프트 삭제 (배달 로그 보존) po_webhooks_delete
GET /webhooks/deliveries 필터 (이벤트 유형, 성공만) 와 함께 배달 로그 검색 po_webhooks_deliveries
POST /webhooks/test 배달 검증을 위해 test.ping 이벤트 전송 po_webhooks_test
POST /webhooks/subscribe-job 특정 job_id 에 대한 일회성 웹훅 po_webhooks_subscribe_job
GET /webhooks/job-subscriptions 작업 범위 구독 나열 po_webhooks_job_subscriptions
GET /webhooks/info 사용 가능한 이벤트, 엔드포인트, 재시도 정책, 서명 정보 po_webhooks_info
Enterprise 보안

설계 단계부터 강화된 보안

HMAC-SHA256

모든 페이로드에 비밀 키로 서명됨. 상수 시간 비교 필수.

SSRF 보호

구독 및 발송 시 사설/내부 IP, 로컬호스트 및 클라우드 메타데이터 엔드포인트 차단.

DNS 리바인딩 안전

발송 시점에 IP 재검증, CURLOPT_RESOLVE 로 고정.

HTTPS 강력 권장

http 및 https 허용. 프로덕션 환경에서는 HTTPS 권장.

이벤트 ID 멱등성

모든 배달에 고유한 X-PaperOffice-Event-ID 포함. 사용자 측에서 중복 제거 필요.

전체 감사 추적

모든 시도 기록: 상태 코드, 응답 본문, 타이밍, 오류 메시지.

제한 사항

무제한 구독, 배달 동작 완전 구성 가능

계정당 구독 수
활성 작업 구독 수
10,000 ms
기본 타임아웃
5
기본 최대 재시도 횟수

모든 요금제 에서 이용 가능. 사용량 과금: 성공한 배달당 1 크레딧 (HTTP 2xx). 재시도, 테스트 이벤트 및 실패한 배달은 무료입니다.

지금 시작

60 초 만에 첫 웹훅 만들기

엔드포인트 생성, API 를 통해 구독, 테스트 이벤트 발송. 그것으로 끝입니다.

HMAC-SHA256 지수적 백오프 전체 감사 추적