본문으로 건너뛰기

웹훅

웹훅 채널 소개​

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

웹훅 메시지 작성​

캠페인 또는 시나리오에서 발송 채널로 웹훅을 선택하면 아래 항목을 설정합니다.

HTTP 메서드·URL·헤더·바디를 설정하는 웹훅 작성 화면이에요.
항목설명
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 를 바디에 포함하면 장애 분석이 쉬워집니다.