リマインダーの条件通知の設定を変更する

目次

リマインダーの条件通知の設定を変更する

リマインダーの条件通知を設定します。

このAPIは、動作テスト環境のアプリを変更します。
本番環境に変更を反映する場合はこのAPIを実行した後に アプリ設定を運用環境へ反映するAPIを実行してください。

URL

通常のアプリ
https://sample.cybozu.com/k/v1/preview/app/notifications/reminder.json
ゲストスペースのアプリ
https://sample.cybozu.com/k/guest/SPACE_ID/v1/preview/app/notifications/reminder.json

HTTPメソッド

PUT

必要なアクセス権

  • アプリ管理権限

リクエスト

パラメーター
パラメーター名 必須 説明
app 数値または文字列 必須 アプリID
notifications 配列 省略可 リマインダーの条件通知の設定の一覧
通知設定を追加、更新するときは、既存の通知設定をnotifications[].entityに指定してください。指定しない通知設定は削除されます。
通知設定をすべて削除する場合は、空配列を指定します。
notificationsを省略した場合は変更されません。
notifications[].timing オブジェクト 条件必須 通知のタイミング
notificationsを指定する場合は必須です。
notifications[].timing.code 文字列 条件必須 通知のタイミングで設定する基準日時となるフィールドのフィールドコード
次のフィールドのフィールドコードを指定します。
  • 作成日時
  • 更新日時
  • 日時
  • 日付
timingを指定する場合は必須です。
notifications[].timing.daysLater 数値または文字列 条件必須 基準日時から何日前または何日後に通知するか
-10,000から10,000までの整数を指定します。
基準日時より前に通知する場合は、負の整数を指定します。
timingを指定する場合は必須です。
notifications[].timing.hoursLater 数値または文字列 条件必須 基準日時にtiming.daysLaterを足した日時から、何時間後または何時間前に通知するか
-10,000から10,000までの整数を指定します。
基準日時より前の場合は、負の整数を指定します。
timingを指定する場合は、timing.hoursLaterまたはtiming.timeが必須です。
notifications[].timing.time 文字列 条件必須 基準日時にtiming.daysLaterを足した日付から、いつ通知するか
フォーマットは「HH:mm」(例:09:20)で、10分単位で指定します。
timingを指定する場合は、timing.hoursLaterまたはtiming.timeが必須です。
notifications[].filterCond 文字列 省略可 リマインダーの条件通知
クエリ形式で設定します。
クエリ形式は、 クエリの書き方を参照してください。
値を省略したり、空文字または「null」を指定したりすると「すべてのレコード」を指定した場合と同じです。
削除済みのユーザー、組織、グループが指定されている場合は、エラーになります。
指定した条件内に「order by」、「limit」および「offset」が含まれていると、エラーになります。
notifications[].title 文字列 通知内容
100文字以内で指定します。
省略すると、空文字が設定されます。
notifications[].targets 配列 条件必須 通知先の対象の一覧
notificationsを指定する場合は必須です。
notifications[].targets[].entity オブジェクト 条件必須 通知先の対象の種類
targetsを指定する場合は必須です。
notifications[].targets[].entity.type 文字列 条件必須 条件通知の対象の種類
entityを指定する場合は必須です。
  • USER:ユーザー
  • GROUP:グループ
  • ORGANIZATION:組織
  • FIELD_ENTITY:「フォームのフィールドを追加」として指定するフィールド
ゲストスペースの場合は、「ORGANIZATION」を指定するとエラーになります。
notifications[].targets[].entity.code 文字列 条件必須 条件通知の対象のコード

entity.typeの値によって異なります。
  • 「USER」の場合:ユーザーのログイン名
  • 「GROUP」の場合:グループコード
  • 「ORGANIZATION」の場合:組織コード
  • 「FIELD_ENTITY」の場合:次のフィールドのフィールドコードを指定します。
    • 作成者
    • 更新者
    • ユーザー選択
    • 組織選択
    • グループ選択
ゲストユーザーの場合、ログイン名の前に「guest/」が付きます。
entityを指定する場合は必須です。
notifications[].targets[].includeSubs 真偽値または文字列 省略可 作業者に下位組織を含めるかどうか
  • true:含める
  • false:含めない
省略すると「false」が設定されます。
entity.typeに「ORGANIZATION」か、「FIELD_ENTITY」で組織選択フィールドを指定した場合のみ指定します。
それ以外の場合に指定すると、設定は無視されます。
timezone 文字列 リマインドする時刻のタイムゾーン
指定できる値は タイムゾーンの一覧 (External link) を参照してください。
リマインダーの条件通知を一度も保存したことがない状態で、値を省略するとAPIを実行したユーザーのタイムゾーンが設定されます。
revision 数値または文字列 省略可 期待しているリビジョン番号
実際のリビジョン番号と一致しない場合はエラーとなり、設定は変更されません。
値に「-1」を指定する、または指定しなかった場合はリビジョン番号は検証されません。
リクエストの例
ヘッダー
1
2
3
4
{
  "X-Cybozu-API-Token": "API_TOKEN",
  "Content-Type": "application/json"
}
ボディ
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{
  "app": 1,
  "notifications": [
    {
      "timing": {
        "code": "作成日時",
        "daysLater": "1",
        "hoursLater": "2"
      },
      "filterCond": "ユーザー選択フィールド in (\"user1\")",
      "title": "リマインドです",
      "targets": [
        {
          "entity": {
            "type": "USER",
            "code": "user1"
          },
          "includeSubs": false
        }
      ]
    },
    {
      "timing": {
        "code": "作成日付",
        "daysLater": "-3",
        "time": "08:30"
      },
      "filterCond": "ユーザー選択フィールド in (\"user1\")",
      "title": "リマインドです",
      "targets": [
        {
          "entity": {
            "type": "USER",
            "code": "user1"
          },
          "includeSubs": false
        }
      ]
    }
  ],
  "timezone": "Asia/Tokyo",
  "revision": "2"
}

レスポンス

プロパティ
パラメーター名 説明
revision 文字列 アプリの設定を変更したあとのリビジョン番号です。
レスポンスの例
1
2
3
{
  "revision": "2"
}

サンプルコード

curlを使ったリクエスト
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
curl -X PUT 'https://sample.cybozu.com/k/v1/preview/app/notifications/reminder.json' \
  -H 'X-Cybozu-API-Token: API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "notifications": [
      {
        "timing": {
          "code": "作成日時",
          "daysLater": "1",
          "hoursLater": "2"
        },
        "filterCond": "ユーザー選択フィールド in (\"user1\")",
        "title": "リマインドです",
        "targets": [
          {
            "entity": {
              "type": "USER",
              "code": "user1"
            },
            "includeSubs": false
          }
        ]
      },
      {
        "timing": {
          "code": "作成日付",
          "daysLater": "-3",
          "time": "08:30"
        },
        "filterCond": "ユーザー選択フィールド in (\"user1\")",
        "title": "リマインドです",
        "targets": [
          {
            "entity": {
              "type": "USER",
              "code": "user1"
            },
            "includeSubs": false
          }
        ]
      }
    ],
    "timezone": "Asia/Tokyo",
    "revision": "2"
  }'
kintone REST APIリクエストを送信するAPIを使ったリクエスト
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
const body = {
  app: 1,
  notifications: [
    {
      timing: {
        code: '作成日時',
        daysLater: '1',
        hoursLater: '2'
      },
      filterCond: 'ユーザー選択フィールド in (\'user1\')',
      title: 'リマインドです',
      targets: [
        {
          entity: {
            type: 'USER',
            code: 'user1'
          },
          includeSubs: false
        }
      ]
    },
    {
      timing: {
        code: '作成日付',
        daysLater: '-3',
        time: '08:30'
      },
      filterCond: 'ユーザー選択フィールド in (\'user1\')',
      title: 'リマインドです',
      targets: [
        {
          entity: {
            type: 'USER',
            code: 'user1'
          },
          includeSubs: false
        }
      ]
    }
  ],
  timezone: 'Asia/Tokyo',
  revision: '2'
};

await kintone.api(kintone.api.url('/k/v1/preview/app/notifications/reminder.json', true), 'PUT', body);