はじめに
「Slack API触りたいけど、なんかいっぱいあってよく分からん!」
と言う人が、全体像と、「とりあえずこれをやれば良いんだな」と言うのを理解できるようになるための記事です。
細かい使い方については省いています。
結局何使えばいいの?
とりあえず Web API と Events API を使えるようになれば大体のことはできるようになります。
Slack APIは大きく分けて2種類
なんか色々と種類があるSlack APIですが、大きく分けると
- 自分からリクエストを送るAPI
- Slackからリクエストが送られてくるAPI
この2つだけです。
自分からリクエストを送るAPI
用途の例
- 特定のチャンネルやDMにメッセージ送信
- チャンネル一覧や、メンバー一覧など、何らかの情報を取ってくる
解説
Slackに能動的に動いてもらいたい場合に使います。
Web APIは多くのことができますが、Incoming Webhookは基本メッセージ送信だけを担当します。
最初はIncoming Webhookを使ってみて、慣れたらWeb APIに移っていきましょう。
Slackからリクエストが送られてくるAPI
用途の例
- 送られたメッセージに対して返信を返す(一般的なチャットボットのイメージ)
- メッセージ上の出席or欠席ボタンをクリックしたら、出欠がDBに保存されて、返信が返ってくる
解説
Slack上での動作に対して、反応を返して欲しい場合はこちらを使います。
自分がレスポンスを返す側なので、自作のコードをサーバー上に公開しないといけません。
大体難しいのはこっち。
基本はEvents APIを使います。
必要に応じて、コマンドが使いたければSlash Command、リッチなUIが使いたければ、Interactive Componentsを組み合わせていくイメージ。
それぞれのAPIの出来る範囲
設定項目6種類について
色々ありますが、Web APIとEvents APIを使う上で、最低限必要な設定はPermissionsとEvent Subscriptionsだけです。
(Botsはインストールすると自動でチェックが入ります。)