webhook이란 무엇인가
서버가 이벤트를 수신하는 방식과 알림 검증이 필요한 이유를 설명합니다.
수정일:
webhook은 이벤트가 발생하면 한 서비스가 다른 앱의 주소로 보내는 알림입니다. 예를 들어 Cryptanio는 상점 서버에 암호화폐 결제 상태가 바뀌었다고 알릴 수 있습니다. 앱은 변화를 알기 위해 같은 상태를 계속 조회할 필요가 없습니다.
이 연동에는 접근 가능한 서버 측 HTTPS 수신 주소가 필요합니다. 준비된 Telegram이나 Discord 알림과 달리, 자체 서버가 데이터를 받아 원하는 로직을 실행합니다. 검증용 비밀 값은 서버에 보관하고 브라우저 코드, 메시지나 로그에 공개하지 마세요.
처리 전에 요청의 원래 바이트로 서명을 검증하고 메시지의 허용 시간 범위를 확인하세요. 그런 다음 이벤트를 식별하고 연결된 인보이스와 상태를 확인합니다. 유효한 서명은 메시지 출처를 확인하지만 금액, 자산 및 주문에 대한 업무 검증을 대신하지는 않습니다.
알림이 반복 전달될 수 있습니다. 이벤트 식별자를 저장하고 반복 수신이 상품을 두 번 제공하지 않도록 주문을 갱신하세요. 상태 변경은 허용된 순서로 적용해야 합니다. 일시적인 서버 중단 후에는 처리한 이벤트의 기록을 보존하면서 최신 데이터와 대조해야 합니다.
Cryptanio의 고정된 공개 API v1 계약을 사용하세요. HTTP 요청을 받았다는 사실만으로 상품을 제공하면 안 됩니다. 거래 발견, 전송 확인, 주문 전액 결제는 서로 다른 조건입니다. 거래 회수와 결제 예외도 처리해야 합니다.