コミュニケーションツールを Rocket.Chat にしたことで、業務が軽快。
ビジネスメールと比較して、ビジネスチャットツールの場合は「タイトルを考えて書かなくて良い」「お疲れ様です/よろしくお願い致します、などという定型の無駄な挨拶文が要らない」「ビジネスマナーも問われない」など、フットワークの軽いチームを構築できるようになっています。メールだとなんとなく社内の人に出しにくかったりするイメージなのですが、チャットは社内・社外含めて垣根がないような雰囲気があるので、コミュニケーションがとりやすいですね。
とくに「社外の人と連絡とりやすい」は、かなりのメリットで、在宅ワークも含めて距離感が近いのは、事業を推進するために必要だと思います。
おまけにチャットという性質上、メールのように送った後に取り返しがつかなくなる誤送信の必要もなく、誤爆の場合もそっと消去できるなど情報のコントロールが手元でできるため、情報統制も楽にできるなど、IT管理としても良いこと尽くめ。未だに Chatwork を使っているというところも多いようですが。
Rocket.Chat の魅力は、やはりオンプレだからできるカスタマイズ。クリエイティブ精神に任せていろんなサービスと連携したり作ったりできる今どきの自由さがあるところ。何ができるか考える前に、基本となる外部サービスからの投稿を整理してみます。
Rocket.Chat は公式で API が用意されており、丁寧なドキュメントもあります。Sample や例文もあるので、読めばなんとなく作り方が分かるようになります。
■REST API – Rocket.Chat Docs(公式・英語)
https://docs.rocket.chat/api/rest-api
管理画面から簡単に外部サービスとの連携ができるような仕組みも用意されているのですが、いろんなサービスと繋げることができるようにしたせいで、なんだかカオスになってる気がします。自分でも、いろいろ触ってみたところ、API 用のアカウントを作っても、コマンドからと画面上からの連携のトークンは別物になっていたりと(IDは同じ)混乱してしまいました。
用意された API を使って、PHPで作ったお問い合わせフォームから送信されたら、その内容をチャットに流すという仕組みを構築してみる。
メールと違って、時系列&ツリーで整理できるので、その内容について討論があったとしても内容がまとまり分かりやすくなります。
【1】トークンを取得
https://docs.rocket.chat/api/rest-api/methods/authentication/login
いつもログインしているユーザ名とパスワードを下記のエンドポイントに POST するとトークンが返ってくる。
http://[ホスト名]:3000/api/v1/login
{
“status”: “success”,
“data”: {
“userId”: “**************************”,
“authToken”: “*****************************************”,
(省略)
}
}
【2】ルームID を取得する
https://docs.rocket.chat/api/rest-api/methods/rooms/get
さっき取得した userId と authToken を使って認証し、ルーム情報一覧を GET する。
投稿したい場所の「_id」を確認する。
http://[ホスト名]:3000/api/v1/rooms.get
Content-type: application/json(固定)
X-Auth-Token: さっきの
X-User-Id: さっきの
{
“update”: [
{
“_id”: “GENERAL”,
(省略)
}
【3】投稿のテスト
https://docs.rocket.chat/api/rest-api/methods/chat/sendmessage
認証情報をそのままに、下記 URL に POST。
http://[ホスト名]:3000/api/v1/chat.sendMessage
rid のところに、先ほど取得した ルームID を入れます。
「_id」ではなく「rid」を使うところがポイント。
{
“message”:{
“rid”:”GENERAL”,
“msg” : “これはテスト投稿です”,
(省略)
}
オプションを組み合わせることでアバター画像の変更や文字色の変更もできるので、投稿に合わせて分かりやすくカテゴライズできるのはデザイナーにとっては嬉しい。
コメント