アクティビティ機能で、特定ユーザーにしか見れないコメントを残す
概要
ここでは、アクティビティでコメントを残すエンドポイント(Comment::insert)で、特定のユーザーに向けたコメントを追加する方法を説明します。
特定のユーザーに向けたコメントは、対象のユーザーにのみ表示されます。
ここでは例として、HP上でサポートとプライベートチャットができるスペースの作成を想定し、SwaggerUIで動作の確認までを実施します。
学べること
以下の手順でKuroco管理画面内での動作確認をします。
前提条件
事前に、次のようなユーザーを準備しておきます。

Diverta TaroとDiverta Supportがお互いにコメントを残し、Diverta Taroにはコメントが表示され、Diverta Jiroからは表示されないことを確認します。
アクティビティ定義の作成
まずはアクティビティ定義を作成します。
[アクティビティ定義]をクリックします。

[追加する]をクリックします。

未ログインメンバーの権限を閲覧不可、受け付けないに設定、その他のグループの権限を閲覧可、即公開として[追加する]をクリックします。

後ほど利用するので、作成したアクティビティIDをメモしておきます。

コンテンツの作成
次にコメントを追加する対象となるコンテンツを作成します。
任意のコンテンツ定義を選択し、コンテンツ一覧の画面から[追加]をクリックします。

以下を入力し、[追加する]をクリックします。
| 項目 | 値 |
|---|---|
| タイトル | Kurocoチャットサポート |

追加したコンテンツIDは後ほど利用するためメモします。

エンドポイントの作成
以下のように、自分宛のコメント一覧を表示するエンドポイント(comments)と、コメントを送信するためのエンドポイント(comments/insert)の2つを作成します。

commentsエンドポイント
commentsエンドポイントでは、id のパラメータにアクティビティIDを設定し、to_me_listとmy_list のパラメータにチェックを入れます。
to_me_list のパラメータにチェックを入れると、エンドポイントにリクエストを送ったユーザーを対象としたコメントが返されるようになります。
また、my_list のパラメータにチェックを入れると、自分の送ったコメントが返されるようになります。
| 項目 | 設定内容 |
|---|---|
| パス | comments |
| カテゴリー | アクティビティ |
| モデル | Comment |
| オペレーション | list |
| id | 37 (作成したアクティビティ定義のID) |
| module_id | 1144 (作成したコンテンツのID) |
| my_list | チェックを入れる |
| to_me_list | チェックを入れる |


comments/insertエンドポイント
comments/insertエンドポイントでは、id のパラメータにアクティビティIDを設定します。
| 項目 | 設定内容 |
|---|---|
| パス | comments/insert |
| カテゴリー | アクティビティ |
| モデル | Comment |
| オペレーション | insert |
| id | 37(作成したアクティビティ定義のID) |

Swagger UIで動作の確認
コメントを残す
準備ができたら、Swagger UIで動作を確認します。
まずはDiverta Taro(27)のアカウントでログインします。
APIのセキュリティをCookieに設定しておくと、メンバーIDを入力してログイン状態のセッションを作成できます。
ログインのエンドポイントを作成して、IDとパスワードでログインしても構いません。

次に、comments/insertエンドポイントを開き、[Try it out]をクリックし、レスポンスボディに以下のコードを貼り付けて実行します。
{
"module_id": 1144,
"name": "Diverta Taro",
"note": "Kurocoについて教えてください。",
"delkey": "",
"to_member_ids": [
30
]
}
"module_id": 1144 の部分は作成したコンテンツのIDを指定してください。
"to_member_ids": [30] の部分はコメントのあて先(今回はDiverta Support)のメンバーIDを指定してください。
to_member_idsは以下のように複数のユーザー指定も可能です。
{
"to_member_ids": [
1,
2,
3
]
}
200のレスポンスコードと、"コメントの書き込みが終了しました。"のメッセージが表示されたらコメントの追加は完了です。

返信コメントを残す
同様にDiverta Support(30)のアカウントでログインして以下のコメントを残します。
{
"module_id": 1144,
"name": "Diverta Support",
"note": "KurocoはAPIファーストのヘッドレスCMSです。",
"delkey": "",
"to_member_ids": [
27
]
}
"module_id": 1144 の部分は作成したコンテンツのIDを指定してください。
"to_member_ids": [27] の部分はコメントのあて先(今回はDiverta Taro)のメンバーIDを指定してください。

コメントを確認する
Diverta Taro(メンバーID = 27)でログインをして、commentsエンドポイントにリクエストを送ると、上記2つのコメントがレスポンスされます。




表示項目の簡易化のため、上記キャプチャではエンドポイントの後処理に出力許可リストを設定しています。
しかし、他のユーザ(Diverta Jiro、メンバーID = 22)でログインをして、commentsエンドポイントにリクエストを送っても、レスポンスは得られません。




以上で動作の確認が完了です。 SuwaggerUIで確認した動作をフロントエンドで実装すると、HP上でサポートとプライベートチャットができるスペースを実装できます。
Diverta Support(30)でログインをすると、Diverta Jiro(22)とのチャット内容も表示されますので、企業側の表示は必要に応じて調整ください。
関連ドキュメント
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。