複数のレコードのステータスを更新する

目次

複数のレコードのステータスを更新する

複数のレコードのステータスを更新します。

  • プロセス管理機能を有効にしたアプリで使用できます。

URL

通常のアプリ
https://sample.cybozu.com/k/v1/records/status.json
ゲストスペースのアプリ
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/records/status.json

HTTPメソッド

PUT

必要なアクセス権

ユーザー認証でAPIを実行する場合
  • アプリのレコード閲覧権限
  • 値を取得するレコードの閲覧権限
  • 値を取得するフィールドの閲覧権限
  • レコードに作業者が指定されていない、またはAPIの実行ユーザーがレコードの作業者に指定されている。
APIトークンでAPIを実行する場合
  • アプリのレコード閲覧権限
  • 値を取得するレコードの閲覧権限
  • 値を取得するフィールドの閲覧権限
  • レコードに作業者が指定されていない、または「Administrator」がレコードの作業者に指定されている。

リクエスト

パラメーター
パラメーター名 必須 説明
app 数値または文字列 必須 アプリID
records 配列 必須 ステータスを更新するレコードの一覧
最大で100件のレコードを指定できます。
101件以上指定した場合、エラーが発生します。
records[].action 文字列 必須 実行するアクションの名前
複数の言語でアクションの名前を設定している場合、APIを実行するユーザーの表示言語での名前を指定します。
現在のステータスに同名のアクションが複数設定されている場合、そのアクションを指定するとエラーとなります。
records[].assignee 文字列 条件必須 作業者に設定するユーザーのログイン名
次の条件下では必須です。
  • 変更先のステータスの作業者が「次のユーザーから作業者を選択」になっている、かつ選択可能なユーザーが存在する場合
  • 最初のステータスに「作業者」を設定し、最初のステータスに戻す場合
records[].id 数値または文字列 必須 レコードID
records[].revision 数値または文字列 省略可 期待しているリビジョン番号
実際のリビジョン番号と一致しない場合はエラーとなり、ステータスは更新されません。
値に「-1」を指定する、または指定しなかった場合はリビジョン番号は検証されません。
リクエストの例
ヘッダー
1
2
3
4
{
  "X-Cybozu-API-Token": "API_TOKEN",
  "Content-Type": "application/json"
}

リクエストヘッダーの詳細は kintone REST APIの共通仕様を参照してください。

ボディ
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
{
  "app": 4,
  "records": [
    {
      "id": 1,
      "action": "申請する",
      "assignee": "user2",
      "revision": 1
    },
    {
      "id": 2,
      "action": "承認"
    }
  ]
}

レスポンス

プロパティ
プロパティ名 説明
records 配列 ステータスを更新したレコードの情報の一覧
records[].id 文字列 レコードID
records[].revision 文字列 ステータスを変更したあとのレコードのリビジョン番号
アクションの実行と、ステータスの更新の2つの操作が記録されるため、リビジョンは2つ増えます。
レスポンスの例
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
{
  "records": [
    {
      "id": "1",
      "revision": "3"
    },
    {
      "id": "2",
      "revision": "9"
    },
    {
      "id": "3",
      "revision": "7"
    }
  ]
}

サンプルコード

curlを使ったリクエスト
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
curl -X PUT 'https://sample.kintone.com/k/v1/records/status.json' \
  -H 'X-Cybozu-API-Token: API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "records": [
      {
        "id": 1001,
        "action": "申請する",
        "assignee": "user2"
      },
      {
        "id": 1002,
        "action": "承認"
      }
    ]
  }'
kintone REST APIリクエストを送信するAPIを使ったリクエスト
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
const body = {
  app: 1,
  records: [
    {
      id: 1001,
      action: '申請する',
      assignee: 'user2',
      revision: 1
    },
    {
      id: 1002,
      action: '承認'
    }
  ]
};
await kintone.api(kintone.api.url('/k/v1/records/status.json', true), 'PUT', body);