2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Node-REDを使ってMautic上のデータを取得する

Last updated at Posted at 2017-11-16

今回は下記2つのツールを使用します。
マーケティングオートメーションツールのMauticとハードウェア、API、WebサービスなどをつなぐNode-REDを用いて、マーケティング活動で取得した顧客情報を、別のシステムにデータを渡したり、ハードウェアで読み上げたりするための、基本のサンプルについて見ていきましょう。

Mautic

Mautic(マウティック)は、オープンソースのマーケティングオートメーションです。今までに10万社以上が導入し、日々顧客1人1人とコミュニケーションし新しい商談を獲得するために使用しています。

Node-RED

もう1つは、Node-REDです。元々はIBMが中心になって開発していました。現在は、オープンソースプロジェクトとしてMauticと同じように世界中の開発者が協力して進めています。

環境構築

まずはツールを用意します。

Mauticの用意

Mauticは自社サーバーやIBM Cloud、Microsoft Azure、GCP、AWS等に導入する「セルフホスティッド版」とSaaS版(ドットネット版やドットコム版と言われることがあります)、どちらでも良いので用意します。SaaS版はこちらから無料プラン[Mautic Cloud Free]を申し込むことができます。導入時は英語ですが、日本語に切り替えることができます。

Node-REDの用意

Node-REDは、IBM Cloud ライトプランを申し込み、ボイラーテンプレートで「Internet of Things Platform Starter」を選択するとNode-RED環境が用意されます。あるいは「Node.js Cloudant DB Web Starter」を用いて独自にNode-RED環境を構築します。通常の大人向けNode-REDを使用する方は、「Internet of Things Platform Starter」を選択すると良いでしょう。
ひらがな化された子供向けのNode-REDを使用する場合は、「Node.js Cloudant DB Web Starter」を用います。子供向けNode-REDの構築には、こちらの手順書をご覧ください。

フローの読み込み

始めはNode-REDから作業します。
Node-REDにアクセスし、画面右上から「読み込み」→「クリップボード」→「フローをクリップボードから読み込み」にて、下記をコピー&ペーストします。読み込み先は「現在のタブ」とします。

[
    {
        "id": "cc848aaf.817d38",
        "type": "tab",
        "label": "Mautic New Contact",
        "disabled": false,
        "info": "using checkd Contact Identified Event in Mautic Webhook settings."
    },
    {
        "id": "ee1e1b82.b0e1f8",
        "type": "debug",
        "z": "cc848aaf.817d38",
        "name": "",
        "active": true,
        "console": "false",
        "complete": "payload",
        "x": 410,
        "y": 40,
        "wires": []
    },
    {
        "id": "bcbac79d.aee308",
        "type": "function",
        "z": "cc848aaf.817d38",
        "name": "output_new_contact_email",
        "func": "msg.payload = msg.payload[\"mautic.lead_post_save_new\"][0].contact.fields.core.email.value\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "x": 460,
        "y": 140,
        "wires": [
            [
                "8d87321f.7ddab",
                "88d3657b.14aa08"
            ]
        ]
    },
    {
        "id": "8d87321f.7ddab",
        "type": "debug",
        "z": "cc848aaf.817d38",
        "name": "new contact's email",
        "active": true,
        "console": "false",
        "complete": "payload",
        "x": 710,
        "y": 140,
        "wires": []
    },
    {
        "id": "1825b1a7.1e89ae",
        "type": "http in",
        "z": "cc848aaf.817d38",
        "name": "",
        "url": "/mautic",
        "method": "post",
        "upload": false,
        "swaggerDoc": "",
        "x": 190,
        "y": 100,
        "wires": [
            [
                "ee1e1b82.b0e1f8",
                "bcbac79d.aee308"
            ]
        ]
    },
    {
        "id": "88d3657b.14aa08",
        "type": "http response",
        "z": "cc848aaf.817d38",
        "name": "",
        "statusCode": "",
        "headers": {},
        "x": 660,
        "y": 60,
        "wires": []
    }
]

「読み込み」をクリックし、画面右上の「デプロイ」をクリックします。
下図のようになります。
mautic_bluemix_nodered.png

Node-REDのURLを確認します。

例 https://xxxx.yyyy.mybluemix.net/red/#flow/ 

Node-REDのURLは例のようになっていますので、/red/#flow/ を /mautic に変更し、メモしておきます。このURLは、Mautic側のWebhook設定で使用します。

変更例 https://xxxx.yyyy.mybluemix.net/mautic 

Mautic Webhook設定

Mauticにログインします。画面右上の歯車のアイコンをクリックし、「Webhooks」をクリックします。Webhook管理画面が表示されます。画面右上の「新規」をクリックし、Webhook設定を作成します。

「名前」と「Webhook POST url」に先ほどメモしました、/mauticのURLを記述します。また、「Webhook Events」では、「Contact Identified Event」にチェックを入れます。
mautic_webhook.PNG

画面右上の「適用」→「保存して閉じる」の順にクリックします。

動作確認

Mauticの「Contacts」画面から、顧客情報を新規作成します。Webhookは、Mautic SaaS版の無料プランでは、8~9分置きに実行されます。セルフホスティッド版では導入時に設定したCronの設定値に依存します。Webhookが実行されますと、Node-RED側の「デバッグ」に作成した顧客情報のメールアドレスが出力されているはずです。

node-red_debug.PNG

まとめ

Mautic内の特定のイベントが発生したときにJSON形式でデータをPOSTする「Webhook」とNode-REDを用いることで、コーディングを極力減らして受け側のシステムやハードウェアにデータを渡すことができます。
Webhookは、Mautic上で顧客情報が更新や削除されたり、フォームを受信したときなど他のイベントがありますので、Node-REDを用いて試してみると良いでしょう。

参考資料

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?