# SAP SuccessFactorsコネクタ

Success Factors: User Attributes コネクタは、SAP SuccessFactors から [User Management API](https://api.sap.com/api/PLTUserManagement/resource/get_User) を使用して Nexthink にユーザー属性をインポートします。 このコネクタを利用することで、Nexthink の `User` オブジェクトにおけるカスタムフィールドを充実させ、Nexthink Adopt 内での高度なターゲティングとパーソナライズを実現できます。

このコネクタを使用して、役割、部署、所在地などのカスタムユーザー属性をインポートしてください。 このコネクタは、基本認証方式のみをサポートしています。

## 前提条件

Success Factors: User Attributes を構成する前に、以下を確認してください:

* SAP SuccessFactors の認証を構成します。
* Nexthink でコネクタのクレデンシャルを構成します。 詳しくは、[Nexthink コネクタクレデンシャル](https://docs.nexthink.com/platform/ja/latest/administration/connector-credentials)のドキュメントをご覧ください。

## Nexthink インターフェースで証明書を作成する

SAP SuccessFactors で OAuth 2.0 クライアントアプリケーションを作成する前に、Nexthink で証明書を作成します。

1. Nexthink ウェブインターフェースで、**管理 > コネクタクレデンシャル** に移動してください。
2. **新しいクレデンシャル** をクリックします。
3. 以下のフィールドに入力してください:
   * **名前:** 意味のある名前を入力してください。 例: *SAP SuccessFactors OAuth 2.0 – SAML*
   * **プロトコル:** **Hypertext Transfer Protocol Secure (HTTPS)** を選択します。
   * **URL アドレス:** テナントから提供された SAP SuccessFactors URL を入力してください。
   * **認証:** **OAuth 2.0 – SAML** を選択します。
4. クレデンシャルを保存します。 **証明書が正常に作成されました。** と表示されるウィンドウが現れます。
5. 証明書の値をコピーしてください。

SAP SuccessFactors で OAuth 2.0 クライアントアプリケーションを登録する際にこの証明書を使用します。

## SAP SuccessFactors での認証設定

Nexthink と **SAP SuccessFactors** を統合するために、次の認証方法のいずれかを使用してコネクタクレデンシャルを構成します:

* 基本認証。 詳しくは、公式の [HTTP 基本認証 – SAP SuccessFactors](https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/http-basic-authentication-deprecated) OData API ガイドを参照してください。
* OAuth 2.0 認証。 詳しくは、公式の [OAuth 2.0 を利用した認証](https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/authentication-using-oauth-2-0?locale=en-US) のドキュメントを参照してください。 SAP SuccessFactors で OAuth 2.0 クライアントアプリケーションを登録する際、Nexthink で新しいクレデンシャル作成後にコピーした証明書を使用します。

## OAuth 2.0認証用コネクタクレデンシャルの設定

SAP SuccessFactors で OAuth 2.0 クライアントアプリケーションを登録した後、Nexthink のクレデンシャル設定を完了してください。

1. Nexthink ウェブインターフェースで、**管理 > コネクタクレデンシャル** に移動してください。
2. 関連するクレデンシャルにカーソルを合わせ、**編集**（鉛筆アイコン）をクリックします。
3. **SAML 設定** で、SAP SuccessFactors 設定から提供された値を以下のフィールドに入力してください:
   * **NameID**: SAP SuccessFactors で OAuth 2.0 クライアントアプリケーションへのアクセスが許可されたユーザーの SAP SuccessFactors ユーザー ID を入力します。
   * **Recipient**: OAuth トークンを要求する API サーバーの URL を入力します。 SuccessFactors は次の形式を使用してアクセストークンを生成します: \n`https://<success-factors-api-server>/oauth/token`。

     * SuccessFactors データセンターは `<success-factors-api-server>` の値を決定します。

     詳しくは、公式の [SAP SuccessFactorsデータセンターURLリスト](https://help.sap.com/docs/successfactors-platform/sap-successfactors-api-reference-guide-odata-v2/list-of-sap-successfactors-api-servers?locale=en-US)のドキュメントを参照してください。
   * **Issuer**: SAML アサーションの発行者情報を入力します。例: `https://www.nexthink.com`。
   * **Audience**: SAML アサーションの対象者の値を入力します。 空でない値は全て許可されます。例: `https://www.successfactors.com`。
4. **SAML 属性** で、新しい属性を以下のように追加します:
   * **名前:** `api_key`
   * **値:** SAP SuccessFactors で OAuth 2.0 クライアントアプリケーションを登録した際に生成された `client_id` API キーを貼り付けます。
5. **OAuth トークンリクエスト** で、**トークンリクエスト追加** をクリックして新しいエントリーリクエストを行います:

* エントリー1
  * **名前:** `client_id`
  * **値:** SAML 属性に使用したのと同じ `client_id` API キーを貼り付けます。
* エントリー2
  * **名前:** `company_id`
  * **値:** SAP SuccessFactors の `company_id` 値を入力します。

## Success Factors: User Attributes コネクタの設定

Nexthink ウェブインターフェースから:

1. **管理 > インバウンドコネクタ** に移動します。
2. 右上の **新しいコネクタ** ボタンをクリックします。
3. コネクタリストから **Success Factors: User Attributes** を選択します。

<figure><img src="/files/ijmSyklmdwM5V0fnfJnK" alt=""><figcaption></figcaption></figure>

**一般**タブには以下が含まれます:

* **名前**: コネクタのための適切な名前。 この名前は管理ページに表示されます。
* **NQL ID**: NQL クエリで Success Factors: User Attributes コネクタを参照する際に使用されるコネクタの一意識別子。 最初に提案された NQL ID を変更できますが、コネクタを保存した後には NQL ID を変更できません。
* **説明**: コネクタの目的と動作の短い説明。
* **スケジュール**:
  * **繰り返し**: 実行時間と繰り返し頻度を設定します。 実行はスケジュールされた時間から開始し、1時間にわたって分散されます。
* **接続:**
  * **クレデンシャル**: コネクタクレデンシャルページから事前に構成されたクレデンシャルを選択します。 詳細については、[コネクタ資格情報](https://docs.nexthink.com/platform/ja/integrations/outbound-connectors/connector-credentials) ドキュメントを参照してください。
  * **URL**: クレデンシャルを選択した際にシステムが自動的にこのURLを入力します。

<figure><img src="/files/oVbAeu1Q2t87IN5xM1d8" alt=""><figcaption></figcaption></figure>

**パラメータ**タブには以下が含まれます:

* **選択**: インポートするフィールドをカンマ区切りで入力します。 メールアドレスやユーザー名などの一意のユーザー識別子を必ず含めてください。 利用可能なフィールドについては、公式の [SAP Business Accelerator Hub](https://api.sap.com/api/PLTUserManagement/resource/get_User) を参照してください。
* **拡張 (オプション)**: 必要に応じて `hr` や `manager` などの関連オブジェクトを含めます。
* **フィルター (オプション)**: データセットを制限するためのフィルター句を定義します。 構文については公式の [OData v4 プロトコル](https://www.odata.org/documentation/) ドキュメントを参照してください。

<figure><img src="/files/Iwc2X7UIv7wSDNESLBZz" alt=""><figcaption></figcaption></figure>

**データマッピング**タブには以下が含まれます:

* **識別:** API レスポンスからユーザーを識別するために使用されるフィールドを選択します。
  * **ソース識別子 (JSONata)**: API レスポンスで返されたユーザーを識別するフィールド名を入力します。 必要に応じて [JSONata](https://docs.jsonata.org/overview) を使用して値を変換します。 フィールド名に空白や [JSONata](https://docs.jsonata.org/overview) の予約文字（`.`、 `+`、`-`、 `*`、 `/`、 `{` など）が含まれている場合、バッククォート（`` ` ``）で囲む必要があります。
  * **Nexthink識別子**: **UPN**（CollectorでUPNの収集が必要）か、**メールアドレス**（Entra IDコネクタが必要）のいずれかを選択します。
* **フィールドマッピング**: ユーザーオブジェクトに定義されたカスタムフィールドにマッピングを追加します。
  * **ソース識別子 (JSONata)**: API レスポンスで返されたユーザーを識別するフィールド名を入力します。 必要に応じて [JSONata](https://docs.jsonata.org/overview) を使用して値を変換します。 フィールド名に空白または [JSONata](https://docs.jsonata.org/overview) の予約文字（例: `.`, `+`, `-`, `*`, `/`, `{` など）が含まれている場合は、バッククォート ( \`) で囲む必要があります。
  * **Nexthinkフィールド**: 値をインポートするカスタムフィールドを選択します。

## テスト結果パネル

{% hint style="info" %}
**テスト結果**パネルは、サポートされているコネクタでのみ利用可能です。 コネクタの可用性はライセンスに依存します。
{% endhint %}

右側の**テスト結果**パネルを使用して、必要に応じてコネクタを実データで実行し、応答とエラーを確認してください。 テストパネルは、設定中のデバッグと検証をより迅速に行うのに役立ち、また、試行錯誤を減らしつつ、より信頼性の高いマッピングを実現します。

**テスト実行**ボタンを選択して、APIを呼び出し、資格情報を検証し、ターゲットエンドポイントへの接続を確認してください。

<figure><img src="/files/2aq5Nz6PDUDtrJCoYFfg" alt=""><figcaption></figcaption></figure>

基本情報に加え、応答のステータスコードや時間なども表示され、パネルの下部には応答のサンプルレコードも表示されます。

<figure><img src="/files/HNOO9UOC8up7nND9wS3Y" alt="" width="316"><figcaption></figcaption></figure>

エラーが発生した場合、システムは問題の診断を支援するためにAPI応答を表示します。

<figure><img src="/files/aBnrPUlVkGJndts4wRmv" alt="" width="309"><figcaption></figcaption></figure>

## 既知の制限

* このコネクタは、同期ごとに 300万件を超えるレコードを処理することができません。
* 従業員が同じ UPN を共有する場合、UPNベースの識別は最初の 1,000 ユーザーレコードのみを処理します。
* ユーザー プリンシパル ネーム (UPN) には Collector での設定が必要です。
* メールアドレスには Entra ID (Azure AD) コネクタが必要です。

## NQLで実行ログをクエリする

NQL を使用して、SAP SuccessFactors コネクタ インスタンスの実行に関する詳細なインサイトを次のテーブルをクエリすることで取得できます:

| フィールド                              | タイプ           | 説明                                                                                                                                                     |
| ---------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `時間`                               | `datetime`    | コネクタ実行ログエントリのタイムスタンプ。                                                                                                                                  |
| `ステータス`                            | `enumeration` | <p>実行ステータス:<br>• <code>成功</code>: すべての行が受信および処理されました。<br>• <code>部分成功</code>: 行の制限により一部の行が無視されました。<br>• <code>失敗</code>: コネクタがデータを受信または処理できませんでした。</p> |
| `details.name`                     | `文字列`         | コネクタインスタンスの名前。                                                                                                                                         |
| `details.description`              | `文字列`         | <p>エラーの説明（該当する場合）。 以下のような説明を含む:<br>• <em>受信した行が多すぎる...</em><br>• <em>フィールドに対する無効な JSONata 式</em></p>                                                   |
| `details.connector`                | `文字列`         | 使用されたコネクタテンプレートの名前。                                                                                                                                    |
| `details.credentials`              | `文字列`         | インスタンスで使用された資格情報のラベル。                                                                                                                                  |
| `details.credentials_id`           | `文字列`         | 資格情報の一意の識別子。                                                                                                                                           |
| `details.nql_id`                   | `文字列`         | コネクタ インスタンスのNQL ID。                                                                                                                                    |
| `details.number_of_received_rows`  | `数値`          | ソースから受信した行の総数。                                                                                                                                         |
| `details.number_of_processed_rows` | `数値`          | コネクタによって処理された行の総数―インポートされた行と異なる場合があります。                                                                                                                |

すべてのインバウンドコネクタ実行に関する包括的なログ情報を取得するために、`platform.inbound_connector_logs` クエリを実行してください。

{% hint style="warning" %}
この表にアクセスするには、\*\*データモデルの表示\*\* で \*\*プラットフォームログ\*\* の権限が有効になっている必要があります。
{% endhint %}

### NQL の例

<details>

<summary>過去24時間のインポート失敗を取得</summary>

{% code overflow="wrap" %}

```
過去24時間における platform.inbound_connector_logs | statusが失敗の場合 | time, details.connector, details.name, details.error_descriptionを列挙 | timeを降順で並べ替え
```

{% endcode %}

</details>

<details>

<summary>過去24時間のインポートを取得 (ステータスと処理済み行数を含む)</summary>

{% code overflow="wrap" %}

```
platform.inbound_connector_logs 過去24時間 | 時間、details.connector、details.name、details.number_of_processed_rows をリスト | 時間の降順でソート
```

{% endcode %}

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nexthink.com/platform/ja/configuring_nexthink/bringing-data-into-your-nexthink-instance/integrating-nexthink-with-third-party-tools/inbound-connectors/connector-for-sap-successfactors.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
