メインコンテンツにスキップ
SVDY Logo
開発者ガイド
提供中
Professional プラン

出来事をその瞬間に通知

従業員の打刻や休暇承認の数秒以内に、あなたのバックエンドがPOSTを受け取ります——ポーリングもバッチも不要。署名付き配信、自動リトライ、エンドポイントがダウンしたときのデッドレターキューも完備。

できること

初日からの効果。中小企業の管理者がエンジニア不要で設定できます。

ポーリング不要のリアルタイム配信

従業員の打刻、休暇承認、ワークフロー状態の変更 — エンドポイントは数秒以内に POST を受け取ります。5 分ごとに API を叩きにいく必要はありません(コスト削減と高速化を同時に実現)。

改ざん検知付きの配送

各リクエストには X-SVDY-Signature: sha256=… ヘッダーが付与されます。これは JSON ボディとあなたのシークレットから計算されます。エンドポイント側で署名を検証すれば、偽造されたリクエストを最初の一行で拒否できます。

リトライとデッドレターキュー

2xx 以外のレスポンスは 1 分、5 分、30 分、2 時間、12 時間後にリトライします。5 回失敗するとデッドレターキューに入り、/system/integrations/webhooks で確認できます。エンドポイント不調の日もイベントを失いません。

4ステップで設定完了

目安:認証情報を準備済みの管理者なら5分以内。

1

組織の管理画面で webhook を作成する

連携 → Webhook → Webhook を追加 を選び、エンドポイント URL と購読したいイベントを入力します。SVDY は署名シークレットを 1 度だけ表示します — その場で保存してください。

2

受信側を実装する

エンドポイントは POST application/json を受け取ります。処理する前に HMAC 署名を検証してください。10 秒以内に 200 を返してください(さもなければ SVDY は失敗とみなしてリトライします)。

# Python receiver — Flask sketch
import hmac, hashlib, json
from flask import request, abort

SVDY_SECRET = b"<paste-from-svdy-admin>"

@app.post("/webhooks/svdy")
def receive():
    sig = request.headers.get("X-SVDY-Signature", "")
    expected = "sha256=" + hmac.new(
        SVDY_SECRET, request.data, hashlib.sha256
    ).hexdigest()
    if not hmac.compare_digest(sig, expected):
        abort(401)
    event = json.loads(request.data)
    # ... handle event["type"], event["data"]
    return "", 200
3

「Send test event」ボタンで試す

webhook の詳細画面から、合成イベントをエンドポイントに送れます。レスポンスコードとボディは配送ログに即時表示されます。

4

失敗した配送を再実行する

各配送はアクティビティ画面でステータス(delivered / retrying / dead)が確認できます。エンドポイントを修正したあとは、デッドレターになった配送に対して「Replay」を押すと再配送されます。


接続を始めますか?

組織の管理画面 → 連携 を開き、この連携を5分以内に有効化できます。