申請データを取得する

目次

申請データを取得する

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

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);