これは、Nerdio Manager Intune Insights UIを使用する代わりに、REST APIを通じてデプロイメントのHPおよびLenovoの保証検索インテグレーションをオンにしたいパートナー向けのデベロッパーガイドです。
デプロイメントに対して有効なキーが存在する場合、HPおよびLenovoデバイスの保証検索はすでにスケジュールに従って実行されています。このAPIは、そのキーを設定(または削除する)ためのものです。
|
インテグレーションタイプ |
資格情報フィールド( |
注: |
|---|---|---|
|
|
|
同期ジョブがHPを呼び出すためにどちらも必要とします。 |
|
|
|
同期ジョブがLenovoを呼び出すために必要です。 |
|
|
なし |
Nerdioによって完全に管理されています。管理画面では読み取り専用であり、資格情報フィールドはありません。 |
2つのタイプ文字列は契約の一部であり、示されている通りに正確に綴る必要があります。
重要
これらの文字列は大文字と小文字を区別します。例については以下の表を参照してください。
|
正解 |
不正解 |
|---|---|
|
|
|
|
|
|
これらの正確な文字列を一致させることが重要である理由の詳細については、以下のTwo exact type strings, no allow-listを参照してください。
すべての呼び出しでAuthorization:を使用します。Bearer <jwt>。ここで、JWTはNerdioが他のすべてのパートナー向け機能ですでに使用しているものと同じ管理者トークン発行から取得されます。
POST /api/nerdio/issue-jwt/admin
ApiSecret:<shared secret>
Content-Type: application/json
{ "userEmail": "you@example.com", "userName":\"Your Name\" }
レスポンス:200 OK
{ "jwt": "<admin JWT>" }
以下のインテグレーションエンドポイントにはインスタンス管理者ユーザーが必要であり、これは管理者JWTがすでに保持しているものです。これ以上の権限付与は必要ありません。
GET /api/admin/integrations/{type}
レスポンス:200 OK
{
"integrationId":10
"integrationType":"HpWarranty",
"isEnabled": true,
"isConfigured": true,
"configJson": null,
"createdAt":"2026-09-01T19:13:09.6863181Z",
"updatedAt":"2026-09-01T19:13:09.6863565Z"
}
isConfiguredは、認証情報がファイルに存在するかどうかを示します。認証情報自体は、このエンドポイントや他のどのエンドポイントからも返されることはありません。
不明な、または作成されたことのない{type}は、404 Not Foundを返します。
デプロイメント用に設定されたすべてのインテグレーションを一覧表示するには:
GET /api/admin/integrations
レスポンス:200 OK、保存済みのインテグレーションタイプごとに1つのエントリを含む、同じ形式の配列(論理削除されたものは除外されます)。
PUT /api/admin/integrations/{type}
Content-Type: application/json
{
"integrationType":"HpWarranty",
"isEnabled": true,
"credentialsJson": "{\"apiKey\":\"...\",\"apiSecret\":\"...\"}"
}
PUT /api/admin/integrations/{type}
Content-Type: application/json
{
"integrationType":"LenovoWarranty",
"isEnabled": true,
"credentialsJson": "{\"clientId\":\"...\"}"
}
レスポンス:200 OK。結果として得られるIntegrationResponseDto(セクション1と同じ形式)。
重要
この本文に関して、間違いやすい点が3つあります。
-
integrationTypeは、ルートに含まれていることに加え、ボディにも必須です。これを除外すると、{\"errors\":{\"IntegrationType\":[\"The IntegrationType field is required.\"]}}を伴う400が返されます。その値はルートと一致している必要はありません(Nerdio Manager は常にルート値で格納/検索を行います)が、完全に省略すると検証に失敗するため、毎回送信してください。 -
credentialsJsonは JSON を含む文字列であり、ネストされた JSON オブジェクトではありません。Nerdio Manager 自身の管理画面では、送信前にJSON.stringify(...)を使用してこれを構築します。文字列ではなく実際のネストされたオブジェクトとして送信すると、\"The JSON value could not be converted to System.String\"を伴う400が返されます。生の HTTP クライアントにおいて、ここでサイレント障害が発生することはありません。形式が正しくないcredentialsJsonは即座に拒否されます。 -
既存のインテグレーションで
credentialsJsonを省略すると、以前に保存された認証情報が保持されます。これが、秘密情報を手元に用意して再送信することなく、PUTを介してisEnabledを切り替える方法です。credentialsJsonは、実際に格納されている値を置き換えたい場合にのみ送信してください。
この呼び出しはアップサートです。{type} に対する最初の PUT で作成され、それ以降の PUT はすべて同じ行を更新します。
PATCH /api/admin/integrations/{type}/toggle
Content-Type: application/json
{ "isEnabled": false }
レスポンス:204 No Content。不明な {type} は 404 Not Found を返します。
DELETE /api/admin/integrations/{type}
レスポンス:成功した場合は 204 No Content、そのタイプでファイルに何も存在しない場合は 404 Not Found が返されます。これはソフト削除です。その後同じ {type} に対して PUT を再度呼び出すと、新しいレコード(新しい integrationId)が作成され、削除されたレコードが復元されることはありません。
Nerdio Managerには、HPまたはLenovoのキーを格納する前にベンダーに対して確認する手段がありません。誤字や期限切れのキーを保存しても、200 OKとisConfigured: trueが即座に返され、正しいキーの場合と全く同じ応答になります。
間違いは後になって静かに表面化します。次のスケジュールされた同期でベンダー呼び出しが試行されますが、失敗し、バックグラウンド同期ログに警告が書き込まれます。このAPIを呼び出した側には何も返されず、目に見えるエラーメッセージも表示されません。管理者から見ると、唯一の目に見える症状は、そのベンダーの保証日がデバイスに全く入力されないことだけです。もしそうなった場合は、資格情報の値自体を再確認してください。API呼び出しが200を返したからといって、キーが正しいとは限りません。
PUTは、既知のリストに対して{type}を検証しません。PUT /api/admin/integrations/HPWaranty(誤字)は200 OKを返し、正しく綴られたものと全く同じ行を作成します。間違いを捕捉する404は存在しません。
その行は、その後同期ジョブから永久に見えなくなります。読み取りパス(GET/PUT/DELETE)は、データベースに対して{type}を大文字と小文字を区別せずに照合するため、GET /api/admin/integrations/hpwarrantyは問題なくHpWarranty行を返し、誤字や大文字小文字が間違った保存でも、確認時には問題ないように見えます。しかし、同期ジョブは有効な統合を読み込み、メモリ内の型をリテラル"HpWarranty"および"LenovoWarranty"と大文字小文字を区別した完全一致で比較します。HPWaranty、hpwarranty、またはその他のバリエーションとして格納された行は、すべての読み取り側のチェックを通過しますが、すべての同期実行で警告なしにスキップされます。
重要
このパスのどこにもエラーはありません。行を作成したPUTからも、その後のGETからも、そして同期ジョブ(単に一致するものが見つからず先に進むだけ)からもエラーは発生しません。初回に2つの型文字列を正確に入力することが、現時点で唯一の対策です。より堅牢で明確なエラーレポートは、将来のリリースで計画されています。
|
ステータス |
いつ |
|---|---|
|
|
不正な形式のJSONボディ、 |
|
|
|
|
|
トークンは有効ですが、ユーザーはインスタンス管理者ではありません。 |
|
|
ファイルに行が存在しない |
|
|
|
|
アクション |
方法 2: |
{{path}} |
本文 |
|---|---|---|---|
|
管理者用JWTの取得 |
|
|
|
|
すべての統合を一覧表示 |
取得 |
|
なし |
|
1つの統合のステータスを取得 |
取得 |
|
なし |
|
オンにする / 資格情報を設定する |
|
|
|
|
オフにする / オンにする、資格情報を保持する |
|
|
|
|
完全に削除する |
削除 |
|
なし |
{type} が HpWarranty または LenovoWarranty の場合。DellWarranty に対してはこのAPIを呼び出さないでください。
コメント (0件のコメント)