更改通知条件(提醒)的设置。
此API仅将应用的更改反映到确认应用各动作的测试环境中。
如需反映到正式环境,执行本API后,需要执行将应用的设置反映到正式环境中API。
URI
https://(子域名).cybozu.cn/k/v1/preview/app/notifications/reminder.json
来宾空间内的应用
https://(子域名).cybozu.cn/k/guest/(空间ID)/v1/preview/app/notifications/reminder.json
HTTP 方法
PUT
必要的访问权限
应用的管理权限
请求参数
参数名称 | 要指定的值 | 必须 | 说明 |
---|---|---|---|
app | 数值或字符串 | 必须 | 指定应用的ID。 |
notifications | 数组 | 用于存放设置通知条件对象的数组。 如果指定了空数组,则删除通知条件的设置。 省略时,则不会更改。 添加或更新通知条件的设置时,必须为所有现有的通知条件的设置指定出它的“notifications”。 如未指定,则将删除此通知条件的设置。 | |
notifications[].timing | 对象 | 条件必须 | 设置通知的时间。 指定“notifications”参数时,必须指定此参数。 |
notifications[].timing.code | 字符串 | 条件必须 | 通知时间中被设置为基准时间字段的字段代码。 指定“notifications[].timing”参数时必须指定此参数。 可以指定以下字段的字段代码。
|
notifications[].timing.daysLater | 数值或字符串 | 条件必须 | 基准时间几天后(几天前)发出通知的设置。 指定“notifications[].timing”参数时必须指定此参数。 设置为基准时间前的时间用负整数表示。 可以指定 -10000 ~ 10000 之间的整数。 |
notifications[].timing.hoursLater | 数值或字符串 | 条件必须 ※ 如已指定 notifications[].timing.time 将无法指定此参数 | 基准时间加上 notifications[].timing.daysLater 几小时后(几小时前)发出通知的设置。 指定“notifications[].timing”参数时必须指定此参数。 设置为基准时间前的时间用负整数表示。 可以指定 -10000 ~ 10000 之间的整数。 |
notifications[].timing.time | 字符串 | 条件必须 ※ 如已指定 notifications[].timing.hoursLater 将无法指定此参数 | 基准时间加上 notifications[].timing.daysLater 后当天的几点发出通知的设置。 指定“notifications[].timing”参数时必须指定此参数。 但是,只能以10分钟为单位来进行设置。 |
notifications[].filterCond | 字符串 | 提醒的通知条件。用查询语句格式表示。 关于查询语句的格式请参考以下页面。 以下情况,与指定“所有记录”时相同
如指定了已删除的用户、组织、组时,将发生错误。 在指定条件下包含“order by”,“limit”和“offset”将导致错误。 | |
notifications[].title | 字符串 | 设置为通知内容。 可以指定 100 个字符以内的字符串。 省略时,为空字符串。 | |
notifications[].targets | 数组 | 条件必须 | 用于设置通知对象的数组。 指定“notifications”参数时,必须指定此参数。 |
notifications[].targets[].entity | 对象 | 条件必须 | 指定通知对象的对象的类型。 指定“notifications[].targets”参数时,必须指定此参数。 |
notifications[].targets[].entity.type | 字符串 | 条件必须 | 指定通知条件对象的类型。 指定“notifications[].targets[].entity”参数时,必须指定此参数。
对于来宾空间,指定组织将导致错误。 |
notifications[].targets[].entity.code | 字符串 | 条件必须 | 指定通知条件对象的字段代码。 指定“notifications[].targets[].entity”参数时,必须指定此参数。 当 notifications[].targets[].entity.type 为 FIELD_ENTITY 时,则可以指定以下字段代码:
如果是来宾用户,在用户名前加上“guest/”。 |
notifications[].targets[].includeSubs | 布尔值或字符串 | 是否将设置继承给其下属组织。 仅当 notifications[].targets[].entity.type 参数 在 ORGANIZATION 或 FIELD_ENTITY 中指定了选择组织字段时才有效。
| |
timezone | 字符串 | 指定提醒时间的时区ID。 如果从未保存过提醒通知条件,且未指定值,则设置为执行用户的时区。 | |
revision | 数值或字符串 | 指定更改应用设定前的修订号。 如指定的修订版本不是最新时,则请求失败。 如省略或指定为"-1"时,则不检查修订。 |
请求的范例
头部
PUT /k/v1/preview/app/notifications/reminder.json HTTP/1.1 Host: example.cybozu.cn:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
正文
{ "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/Shanghai", "revision": "2" }
应答
参数
参数名称 | 值的类型 | 说明 |
---|---|---|
revision | 字符串 | 更改应用设定后的修订版号。 |
应答的范例
{ "revision": "2" }
JavaScript 范例
使用API请求发送 kintone REST API 请求
var 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/Shanghai', 'revision': '2' }; kintone.api(kintone.api.url('/k/v1/preview/app/notifications/reminder', true), 'PUT', body, function(resp) { // success console.log(resp); }, function(error) { // error console.log(error); });
使用 XMLHttpRequest 的请求
var xhrbody = { '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/Shanghai', 'revision': '2', // CSRF TOKEN: 在kintone上执行API(POST,PUT,DELETE)时必须设置 '__REQUEST_TOKEN__': kintone.getRequestToken() }; // var appId = kintone.app.getId; var url = 'htttps://{subdomain}.cybozu.cn/k/v1/preview/app/notifications/reminder.json'; var xhr = new XMLHttpRequest(); xhr.open('PUT', url); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.onload = function() { if (xhr.status === 200) { // success console.log(JSON.parse(xhr.responseText)); } else { // error console.log(JSON.parse(xhr.responseText)); } }; xhr.send(JSON.stringify(xhrbody));