インポートセット API
インポートセット API は、インポートセットテーブルを操作できるようにするエンドポイントを提供します。
この API は、関連する変換マップに基づいて受信データを変換します。インポートセット API は同期変換をサポートしています。インポートセット API は、既存の SOAP インターフェイスを反映します。
セキュリティ
REST API を介したテーブルへのアクセスは、BasicAuth によって制限されます。認証または承認なしでテーブルへのアクセスを許可するには、テーブル名を sys_public.list に追加します。テーブルで定義された ACL は引き続き適用され、ACL を非アクティブ化するのはアドミンの責任です。
インポートセット:GET /now/import/{stagingTableName}/{sys_id}
指定されたインポートステージングレコードと結果の変換結果を取得します。
URL 形式
バージョニングされた URL: /api/now/{api_version}/import/{stagingTableName}/{sys_id}
デフォルト URL: /api/now/import/{stagingTableName}/{sys_id}
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプション。アクセスするエンドポイントのバージョン。たとえば、 v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| ステージングテーブル名 | インポートデータを取得するテーブルの名前。 データタイプ:文字列 |
| sys_id | データを含むレコードのSys_id。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| なし |
ヘッダー
次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 401 | 権限がありません。ユーザー認証情報が正しくないか、渡されていません。 |
| 404 | 指定されたリソースが利用できなかったことを示します。インポートセットテーブルはスケジュールに基づいて頻繁に削除されるため、変換結果が存在しなくなった場合、GET 要求は「404 見つかりません」という応答を返すことがあります。 |
| 500 | 内部サーバーエラー要求の処理中に予期しないエラーが発生しました。応答には、エラーに関する追加情報が含まれています。 |
応答本文のパラメーター (JSON または XML)
| 名前 | 説明 |
|---|---|
| import_set | インポートセットの名前。 データタイプ:文字列 |
| result | インポートされたデータセットに関する情報を含むオブジェクトのリスト。 データタイプ:アレイ |
| result.display_name | 表示値が true であるテーブル内の特定の列の表示名。たとえば、 数値です。 データタイプ:文字列 |
| result.display_value | display_name列の表示値。たとえば、 CHG0000123 などです。 データタイプ:文字列 |
| result.record_link | インポートされたレコードのテーブル API GET 要求。 データタイプ:文字列 |
| result.status | インポートのステータス。 データタイプ:文字列 |
| result.sys_id | インポートレコードのSys_id。 データタイプ:文字列 |
| result.table | データがインポートされたテーブルの名前。 データタイプ:文字列 |
| result.transform_map | 変換マップの名前。 データタイプ:文字列 |
| staging_table | インポートステージングテーブルの名前。 データタイプ:文字列 |
cURL 要求のサンプル
curl "https://instance.servicenow.com/api/now/import/imp_user/e2928be64f411200adf9f8e18110c777" \
--request GET \
--header "Accept:application/json" \
--user "username":"password"
{
"import_set": "ISET0010001",
"staging_table": "imp_user",
"result": [
{
"transform_map": "User",
"table": "sys_user",
"display_name": "name",
"display_value": "John Public",
"record_link": "https://instance.service-now.com/api/now/table/sys_user/ea928be64f411200adf9f8e18110c777",
"status": "inserted",
"sys_id": "ea928be64f411200adf9f8e18110c777"
}
]
}
インポートセット:POST /now/import/{stagingTableName}
指定されたステージングテーブルに受信データを挿入し、インポートセットテーブルの事前定義された変換マップに基づいて変換をトリガーします。
URL 形式
バージョニングされた URL: /api/now/{api_version}/import/{stagingTableName}
デフォルト URL: /api/now/import/{stagingTableName}
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプション。アクセスするエンドポイントのバージョン。たとえば、 v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| ステージングテーブル名 | データのインポート元のテーブルの名前。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| コール固有 | インポートフィールドに挿入する名前と値のペア。 データタイプ:文字列 |
ヘッダー
次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| Content-Type | 要求本文のデータ形式。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 201 | 成功。要求が正常に作成されました。 |
| 401 | 権限がありません。ユーザー認証情報が正しくないか、渡されていません。 |
| 500 | 内部サーバーエラー要求の処理中に予期しないエラーが発生しました。応答には、エラーに関する追加情報が含まれています。 |
応答本文のパラメーター (JSON または XML)
| 名前 | 説明 |
|---|---|
| import_set | インポートセットの名前。 データタイプ:文字列 |
| result | インポートされたデータセットに関する情報を含むオブジェクトのリスト。 データタイプ:アレイ |
| result.display_name | 表示値が true であるテーブル内の特定の列の表示名。たとえば、 数値です。 データタイプ:文字列 |
| result.display_value | display_name列の表示値。たとえば、 CHG0000123 などです。 データタイプ:文字列 |
| result.record_link | インポートされたレコードのテーブル API GET 要求。 データタイプ:文字列 |
| result.status | インポートのステータス。 データタイプ:文字列 |
| result.sys_id | インポートレコードのSys_id。 データタイプ:文字列 |
| result.table | データがインポートされたテーブルの名前。 データタイプ:文字列 |
| result.transform_map | 変換マップの名前。 データタイプ:文字列 |
| staging_table | インポートステージングテーブルの名前。 データタイプ:文字列 |
cURL 要求のサンプル
curl "https://instance.servicenow.com/api/now/import/imp_user" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{'first_name':'John','last_name':'Public','user_id':'john.public','email':'john.public@company.com'}" \
--user "username":"password"
{
"import_set": "ISET0010001",
"staging_table": "imp_user",
"result": [
{
"transform_map": "User",
"table": "sys_user",
"display_name": "name",
"display_value": "John Public",
"record_link": "https://instance.servicenow.com/api/now/table/sys_user/ea928be64f411200adf9f8e18110c777",
"status": "inserted",
"sys_id": "ea928be64f411200adf9f8e18110c777"
}
]
}
インポートセット:POST /now/import/{stagingTableName}/insertMultiple
指定されたステージングテーブルに複数のレコードを挿入し、事前定義された変換マップまたは強力な変換エンジン (RTE) 構成に基づいて単一の要求で変換をトリガーします。
デフォルトでは、変換は非同期です。同期変換を設定するには、REST での複数挿入 [sys_rest_insert_multiple] テーブルに新しいレコードを作成し、ソーステーブルを選択して、変換を同期に設定します。
- データソースファイル形式
- JSON データソースからステージングテーブルを生成する場合は、ソースファイルの JSON 形式と一致させます。
- ステージングテーブルの列形式
- デフォルト。キーと値のペアのステージングテーブル列要求本文形式と一致します。
URL 形式
バージョニングされた URL: /api/now/{api_version}/import/{stagingTableName}/insertMultiple
デフォルト URL: /api/now/import/{stagingTableName}/insertMultiple
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプション。アクセスするエンドポイントのバージョン。たとえば、 v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| ステージングテーブル名 | データのインポート元のインポートセットテーブルの名前。「 インポートセットの主要な概念」を参照してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| multi_import_set_id | マルチインポートセット [sys_multi_import_set] テーブルのエントリのSys_id。指定した場合、新しい複数インポートセットに追加する代わりに、現在のインポートをこの複数インポートセットに追加します。 データタイプ:文字列 テーブル: |
| run_after | 実行するエントリのSys_id。指定したインポートセットが完了した後に現在のインポートセットを実行できるようにします。このパラメーターを使用して、インポートの順序を強制することができます。 このパラメーターは、非同期変換でのみ有効です。 データタイプ:文字列 テーブル:インポートセット [sys_import_set] |
| フォーマット | 説明 |
|---|---|
| データソースファイル | この要求本文形式は、データソースの作成に使用された JSON ファイル形式と一致します。データソースの JSON と同じ形式で要求本文を指定します。JSON 入力は、データソースのプロパティによって異なります。ファイルタイプのデータソースの JSON 情報を参照してください。
データタイプ: オブジェクト |
| ステージングテーブル列 (デフォルト) | この要求本文形式は、ステージングテーブルの列と一致します。インポートフィールドに挿入するステージングテーブル列に一致するキーと値のペアの records アレイを使用します。各 JSON キーは、テーブル列を挿入する値を表す JSON 値にマップします。JSON 入力は、ステージングテーブルのフィールドによって異なります。 列マッピングのデフォルトキー値は列テーブルです。 マッピング設定を変更するには、[Rest Insert Multiples [sys_rest_insert_multiple] テーブルにエントリを追加し、 列マッピング を [ラベル] から [列名] に変更します。 Data dictionary tablesは、システム内のテーブルフィールドの詳細を提供します。 データタイプ:アレイ |
ヘッダー
次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| Content-Type | 要求本文のデータ形式。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 201 | 成功。要求が正常に作成されました。 |
| 401 | 権限がありません。ユーザー認証情報が正しくないか、渡されていません。 |
| 500 | 内部サーバーエラー要求の処理中に予期しないエラーが発生しました。応答には、エラーに関する追加情報が含まれています。 |
応答本文 (JSON)
| 名前 | 説明 |
|---|---|
| import_set_id | 追加されたレコードのSys_id。非同期要求の場合は、このインポートセットプロセスが完了した後に、この値を使用して別のインポートセットを実行できます。 データタイプ:文字列 テーブル:インポートセット [sys_import_set] |
| multi_import_set_id | 追加されたレコードのSys_id。複数のインポートセットを 1 つのセットにグループ化するには、この値を使用します。 データタイプ:文字列 テーブル:マルチインポートセット [sys_multi_import_set] |
cURL 要求のサンプル
次の例は、ステージングテーブルの列形式を使用して、u_employee_import_set_table と呼ばれるインポートテーブルで変換を実行する方法を示しています。
curl "https://instance.servicenow.com/api/now/import/u_employee_import_set_table/insertMultiple" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"records\": [
{
\"Address\": \"Hollywood\",
\"Name\": \"Tom\",
\"ID\": \"123\"
},
{
\"Address\": \"Vine\",
\"Name\": \"Irene\",
\"ID\": \"456\"
}
]
}" \
--user 'username':'password'
結果には、インポートセット [sys_import_set] テーブルおよびマルチインポートセット [sys_multi_import_set] テーブルの新しいレコードのsys_idsが含まれます。
{
"import_set_id": "<import_set_sys_id>",
"multi_import_set_id": "<multi_import_set_sys_id>"
}