メール以外の通知手段が求められる時代

ビジネスチャットツールの普及が急速に進んでいます。少し前まではメールが主流だった時代から、チャットを主体とした業務フローへ移行する時代になってきました。それにあわせて、様々なコミュニケーションをチャットツール上に集約しようとする動きも活発です。

チャットツール側も様々なAPIを用意することでそういった動きを促進しており、事実、様々なサービスがチャットツールへの通知機能を積極的に開発しています。もし、何かしらの通知を利用者に送信するシステムを運用しているのであれば、こうしたチャットツールへの対応が遅れることは、顧客離れに直結してしまいかねない事態です。逆にいえば、こうしたチャットツールへ対応できれば、顧客へのアピール度が高まることにつながりますので、定着率や新規獲得率に良い影響を与える可能性があります。

今回は、こうしたチャットツールの中で、日本国内の中小企業での採用例が多いChatworkにどのように対応すべきかについて考察したいと思います。いくつかのポイントで設計や実装上の注意点を整理してみましょう。

Point1. 利用者のTokenか、システム側のTokenか

ChatworkのAPIを利用する上で、API Tokenというものが必要になります。これはChatworkのアカウントごとに発行される文字列で、これによりリクエストの正当性を検証する仕組みになっています。加えて、このTokenごとに後述するAPIの利用回数制限がかかってくるため、このTokenをどのような手段でセットするのかが問題になります。

一つは、システムの利用者のChatworkアカウントのTokenを用いるアプローチです。この場合、APIを通じた投稿はそのアカウントの顔写真が使用されます。いわば、その人のかわりに投稿する、というイメージです。もちろん、実際に存在する社員のアカウントをBOTがなりすますと問題になりますので、実際にはBOT専用のアカウントを作ってもらい、そのアカウントのTokenをセットするかたちになります。この方式であれば、APIの利用回数制限はあくまでそのアカウント、その会社に対してかかるため、頻度の高い通知に対しても安心感がある構成になります。一方で、わざわざBOTのためにアカウントを作成する手間や、有料プランであればそのために追加費用が発生することになるデメリットもあります。

もう一つの方式は、システム運用会社側でChatworkアカウントを準備し、そのTokenを利用する方式です。Tokenがあっても所属していないグループにはメッセージを投稿できないため、システム利用者にBOTアカウントをコンタクト追加およびグループへの招待を行ってもらう必要があります。アカウント追加の手間もなく、追加するだけで利用できるので気軽さは圧倒的です。一方で、Tokenの利用制限を複数のシステム利用者でわけあうかたちになるため、どのようにAPI利用回数制限を回避するかといった対策が必要になってきます。

Point2. APIの利用回数制限をどう回避するか

Chatworkの場合、5分間で300回のAPI利用回数の制限があります。多そうに見えますが、たくさんの利用者を抱えているシステムであれば、すぐに枯渇してしまう利用量です。利用回数を超過してしまうと、メッセージの投稿ができなくなり、次のサイクルまで待機する必要があるため、無策では困った事態になってしまいます。

Chatwork通知機能を利用するであろう利用者数が少ないのであれば、制限を超えないようにほどよく処理速度をコントロールするだけが最も手軽でしょう。ただ、そもそもの通知数がどうやっても制限回数を超えてしまう場合には、Token自体を増やすなどの対策が必要になってきます。利用者グループごとに複数のTokenを使いわけることで、5分間で300回の制限を、Tokenの数を乗じた回数に高めることができます。

Point3. どこまでの機能に対応するか

Chatworkはメッセージの投稿に加え、ファイルの投稿も行うことができます。コンタクト追加申請の承認もAPIを通じて行うことができますので、このあたりの機能への対応が基本形になると思います。加えてメッセージに対するレスポンスなど、それ以上の機能を実現することも可能です。通知だけでよければこうした機能を実装する必要はありませんが、会話BOTのような機能を想定するのであれば必要でしょう。

また、通知機能処理の負荷も無視できません。量が増えてくるとその処理をタイムリーに終えることができなくなり、通知が来るのが遅い、というクレームになってしまう可能性もあります。1件1件処理するのではなく、Tokenごとにリクエストを並列化し、なるべく時間のかからない処理を模索すべきです。もちろん、これらの処理はすべて、API側の制限を守れるような工夫を行なった上で実装する必要があります。

Chatworkの利用者増にあわせた対応を

前述の通り、チャットツールの利用率はまだまだ高まっていくことが予想されます。それにあわせてChatworkの利用者も引き続き伸びていくことが予想されます。こうした機能への対応を迷われているのであれば、今すぐにでも検討を開始しても良いレベルの案件だと思います。

開発スタッフのコメント
Chatworkは国産チャットツールとして、大きなシェアを維持しています。SlackやMicrosoft Teamsとはまた異なった設計思想で作られており、その部分が日本の商慣習にあっているのかもしれません。ターゲット層としてChatwork利用率が高いのであれば、Chatwork通知機能は歓迎される可能性が高いのですが、APIの利用制限は大判振る舞いではないので、設計上の工夫は必要になるでしょう。