【備忘録】Circleの通知をslackに送るためのリサーチ
背景
コミュニティ管理プラットフォームCircleを使用している中で、ウェブベースのためリアルタイムでの通知が届かず、コミュニティの活動が盛り上がりにくいという課題が浮上しました。
この問題を解決するために、サークル内の通知をより一般的に使用されているプラットフォーム、例えばSlackやLINEなどに転送する方法を模索しました。
試みた解決策
-
Zapierを介した連携の試み
最初にZapierを利用した連携を試みましたが、CircleのAPIに制限が多く、特定のポストへのコメントをターゲットにする必要がありました。これはコミュニティが成長するにつれて、設定の更新が頻繁に必要となり、管理が煩雑になるという問題があります -
Gmail通知をSlack/LINEに転送する方法
次に、Gmailに届くコミュニティの通知をSlackやLINEに自動転送する方法を検討しました。これは有効な解決策でしたが、一般ユーザーのメールアドレスを連携する必要があり、認証の手続きが複雑であること、オンボーディングの際の説明負担が大きいことが課題でした。結果として、この方法は運営メンバー限定で実施し、一般ユーザーにはアプリのインストールを促して通知を確認してもらうことにしました -
カスタムAPIを用いた通知連携アプリの開発
最後に、APIを用いてカスタムの通知連携アプリを開発することを検討しました
このアプローチでは、コミュニティ内の通知をLINEやSlackへ転送することが可能です。
しかし、リサーチの結果、サークルのAPIでは投稿やポストのコメントは取得可能ですが、フリートークやチャットスペースのような形式のコメントは取得できないことが明らかになりました。
この問題はAPIの機能制限によるものであり、APIの更新を待つ他ありません。
結論
解決策としては、現段階では第2の方法が最も現実的です。
つまり、運営側は通知を確実に受け取れるようにし、一般ユーザーはアプリをインストールして通知を確認するように促すことです。
将来的にサークルのAPIがアップデートされ、チャット型のコメントも取得できるようになれば、カスタムAPIを使用した通知連携アプリの開発(第3のアプローチ)への切り替えも検討可能です。
注意事項:
本レポートでは具体的なAPIの詳細について言及していません。実際のAPIの仕様や機能については、Circle公式ドキュメントまたはAPI開発者ガイドを参照してください。また、本レポートで提案されている解決策の実装にあたっては、プライバシー保護やセキュリティ対策に十分注意し、関連する法規制を遵守することが重要です。
Circle APIリクエスト一覧
コースレッスンの取得
-
URL:
https://app.circle.so/api/v1/course_lessons?community_id=11111&space_id=700930§ion_id=71814&status=published&page=1&per_page=10
- 役割: 特定のコミュニティID、スペースID、セクションIDに紐づく公開済みのコースレッスンをページ指定で取得します。
コミュニティ情報の取得 (1回目)
-
URL:
https://app.circle.so/api/v1/communities
- 役割: 認証されたユーザーに関連するコミュニティの情報を取得します。
コメントの取得
-
URL:
https://app.circle.so/api/v1/comments?community_id=75665&space_id=839962
- 役割: 特定のコミュニティIDとスペースIDに紐づくコメントを取得します。
スペース情報の取得 (活動中のもの、ページ2)
-
URL:
https://app.circle.so/api/v1/spaces?community_id=11111&sort=active&per_page=4&page=2
- 役割: 特定のコミュニティIDに紐づく、活動中のスペースをページ指定で取得します。
特定スペースの詳細情報の取得 (異なるスペースIDで)
-
URL:
https://app.circle.so/api/v1/spaces/1?community_id=75665
- 役割: 特定のコミュニティIDに紐づく異なるスペースIDのスペースの詳細情報を取得します。
スペースグループの取得
-
URL:
https://app.circle.so/api/v1/space_groups?community_id=75665
- 役割: 特定のコミュニティIDに紐づくスペースグループの情報を取得します。
コメントの取得 (スペースIDなしで)
-
URL:
https://app.circle.so/api/v1/comments?community_id=75665
- 役割: 特定のコミュニティIDに紐づく全てのコメントを取得します。スペースIDが指定されていません。
投稿の取得
-
URL:
https://app.circle.so/api/v1/posts?community_id=75665&space_id=1010914
- 役割: 特定のコミュニティIDとスペースIDに紐づく投稿を取得します。
特定スペースの詳細情報の取得 (異なるスペースIDで、再度)
-
URL:
https://app.circle.so/api/v1/spaces/925624?community_id=75665
- 役割: 別のスペースIDに基づく、特定のコミュニティIDのスペースの詳細情報を取得します。