更新情報の通知を登録します。
登録した通知は、通知一覧のポートレットや通知画面で確認できます。
クラウド版
https://sample.cybozu.com/g/api/v1/notification/items
パッケージ版
環境に合わせてそれぞれ以下を置き換えてください。
IP_ADDRESS_OR_HOST_NAME:Garoonのインストール先のIPアドレスまたはホスト名
INSTALL_IDENTIFER:Garoonのインストール識別子
- Windows環境
- http://
IP_ADDRESS_OR_HOST_NAME/scripts/INSTALL_IDENTIFER/grn.exe/api/v1/notification/items
- Linux環境
- http://
IP_ADDRESS_OR_HOST_NAME/cgi-bin/INSTALL_IDENTIFER/grn.cgi/api/v1/notification/items
POST
利用できるバージョン
固定リンクがコピーされました
- クラウド版Garoon
- パッケージ版Garoon 5.0以降
アプリケーション管理のAPIの外部通知を有効にしてください。
設定方法は、GaroonヘルプのAPIの外部通知の設定(
クラウド版
|
パッケージ版
)を参照してください。
パラメーター
| パラメーター名 |
型 |
必須 |
説明 |
| app |
文字列 |
必須 |
外部通知コード APIの外部通知の設定(
クラウド版
|
パッケージ版
)で設定した「外部通知コード」を指定します。 |
| notificationKey |
文字列 |
必須 |
通知キー 複数のユーザーに対して同じ通知を作成する場合には、すべてのユーザーで同じ値を指定します。 登録済みの通知を更新する場合には、更新する通知のnotificationKeyと同じ値を指定します。 |
| operation |
文字列 |
必須 |
通知の種類 次のいずれかの値を指定します。add:新規通知データとして、外部通知を登録するmodify:更新通知データとして、外部通知を登録するremove:削除通知データとして、外部通知を登録する
|
| url |
文字列 |
必須 |
通知に含まれるURL APIの外部通知の設定(
クラウド版
|
パッケージ版
)の「許可するURL」に、指定するURLを指定してください。 |
| title |
文字列 |
必須 |
通知のタイトル |
| body |
文字列 |
必須 |
通知の本文 |
| icon |
文字列 |
省略可 |
通知のアイコン URL形式でのみ指定できます。 APIの外部通知の設定(
クラウド版
|
パッケージ版
)の「許可するURL」に、指定するURLを設定してください。 省略した場合はベルの形のアイコンが通知アイコンとして設定されます。 |
| destinations |
配列 |
必須 |
通知先のリスト |
| destinations[].type |
文字列 |
必須 |
通知先のタイプ 次のいずれかの値を指定します。 |
| destinations[].id |
数値 |
条件必須 |
通知先のGaroonユーザーID
destinations[].codeを指定しない場合は必須です。 |
| destinations[].code |
文字列 |
条件必須 |
通知先のGaroonユーザー名(ログイン名)
destinations[].idを指定しない場合は必須です。 パッケージ版Garoonの場合、ログイン名を公開する設定が必要です。 詳細は
ユーザー情報の項目を変更する
を参照してください。 |
リクエストの例
ヘッダー
1
2
3
4
|
{
"X-Cybozu-Authorization": "QWRtaW5pc3RyYXRvcjpjeWJvenU=",
"Content-Type": "application/json"
}
|
リクエストヘッダーの詳細は
Garoon REST APIの共通仕様
を参照してください。
ボディ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
{
"app": "System-01",
"notificationKey": "set-notificationKey-1234",
"operation": "add",
"url": "https://www.example.com/news/1",
"title": "Travel Request",
"body": "You have a report pending your approval",
"icon": "https://example.com/sample-icon.ico",
"destinations": [
{
"id": "1",
"type": "USER"
}
]
}
|
プロパティ
| プロパティ名 |
型 |
説明 |
| moduleId |
文字列 |
通知のアプリケーションIDgrn.schedule:スケジュールgrn.message:メッセージgrn.bulletin:掲示板grn.cabinet:ファイル管理grn.phonemessage:電話メモgrn.mail:メールgrn.workflow:ワークフローgrn.report:マルチレポートgrn.space:スペースgrn.space.discussion:スペースのディスカッションgrn.space.todo:スペースの共有ToDoCybozu Information:サイボウズからのお知らせx.n:外部通知
nは数字で、外部通知の設定(
クラウド版
|
パッケージ版
)で設定した順の連番です。
|
| creator.id |
数値 |
通知の作成者のGaroonユーザーID |
| creator.code |
文字列 |
通知の作成者のユーザー名 |
| creator.name |
文字列 |
通知の作成者のユーザーログイン名 |
| createdAt |
文字列 |
通知の作成日時 |
| operation |
文字列 |
通知の種類add:新規通知データとして、外部通知を登録した場合modify:更新通知データとして、外部通知を登録した場合remove:削除通知データとして、外部通知を登録した場合
|
| url |
文字列 |
通知に含まれるURL |
| title |
文字列 |
通知のタイトル |
| body |
文字列 |
通知の本文 |
| icon |
文字列 |
通知のアイコン |
| isRead |
真偽値 |
通知が既読かどうか |
レスポンスの例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
{
"moduleId": "x.2",
"notificationKey": "set-notificationKey-1234",
"creator": {
"id": "1",
"code": "c000001",
"name": "Noboru Satoh(Satoh Noboru); Sales Department"
},
"createdAt": "2017-09-26T06:25:18Z",
"operation": "add",
"url": "https://www.example.com",
"title": "Travel Request",
"body": "You have a report pending your approval",
"icon": "https://example.com/sample-icon.ico",
"isRead": false
}
|
curlを使ったリクエスト
ご利用の環境によって、curlのフォーマットは異なる場合があります。
詳細は、次のページを参照してください。
curlコマンドでkintone REST APIを実行してみよう/3.API実行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
curl -X POST 'https://sample.cybozu.com/g/api/v1/notification/items' \
-H 'X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=' \
-H 'Content-Type: application/json' \
-d '{
"app": "System-01",
"notificationKey": "set-notificationKey-1234",
"operation": "add",
"url": "https://www.example.com/news/1",
"title": "Travel Request",
"body": "You have a report pending your approval",
"icon": "https://example.com/sample-icon.ico",
"destinations": [
{
"id": "1",
"type": "USER"
}
]
}'
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
const body = {
app: 'System-01',
notificationKey: 'set-notificationKey-1234',
operation: 'add',
url: 'https://www.example.com/news/1',
title: 'Travel Request',
body: 'You have a report pending your approval',
icon: 'https://example.com/sample-icon.ico',
destinations: [
{
id: 1,
type: 'USER'
}
]
};
await garoon.api('/api/v1/notification/items', 'POST', body);
|