웹훅
웹훅 채널 소개
웹훅 은 캠페인·시나리오에서 유저 단위로 지정한 URL에 HTTP 요청을 보내, 쿠폰 발급·등급 변경·내부 로깅·CRM 연동 등을 자동화하는 채널입니다. 메시지를 “보여주는” 채널이 아니라 백엔드 연동용 트리거라고 이해하면 됩니다.
웹훅 메시지 작성
캠페인 또는 시 나리오에서 발송 채널로 웹훅을 선택하면 아래 항목을 설정합니다.

| 항목 | 설명 | 필수 |
|---|---|---|
| HTTP 메서드 | GET, POST, PUT, PATCH, DELETE 중 선택 | 필수 |
| 웹훅 주소 | 호출할 엔드포인트 URL (Liquid 지원) | 필수 |
| 웹훅 헤더 | 키·값 목록. 인증 토큰 등 필요 시 추가 | 선택 |
| 웹훅 바디 | JSON 객체로 보낼 필드를 키·값으로 정의 (GET 일 때는 표시·전송 없음) | 선택 |
요청 시 Content-Type: application/json 과 User-Agent: blux-server@… (서버 버전) 이 기본으로 붙습니다. 콘솔 안내와 같이 본문 형식은 JSON으로 고정되는 점을 엔드포인트 구현에 반영해 주세요.
GET 요청
메서드가 GET 이면 바디 필드는 사용하지 않습니다. URL 쿼리나 헤더만으로 필요한 정보를 전달하도록 설계해 주세요.
개인화 · 요청 예시
헤더 값·URL·바디 값에는 {{ 변수명 }} 형태의 Liquid를 넣을 수 있습니다. 발송 시 유저 속성에 맞게 치환된 뒤 실제 HTTP 요청으로 나갑니다.

예를 들어 바디에 user_id, coupon_type 을 넣으면, 특정 유저에게 발송 시 다음과 같이 JSON 바디가 구성될 수 있습니다.
{
"user_id": "jeff",
"coupon_type": "sale"
}
변수 목록은 콘솔 오른쪽의 개인화 안내에서 확인하거나, [개인화 변수]를 참고해 주세요.
시나리오에서 사용하기
시나리오 노드에서도 동일하게 웹훅 채널을 선택해 외부 API를 호출할 수 있습니다.

재시도 · 타임아웃 · 성공 조건
외부 서버 상태에 따라 요청이 실패할 수 있어, 서버는 다음 규칙으로 재시도합니다.
| 동작 | 값 |
|---|---|
| HTTP 호출 타임아웃 | 요청당 30초 |
| 재시도 횟수 | 실패 시 최대 2번 재시도 → 최대 3번 시도(첫 요청 + 재시도 2회) |
| 전체 재시도 상한 시간 | 약 90초 (WEBHOOK_DEADLINE_MS) |
재시도하지 않는 경우(대표)
- HTTP 응답 코드가 400번대인 경우 — 단
408 Request Timeout,429 Too Many Requests는 예외로 재시도될 수 있습니다. - 그 외 네트워크 오류·타임아웃·5xx 등은 재시도될 수 있습니다.
성공
- HTTP 응답이 2xx 로 처리되는 경우 성공으로 간주합니다.
과거 문서에 “5초 타임아웃” 같은 표현이 있었다면, 현재 서버 구현은 위 표의 30초 기준입니다. 엔드포인트는 가능한 한 빠르게 응답하도록 설계하는 것이 좋습니다.
설계 시 권장 사항
- 멱등성: 같은 유저에게 재전송될 수 있으므로, 쿠폰 발급 등은 중복 호출에 안전한 API로 만드는 것이 좋습니다.
- 인증: 헤더에 서명·Bearer 토큰 등을 넣고, 서버에서 검증하세요.
- 로깅: 고유 요청 ID나
user_id를 바디에 포함하면 장애 분석이 쉬워집니다.