LINEとハブスポットの連携の仕方

Screen Shot 2018-03-06 at 2.53.42 pm

LINEは当初、個人間のコミュニケーションを目的に開発されましたが、近年では一部の企業が自社サービスの提供にLINEを利用し始めています。2017年12月にはLINEの月間アクティブユーザー数は1億6,800万人に達しました。そのため、LINEは一般消費者向けのサービスを提供する企業にとって非常に魅力的なコミュニケーション・プラットフォームだと言えるでしょう。

ハブスポットはLINEとの連携機能をネイティブで提供していません。しかしながら、少しのコーディングと設定で連携を実現することが可能です。本記事では、ハブスポットのプラットフォームとLINEをどのように繋げることができるのか、またその方法について解説します。

ハブスポットからLINEのメッセージを配信する

ハブスポットのマーケティング・オートメーションのシナリオでは、「webhook」というアクションを定義できます。この「webhook」アクションが呼び出されると、ハブスポットは指定されたURLにコンタクトのデータをJSON形式で送信します(Content-Typeはapplication/json)。

この仕組みを利用することで、ハブスポットのコンタクトが持つLINEアカウントにメッセージを送付することが可能です。例えば、コンタクトの誕生日を利用したシナリオを作成し、LINE経由で誕生日のプロモーション・コードを配信できます。

2.gif

「webhook」アクションの設定で、あらかじめ用意したサーバープログラムを呼び出すURLを指定します。私は、いくつかのPythonコードを書き、それをHerokuに配備しました。

1.png

下記のコードでは、プログラムはリクエストに含まれるJSONから必要なデータを取り出し、LINEのMessage APIを実行しています。

@app.route("/push-message", methods = ['POST'])
def push_message():
   properties = request.json.get('properties')
   user_id = properties.get('line_user_id')
   message = properties.get('line_text_message')

   if (user_id and message):
       # Text
       line_bot_api.push_message(user_id.get('value'), TextSendMessage(
           text = message.get('value')
       ))
       # Sticker
       line_bot_api.push_message(user_id.get('value'), StickerMessage(
           package_id='1',
           sticker_id='2'
       ))

   return 'OK'

LINEはPHPやJava、Rubyなど人気のあるプログラミング言語毎にSDKを提供しています。そのため、お好みの言語でプログラムを作成することが可能です(私の場合、それはPythonでした) LINEのMessaging APIについての詳細は割愛します。詳細については、こちらのドキュメントを参照下さい。

LINEからデータをハブスポットに送る

データの流れは一方向に限定されません。LINEから情報をハブスポットに送信することも可能です。ハブスポットはシステム連携のための様々なAPIを公開しており、それを利用します。

3.gif

LINE上で会話のやり取りが発生すると、LINEの「webhook」アクションが発生し、指定したURLにデータを送信します。下記のコードでは、LINEからのリクエストを受け取り、ユーザーの返信メッセージをハブスポットに送付しています。

@handler.add(MessageEvent, message=TextMessage)
def message_text(event):
    url = ‘https://api.hubapi.com/contacts/v1/contact/batch/?hapikey=’ + hubspot_api_key

   obj = [
       {
           "email": "kawanoshinobu@gmail.com",
           "properties": [
               {
                   "property": "line_reply_message",
                   "value": event.message.text
               }
           ]
       }
   ]

   requests.post(url, json=obj)

   line_bot_api.reply_message(
       event.reply_token,
       TextSendMessage(text='ハブスポットにデータを送信しました')
   )

   return 'OK'

上記のコードでは、コンタクトの「line_reply_message」というカスタム・プロパティに返信メッセージの内容を反映させました。

ハブスポットでは、コンタクトや会社、取引などのレコードに最大1,000件までカスタム・プロパティを追加することが可能です。ここは皆様の創造性が輝くところです。システムで必要な要件を満たすことができるよう、カスタム・プロパティを設計して下さい。

LINEアカウントとハブスポットコンタクトの関連付け

LINEアカウントとハブスポットコンタクトを関連付けする方法について疑問に思われているかも知れません。実際のところ、この関連付けが連携の難しい部分です。解決策の一つとして「LINE Login」機能を利用できます。この機能でログインしたLINEアカウントについては、「メールアドレス」とメッセージの送信に必要な「User ID」を取得することが可能です。

LINE上でアカウントがフォローされた際に自動返信のメッセージを送付できます。恐らく、ここが「LINE Login」を促しメールアドレス取得の許可を得る最良のタイミングでしょう。「LINE Login」でLINEアカウントの「メールアドレス」と「User ID」を取得することができたら、ハブスポットのContacts APIを利用してハブスポットの顧客データベースと同期します。

LineHubSpot4.gif

LINE Loginの詳細についてはこちらのドキュメントを参照下さい。

まとめ

いくつかの技術的なスキルは必要ですが、LINEプラットフォームとハブスポットプラットフォームを連携させることが可能です。この組み合わせは非常に強力です!この記事がお役に立てば嬉しく存じます。

いかがでしたか?お気に召したのであればシェアはこちらから。