웹훅

이벤트 종류

Lenit이 현재 발송하는 4가지 웹훅 이벤트의 페이로드 명세입니다. 각 이벤트는 event 필드의 값으로 구분합니다.

Event IDeventLabel트리거audience
idea.created새 아이디어엔드유저가 아이디어 제출 시
comment.created새 댓글댓글 작성 시
idea.status_changed아이디어 상태 변경관리자가 상태 변경 시
announcement.published공지사항 발행공지 발행 + linkedIdea가 있을 때✅ (linkedIdea 기준)

idea.created — 새 아이디어

엔드유저가 공개 보드 또는 위젯에서 새로운 아이디어를 제출했을 때 발송됩니다.

json
1
2
3
4
5
6
7
8
9
10
{
  "event": "idea.created",
  "eventLabel": "새 아이디어",
  "data": {
    "ideaId": "7b3e-...-ef698f791a20",
    "title": "모바일 앱 지원",
    "authorId": "a12c-...-00df",
    "createdAt": "2026-04-25T10:12:33"
  }
}

comment.created — 새 댓글

아이디어에 댓글이 달렸을 때 발송됩니다. 비공개 관리자 메모는 제외됩니다.

json
1
2
3
4
5
6
7
8
9
10
11
{
  "event": "comment.created",
  "eventLabel": "새 댓글",
  "data": {
    "commentId": "...",
    "ideaId": "...",
    "authorId": "...",
    "body": "저도 필요해요!",
    "createdAt": "2026-04-25T10:15:01"
  }
}

idea.status_changed — 상태 변경 ⭐

관리자가 아이디어 상태를 변경했을 때 발송됩니다. audience가 동봉되어, 그 아이디어와 관련된 사용자 정보를 자사 서버가 바로 알 수 있습니다.

json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
  "event": "idea.status_changed",
  "eventLabel": "아이디어 상태 변경",
  "data": {
    "ideaId": "...",
    "title": "모바일 앱 지원",
    "oldStatus": "투표중",
    "newStatus": "완료됨",
    "updatedAt": "2026-04-25T10:20:44",
    "audience": {
      "author":     { "externalId": "user_123", "traits": { "plan": "pro" } },
      "commenters": [ { "externalId": "user_456", "traits": { "plan": "free" } } ],
      "voters":     [ { "externalId": "user_789", "traits": {} } ],
      "reactors":   [ { "externalId": "user_321", "traits": {} } ]
    }
  }
}
참고audience는 등록 설정에 따라 다름
웹훅을 등록할 때 선택한 audience targets에 따라 필요한 그룹만 채워집니다. 자세한 건 Audience 구조 참고.

announcement.published — 공지 발행 ⭐

공지가 발행되고, 연결된 아이디어가 있을 때 발송됩니다.

json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
  "event": "announcement.published",
  "eventLabel": "공지사항 발행",
  "data": {
    "announcementId": "...",
    "title": "모바일 앱 정식 출시!",
    "category": "NEW",
    "linkedIdeaId": "7b3e-...-ef698f791a20",
    "publishedAt": "2026-04-25T11:00:00",
    "audience": {
      "author":     { "externalId": "user_123", "traits": { "plan": "pro" } },
      "commenters": [ { "externalId": "user_456", "traits": {} } ],
      "voters":     [ { "externalId": "user_789", "traits": {} } ],
      "reactors":   [ { "externalId": "user_321", "traits": {} } ]
    }
  }
}
주의linkedIdeaId가 없으면 audience는 비어있음
공지 작성 시 연결된 아이디어를 지정하지 않으면 linkedIdeaId가 빈 문자열이고audience도 비어있습니다. 누구에게 알림을 보내야 할지 기준점이 없기 때문입니다.

category 값 — announcement.published

설명
NEW새 기능
IMPROVEMENT개선
FIX버그 수정
NOTICE일반 공지

다음 단계

개요Audience 구조