以前リリースされた「チャットワークAPI」。チャットワークのユーザーであれば、API利用申請をするだけで無料でAPIを利用することができます。
作っているPHPサービスに●●があったとき、チャットワークのこのルームに通知してほしい・・・ということがあったので実装しました。
事前にチャットワークAPIの申請さえ行っておけば、コードコピペのみで終わるので、3分で実装できます。(利用申請を行ってから、APIを利用するためのtokenが発行されるまで1日〜くらい時間がかかります。)
チャットワークAPIの連携でできること
なにかのアクションをトリガーにして、チャットワークルームでメッセージを送信できます。例えば、サービスにお問い合わせがあったときに、その内容をチャットワークで通知する、など。
ユーザー情報を取得したり、チャットルームの退会・削除などもできるので、かなり自由度の高いこともできそうです。
今回は「チャットワークAPIを使って、チャットルームにメッセージを送信」するためのPHPコードを書きます。
WEBサービスとチャットワークを連携するメリット
一番のメリットは、「気づきやすい」ということだと思います。
わたしは普段仕事でチャットワークを使っているので、TO付きで通知があるとメール通知より早く反応することができます。
このあたりは組織体制や個人の利用頻度にもよるので、チームで導入する際はチャットワーク通知がベストなのか確認しておいたほうがよさそうです。
しかし、一般的なメールを飛ばしたりする方法と比べると、
- チャットワークが落ちているときは使えない
- チャットワークのサービスが終了したときに改修の手間がかかる
- セキュリティ的な・・・
という問題があるので、セキュリティが重要・常に動作してくれてないと死ぬ、という重要どころでは使わないほうが良いと思います。
サンプル(PHP)
チャットワークAPIを使って、チャットルームにメッセージを送信する、PHPのサンプルコードです。
//メッセージを送信したいルームIDを指定(※1) $rid = 123123; //利用申請で発行されたチャットワークAPIのtokenを指定(※2) $token = "asdasd"; //送信したいメッセージを入力(※3) $msg = <<<MSG [To:111] 佐藤さん[To:222] 田中さん ブログにコメントがつきました! MSG; header( "Content-type: text/html; charset=utf-8" ); $data = array( 'body' => $msg ); $opt = array( CURLOPT_URL => "https://api.chatwork.com/v1/rooms/{$rid}/messages", CURLOPT_HTTPHEADER => array( 'X-ChatWorkToken: ' . $token ), CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_SSL_VERIFYPEER => FALSE, CURLOPT_POST => TRUE, CURLOPT_POSTFIELDS => http_build_query( $data, '', '&' ) ); $ch = curl_init(); curl_setopt_array( $ch, $opt ); $res = curl_exec( $ch ); curl_close( $ch ); //結果を出力したい場合 echo "<pre>"; echo json_decode($res);
※1、※2
チャットワークAPIの利用申請のやり方と、tokenの確認方法については過去記事をご覧ください。
www.wegirls.tech
(目次「ChatworkAPIのアクセストークンを入力する」参照)
※3
TOやREなど、チャットワークのメッセージで送信できる文法はそのまま利用できます。
例えば、ブログの新着コメントをチャットワークで通知、というようにしたいのであれば、
$msg
の内容を[info][title]投稿者:{$name}さん[/title]{$comment}[/info]
というように変数を埋め込んでも良いです。
- 作者: 秋元裕樹
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/11/30
- メディア: 単行本
- 購入: 10人 クリック: 224回
- この商品を含むブログ (37件) を見る