POPBill Developers
API Reference

Webhook 소개

웹훅(Webhook)이란 팝빌에서 특정 이벤트가 발생하는 즉시 고객사 서버로 이벤트 정보를 자동으로 전송하는 기능입니다. 고객사는 API를 호출하지 않고 실시간으로 팝빌 이벤트 정보를 전송 받음으로써 효율적인 시스템 운영이 가능합니다.

Webhook vs API Polling

팝빌은 이벤트를 확인하는 방법으로 이벤트 발생과 동시에 고객사 서버로 이벤트를 전송하는 ‘웹훅(Webhook)’ 과 고객사가 일정 주기마다 API를 호출하여 이벤트를 확인하는 ‘폴링(API Polling)’ 2가지 방법을 제공합니다.

API Polling 은 주기적인 API 호출 패턴으로 고객사 서버에 불필요한 부하와 네트워크 트래픽이 발생하는 단점이 존재하지만 Webhook은 이벤트가 발생하는 시점에 고객사 서버로 이벤트 상태/결과정보에 대해 팝빌에서 전달 받을 수 있습니다.

Webhook 과 API Polling 프로세스를 비교

팝빌에서는 불필요한 API 호출 감소, 서버 부하 감소, 비동기 처리에 대한 실시간 결과/상태 정보 업데이트 가능 등 다양한 장점을 활용하여 고객사 시스템을 더욱 효과적으로 관리할 수 있는 웹훅(Webhook) 사용을 권장합니다.

Webhook 프로세스

팝빌은 발생한 이벤트를 HTTP POST Request를 고객사가 사전에 팝빌에 등록한 콜백 URL로 실시간 전송합니다. 고객사는 전송 받은 이벤트 정보를 JSON 메시지 포맷으로 처리하여 시스템에 즉시 업데이트 할 수 있습니다.

Webhook 시퀀스 다이어그램
  1. 1. 이벤트 발생

    팝빌은 이벤트 발생과 동시에 고객사가 등록한 Callback URL 로 이벤트 정보를 HTTP POST Request 메시지를 전송합니다.

  2. 2. JSON 파싱(Parsing)

    Post Request body의 JSON 객체들을 파싱하여 고객사 시스템 DB에 이벤트 발생 대상의 정보를 업데이트 합니다.

  3. 3. 응답결과 확인

    고객사는 전송 받은 웹훅 처리결과를 팝빌에 HTTP Response로 반환합니다. 팝빌은 고객사 서버가 응답하는 결과값을 바탕으로 성공 여부를 확인합니다.

    • 성공 - 메시지 Request Body에 성공 상태의 결과값을 반환합니다. [응답결과]
    • 실패 - 성공 응답결과를 제외한 모든 결과값, 실패된 웹훅은 팝빌 [재전송 정책] 에 따라 다시 전송됩니다.

Callback URL 유형

콜백(Callback) URL이란 팝빌에서 발생하는 이벤트 정보를 고객사 서버에서 전송받기 위한 URL입니다. 단, 고객사 서버는 HTTP POST Request 수신이 가능해야 하며, 콜백 URL은 사전에 팝빌에 등록되어야만 합니다. [Callback URL 등록]

콜백 URL 등록은 이벤트 정보를 고객사(사업자번호 기준)가 각각 수신하는 “개별 URL”과 모든 이벤트를 하나의 서버로 수신하는 “통합 URL” 2가지 유형을 제공합니다. 고객사는 하나의 유형만 선택하여 설정 가능합니다.

개별 URL 수신 구조

사업자번호 마다 서로 다른 Callback URL을 설정하여 웹훅 이벤트 메시지를 처리하는 경우 사용합니다.

[개별 URL 등록방법]

통합 URL 수신 구조

사업자번호 기준으로 다수의 회원사의 웹훅 이벤트 메시지를 하나의 Callback URL로 설정하는 경우 사용합니다.

[통합 URL 등록방법]

재전송 정책

팝빌은 웹훅 누락 및 지연으로 발생하는 전송실패를 해결하기 위해 총 4회(최초 전송으로부터 5분 간격)까지 실패된 웹훅을 다시 전송합니다. 마지막 재전송까지 실패되는 경우 팝빌 기술지원센터에서 사전에 협의된 채널(유선 또는 이메일)로 고객사에게 안내합니다. 고객사 서버와의 통신이 정상화 되면 실패된 웹훅만을 선별하여 다시 전송 받을 수 있습니다.

팝빌 Webhook 전송 모니터링 시스템이 구축되어 전담인력이 24시간 관리하며 주말/공휴일 관계없이 안정적인 서비스 제공하고 있습니다.

재전송 프로세스