お問い合わせフォームと連携して rocket.chat にも書き込む API やり方


コミュニケーションツールを 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” : “これはテスト投稿です”,
(省略)
}

オプションを組み合わせることでアバター画像の変更や文字色の変更もできるので、投稿に合わせて分かりやすくカテゴライズできるのはデザイナーにとっては嬉しい。

2020/01/24
メールタイトルを書かないことで、新しい時代を切り開く。Rocket.chat で管理
案件管理や進捗管理に「Rocket.chat」が便利。チャット型のコミュニケーションツールである「チャットワーク(Chatwork)」を使ったことがある人なら同じものと考えればわかりやすい。メールに代わるツールとして迅速なホウレンソウでの効率化を実現でき、しかも社内環境に完結して構築できるシステムなため、メ…


2020/12/03
Sansan に名刺が登録されたら、チャットで通知して社内共有する
広告に依存してしまっていた販売戦略からブランド戦略に切り替えている企業も多いと思います。客側のリテラシーが上がったことでバナー広告などがクリックされなくなり、某ブログポータルでも変な広告の出し方して企業イメージダウンが止まらないところ。これからの囲い込みとダイレクトマーケティングの手法とはど…


2020/08/04
急に接続できなくなったネットワークの問題を解決する
新規に立ち上げたサーバからバックアップとして使っていた古いネットワーク機器に接続できない問題があり、なんでかと思ったら、SMB 1.0 のバージョンでの通信はサポートされなくなったらしい。


2020/06/21
個人宅サーバルームを整理する、ラック内のPC機器や棚を整頓
自宅サーバルームにはコンピュータ機器関連が増えることを見越してサーバを搭載するラックスペースがあるのですが、ようやく重い腰を上げて整理整頓。この個人用自宅サーバ棚は、幅120×奥行60×高さ245cmという巨大収納スペースになっていて、奥の壁面には各種端子があるため巨大なルーターボックスのようになって…


2020/05/17
Hyper-V で Ubuntu インストール覚書
世代の指定:第2世代起動メモリ:2048以上を設定、「この仮想マシンに動的メモリを設定します」にチェック上記でウィザードを完了


2021/01/14
無料で IFTTT や Zapier を実装。ワークフローを自動化したマーケティングツールを作ろう
WEB サービス同士を連携し自動化するサービス「IFTTT」。有料化してからは離れて「Zapier」の方を主に使っていましたが、すぐにタスクを使い切ってしまいました。これではアカンと、オープンソースのものを探していたら、「n8n」というものが見つかり、使ってみました。■n8n.io – Free and Open Workflow Automati…


2017/11/06
伝言を Google Home に声で伝えれば内容をテキストで Line に送る、という機能を作った。とても簡単。
Google Home があまりにも出来がいいので、実家の両親にプレゼントし設置してきました。高齢のため PC や スマホの操作はからっきしダメなのですが、音声入力でいろいろできるので喜ばれています。そして、メールのやり方もできないため今まで電話でしか連絡がとれなかったのですが。今回せっかく音声入力デバ…


コメント

タイトルとURLをコピーしました