웹후크
사건이 발생할 때 실시간으로 알림을 받습니다. 웹후크는 주문이 접수되거나 참석자가 체크인하거나 부스 리드가 캡처될 때마다 귀하의 서버에 HTTP POST 요청을 보냅니다.
웹후크란
웹후크는 귀하가 지정한 URL로 전송되는 자동화된 HTTP POST 요청입니다. API에서 변경 사항을 폴링하는 대신, 귀하의 서버는 이벤트가 발생하는 즉시 알림을 받습니다. 각 웹후크 페이로드에는 이벤트 유형, 타임스탬프 및 관련 데이터가 포함됩니다.
엔드포인트 생성
관리자로 이동한 다음 성장, 웹후크로 이동합니다. 엔드포인트 생성 클릭. 엔드포인트의 이름(참조용)을 입력하고, 페이로드가 전송될 대상 URL을 입력하며, 선택적으로 수신할 이벤트 유형을 필터링합니다. 서명 비밀이 자동으로 생성됩니다 — 이를 사용하여 수신 페이로드를 확인해야 합니다.
이벤트 유형
다음 이벤트 유형이 제공됩니다. 각 유형은 플랫폼의 특정 작업에 해당합니다.
| 이벤트 유형 | 설명 |
|---|---|
| tracking.attributed_order | 추적된 방문자가 주문을 완료했습니다(귀속 데이터 포함) |
| order.paid | 주문이 성공적으로 결제되었습니다 |
| attendee.checked_in | 참석자가 이벤트에 체크인되었습니다 |
| attendee.connection_made | 두 참석자가 이벤트에서 연결되었습니다 |
| booth.lead_captured | 부스 전시자가 새로운 리드를 캡처했습니다 |
| booth.scan | 부스에서 배지가 스캔되었습니다 |
| booth.connection_created | 참석자와 전시자 간의 연결이 생성되었습니다 |
| booth.order_paid | 부스 패키지가 구매되었습니다. |
이벤트 필터링
기본적으로 새 엔드포인트는 모든 이벤트 유형을 수신합니다. 이벤트 필터를 사용하여 관심 있는 유형만 선택하세요. 이렇게 하면 서버의 소음과 처리량이 줄어듭니다. 엔드포인트를 재생성하지 않고도 언제든지 필터를 업데이트할 수 있습니다.
서명 검증
모든 웹훅 요청에는 보안을 위한 서명 헤더가 포함됩니다. 엔드포인트의 서명 비밀을 사용하여 페이로드가 Kagibag에서 전송되었고 변조되지 않았는지 확인하세요.
// 서명은 요청 헤더에 포함됩니다
// 엔드포인트 비밀로 HMAC-SHA256을 사용하여 검증합니다
const signature = request.headers['x-webhook-signature'];
const expected = hmac('sha256', endpointSecret, request.body);
const isValid = timingSafeEqual(signature, expected);전송 및 재시도
전송이 실패하면(서버가 비 2xx 상태 코드를 반환하거나 타임아웃됨) Kagibag이 자동으로 재시도합니다. 재시도는 기하급수적 백오프를 사용합니다. 각 시도는 이전 시도보다 더 오래 기다립니다. 시스템은 기본적으로 최대 여섯 번의 시도를 합니다. 모든 시도가 소진되면 전송이 실패로 표시됩니다.
전송 모니터링
웹훅 섹션에서 각 엔드포인트의 전송 기록을 확인하세요. 각 전송은 이벤트 유형, HTTP 상태 코드, 시도 횟수, 타임스탬프 및 오류 메시지를 보여줍니다. 전송을 클릭하여 전체 요청 페이로드를 검사하세요. 이는 통합 문제를 디버깅하는 데 유용합니다.
테스트
모든 엔드포인트에서 테스트 페이로드를 전송하려면 Send Test 버튼을 사용하세요. 테스트는 order.paid 이벤트 유형을 사용하여 test: true 데이터에 플래그를 추가합니다. 이를 통해 라이브로 전환하기 전에 엔드포인트에 도달하고 페이로드를 올바르게 처리하는지 확인할 수 있습니다.
문제 해결
일반적인 문제와 해결 방법입니다.
| 문제 | 해결책 |
|---|---|
| 엔드포인트가 4xx 오류를 반환합니다. | URL이 올바른지 확인하고 서버가 해당 경로에서 POST 요청을 수신할 준비가 되어 있는지 확인하세요. 서버가 JSON 콘텐츠 유형을 수락하는지 확인하세요. |
| 전송이 소진되었습니다. | 모든 재시도 시도가 실패했습니다. 오류에 대한 서버 로그를 확인하세요. 문제를 해결하고 엔드포인트를 다시 활성화하세요. 새로운 이벤트는 새로 시작됩니다. |
| 서명 불일치 | 올바른 엔드포인트 비밀을 사용하고 원시 요청 본문을 검증하고 있는지 확인하세요(구문 분석된 버전이 아님). HMAC 구현이 SHA-256을 사용하는지 확인하세요. |
| 엔드포인트 비활성화 | 엔드포인트는 반복적인 실패 후 자동으로 비활성화됩니다. 기본 문제를 해결한 후 웹훅 설정에서 다시 활성화하세요. |