ChatWorkにマルケトからメッセージを飛ばす方法
こんにちはマルケトの大里です。
今日はChatWorkにマルケトからメッセージを飛ばす方法についてお伝えしたいと思います。
- ChatWorkのAPIを使えるようにしよう!
- 必要な情報を集めよう!
- Webhookを作ろう
- テストしてWebhookの調整
- Webhookをトリガーで呼び出す
- 最後に
1)ChatWorkのAPIを使えるようにしよう!
- ChatWorkのAPIを使うには申請をしないといけないので下記のページの注意事項を確認の上、申請を行ってください。
http://developer.chatwork.com/ja/
申請してから、数日経つと使えるようになります。
2)必要な情報を集めよう!
必要なのは、「roomID」と「トークンの情報」です。
2−1)roomID
ChatWorkにチャットを行うためにはチャネルを作ってそこでやり取りを行う訳ですが、
そのチャネルごとにIDが割り当てられていて、それをroomIDと呼ぶそうです。

rid以降の数字がroomIDとなります。上記例だと“38988315“がroomIDです。
(3−2で使います。)
2−2)トークンの取得
http://developer.chatwork.com/ja/authenticate.html
このページに書いてある通りに操作を行ってトークンを取得してください。
(3−3で使います。)
OKここまで準備ができれば、あとはWebhookを組んで実行すれば大丈夫です。
3)Webhookを作ろう
「うぇぶふっくって何ぞ?」という方はまずは下記を一読ください。
http://docs.marketo.com/pages/viewpage.action?pageId=7509818
平たく言うと、Marketoから外部のサービスを動かす機能です。
今回で言うと、MarketoからChatWorkを動かすのでWebhookを利用します。
で、作り方です。
ますは、[ 管理 > ウェブフック ]でウェブフックの管理ページに行ってください。

3−1) 新規ウェブフックをクリック
3−2) 必要な情報を入力
ウェブフック名 :なんでもOK(「ChatWork通知」とか)
詳細 :必要に応じてどうぞ
URL :https://api.chatwork.com/v2/rooms/xxxxxx/messages
-> xxxxxの部分にroomIDを入れてください。
リクエストタイプ :POST
テンプレート :body=test
リクエストトークンのエンコード :フォーム/URL
応答タイプ :JSON

3−3)カスタムヘッダーにトークン情報を記入する
ウェブフック アクション > カスタムヘッダの設定をクリック

・「追加」ボタンをクリック
・ヘッダに「X-ChatWorkToken」と入力
・値に(2ー2)で取得したトークンのを入力

3−4)ChatWorkに通知する文章を作成する
上記の設定だと、test12という文言がグループチャットに表示されるだけですので、トークンを使ったりして、工夫しましょう。

さらに、ChatWork側でもTOをつけたりする記法がございますのこちらも合わせて活用すると更によいメッセージが出来上がると思います。
http://developer.chatwork.com/ja/messagenotation.html
4.テストしてWebhookの調整
ガチャガチャで動かしても問題のないチャットのroomIDでテストして
問題なければ社内共有用チャットや、通知をすべきメンバーが揃っているチャットのroomIDを設定しなおしてください。
5.Webhookをトリガーで呼び出す
Webhookはトリガーでしか動かせませんので
Webhookを実行するためのスマートキャンペーンをトリガーで設定をします。
http://developers.marketo.com/webhooks/
ここまでの設定が完了するとマルケトからChatWorkに通知を出すことが可能になります。


6.最後に
よく「マルチチャネルによるコミュニケーション」って話が出ますが、
これってお客様に対してだけでなく社内にも言えると思います。
「うちの社員メールよりもChatWorkで通知した方が読んでくれるですよね」
なんて場合は、アラートはメールだけではなくChatWorkでも飛ばした方がいいですよね。
ちなみに、Slackも同じような設定でMarketoからSlackに通知を送れますので、お時間があれば試しください。