한 고객이 오후 2:00에 WhatsApp Business API 번호로 메시지를 보냅니다. Meta의 서버가 해당 메시지를 수신합니다. 여기서 질문은 이것입니다. 새로운 메시지가 도착했다는 사실을 비즈니스 시스템은 어떻게 알 수 있을까요? 방법은 두 가지입니다. 서버가 Meta에 지속적으로 요청하거나(폴링), 새 메시지가 도착할 때 Meta가 서버에 알리는(웹훅) 방식입니다.
폴링은 비효율적이고 느립니다. 서버는 몇 초마다 “새 메시지가 있나요?”라고 계속 요청하며 리소스를 소모하고, 고객에 대한 응답 지연은 수십 초에 이를 수 있습니다.
웹훅은 효율적이고 실시간입니다. 메시지가 도착하면 Meta가 수 밀리초 안에 메시지 데이터를 서버로 자동 전송합니다. 이는 WhatsApp Business API의 표준 메커니즘이며 챗봇, 자동 응답, 실시간 CRM 연동의 기반입니다.
이 가이드에서는 웹훅이 무엇인지, WhatsApp API에서 발생할 수 있는 이벤트, 웹훅 설정 방법, 예상해야 할 일반적인 장애, 그리고 프로덕션 시스템을 위한 모범 사례를 다룹니다.
주요 이점
- 실시간 응답: 수신 메시지가 밀리초 단위로 처리되어 응답성이 높은 챗봇과 자동 응답이 가능합니다.
- 리소스 효율성: 지속적인 폴링이 필요 없으며, 서버는 이벤트가 실제로 발생할 때만 동작합니다.
- 자동화의 기반: AI 챗봇, CRM 연동, 자동화 플로우는 모두 웹훅이 있어야 동작합니다.
- 메시지 상태 추적: 웹훅은 발송한 메시지가 전달, 읽음, 실패 처리될 때도 알려주므로 정확한 분석이 가능합니다.
웹훅이란 무엇인가?

웹훅은 특정 이벤트가 발생했을 때 한 시스템(여기서는 Meta)이 다른 시스템(비즈니스 서버)으로 데이터를 자동 전송하는 메커니즘입니다. 데이터를 직접 요청해야 하는 일반 API와 달리 웹훅은 ‘푸시’ 방식이며, Meta가 능동적으로 전송합니다.
기술적으로 웹훅은 HTTP POST 요청을 통해 동작합니다. Meta는 등록한 URL(보통 웹훅 엔드포인트라고 함)로 POST 요청을 보내며, 페이로드에는 이벤트 데이터가 담깁니다. 서버는 페이로드를 처리하고 정해진 시간(일반적으로 20초) 안에 HTTP 200 OK로 응답합니다.
WhatsApp Business API에서 웹훅은 수신 메시지와 메시지 상태 업데이트를 받는 주요 수단입니다. 웹훅이 없으면 WhatsApp API 연동은 매우 제한적일 수밖에 없습니다.
발생할 수 있는 WhatsApp API 이벤트
Meta는 웹훅을 통해 여러 유형의 이벤트를 전송합니다. 비즈니스 운영에서 가장 중요한 것은 다음과 같습니다.
수신 메시지. 고객이 보낸 새 메시지입니다. 페이로드에는 발신자 번호, 메시지 내용(텍스트, 이미지, 문서 또는 기타 미디어), 타임스탬프, 메시지 ID가 포함됩니다.
메시지 상태 업데이트. 비즈니스가 발송한 메시지의 상태 업데이트입니다. 발송됨, 전달됨, 읽음, 실패가 있습니다. 전달률과 읽음률 추적에 유용합니다.
템플릿 상태 업데이트. 템플릿 메시지가 Meta에 의해 승인, 거부 또는 품질 문제로 플래그 처리될 때의 알림입니다.
계정 알림. 품질 평점 하락, 메시징 티어 변경, 정책 위반과 같은 중요한 상태 변경입니다. 계정 상태 모니터링에 매우 중요합니다.
메시지 반응. 고객이 비즈니스 메시지에 반응(이모지)을 남길 때 발생합니다.
비즈니스는 일반적으로 모든 이벤트 유형에 대해 웹훅을 등록하며, 모두를 처리하지는 않더라도 등록해 두면 새로운 요구가 생겼을 때 시스템이 준비된 상태가 됩니다.
WhatsApp Business API와 그 구성 요소에 대한 더 넓은 맥락은 WhatsApp Business API: 완벽 가이드를 참고하십시오.
웹훅 설정 방법
웹훅 설정에는 세 가지 구성 요소가 있습니다. URL 엔드포인트, 검증 토큰, HTTPS입니다.
URL 엔드포인트. Meta로부터 POST 요청을 받을 비즈니스 서버 URL입니다. 예: `https://api.your-business.com/webhook/whatsapp`. URL은 공개되어 있어야 하며 Meta가 접근할 수 있어야 합니다.
검증 토큰. 수신 요청이 공격자가 아닌 Meta에서 실제로 온 것임을 검증하기 위해 직접 만드는 비밀 문자열입니다. Meta는 모든 요청에 이 토큰을 포함해 보내며, 서버는 이를 일치시켜야 합니다.
HTTPS. Meta는 HTTPS URL로만 웹훅을 전송합니다. 일반 HTTP는 허용되지 않습니다. SSL 인증서는 유효해야 하며 자체 서명이어서는 안 됩니다.
이 세 가지가 준비되면 WhatsApp Business Platform 대시보드 또는 BSP를 통해 웹훅을 구성합니다. 최초 설정 시에는 Meta의 검증 챌린지 과정이 필요합니다. Meta가 검증 토큰을 보내면 서버는 그에 맞는 에코를 응답해야 합니다.
예상해야 할 일반적인 장애

서버 다운 또는 응답 지연
서버가 20초 안에 응답하지 않으면 Meta는 실패로 간주하고 재시도합니다. 재시도는 간격을 늘려가며 계속됩니다. 실패가 지속되면 Meta가 웹훅을 일시적으로 비활성화할 수 있습니다.
다운타임으로 인한 이벤트 누락
서버가 몇 시간 동안 다운되면 그 기간에 도착한 이벤트는 Meta의 재시도가 실패할 경우 유실될 수 있습니다. 프로덕션 시스템에서는 처리 전에 이벤트를 버퍼링하는 큐 시스템(예: RabbitMQ 또는 AWS SQS)을 사용하십시오.
서명 검증 실패
Meta는 모든 요청에 검증 가능한 서명을 첨부합니다. 이 검증을 생략하면 시스템이 가짜 웹훅에 취약해집니다. 페이로드를 처리하기 전에 항상 서명을 검증하십시오.
비즈니스 서버의 속도 제한
웹훅 볼륨이 많으면(예: 많은 전달 상태 업데이트가 발생하는 대규모 브로드캐스트) 비즈니스 서버는 초당 수백 건의 요청을 처리해야 합니다. 사양이 부족한 서버는 병목이 됩니다.
웹훅 관리와 관리형 엔드포인트 제공에서 BSP의 역할을 이해하려면 WhatsApp BSP란 무엇인가?를 참고하십시오.
프로덕션 시스템을 위한 모범 사례
빠르게 응답하고 비동기로 처리
웹훅 엔드포인트는 페이로드를 받아 큐에 넣고 즉시 200 OK를 반환하는 역할만 해야 합니다. 실제 처리(AI 호출, CRM 업데이트 등)는 별도의 워커가 비동기로 수행합니다. 이렇게 하면 웹훅 응답 시간을 1초 미만으로 유지할 수 있습니다.
멱등성
Meta는 재시도 로직으로 인해 동일한 이벤트를 두 번 전송할 수 있습니다. 서버는 중복 이벤트를 부작용 없이 처리할 수 있어야 합니다. 일반적인 방법은 처리된 메시지 ID를 추적하는 것입니다.
모니터링 및 알림
웹훅 응답 시간, 오류율, 이벤트 볼륨을 추적하십시오. 이상 징후(예: 이벤트 볼륨의 갑작스러운 감소 또는 급증)가 있으면 운영 팀에 알림을 보내십시오.
재시도 처리
비동기 처리 실패(예: AI 서비스 다운)에 대비해 지수 백오프를 적용한 재시도와 반복적으로 실패하는 이벤트를 위한 데드 레터 큐를 구현하십시오.
서명 이외의 보안
서명 검증은 최소한의 조치입니다. 민감한 데이터의 경우 네트워크 계층에서 인증(예: Meta IP 화이트리스트)을 추가하고 저장 시 페이로드를 암호화하십시오.
도구 스택의 위치
프로덕션 수준의 웹훅 인프라를 처음부터 구축하려면 숙련된 엔지니어링 팀이 필요합니다. 큐 시스템, 모니터링, 재시도 로직, 보안까지 갖추어야 합니다. 대부분의 비즈니스에게 이것은 불필요한 부담입니다.
Cekat과 같은 플랫폼은 프로덕션에 바로 사용할 수 있는 웹훅 계층(이벤트 큐, 모니터링, 재시도, 보안)을 제공합니다. 비즈니스는 고수준 API나 대시보드만 사용하면 되고, 모든 웹훅 복잡성은 그 뒤에 추상화됩니다.
관리형 웹훅 인프라를 포함한 WhatsApp Business API 기능의 세부 내용은 WhatsApp Business API 페이지를 참고하십시오.
시작하는 방법
WhatsApp API 연동을 처음부터 구축한다면 프로덕션 이전에 테스트 환경에서 웹훅 설정부터 시작하십시오. 몇 개의 테스트 메시지를 보내 이벤트가 올바르게 수신되는지, 서명이 검증되는지, 응답 시간이 1초 미만으로 유지되는지 확인하십시오.
프로덕션 시스템에서는 큐 시스템을 생략하지 마십시오. 볼륨이 낮을 때는 과잉처럼 보이지만, 볼륨이 늘어나면 필수가 되며 비용이 큰 이벤트 누락으로부터 여러분을 지켜줍니다.
Cekat과 같은 BSP를 사용하면 웹훅 복잡성의 대부분이 이미 처리되어 있습니다. 인프라가 아니라 비즈니스 로직에 집중할 수 있습니다.
실시간 WhatsApp 자동화 활성화
웹훅이 작동하지 않는 1초는 챗봇이 응답할 수 없고, CRM 연동이 지연되며, 고객 서비스 팀이 수신 메시지의 맥락을 잃는 1초입니다. 이미 하루 수백에서 수천 건의 채팅을 처리하는 비즈니스에게 웹훅은 선택 사항이 아니라 기반입니다.
인프라를 직접 구축하지 않고 웹훅으로 AI 챗봇과 실시간 자동화를 운영하고 싶다면, Cekat의 AI WhatsApp 챗봇이 Meta 웹훅과 이미 통합되어 바로 사용할 수 있는 챗봇을 제공합니다.
무료 체험 시작하여 WhatsApp에서 실시간으로 동작하는 챗봇을 확인하십시오. 또는 저희 팀과 채팅하여 요구 사항에 맞는 웹훅 및 WhatsApp 자동화 설정 상담을 받으십시오.
답글 남기기