LINE

Dialogflow의 LINE 통합을 사용하면 Dialogflow 에이전트를 LINE 봇으로 사용할 수 있습니다.

제한사항

이 통합에서는 기본 에이전트 언어만 지원합니다.

작동 방식

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

  • LINE 채널을 만듭니다.
  • Dialogflow 에이전트가 서로 통신할 수 있도록 채널에 연결합니다.
  • Dialogflow 통합은 LINE Messaging API를 사용하여 최종 사용자에게 메시지를 보냅니다.
  • Dialogflow 통합은 LINE 웹훅 역할을 하여 최종 사용자로부터 메시지를 수신합니다.

설정

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

  1. LINE 채널을 만드는 단계인 Messaging API 시작하기를 수행합니다.
  2. Dialogflow Console에서 LINE 웹훅 URL을 가져옵니다.
    1. Dialogflow ES 콘솔로 이동합니다.
    2. 왼쪽 사이드바 메뉴에서 통합을 클릭합니다.
    3. LINE을 클릭합니다.
    4. 웹훅 URL 값을 복사합니다. LINE 웹훅을 구성하는 데 필요합니다.
  3. LINE 웹훅을 구성합니다.
    1. 채널의 LINE 웹훅을 구성하는 단계인 LINE 메시지 수신(웹훅)을 따릅니다.
    2. 위에 복사한 웹훅 URL을 사용하여 LINE 웹훅 구성을 제공합니다.
    3. 채널 ID, 채널 보안 비밀, 채널 액세스 토큰 값을 복사합니다. Dialogflow 통합을 구성하는 데 이러한 값이 필요합니다.
  4. Dialogflow 통합을 구성합니다.
    1. Dialogflow ES 콘솔로 이동합니다.
    2. 왼쪽 사이드바 메뉴에서 통합을 클릭합니다.
    3. LINE을 클릭합니다.
    4. 각 필드에 채널 ID, 채널 보안 비밀, 채널 액세스 토큰을 붙여넣습니다.
    5. 적절히 환경을 선택합니다.
    6. 시작을 클릭합니다.

웹훅 서명 확인

Dialogflow ES는 LINE 채널 비밀번호를 사용하여 수신되는 모든 웹훅 요청에서 X-Line-Signature HTTP 요청 헤더를 검증합니다.

요청의 진위성을 확인하기 위해 Dialogflow ES는 채널 보안 비밀번호를 사용하여 원시 HTTP POST 요청 본문의 base64로 인코딩된 HMAC-SHA256 다이제스트를 계산하고 이를 X-Line-Signature 헤더와 비교합니다. LINE에서 웹훅 페이로드에 서명하는 방법에 대한 자세한 내용은 LINE 서명 검증 문서를 참조하세요.

웹훅 요청에 X-Line-Signature 헤더가 누락되었거나 중복되었거나 잘못된 경우 Dialogflow ES는 HTTP 400 Bad Request 상태 코드와 함께 요청을 거부합니다.

웹훅 서명 확인이 계속 작동하도록 하려면 다음 안내를 따르세요.

  • Dialogflow ES 콘솔에 구성된 채널 보안 비밀번호가 LINE Messaging API 채널 설정의 활성 채널 보안 비밀번호와 일치하는지 확인합니다. LINE 채널의 채널 보안 비밀번호를 순환하거나 재발급하는 경우 Dialogflow ES 콘솔에서 업데이트하고 통합을 다시 시작합니다.
  • 웹훅 트래픽을 Dialogflow ES로 전달하기 전에 프록시, API Gateway 또는 미들웨어 서비스를 통해 라우팅하는 경우 X-Line-Signature 헤더를 수정하지 않고 전달하고 공백을 다시 직렬화하거나 변경하지 않고 정확한 원시 요청 본문 바이트를 전송합니다.
  • 서명되지 않은 요청을 Dialogflow ES LINE 웹훅 URL로 직접 전송하지 마세요.

테스트

에이전트를 테스트하려면 LINE 앱 기본 화면에서 3개의 가로 점을 탭합니다. 그런 다음 봇의 설정 페이지에서 QR 코드 아이콘을 탭하고 QR 코드를 스캔합니다. 대화 목록에 봇이 추가됩니다.

리치 응답 메시지

다음 리치 응답 메시지가 지원됩니다.

이미지 응답

Dialogflow 이미지 응답 유형은 LINE 이미지 메시지 유형으로 LINE에 전송됩니다.

지원되는 형식 및 크기는 다음과 같습니다.

  • jpeg
  • 최대 크기 1MB
  • 최대 치수 240 x 240

카드 응답

Dialogflow 카드 응답 유형은 LINE 템플릿 메시지 유형으로 LINE에 전송됩니다.

빠른 답장 응답

Dialogflow 빠른 답장 응답 유형은 LINE 템플릿 메시지 유형으로 LINE에 전송됩니다.

커스텀 페이로드 응답

커스텀 페이로드 응답을 사용하여 대부분의 LINE 메시지 유형을 보낼 수 있습니다.

예를 들어 다음의 커스텀 페이로드는 LINE 템플릿 메시지를 제공합니다.

{
  "type": "template",
  "altText": "this is a buttons template",
  "template": {
    "type": "buttons",
    "thumbnailImageUrl": "https://example.com/bot/images/image.jpg",
    "title": "Menu",
    "text": "Please select",
    "actions": [
      {
        "type": "postback",
        "label": "Buy",
        "data": "action=buy&itemid=123"
      },
      {
        "type": "postback",
        "label": "Add to cart",
        "data": "action=add&itemid=123"
      },
      {
        "type": "uri",
        "label": "View detail",
        "uri": "http://example.com/page/123"
      }
    ]
  }
}