POPBill Developers
Webhook

Webhook 개요

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

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

Webhook vs API Polling

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

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

Webhook 과 API Polling 프로세스를 비교

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

팝빌에서 발생한 웹훅 이벤트 정보는 [이벤트 예시] 를 참고하여 주시기 바랍니다.