更改通知条件(记录)的设置。
此API仅将应用的更改反映到确认应用各动作的测试环境中。
如需反映到正式环境,执行本API后,需要执行将应用的设置反映到正式环境中API。
URI
https://(子域名).cybozu.cn/k/v1/preview/app/notifications/perRecord.json
来宾空间内的应用:https://(子域名).cybozu.cn/k/guest/(空间ID)/v1/preview/app/notifications/perRecord.json
HTTP方法
PUT
必要的访问权限
应用的管理权限
请求参数
参数名称 | 要指定的值 | 必须 | 说明 |
---|---|---|---|
app | 数值或字符串 | 必须 | 指定应用的ID。 |
notifications | 数组 | 必须 | 用于存放设置通知条件对象的数组。 添加或更新通知条件的设置时,必须为所有现有的通知条件的设置指定出它的“notifications”。 |
notifications[].filterCond | 条件必须 | 以查询形式指定记录的条件。指定“notifications”参数时必须指定此参数。 如果省略,则查询对象为“所有记录”。 | |
notifications[].title | 指定通知内容。 如果省略,则为空字符。 | ||
notifications[].targets | 条件必须 | 指定通知对象。指定“notifications”参数时必须指定此参数。 | |
notifications[].targets[].entity | 对象 | 条件必须 | 表示设置通知条件对象的对象。指定“targets”参数时必须指定此参数。 |
notifications[].targets[].entity.type | 字符串 | 条件必须 | 设置通知条件对象的类型。指定“entity”参数时必须指定此参数。
|
notifications[].targets[].entity.code | 字符串 | 条件必须 | 指定设置通知条件对象的字段代码。指定“entity”参数时必须指定此参数。 “notifications[].entity.type”参数中指定“FIELD_ENTITY”时,请指定字段代码。 如果是来宾用户,在用户名前加上“guest/”。 |
notifications[].targets[].includeSubs | 布尔值或字符串 | 指定是否将设置继承给其下属组织。
仅当 notifications[].targets[].entity.type 在 ORGANIZATION 或 FIELD_ENTITY 中指定了选择组织字段时才有效。 | |
revision | 数值或字符串 | 指定更改应用设定前的修订号。 如指定的修订版本不是最新时,则请求失败。 如省略或指定为"-1"时,则不检查修订。 |
请求的范例
头部
PUT /k/v1/preview/app/notifications/perRecord.json HTTP/1.1 Host: example.cybozu.cn:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
正文
{ "app": "1", "notifications": [ { "filterCond": "选择用户字段 in (\"user1\")", "title": "已选择user1", "targets": [ { "entity": { "type": "USER", "code": "user1" }, "includeSubs": false } ] } ], "revision": "2" }
应答参数
参数名称 | 值的类型 | 说明 |
---|---|---|
revision | 字符串 | 更改应用设定后的修订版号。 |
应答的范例
{ "revision": "2" }
JavaScript范例
使用API请求发送 kintone REST API 请求
var body = { 'app': kintone.app.getId(), 'notifications': [{ 'filterCond': '选择用户字段 in ("user1")', 'title': '已选择user1', 'targets': [{ 'entity': { 'type': 'USER', 'code': 'user1' }, 'includeSubs': false }] }], 'revision': '2' }; kintone.api(kintone.api.url('/k/v1/preview/app/notifications/perRecord', true), 'PUT', body, function(resp) { // success console.log(resp); }, function(error) { // error console.log(error); });
使用 XMLHttpRequest 请求
var body = { 'app': kintone.app.getId(), 'notifications': [{ 'filterCond': '选择用户字段 in ("user1")', 'title': '已选择user1', 'targets': [{ 'entity': { 'type': 'USER', 'code': 'user1' }, 'includeSubs': false }] }], 'revision': '2', // CSRF TOKEN: 在kintone上执行API(POST,PUT,DELETE)时必须设置 '__REQUEST_TOKEN__': kintone.getRequestToken() }; var url = 'https://{subdomain}.cybozu.cn/k/v1/preview/app/notifications/perRecord.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(body));