본문으로 건너뛰기
SVDY Logo
개발자 가이드
사용 가능
Professional 플랜

사건이 일어나는 그 순간 알리기

직원이 출퇴근하거나 휴가가 승인되면, 백엔드가 몇 초 안에 POST를 받습니다 — 폴링 불필요, 예약 작업 불필요. 서명된 전송, 자동 재시도, 엔드포인트 다운 시 Dead-Letter 큐까지 제공.

이걸 할 수 있어요

첫날부터의 효과. 엔지니어 없이 중소기업 관리자가 직접 설정할 수 있습니다.

폴링이 아닌 실시간 전송

직원 출근, 휴가 승인, 프로세스 상태 변경 — 엔드포인트는 몇 초 안에 POST를 받습니다. 5분마다 API를 폴링할 필요가 없으므로 비용도 줄고 속도도 빨라집니다.

변조 방지 전송

각 요청에는 X-SVDY-Signature: sha256=… 헤더가 포함됩니다. JSON 본문과 시크릿으로 계산한 값입니다. 엔드포인트에서 서명을 검증하면 위조 요청을 곧바로 거절할 수 있습니다.

재시도 + 데드 레터 큐

2xx가 아닌 응답은 1분, 5분, 30분, 2시간, 12시간 후 재시도합니다. 5번 실패하면 전송 건이 데드 레터 큐로 이동하며 /system/integrations/webhooks에서 확인할 수 있습니다. 엔드포인트가 일시적으로 문제를 겪어도 이벤트를 잃지 않습니다.

4단계로 설정

예상 소요 시간: 자격 증명을 준비한 관리자라면 5분 이내.

1

조직 관리자 화면에서 webhook 생성

통합 → 웹훅 → 웹훅 추가. 엔드포인트 URL과 구독할 이벤트를 입력합니다. SVDY는 서명 시크릿을 한 번만 표시하므로 즉시 저장하세요.

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분 이내에 연결하세요.