Meta의 Messenger

Meta Messenger 통합을 사용하면 최종 사용자와 상호작용하는 Meta Messenger 봇을 만들 수 있습니다.

작동 방식

통합은 다음과 같이 작동합니다.

  • Meta Messenger 플랫폼을 사용하는 Meta 앱을 만듭니다.
  • Dialogflow CX 통합과 Meta 앱이 서로 통신할 수 있도록 구성합니다.
  • Dialogflow CX 통합은 Meta Messenger API를 사용하여 최종 사용자에게 메시지를 보냅니다.
  • Dialogflow CX 통합은 Messenger 플랫폼용 Meta 웹훅 역할을 하여 최종 사용자로부터 메시지를 수신합니다.

설정

통합을 설정하려면 다음 안내를 따르세요.

  1. Meta 앱을 생성하려면 Meta 앱 개발 단계를 따르세요.

  2. Meta Messenger 플랫폼을 사용하도록 Meta 앱을 설정합니다. Messenger 플랫폼용 Meta 웹훅 문서의 단계에 따라 다음을 수행합니다.

    • Meta 앱에 Messenger 플랫폼을 추가합니다.
    • Meta 페이지에 앱을 구독합니다. 페이지 구독에서 messagesmessaging_postbacks가 사용 설정되어 있는지 확인합니다.
    • 이 단계에서 액세스 토큰이 제공됩니다. 이 값을 복사합니다. 이 토큰은 Dialogflow CX 콘솔에서 통합을 구성하는 데 사용됩니다.
    • 아직 웹훅을 구성하거나 통합을 테스트하지 마세요.
  3. Dialogflow CX 콘솔에서 통합을 구성합니다.

    1. Dialogflow CX 콘솔로 이동합니다.
    2. 왼쪽 패널에서 관리 탭을 클릭합니다.
    3. 왼쪽 사이드바 메뉴에서 통합을 클릭합니다.
    4. Meta Messenger 타일에서 연결 버튼을 클릭합니다.
    5. 구성 대화상자가 열립니다.

      • 앱 보안 비밀: 앱 대시보드 기본 설정의 앱 보안 비밀을 입력합니다.

      • 확인 토큰: 원하는 비공개 토큰을 입력할 수 있습니다. 이 값을 복사합니다. Meta Messenger 웹훅을 구성하는 데 사용됩니다.

      • 페이지 액세스 토큰: 위의 Meta 앱 설정 중에 복사한 액세스 토큰을 입력합니다.

      • 시작하기 버튼 사용 설정: 시작하기 버튼 섹션을 참조하세요.

      • 웹훅 URL: 이 값을 복사합니다. Meta Messenger 웹훅을 구성하는 데 사용됩니다.

      • 시작: 클릭하면 에이전트에 이 통합 서비스를 시작합니다.

  4. Meta 앱 설정을 완료하고 테스트합니다. Messenger 플랫폼용 Meta 웹훅 문서의 단계에 따라 다음을 수행합니다.

    • 앱의 Meta 웹훅을 구성합니다. 위에서 복사한 웹훅 URL확인 토큰 값을 사용합니다. 페이지 구독에서 messagesmessaging_postbacks를 사용 설정해야 합니다.
    • 앱을 테스트합니다.

이벤트

이 통합으로 다음 이벤트가 호출됩니다. 커스텀 이벤트 핸들러를 만들어 이벤트가 트리거될 때 수행할 작업을 정의할 수 있습니다.

이벤트 설명
FACEBOOK_WELCOME 최종 사용자가 Meta Messenger 시작하기 버튼을 클릭할 때 트리거됩니다.
FACEBOOK_MEDIA 최종 사용자의 메시지에 첨부파일(예: 오디오, 이미지, 동영상 등)을 포함할 때 트리거됩니다.

시작하기 버튼

Meta Messenger 시작하기 버튼을 설정하려면 다음 안내를 따르세요.

  1. 이 통합 서비스를 사용 설정할 때 시작하기 버튼 사용 설정을 전환합니다.

    • 이 통합 서비스는 Messenger Profile API를 호출하여 버튼을 사용 설정합니다.

      curl -X POST \
      -H "Content-Type: application/json" \
      -d '{"get_started": {"payload": "FACEBOOK_WELCOME"}}' \
      "https://graph.facebook.com/v10.0/me/messenger_profile?access_token=${PAGE_ACCESS_TOKEN}"
      
  2. FACEBOOK_WELCOME 이벤트에 대한 커스텀 이벤트 핸들러를 만듭니다.

테스트하려면 다음 안내를 따르세요.

  1. Meta 페이지에서 이전 대화를 삭제합니다(해당되는 경우).

    • 시작하기 버튼은 새 대화에만 표시됩니다.
  2. Meta 앱에서 새 대화를 시작합니다.

  3. 시작하기 버튼을 클릭하고 커스텀 이벤트 핸들러의 응답을 확인합니다.

언제든지 Messenger Profile API를 호출하여 시작하기 버튼을 관리할 수 있습니다. 이는 테스트에 도움이 될 수 있습니다.

예를 들어 다음 요청은 시작하기 버튼의 상태를 확인합니다.

curl -X GET \
"https://graph.facebook.com/v10.0/me/messenger_profile?fields=get_started&access_token=${PAGE_ACCESS_TOKEN}"

다음 요청은 시작하기 버튼을 사용 중지합니다.

curl -X DELETE \
-H "Content-Type: application/json" \
-d '{"fields": ["get_started"]}' \
"https://graph.facebook.com/v10.0/me/messenger_profile?access_token=${PAGE_ACCESS_TOKEN}"

리치 응답 메시지

리치 응답 메시지는 fulfillment커스텀 페이로드를 통해 지원됩니다. 메시지 형식은 Send API 매개변수 메시지 객체를 참조하세요.

예를 들어 다음 커스텀 페이로드는 간단한 문자 메시지를 제공합니다.

{
  "text": "Hello, world"
}

다음 커스텀 페이로드는 이미지 메시지를 제공합니다.

{
  "attachment": {
    "type": "image",
    "payload": {
      "url": "https://example.com/test.jpg"
    }
  }
}

채널별 응답

채널별 응답을 구성하면 에이전트가 Meta Messenger 메시지에 응답할 때 DF_CX_FB_MESSENGER 채널이 자동으로 사용됩니다.