Site Haritası
Türkçe
EUR €
YENİ
Claude & ChatGPT — Süper güçlendirilmiş.
Tüm belgeler · 409+ AI aracı · 30 sn kurulum
Claude· ChatGPT· Cursor· Gemini· +50
Şimdi bağlan
Platform
50+ yapay zeka modülü ve aracı
Çözümler
Sektörler, süreçler, riskler
Geliştirici
API, SDK'lar, dokümantasyon
Kaynaklar
Eğitimler, blog, destek
Şirket
Ekip, ortaklar, kariyer
Fiyatlandırma
Web Kancaları

Web Kancaları Gerçek zamanlı olaylar

Her belge, iş, çalışma alanı ve görev olayı için HMAC imzalı geri çağrılar. 22 olay türü, üstel yeniden denemeler, HTTPS önerilir.

22+
Olay türleri
<1s
Gecikme
HMAC
SHA-256 imzalı
POST /sizin-uc-noktaniz
İstek başlıkları
X-PaperOffice-Event: document.processed
X-PaperOffice-Event-ID: a3b7f9c1d4e8b2a6
X-PaperOffice-Signature: sha256=9f8a2c…
JSON gövdesi
{
  "event_type": "document.processed",
  "event_id": "a3b7f9c1d4e8b2a6",
  "timestamp": "2026-04-17T14:23:11Z",
  "subscription_id": 42,
  "data": { "pofid": "doc_01HZY8K3…" }
}
İmza doğrulandı HMAC-SHA256 · Olay Kimliği kaydedildi

Dünya çapında lider şirketlerin güveni

Mevcut olaylar

Varlığa göre gruplandırılmış 22 olay türü

Bireysel olaylara abone olun veya her şey için * joker karakterini kullanın.

Belgeler

14
  • belge.yüklendi Bir çalışma alanına yeni belge yüklendi
  • belge.oluşturuldu document.uploaded için takma ad (uyumluluk)
  • belge.işlendi OCR/IDP işlem hattı başarıyla tamamlandı
  • belge.düzenlendi Meta veriler, etiketler veya içerik güncellendi
  • belge.silindi Belge çöpe taşındı
  • belge.geri_yüklendi Belge çöpten geri yüklendi
  • document.moved Belge çalışma alanları arasında taşındı
  • belge.sürüm_oluşturuldu Mevcut bir belgeye yeni sürüm eklendi
  • belge.yaşam_döngüsü_değişti Saklama / arşivleme durumu değiştirildi
  • belge.yorum_eklendi Bir belgeye yorum yapıldı
  • belge.not_eklendi Dahili not eklendi
  • belge.etiket_eklendi Bir belgeye etiket atandı
  • belge.yasal_saklama_uygulandi Yasal saklama aktif edildi (değiştirilemez)
  • belge.yasal_saklama_kaldirildi Yasal saklama serbest bırakıldı

İşler

3
  • is_tamamlandi Asenkron iş başarıyla tamamlandı
  • is_basarisiz_oldu Asenkron iş kalıcı olarak başarısız oldu
  • is_ilerleme Uzun süren işler sırasında ilerleme güncellemesi

Çalışma Alanları

2
  • calisma_alani_paylasildi Çalışma alanı bir kullanıcı veya ekiple paylaşıldı
  • calisma_alani_paylasim_kaldirildi Çalışma alanı erişimi iptal edildi

Görevler

3
  • gorev_olusturuldu Yeni görev oluşturuldu
  • gorev_tamamlandi Görev tamamlandı olarak işaretlendi
  • gorev_suresi_asti Görev son tarihini geçti

Hesabınızdaki her olayı almak için ["*"] değerine abone olun.

Yük ve başlıklar

Her teslimat aynı şemayı izler

Öngörülebilir JSON gövdesi, beş imzalı HTTP başlığı, ISO-8601 UTC zaman damgaları.

İstek gövdesi (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 istek başlıkları
Content-Type application/json Her zaman JSON, UTF-8 kodlanmış
User-Agent PaperOffice-Webhook/1.0 Güvenlik duvarı izin listeleri için sabit tanımlayıcı
X-PaperOffice-Event belge.islendi Teslim edilen olay türü
X-PaperOffice-Event-ID a3b7f9c1… 128-bit benzersiz kimlik. Tekrarlamazlık için kullanın.
X-PaperOffice-Subscription-ID 42 Olayı alan aboneliğin kimliği
X-PaperOffice-Signature sha256=… Ham gövdenin HMAC-SHA256'sı, onaltılık kodlu
İmza doğrulama

Her teslimatı HMAC-SHA256 ile doğrulayın

Paylaşılan gizli anahtarınızı kullanarak ham istek gövdesi üzerinde HMAC-SHA256 hesaplayın, ardından sabit zamanlı karşılaştırma (hash_equals, crypto.timingSafeEqual) kullanarak X-PaperOffice-Signature ile karşılaştırın.

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');
});
Yeniden deneme ve teslimat

Üç yeniden deneme stratejisi, en fazla 10 deneme

Abonelik başına bir politika seçin. Her deneme durum kodu, yanıt gövdesi ve zamanlaması ile kaydedilir.

linear

Doğrusal

Sabit büyüme: 30sn, 60sn, 90sn, 120sn, 150sn…

none

Yok

Ateşle ve unut. 5xx hatalarında bile yeniden deneme yok. Test kancaları için kullanışlıdır.

Başarılı Zaman aşımı pencereniz içinde HTTP 2xx
Maksimum yeniden deneme 0–10 deneme (varsayılan 5)
Zaman aşımı Deneme başına 1.000–30.000 ms (varsayılan 10.000)
Teslimat günlüğü Denetim için her deneme webhook_deliveries içinde saklanır
Yönetim API'si

/latest/webhooks/ altında 9 uç nokta

Abonelikler, teslimat günlükleri, tek seferlik iş abonelikleri ve bir test uç noktası için tam CRUD — hepsi OAuth2 Bearer, hepsi MCP hazır.

POST /webhooks/subscribe Yeni bir abonelik oluştur (hesap başına sınırsız) po_webhooks_subscribe
GET /webhooks/list Hesabın tüm aboneliklerini listele po_webhooks_list
POST /webhooks/update Mevcut bir aboneliği güncelle po_webhooks_update
POST /webhooks/delete Bir aboneliği yumuşak sil (teslimat günlüğü korunur) po_webhooks_delete
GET /webhooks/deliveries Filtrelerle teslimat günlüğünü getir (event_type, success_only) po_webhooks_deliveries
POST /webhooks/test Teslimatı doğrulamak için bir test.ping olayı gönder po_webhooks_test
POST /webhooks/subscribe-job Belirli bir job_id için tek seferlik webhook po_webhooks_subscribe_job
GET /webhooks/job-subscriptions İş kapsamındaki abonelikleri listele po_webhooks_job_subscriptions
GET /webhooks/info Mevcut olaylar, uç noktalar, yeniden deneme politikaları, imza bilgileri po_webhooks_info
Kurumsal güvenlik

Tasarım gereği güçlendirilmiş

HMAC-SHA256

Her yük gizli anahtarınızla imzalanır. Sabit zamanlı karşılaştırma zorunludur.

SSRF koruması

Özel / dahili IP'ler, localhost ve bulut meta veri uç noktaları abonelik ve gönderim sırasında engellenir.

DNS yeniden bağlamaya karşı güvenli

IP, gönderim sırasında yeniden doğrulanır, CURLOPT_RESOLVE ile sabitlenir.

HTTPS şiddetle tercih edilir

http ve https kabul edilir. Üretim için HTTPS önerilir.

Olay-ID tekrarlamazlığı

Her teslimat benzersiz bir X-PaperOffice-Event-ID taşır. Tarafınızda yinelenenleri çıkarın.

Tam denetim izi

Tüm denemeler kaydedilir: durum kodu, yanıt gövdesi, zamanlama, hata mesajı.

Sınırlar

Sınırsız abonelik, teslimat davranışı tamamen yapılandırılabilir

Hesap başına abonelikler
Aktif iş abonelikleri
10.000 ms
Varsayılan zaman aşımı
5
Varsayılan maksimum yeniden deneme

Tüm planlarda mevcuttur. Kullanım başına ödeme: Başarılı her teslimat için 1 kredi (HTTP 2xx). Yeniden denemeler, test olayları ve başarısız teslimatlar ücretsizdir.

Şimdi başlayın

İlk webhook'unuz 60 saniye içinde

Bir uç nokta oluşturun, API üzerinden abone olun, bir test olayı tetikleyin. Hepsi bu.

HMAC-SHA256 Üstel geri çekilme Tam denetim izi