🌐
クエリAPIでグループの項目(会社コード・組織コード・事業所コードなど)を取得するケースについて
この記事では、YESODのクエリAPI()で、メンバーが所属する会社・組織・事業所などの「グループ側の項目」(会社コード・組織コード・事業所コード・プロジェクトコードなど)を取得するケースについて説明します。
2. groupAttributeSelectorの仕様
グループ側の主なシステム項目は以下の通りです。いずれもカスタム項目ではなく、YESODの標準項目です。
| 項目 | この項目が属するグループ種別(groupType) |
|---|---|
| 会社コード | |
| 組織コード | |
| 事業所コード | |
| プロジェクトコード |
に項目を1つでも指定すると、レスポンスの配列自体には、メンバーが所属する会社・組織・事業所などのグループ情報がすべて返ります。所属グループの一覧はの指定内容によって変化しません。
一方、指定した項目の値は、その項目が属するグループ種別(上表のgroupType)に一致するグループオブジェクトの配列にのみ格納されます。対象外のグループ種別(例:組織コードを指定した場合の会社・事業所)では、は空のままです。
📊 【図解:groupAttributeSelectorに組織コードを指定した場合】

groupCodeフィールドとの違いについて
実は各グループオブジェクトのトップレベルのフィールドには、の指定内容に関わらず、常にそのグループのコード値(会社コード/組織コード/事業所コード/プロジェクトコードのうち、エンティティタイプに応じたもの)が入っています。有効期間(validStart/validEnd)付きの値として配列からも取得したい場合にのみ、明示的にへ指定してください。現在の値だけで良い場合は、への指定は不要です。
3. 取得例(組織コードを取得するパターン)
メンバーが所属する組織の「組織コード」を、有効期間付きで取得する例です。会社コード・事業所コード・プロジェクトコードを取得したい場合も、に対応する項目IDを指定することで同様に取得できます。
サンプルボディ部
サンプルの取得項目
| 項目ID | YESOD項目 | 種別 |
|---|---|---|
| 4J9wMPgDQJmki9ycfx-Z7g | 会社 | 会社関連メンバー項目(検索条件) |
| tcEh9H5iRyaAFlTZ0XMnpA | 組織コード | 組織項目 |
サンプルレスポンス(1名分)
配列には所属する会社・組織・事業所がすべて含まれる一方、組織コード()の値はのグループオブジェクトの配列にのみ格納されている点にご注目ください。会社コードを取得したい場合はに会社コードの項目IDを指定すれば、同様にのグループオブジェクトの配列に値が入ります。
4. 親グループの情報を取得するケース(parentフィールド)
会社・組織・事業所は多階層になっている場合があります。各グループオブジェクトのフィールドには、親グループの情報がGroupオブジェクトとしてそのまま格納されており、これは特別なパラメータを指定しなくても常にレスポンスに含まれます。
組織にさらに上位の組織がある場合、はルート(最上位)の組織に到達するまでネストして返り、ルートの組織ではとなります。
groupAttributeSelectorは各階層にも適用されるで指定した項目は、直属のグループだけでなく、で辿れるすべての階層にも同様に適用されます(グループ種別が一致する限り)。上位組織の組織コードなどを取得したい場合も、別のAPIを呼び直す必要はなく、を辿るだけで取得できます。
📊 【図解:組織が5階層ある場合の parent の連なり】

実際のレスポンス例です。リクエストボディは「3. 取得例」と同じもので構いません(を取得するための追加パラメータはありません)。
サンプルレスポンス(1名分・組織が5階層あるケース)
内の「India develop Team」(depth 5)オブジェクトのを辿ると、depth 4 → 3 → 2 → 1(ルート、)まで親組織が入れ子になって返ってきます。各階層とも組織()のため、で指定した組織コードがすべての階層のに格納されています。