Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 0 additions & 99 deletions apps/docs/src/app/event/console/page.mdx

This file was deleted.

34 changes: 9 additions & 25 deletions apps/docs/src/app/event/page.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { AlertCircle, Shield } from 'lucide-react'
import { Shield } from 'lucide-react'

export const metadata = { title: 'Event' }

Expand All @@ -8,20 +8,6 @@ export const metadata = { title: 'Event' }

DataGSM Event는 학생, 동아리, 프로젝트 도메인에서 발생하는 이벤트를 외부 서버로 실시간 전달하는 기능입니다. 이벤트가 발생하면 등록한 수신 URL로 HTTP POST 요청이 비동기로 발송되므로, 외부 서버가 DataGSM 데이터를 주기적으로 폴링하지 않아도 변경 사항을 즉시 반영할 수 있습니다.

<div className="border-l-4 border-purple-500 bg-purple-50 dark:bg-purple-900/20 p-4 rounded my-4">
<div className="flex items-start gap-3">
<AlertCircle className="h-5 w-5 text-purple-500 shrink-0 mt-0.5" />
<div>
<div className="font-semibold text-purple-900 dark:text-purple-100 mb-2">
Event는 DataGSM 웹 콘솔에서 관리합니다
</div>
<div className="text-purple-800 dark:text-purple-200 text-sm">
Event 등록·조회·수정·삭제는 DataGSM 웹에 로그인한 뒤 Event 페이지에서 수행합니다. API Key(OpenAPI)나 OAuth Access Token으로 호출하는 별도의 공개 관리 API는 제공되지 않습니다. 콘솔 사용 방법은 <a href="/event/console">웹 콘솔에서 관리</a> 문서를 참고하세요.
</div>
</div>
</div>
</div>

### 사용 시나리오

- 학생이 졸업·자퇴 처리되었을 때 외부 알림 시스템에 자동 통지
Expand All @@ -46,7 +32,7 @@ sequenceDiagram

### 지원 이벤트

현재 지원되는 9개 이벤트는 다음과 같습니다.
현재 지원되는 이벤트는 다음과 같습니다.

| 이벤트 | 트리거 | 관련 도메인 |
|--------------------------|--------------|---------|
Expand All @@ -68,13 +54,12 @@ sequenceDiagram

### 전송 정책

| 항목 | 정책 |
|--------------|------------------------------------------------------|
| **전송 방식** | 비동기 HTTP POST 요청 |
| **재시도** | 최대 3회, 지수 백오프 (1s → 10s → 60s) |
| **전달 이력 저장** | 미지원 (3회 재시도 후 실패 시 서버 로그에만 기록) |
| **서명 헤더** | `X-DataGSM-Signature: sha256=<HMAC-SHA256(secret, payload)>` |
| **Content-Type** | `application/json` |
| 항목 | 정책 |
|------------------|--------------------------------------------------------------|
| **전송 방식** | 비동기 HTTP POST 요청 |
| **재시도** | 최대 3회, 지수 백오프 (1s → 10s → 60s) |
| **서명 헤더** | `X-DataGSM-Signature: sha256=<HMAC-SHA256(secret, payload)>` |
| **Content-Type** | `application/json` |

3회 재시도 후에도 전달에 실패하면 해당 이벤트는 영구적으로 손실됩니다. 수신 서버가 일시적으로 다운된 상태에서 발생한 이벤트는 재발송되지 않으므로, 중요한 데이터는 별도의 정합성 점검 로직을 함께 운영하는 것을 권장합니다.

Expand All @@ -98,12 +83,11 @@ secret은 64자 hex 문자열이며, 수신 서버가 위조 요청을 식별하

### 빠른 시작

1. DataGSM 웹에 로그인한 뒤 [Event 콘솔](/event/console)에서 수신 URL과 구독 이벤트를 등록합니다.
1. DataGSM 웹에 로그인한 뒤 [Event 콘솔](https://www.datagsm.kr/events)에서 수신 URL과 구독 이벤트를 등록합니다.
2. 등록 완료 화면에 노출된 `secret`을 안전한 곳에 즉시 보관합니다.
3. 수신 서버에서 `X-DataGSM-Signature` 헤더를 검증하여 요청의 진위를 확인합니다.

### 다음 단계

- [웹 콘솔에서 관리](/event/console)
- [이벤트 페이로드 명세](/event/payloads)
- [서명 검증 가이드](/event/signature)
Loading
Loading