メインコンテンツまでスキップ

アクティビティ機能で、特定ユーザーにしか見れないコメントを残す

概要

ここでは、アクティビティでコメントを残すエンドポイント(Comment::insert)で、特定のユーザーに向けたコメントを追加する方法を説明します。
特定のユーザーに向けたコメントは、対象のユーザーにのみ表示されます。
ここでは例として、HP上でサポートとプライベートチャットができるスペースの作成を想定し、SwaggerUIで動作の確認までを実施します。

学べること

以下の手順でKuroco管理画面内での動作確認をします。

前提条件

事前に、次のようなユーザーを準備しておきます。 Image from Gyazo

Diverta TaroとDiverta Supportがお互いにコメントを残し、Diverta Taroにはコメントが表示され、Diverta Jiroからは表示されないことを確認します。

アクティビティ定義の作成

まずはアクティビティ定義を作成します。
[アクティビティ定義]をクリックします。

Image from Gyazo

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

Image from Gyazo

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

Image from Gyazo

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

Image from Gyazo

コンテンツの作成

次にコメントを追加する対象となるコンテンツを作成します。

任意のコンテンツ定義を選択し、コンテンツ一覧の画面から[追加]をクリックします。

Image from Gyazo

以下を入力し、[追加する]をクリックします。

項目
タイトルKurocoチャットサポート

Image from Gyazo Image from Gyazo

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

Image from Gyazo

エンドポイントの作成

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

Image from Gyazo

commentsエンドポイント

commentsエンドポイントでは、id のパラメータにアクティビティIDを設定し、to_me_listmy_list のパラメータにチェックを入れます。
to_me_list のパラメータにチェックを入れると、エンドポイントにリクエストを送ったユーザーを対象としたコメントが返されるようになります。
また、my_list のパラメータにチェックを入れると、自分の送ったコメントが返されるようになります。

項目設定内容
パスcomments
カテゴリーアクティビティ
モデルComment
オペレーションlist
id37 (作成したアクティビティ定義のID)
module_id1144 (作成したコンテンツのID)
my_listチェックを入れる
to_me_listチェックを入れる

Image from Gyazo
Image from Gyazo
Image from Gyazo

comments/insertエンドポイント

comments/insertエンドポイントでは、id のパラメータにアクティビティIDを設定します。

項目設定内容
パスcomments/insert
カテゴリーアクティビティ
モデルComment
オペレーションinsert
id37(作成したアクティビティ定義のID)

Image from Gyazo

Swagger UIで動作の確認

コメントを残す

準備ができたら、Swagger UIで動作を確認します。

まずはDiverta Taro(27)のアカウントでログインします。

ヒント

APIのセキュリティをCookieに設定しておくと、メンバーIDを入力してログイン状態のセッションを作成できます。
ログインのエンドポイントを作成して、IDとパスワードでログインしても構いません。

Image from Gyazo

次に、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のレスポンスコードと、"コメントの書き込みが終了しました。"のメッセージが表示されたらコメントの追加は完了です。
Image from Gyazo

返信コメントを残す

同様に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を指定してください。

Image from Gyazo

コメントを確認する

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

Image from Gyazo

Image from Gyazo

Image from Gyazo

Image from Gyazo

備考

表示項目の簡易化のため、上記キャプチャではエンドポイントの後処理に出力許可リストを設定しています。

しかし、他のユーザ(Diverta Jiro、メンバーID = 22)でログインをして、commentsエンドポイントにリクエストを送っても、レスポンスは得られません。

Image from Gyazo

Image from Gyazo

Image from Gyazo

Image from Gyazo

以上で動作の確認が完了です。 SuwaggerUIで確認した動作をフロントエンドで実装すると、HP上でサポートとプライベートチャットができるスペースを実装できます。

Diverta Support(30)でログインをすると、Diverta Jiro(22)とのチャット内容も表示されますので、企業側の表示は必要に応じて調整ください。

関連ドキュメント


サポート

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。