申請データを取得する

目次

申請データを取得する

クエリで条件を指定して、申請データを取得します。

URL

環境
クラウド版

https://sample.cybozu.com/g/api/v1/workflow/admin/requests

パッケージ版

環境に合わせてそれぞれ以下を置き換えてください。

  • IP_ADDRESS_OR_HOST_NAME:Garoon のインストール先の IP アドレスまたはホスト名
  • INSTALL_IDENTIFER:Garoon のインストール識別子
Windows 環境
http://IP_ADDRESS_OR_HOST_NAME/scripts/INSTALL_IDENTIFER/grn.exe/api/v1/workflow/admin/requests
Linux 環境
http://IP_ADDRESS_OR_HOST_NAME/cgi-bin/INSTALL_IDENTIFER/grn.cgi/api/v1/workflow/admin/requests

HTTP メソッド

GET

利用できるバージョン

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

必要なアクセス権

次のいずれかの権限が必要です。

  • cybozu.com 共通管理者の権限
  • ワークフローのアプリケーション管理者の権限

リクエスト

パラメーター

リクエストパラメーターは、URL クエリパラメーターとして送信してください。
ただし、 Garoon REST API リクエストを送信する API を使って実行する場合は、リクエストボディとして指定できます。

パラメーター名 必須 説明
fields 文字列 省略可 取得するプロパティ
availableOperationsfolders を除く、 ワークフローオブジェクト のプロパティを指定できます。
省略すると、指定できるすべてのプロパティを取得します。
複数のプロパティを指定するには、半角カンマで区切ります。
たとえば、idnumber を指定する場合には「fields=id,number」のように指定します。
orderBy 文字列 省略可 ソート条件
プロパティ名と並び順の間に半角スペースを入れて指定します。
たとえば、createdAt を降順で並べ替える場合には、「orderBy=createdAt desc」を指定します。
指定できるプロパティ名および並び順は次のとおりです。
  • プロパティ名
    • createdAt
  • 並び順
    • asc
    • desc
省略すると、createdAt の昇順で並べ替えられます。
rangeStartApprovedAt 文字列 省略可 最終承認日時の取得期間(開始日時)
rangeStartApprovedAt で指定した日時より後に最終承認された申請データに絞り込みます。
省略すると全期間が対象です。
RFC 3339 形式で指定します。
たとえば、日本時間の2022年10月19日9時10分30秒を指定したい場合には、次のように指定します。
  • UTC で指定する場合:「2022-10-19T00:10:30Z」
  • JST で指定する場合:「2022-10-19T09:10:30+09:00」
rangeEndApprovedAt を指定する場合には、rangeEndApprovedAt より前の値を指定してください。
rangeEndApprovedAt 文字列 省略可 最終承認日時の取得期間(終了日時)
rangeEndApprovedAt で指定した日時より前に最終承認された申請データに絞り込みます。
省略すると全期間が対象です。
RFC 3339 形式で指定します。
rangeStartApprovedAt を指定する場合には、rangeStartApprovedAt より後の値を指定してください。
form 数値 省略可 申請フォーム ID
省略すると、すべての申請フォームが対象となります。
status 文字列 省略可 ステータス
次のいずれかの値を指定します。
  • UNPROCESSING:申請後、処理前
  • IN_PROGRESS:承認後、最終承認前
  • REJECTED:却下
  • WITHDRAWN:取戻後、申請前
  • SENT_BACK:申請者に差戻後、申請前
  • CANCELLED:申請者に差戻後、キャンセル
  • APPROVED:最終承認後、確認経路あり
  • COMPLETED:最終承認後、確認経路なし
省略すると、すべてのステータスが対象となります。
誤ったステータスを指定すると、正しいステータスに一致する申請データだけが返ります。
複数のフィールドを指定するには、半角カンマで区切ります。
たとえば、「APPROVED」や「COMPLETED」を指定する場合には、「status=APPROVED,COMPLETED」のように指定します。
limit 数値 省略可 取得する申請データの件数
1 から 1,000 まで指定できます。省略すると 100 が設定されます。
指定された条件に一致する申請データがさらにある場合でも、指定した値より取得できる申請データの数は少なくなる可能性があります。
offset 数値 省略可 取得する申請データの先頭からスキップする数
省略すると、 0 が設定されます。
リクエストの例
URL

https://sample.cybozu.com/g/api/v1/workflow/admin/requests

ヘッダー
1
2
3
{
  "X-Cybozu-Authorization": "QWRtaW5pc3RyYXRvcjpjeWJvenU="
}

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

ボディ
1
2
3
{
  "limit": 30
}

レスポンス

プロパティ
プロパティ名 説明
requests 配列 request オブジェクトの配列
詳細は ワークフローオブジェクト を確認してください。
folderavailableOperations は取得できません。
次のプロパティとして Garoon ユーザー ID を取得できます。
  • request.applicant.id
  • request.applicant.proxy.id
  • request.steps.ステップ.processors[].id
  • request.steps.ステップ.processors[].proxy.id
hasNext 真偽値 次の申請データがあるかどうか
  • true:次の申請データがある
  • false:次の申請データがない
レスポンスの例
  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
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
{
  "requests": [
    {
      "id": "1",
      "status": {
        "name": "進行中",
        "type": "IN_PROGRESS"
      },
      "createdAt": "2022-03-28T05:27:45Z",
      "processingStepCode": "$3",
      "name": "カンファレンスチケット費用",
      "number": "request-1",
      "isUrgent": true,
      "applicant": {
        "id": "100",
        "code": "sato",
        "name": "佐藤 昇",
        "proxy": {
          "id": "123",
          "code": "sato2",
          "name": "佐藤 降"
        },
        "form": {
          "id": "123",
          "name": "費用申請"
        }
      },
      "items": {
        "Item1": {
          "name": "Item1 name",
          "type": "SINGLE_LINE_TEXT",
          "value": "foo"
        },
        "Item2": {
          "name": "Item2 name",
          "type": "MULTI_LINE_TEXT",
          "value": "foo"
        },
        "Item3": {
          "name": "Item3 name",
          "type": "DROP_DOWN",
          "value": "foo"
        },
        "Item4": {
          "name": "Item4 name",
          "type": "RADIO_BUTTON",
          "value": "foo"
        },
        "Item5": {
          "name": "Item5 name",
          "type": "CHECK_BOX",
          "value": true
        },
        "Item6": {
          "name": "Item6 name",
          "type": "NUMBER",
          "value": "100"
        },
        "Item7": {
          "name": "Item7 name",
          "type": "CALC",
          "value": "100"
        },
        "Item8": {
          "name": "Item8 name",
          "type": "DATE",
          "value": "2022-09-28"
        },
        "Item9": {
          "name": "Item9 name",
          "type": "DATETIME",
          "value": {
            "date": "2022-11-12",
            "time": "14:40"
          }
        },
        "Item10": {
          "name": "Item10 name",
          "type": "FILE",
          "value": [
            {
              "id": "10",
              "contentType": "text/plain",
              "name": "foo.txt",
              "size": "100"
            },
            {
              "id": "11",
              "contentType": "text/plain",
              "name": "bar.txt",
              "size": "100"
            }
          ]
        },
        "Item11": {
          "name": "Item11 name",
          "type": "ROUTE_NAVI",
          "value": {
            "route": "foo - bar",
            "expense": "100"
          }
        }
      },
      "steps": {
        "Step1": {
          "id": 15,
          "name": "課長承認",
          "requirement": "承認(全員)",
          "isApprovalStep": 1,
          "processors": [
            {
              "id": "102",
              "code": "matsuda",
              "name": "松田 かんな",
              "result": "Approved",
              "date": "2022-09-28T06:13:15Z",
              "comment": "確認しました。"
            },
            {
              "id": "101",
              "code": "takahashi",
              "name": "高橋 健一",
              "result": "Approved",
              "date": "2022-09-28T06:13:15Z",
              "comment": "代理で確認しました。",
              "proxy": {
                "id": "10",
                "code": "yamadas",
                "name": "山田 正一"
              }
            }
          ]
        },
        "Step2": {
          "id": "16",
          "name": "部長承認",
          "requirement": "承認(全員)",
          "isApprovalStep": 1,
          "processors": [
            {
              "id": "105",
              "code": "suzuki",
              "name": "鈴木 孝充"
            },
            {
              "id": "103",
              "code": "ito",
              "name": "伊東 美咲"
            }
          ]
        }
      }
    }
  ],
  "hasNext": true
}

サンプルコード

curl を使ったリクエスト
1
2
curl -X GET 'https://sample.cybozu.com/g/api/v1/workflow/admin/requests?limit=30' \
  -H 'X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU='
Garoon REST API リクエストを送信する API を使ったリクエスト
1
2
3
4
5
const body = {
  limit: 30
};

await garoon.api('/api/v1/workflow/admin/requests', 'GET', body);