通知を登録する

目次

通知を登録する

更新情報の通知を登録します。
登録した通知は、通知一覧のポートレットや通知画面で確認できます。

URL

クラウド版

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

HTTPメソッド

POST

利用できるバージョン

  • クラウド版Garoon
  • パッケージ版Garoon 5.0以降

必要なアクセス権

  • 通知を登録するアプリケーションの利用権限

アプリケーション管理のAPIの外部通知を有効にしてください。
設定方法は、GaroonヘルプのAPIの外部通知の設定( クラウド版 (External link) パッケージ版 (External link) )を参照してください。

リクエスト

パラメーター
パラメーター名 必須 説明
app 文字列 必須 外部通知コード
APIの外部通知の設定( クラウド版 (External link) パッケージ版 (External link) )で設定した「外部通知コード」を指定します。
notificationKey 文字列 必須 通知キー
複数のユーザーに対して同じ通知を作成する場合には、すべてのユーザーで同じ値を指定します。
登録済みの通知を更新する場合には、更新する通知のnotificationKeyと同じ値を指定します。
operation 文字列 必須 通知の種類
次のいずれかの値を指定します。
  • add:新規通知データとして、外部通知を登録する
  • modify:更新通知データとして、外部通知を登録する
  • remove:削除通知データとして、外部通知を登録する
url 文字列 必須 通知に含まれるURL
APIの外部通知の設定( クラウド版 (External link) パッケージ版 (External link) )の「許可するURL」に、指定するURLを指定してください。
title 文字列 必須 通知のタイトル
body 文字列 必須 通知の本文
icon 文字列 省略可 通知のアイコン
URL形式でのみ指定できます。
APIの外部通知の設定( クラウド版 (External link) パッケージ版 (External link) )の「許可するURL」に、指定するURLを設定してください。
省略した場合はベルの形のアイコンが通知アイコンとして設定されます。
destinations 配列 必須 通知先のリスト
destinations[].type 文字列 必須 通知先のタイプ
次のいずれかの値を指定します。
  • USER:ユーザー
destinations[].id 数値 条件必須 通知先のGaroonユーザーID
destinations[].codeを指定しない場合は必須です。
destinations[].code 文字列 条件必須 通知先のGaroonユーザー名(ログイン名)
destinations[].idを指定しない場合は必須です。
パッケージ版Garoonの場合、ログイン名を公開する設定が必要です。
詳細は ユーザー情報の項目を変更する (External link) を参照してください。
リクエストの例
ヘッダー
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 文字列 通知のアプリケーションID
  • grn.schedule:スケジュール
  • grn.message:メッセージ
  • grn.bulletin:掲示板
  • grn.cabinet:ファイル管理
  • grn.phonemessage:電話メモ
  • grn.mail:メール
  • grn.workflow:ワークフロー
  • grn.report:マルチレポート
  • grn.space:スペース
  • grn.space.discussion:スペースのディスカッション
  • grn.space.todo:スペースの共有ToDo
  • Cybozu Information:サイボウズからのお知らせ
  • x.n:外部通知
    nは数字で、外部通知の設定( クラウド版 (External link) パッケージ版 (External link) )で設定した順の連番です。
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を使ったリクエスト
 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"
      }
    ]
  }'
Garoon REST APIリクエストを送信するAPI を使ったリクエスト
 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);