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」が便利。チャット型のコミュニケーションツールである「チャットワーク(Chatwork)」を使ったことがある人なら同じものと考えればわかりやすい。メールに代わるツールとして迅速なホウレンソウでの効率化を実現でき、しかも社内環境に完結して構築できるシステムなため、メ…
2020/12/03
広告に依存してしまっていた販売戦略からブランド戦略に切り替えている企業も多いと思います。客側のリテラシーが上がったことでバナー広告などがクリックされなくなり、某ブログポータルでも変な広告の出し方して企業イメージダウンが止まらないところ。これからの囲い込みとダイレクトマーケティングの手法とはど…
2020/08/04
新規に立ち上げたサーバからバックアップとして使っていた古いネットワーク機器に接続できない問題があり、なんでかと思ったら、SMB 1.0 のバージョンでの通信はサポートされなくなったらしい。
2020/06/21
自宅サーバルームにはコンピュータ機器関連が増えることを見越してサーバを搭載するラックスペースがあるのですが、ようやく重い腰を上げて整理整頓。この個人用自宅サーバ棚は、幅120×奥行60×高さ245cmという巨大収納スペースになっていて、奥の壁面には各種端子があるため巨大なルーターボックスのようになって…
2020/05/17
世代の指定:第2世代起動メモリ:2048以上を設定、「この仮想マシンに動的メモリを設定します」にチェック上記でウィザードを完了
2021/01/14
WEB サービス同士を連携し自動化するサービス「IFTTT」。有料化してからは離れて「Zapier」の方を主に使っていましたが、すぐにタスクを使い切ってしまいました。これではアカンと、オープンソースのものを探していたら、「n8n」というものが見つかり、使ってみました。■n8n.io - Free and Open Workflow Automati…
2017/11/06
Google Home があまりにも出来がいいので、実家の両親にプレゼントし設置してきました。高齢のため PC や スマホの操作はからっきしダメなのですが、音声入力でいろいろできるので喜ばれています。そして、メールのやり方もできないため今まで電話でしか連絡がとれなかったのですが。今回せっかく音声入力デバ…