🌐

関連項目属性の考え方

このページでは、YESOD API を利用してメンバーの情報をインポートする際に前提となる、関連項目属性の考え方を説明します。
📋 関連記事 YESOD のディレクトリーサービス全体の基本概念(メンバー・グループ・時系列管理など)については、先に YESOD ディレクトリーサービスのデータ構造について を参照してください。このページはその中の「グループ関連項目(関係属性)」を、API でのインポートを前提にさらに詳しく説明するものです。

関連項目属性とは

YESOD では、メンバーが持つ属性を大きく2種類に分けて管理しています。
種別説明
メンバー項目(個人属性)メンバー本人に紐づく属性・氏名、生年月日、個人メールアドレス
関連項目属性(関係属性)メンバー × グループ」の組み合わせごとに持つ属性・会社ごとの在籍状況・雇用形態・肩書き ・組織ごとの役職・担当・関与度合 ・事業所ごとの座席番号・セキュリティカード ・プロジェクトごとの役割
関連項目属性は、同じメンバーであっても所属するグループ(会社・組織・事業所・プロジェクト)が変わると値も変わり得ます。1人のメンバーが複数のグループに同時に所属する場合、グループごとに異なる値を持てます。
💡 ポイント 関連項目属性は必ず「どのグループに対する値か」をセットで指定する必要があります。API でインポートする際は、この「どのグループか」を特定するための識別子(グループ名またはグループコード)を必ず一緒に指定します。

グループ種別と関連項目属性の例

グループ種別関連項目属性の例
会社在籍状況、雇用形態、肩書き など
組織役職、担当、関与度合 など
事業所座席番号、セキュリティカード など
プロジェクトプロジェクトでの役割 など

API でインポートする際にグループを特定する方法

関連項目属性を API でインポートする場合、どのグループ(会社・組織・事業所・プロジェクト)に対する値かを、CSV 上でグループ名またはグループコードの列を使って指定します。この指定方法は、利用するインポート API によって異なります。
⚠️ 前提:メンバー自体の名寄せが先に成立している必要があります 以降で説明するグループの特定は、あくまで「そのメンバーのどのグループに対する値か」を決めるものです。その前段として、CSV の行がどのメンバーを指しているか(メンバー自体の名寄せ)が正しく成立している必要があります。メンバーの名寄せキーは、優先順位に沿って上から順に照合されます(概要のみ記載。再入社時の挙動や重複時のエラーなど詳細なケースは、各インポート API のドキュメントを参照してください)。
  • メンバーインポート:①メンバー番号 → ②社員番号 → ③メールアドレス の順で照合(詳細:メンバーインポートAPI の「メンバーの名寄せ」)
メンバー自体の名寄せが誤っていると、意図しないメンバーに関連項目属性が登録されたり、新規メンバーとして重複登録されたりすることがあります

メンバーインポート(

関連項目属性必要な識別子
会社属性(雇用形態など)会社名(フルパス) または 会社コード
組織属性(役職など)組織名(フルパス) または 組織コード
事業所属性(セキュリティカードなど)事業所名(フルパス) または 事業所コード
プロジェクト属性(プロジェクトでの役割など)プロジェクト名(フルパス) または プロジェクトコード
💡 フルパスが必要な理由 会社・組織・事業所・プロジェクトはいずれも親子階層を持てる同じ仕組みで実装されています。階層を作らずフラットに運用している場合は名称=フルパスになりますが、階層を作っている場合はどの種別でも、ルートから対象までを辿った名称(フルパス)を指定する必要があります。
CSV 例(組織コードで指定する場合)
※ この例にはメンバー番号・社員番号の列が無いため、メンバー自体の名寄せはメールアドレス()で行われます。
リクエストボディ
CSV 例(組織名フルパスで指定する場合)
※ この例にはメンバー番号・社員番号の列が無いため、メンバー自体の名寄せはメールアドレス()で行われます。
リクエストボディ
💡 名寄せ(グループの特定)の優先順位 会社名・組織名・事業所名・プロジェクト名は、階層を含めたフルパスでの指定になります。1つの関連項目属性に対して名称とコードを両方指定した場合は、コードが優先されます。コードが存在しない値の場合のみ、名称(フルパス)での特定が試みられます。
⚠️ 注意 名称(フルパス)で指定する場合、対象のグループが既存データと完全一致する必要があります。同名のグループが複数存在すると、どちらを指すか一意に特定できずインポートエラーになります。会社・組織・事業所・プロジェクトのいずれも、階層を作っている場合は階層を含めたフルパスまで正確に一致させてください。
💡 補足 関連項目属性の値そのものが空欄(未入力)の場合は、識別子(名称・コード)が無くてもエラーにはなりません。値を入力する場合に限り、名称またはコードのいずれかが必須になります。

トランザクション/メンバーインポート(

関連項目属性必要な識別子
会社属性(雇用形態など)会社コードのみ
組織属性(役職など)組織コードのみ
事業所属性(セキュリティカードなど)事業所コードのみ
プロジェクト属性(プロジェクトでの役割など)プロジェクトコードのみ
⚠️ 注意 トランザクションメンバーインポートでは、メンバーインポートと異なり会社名・組織名・事業所名・プロジェクト名は使用できません。関連項目属性の値を設定する場合は、必ずグループコードの列を CSV に含めてください。グループコードの列が無い状態で値だけを入力すると、「リファレンス先を示す属性が指定されていません」というエラーになります。
CSV 例
※ この例には社員番号の列が無いため、メンバー自体の名寄せはメールアドレス()で行われます。
リクエストボディ

メンバーインポートとトランザクションメンバーインポートの違い(関連項目属性の観点)

メンバーインポートトランザクションメンバーインポート
グループの識別方法名称(フルパス) または コードコードのみ
複数グループへの同時所属対応( などで1行にまとめて指定可能)対応(グループごとに行を分けて指定)
用途差分更新(項目単位の変更)操作単位(追加・変更・削除)を明示して取り込む

よくあるつまずきポイント

⚠️ 注意 会社属性(雇用形態など)に値を入力する行では、その値だけでなく会社を特定するための会社コードまたは会社名の列も同じ行に必要です。会社の識別子が無い(列自体が無い、または値が空)状態で会社属性の値だけを入力すると、参照先グループが見つからずインポートエラーになります。これは組織属性・事業所属性・プロジェクト属性でも同様で、それぞれの識別子列(組織コード/組織名など)が必須です。
💡 補足 会社属性を設定せずに組織属性・事業所属性だけを登録した場合、そのメンバーは「仮登録」という状態になります。この場合でも、組織属性・事業所属性はそれぞれ時系列データとして正しく登録されます。「会社に所属していないと他のグループの関連項目属性を設定できない」という制約はありません。