以前リリースされた「チャットワーク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件) を見る