Webhooks 설정

Webhooks를 구독하여 WhatsApp Business 계정 설정 변경 사항 및 품질 신호에 대한 알림을 받습니다.

Webhooks 설정은 WhatsApp Business 앱에 등록된 전화번호에 영향을 미치지 않습니다. WhatsApp Business 플랫폼으로 전화번호를 마이그레이션한 경우에만 WhatsApp Business 앱에서 더 이상 해당 전화번호를 사용할 수 없습니다.

엔드포인트 만들기

알림을 받기 시작하기 전에 서버에서 알림을 받을 엔드포인트를 만들어야 합니다.

엔드포인트는 인증 요청과 이벤트 알림이라는 두 가지 유형의 HTTPS 요청을 처리할 수 있어야 합니다. 두 요청 모두 HTTPS를 사용하므로, 유효한 TLS 또는 SSL 인증서가 서버에 올바르게 구성되고 설치되어 있어야 합니다. 자체 서명된 인증서는 지원되지 않습니다.

인증 요청과 이벤트 알림에 대해 자세히 알아보기

Webhooks 구독

Webhooks를 구독하려면 Meta 앱 ID와 권한을 가져와야 합니다. 이를 위해서는 Meta 앱 대시보드로 이동합니다. 여기에서 다음과 같은 작업을 수행합니다.

  1. Meta 앱 대시보드에서 Meta 앱 만들기
  2. 앱 대시보드에서 Webhooks 제품을 Meta 앱에 추가하기

    각 Meta 앱은 항상 엔드포인트를 하나만 구성할 수 있습니다. Webhooks 업데이트를 여러 엔드포인트로 보내야 하는 경우 여러 개의 Meta 앱이 필요합니다.

비즈니스 메시지를 확장할 준비가 되면 다음 작업이 필요할 수 있습니다.

  1. 앱 대시보드에서 whatsapp_business_management 권한 추가
  2. Meta 앱 검수를 성공적으로 완료 – 이 단계는 시간이 걸리지만 검수 절차를 진행하는 모든 과정에서 테스트를 계속 수행할 수 있습니다.

사용 가능한 구독 필드

사용 가능한 구독 필드

필드 이름 설명

account_review_update

WhatsApp Business 계정이 검토되면 알림을 전송합니다.

account_update

WhatsApp Business 계정에 대한 변경 사항이 발생하면 알림을 전송합니다. 이 변경 사항에는 전화번호 업데이트, 정책 위반, WhatsApp Business 계정 차단 등이 포함될 수 있습니다.

business_capability_update

기능이 업데이트되면 알림을 전송합니다. 여기에는 WABA에 등록할 수 있는 최대 전화번호 개수 또는 전화번호당 대화 건수가 포함될 수 있습니다.

message_template_status_update

메시지 템플릿이 승인 또는 거부되거나 비활성화되면 알림을 전송합니다.

messages

비즈니스가 고객으로부터 메시지를 받은 경우, 고객에게 메시지를 보내는 경우, 고객에게 메시지가 전달되는 경우, 그리고 고객이 메시지를 읽은 경우 비즈니스에 알림이 전송됩니다.

phone_number_name_update

전화번호와 연결된 이름이 승인 또는 거부되면 알림을 전송합니다.

phone_number_quality_update

전화번호의 품질 관련 상태에 업데이트가 있으면 알림을 전송합니다.

security

다음과 같은 경우에 알림을 전송합니다.

  • 2단계 인증 코드 비활성화 요청
  • 2단계 인증 코드가 비활성화됨
  • 2단계 인증 코드가 업데이트됨
  • 각 페이로드 필드에 대한 자세한 내용은 WhatsApp Business 계정 Webhooks 참고 자료 를 참조하고, 수신할 수 있는 다양한 유형의 messages 알림에 대한 자세한 내용은 WhatsApp 클라우드 API Webhooks 참고 자료 를 참조하세요.

    알림 페이로드

    모든 알림은 다음과 같은 일반 형식을 사용합니다.

    [{
        "object": "whatsapp_business_account",
        "entry": [{
           "id": "{whatsapp-business-account-id}",
            "time": {unix-timestamp},
            "changes": [{
                "field": "{subscribed-field}",
                "value": {
                    # Information that was update
                }
              }]
          }]
      }]

    최상위 수준 배열에는 두 가지 기본 개체가 포함됩니다.

    매개변수설명

    object

    구독한 개체입니다.

    entry

    이 개체에는 Webhooks 호출을 트리거한 변경 사항에 대한 자세한 정보가 포함됩니다.

    모든 사용 가능한 Webhooks 개체에 대한 내용은 구성 요소를 참조하세요.