WEB Service/API/OData 設定
概要
SDI は、外部の Web Service / Web API と連携してデータの取得・更新を行えます。
サポートしている通信方式は REST、SOAP(HTTP) および OData(OData v2 / v4) です。
-
HTTP メソッド
GET / POST(※接続先 API の仕様により利用可否は異なります) -
OData
OData エンドポイントに対し、$filterなどのクエリオプションを利用したデータ取得に対応します。
(対応可否や挙動は接続先システムの OData 実装に依存します)
また、以下の認証方式がサポートされています。
- 匿名認証
- Basic 認証
- JSON Web Token(JWT)認証
- API Key 認証
Digest 認証(Ver.26.1.2より廃止)
設定
WEB Service/API/OData
ロケーションの指定には、WebService / API を選択します。
| No | 項目 | 説明 |
|---|---|---|
| 1 | データタイプ | CSV、Excel、JSON、XML、または OData のいずれかを選択します。 |
| 2 | Base URL | すべての相対 URL の基点となる URL を指定します。 |
| 3 | Authentication | 認証方法を選択 |
Basic 認証
| No | 項目 | 説明 |
|---|---|---|
| 4 | Username (Basic Authentication) |
Basic認証を選択した場合、ユーザー名を入力してください。 |
| 5 | Password (Basic Authentication) |
Basic認証を選択した場合、パスワードを入力してください。 |
JSON Web Token 認証
| No | 項目 | 説明 |
|---|---|---|
| 6 | Grant type | アクセストークンを取得する方法を指定するパラメータです。 |
| 7 | Scope | 接続先 API が要求する scope を文字列で指定します。 Scope が不要な API の場合は 空欄のままでも可(API 仕様に依存) |
| 8 | Token Endpoint | 認証トークンを取得するためのサーバー側のAPIエンドポイントです。 |
| 9 | Client ID | システムに登録されたお客様のアプリケーションを一意に識別するためのIDです。 *Grant typeにPasswordを選択した場合、システムによっては省略可能です。 |
| 10 | Client Secret | Client IDと共にクライアント(お客様のアプリケーション)を認証するための秘密鍵です。 *Grant typeにPasswordを選択した場合、システムによっては省略可能です。 |
| 11 | Username | システムを利用するユーザーを特定するための識別情報です。 |
| 12 | Password | ユーザーが認証されるための秘密情報です。Usernameと組み合わせて使用され、正しい情報が提供されるとシステムはJWTを発行し、認証されたセッションが確立されます。 |
API Key 認証
| No | 項目 | 説明 |
|---|---|---|
| 21 | API Key Header Name | APIリクエストのヘッダー内でAPI Keyをどこに配置するかを決める名前です。 例えば、一般的なAPI Keyのヘッダー名は x-api-key がよく使用されますが、システムによっては別のカスタム名が指定される場合があります。 |
| 22 | API Key | API Keyの値を入力してください。 |
Digest 認証(Ver.26.1.2より廃止)
| No | 項目 | 説明 |
|---|---|---|
| 23 | Username (Digest) |
Digest認証を選択した場合、ユーザー名を入力してください。 |
| 24 | Password (Digest) |
Digest認証を選択した場合、パスワードを入力してください。 |
ヘッダー・Cookie・トークンの扱い
Webリクエスト詳細で設定した独自ヘッダーは、GET・POSTとページング時のリクエストに送信されます。接続設定で認証を指定している場合は、その認証設定が手動の認証ヘッダーより優先します。匿名認証では、手動指定の Authorization を使用できます。不正なヘッダーはエラーになります。
Cookieは同じAPI実行のページ間で保持されます。別の実行や別コネクションには引き継がれません。
OAuthトークンは応答の expires_in に従って更新します。JWTの exp も読める場合は早い方の期限を使用し、期限直前に更新します。どちらからも期限を確認できない場合は固定時間でキャッシュせず再取得します。
Web APIの日時による差分取得は、マッピングソースの差分取得を参照してください。