Meta Webhooks

Webhooks를 사용하면 Meta 소셜 그래프에 있는 특정 개체의 변경 사항에 대한 실시간 HTTP 알림을 받을 수 있습니다. 예를 들어 Facebook에서는 앱 사용자가 이메일 주소를 변경하거나 Facebook 페이지에 댓글을 남길 때마다 알림을 보낼 수 있습니다. 그러면 개체 변경 사항이 일어났는지 일어나지 않았는지 알아보기 위해 그래프 API를 쿼리할 필요가 없고 사용 제한에 도달하지 않는 데 도움이 됩니다.

결제용 WebhooksMessenger용 Webhooks는 구성 단계가 약간 다릅니다. 두 제품 중 하나에 대해 Webhooks를 설정할 경우 각각의 설정 지침 문서를 참조하세요.

개체, 필드 및 값

Meta 소셜 그래프에는 여러 가지 유형의 개체(예: 사용자 개체, 페이지 개체)가 있으므로 Webhooks를 구성할 때마다 먼저 개체 유형을 선택해야 합니다. 개체마다 필드가 다르기 때문에 해당 개체 유형에 대해 특정 필드를 구독해야 합니다. 구독한 개체 필드의 값이 변경될 때마다 Facebook에서 알림을 보냅니다.

알림은 HTTP POST 요청으로 전송되고 변경 사항을 설명하는 JSON 페이로드를 포함합니다. 예를 들어 User Webhooks를 설정하고 Photos 필드를 구독했다고 생각해 보세요. 앱 사용자 중 한 명이 사진을 업로드하면 Facebook에서 다음과 같은 알림을 보냅니다.

알림 샘플

{
  "entry": [
    {
      "time": 1520383571,
      "changes": [
        {
          "field": "photos",
          "value": {
            "verb": "update",
            "object_id": "10211885744794461"
          }
        }
      ],
      "id": "10210299214172187",
      "uid": "10210299214172187"
    }
  ],
  "object": "user"
}

HTTPS 서버

Webhooks는 HTTPS를 사용하여 전송되므로 서버에서 HTTPS 요청을 받아서 처리할 수 있어야 하며 유효한 TLS/SSL 인증서가 설치되어 있어야 합니다. 자체 서명된 인증서는 지원되지 않습니다.

앱 검수

Webhooks에는 앱 검수가 필요하지 않습니다. 그러나 앱이 라이브 모드일 때 개체 변경 사항에 대한 Webhooks 알림을 받으려면 이러한 개체에 액세스하기 위한 관련 권한이 앱에 부여되어 있어야 합니다. 아래의 권한을 참조하세요.

권한

앱은 공개하기 전에 앱 검수를 거치는 것이 일반적입니다. 검수하는 동안 앱은 특정 권한에 대한 승인을 요청할 수 있습니다. 이러한 권한은 그래프 API를 사용할 때 앱이 액세스할 수 있는 데이터의 유형을 제어합니다.

Webhooks 제품은 앱 검수를 요구하지는 않지만 권한을 존중합니다. 즉, Webhooks를 설정하고 개체 유형에서 특정 필드를 구독할 경우에도 해당 유형의 개체가 변경되었을 때 알림을 받지 않습니다. 단, 다음과 같은 경우에는 예외입니다.

  • 앱이 해당 유형의 데이터에 해당하는 권한에 대해 승인을 받은 경우
  • 데이터를 소유한 개체에서 해당 데이터에 액세스할 권한을 앱에 부여한 경우(예: 사용자가 앱이 자신의 피드에 액세스하도록 허용)

개발 모드

개발 모드의 앱은 앱 대시보드를 통해 시작된 테스트 알림이나 앱에서 역할이 부여된 사용자가 시작한 알림만 받을 수 있습니다.

Messenger Webhooks 이벤트에서는 개발 모드의 동작이 다릅니다. 자세한 내용은 Messenger용 Webhooks 문서를 참조하세요.

설정

Webhooks를 사용하려면 안전한(HTTPS) 서버에서 엔드포인트를 설정한 다음, 앱의 대시보드에서 Webhooks 제품을 추가 및 구성해야 합니다. 나머지 문서에서는 이러한 두 가지 단계를 완료하는 방법을 설명합니다.

준비되셨나요? 그럼 시작하겠습니다!

더 알아보기