Skip to Content
API v1.7.0 Released - Settlement order number query + partial shipment support
GuidesWebhook

웹훅 가이드

웹훅(Webhook)을 통해 주문 상태 변경, 정산 생성 등 주요 이벤트를 실시간으로 수신할 수 있습니다.


웹훅 개요

웹훅은 브라이트몰 시스템에서 특정 이벤트가 발생했을 때, 입점사가 등록한 URL로 HTTP POST 요청을 보내는 방식입니다.

폴링(주기적 조회) 방식과 비교했을 때 다음과 같은 장점이 있습니다.

방식특징
폴링 (주기적 API 호출)불필요한 API 호출 발생, 실시간성 떨어짐, Rate Limit 소모
웹훅 (이벤트 수신)이벤트 발생 시에만 호출, 실시간 처리, API 호출 최소화

웹훅 관리

웹훅은 개발자 콘솔 또는 API를 통해 관리할 수 있습니다.

개발자 콘솔에서 관리

개발자 콘솔의 Webhooks 메뉴에서 웹훅을 등록, 수정, 삭제할 수 있습니다. UI를 통해 직관적으로 관리하는 것을 권장합니다.

API로 관리

프로그래밍 방식으로 웹훅을 관리해야 하는 경우 다음 API를 사용합니다.

기능엔드포인트설명
목록 조회GET /vendor-api/webhooks등록된 웹훅 목록 조회
등록POST /vendor-api/webhooks새 웹훅 엔드포인트 등록
수정PUT /vendor-api/webhooks/:id기존 웹훅 수정
삭제DELETE /vendor-api/webhooks/:id웹훅 삭제
테스트POST /vendor-api/webhooks/:id/ping웹훅 연결 테스트
이벤트 목록GET /vendor-api/webhooks/events구독 가능한 이벤트 타입 조회

API 상세 명세는 다음 페이지를 참조하세요:


웹훅 등록

웹훅을 등록할 때 다음 정보를 설정합니다.

  • URL: 이벤트를 수신할 HTTPS 엔드포인트 URL
  • 이벤트 타입: 수신할 이벤트 종류 (예: order.created, order.shipped)
  • 활성 상태: 웹훅 활성/비활성 토글

웹훅 URL은 반드시 HTTPS를 사용해야 합니다. HTTP URL은 등록이 거부됩니다.


웹훅 수신 처리

요청 형식

브라이트몰은 이벤트 발생 시 등록된 URL로 다음과 같은 HTTP POST 요청을 보냅니다.

POST {등록된 웹훅 URL} Content-Type: application/json

응답 규칙

웹훅 수신 후 반드시 HTTP 200 상태 코드를 반환해야 합니다. 200 이외의 응답이나 타임아웃이 발생하면 재시도합니다.

응답처리
HTTP 200정상 수신 처리
HTTP 4xx / 5xx실패로 기록, 재시도
타임아웃실패로 기록, 재시도

재시도 정책

웹훅 전송 실패 시 지수 백오프(exponential backoff) 방식으로 재시도합니다. 일정 횟수 이상 연속 실패하면 해당 웹훅이 자동 비활성화될 수 있습니다.


웹훅 검증

수신한 웹훅이 브라이트몰에서 발송한 것인지 검증하려면 요청 헤더의 서명값을 확인합니다. 검증 방법의 상세 내용은 개발자 콘솔의 Webhooks 설정 페이지에서 확인할 수 있습니다.


웹훅 테스트

웹훅을 등록한 후 정상적으로 수신되는지 확인하려면 ping API를 사용합니다.

POST /vendor-api/webhooks/:id/ping

테스트 이벤트가 등록된 URL로 전송되며, 수신 결과를 응답으로 확인할 수 있습니다.

API 상세: 웹훅 테스트 API


모범 사례

  • 멱등성 처리: 동일 이벤트가 중복 수신될 수 있으므로, 이벤트 ID를 기반으로 중복 처리를 방지하세요
  • 빠른 응답: 웹훅 수신 후 비즈니스 로직은 비동기로 처리하고, HTTP 200을 즉시 반환하세요
  • 에러 로깅: 수신 실패 시 로그를 남겨 디버깅에 활용하세요
  • HTTPS 사용: 웹훅 URL은 반드시 HTTPS를 사용하세요

Next Steps

Last updated on