ヘッダーと本文の設定
必要に応じて、使用する呼び出しの形式やリソースのバージョンを考慮しながら要求ヘッダーおよび要求本文を設定します。
要求ヘッダー
要求ヘッダーはバージョン2とバージョン3のリソースで少し異なります。
バージョン2の呼び出しでは、REST API要求ヘッダーで次の形式を使用します。
<METHOD> <serverUrl>/<URI> HTTP/<HTTP version>
Content-Type: application/<json | xml>
Accept: application/<json | xml>
icSessionId: <SessionId>
バージョン3の呼び出しでは、REST API要求ヘッダーで次の形式を使用します。
<METHOD> <baseApiUrl>/<URI> HTTP/<HTTP version>
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <SessionId>
Postmanなどのツールを使用する場合、要求にはHTTPバージョンが自動的に含められることに注意してください。URLにHTTPバージョンを入力すると、HTTPバージョンがURLで2回出現するため、要求が成功しません。
次のリストは、バージョン2とバージョン3の要求ヘッダーの形式の属性を示します。
属性 | 必須 | 説明 |
---|
METHOD | はい | 使用するメソッド(GET、POST、DELETEなど)。 |
serverUrl | ほとんどのv2リソースで必須 | loginとregisterを除くすべてのバージョン2リソースのベースURL。 serverUrlにはプレースホルダを使用し、プレースホルダをloginリソースによって返されるInformatica Intelligent Cloud Services URLに置き換えます。 loginおよびregisterリソースでは、リソースにリストされるURLを使用します。 |
baseApiUrl | ほとんどのv3リソースで必須 | loginを除くすべてのバージョン3リソースのベースURL。 baseApiUrlにはプレースホルダを使用し、プレースホルダをloginリソースによって返されるInformatica Intelligent Cloud Services URLに置き換えます。 loginリソースでは、リソース定義にリストされるURLを使用します。 |
URI | ほとんどのリソースで必須 | リソースURI。 URIにはベースURLとリソース名を含めます。パラメータを含めることもできます。 loginおよびregisterリソースでは、リソース定義にリストされるURLを使用します。 |
HTTP version | はい | 使用しているHTTPバージョン。 Postmanなどの一部のツールではヘッダーにHTTPバージョンが自動的に含められます。 |
Content-Type | POST要求で必須 | 要求の形式。次のいずれかのオプションを使用します。 - - application/json。要求をJSONとして読み取ります。
- - application/xml。要求をXMLとして読み取ります。バージョン2リソースにのみ適用できます。
デフォルトはjsonです。 |
承認 | いいえ | 受信する要求形式。次のいずれかのオプションを使用します。 - - application/json。要求をJSONとして送信します。
- - application/xml。要求をXMLとして送信します。バージョン2リソースにのみ適用できます。
デフォルトはjsonです。 |
icSessionId | ほとんどのv2リソースで必須 | Informatica Intelligent Cloud ServicesセッションID。loginとregisterを除くすべてのバージョン2リソースで必須。 sessionIdにはプレースホルダを使用し、プレースホルダをloginリソースによって返されるセッションIDに置き換えます。 |
INFA-SESSION-ID | ほとんどのv3リソースで必須 | Informatica Intelligent Cloud ServicesセッションID。loginを除くすべてのバージョン3リソースで必須。 sessionIdにはプレースホルダを使用し、プレースホルダをloginリソースによって返されるセッションIDに置き換えます。 |
要求本文
要求本文を使用してリソースの追加属性を渡します。要求本文で属性を渡すとき、属性はオブジェクトの一部として渡します。
例えば、loginリソースにログインするには、ログインオブジェクトの必要なusername属性とpassword属性を渡します。
一部の要求には、属性のサブオブジェクトが含まれます。サブオブジェクトは、関連する属性をリストする前に宣言します。
JSON形式
バージョン2 REST API呼び出しにJSON形式を使用するときは、次の例に示すように、必要に応じて、@type属性の要求オブジェクトを定義することができます。
{
"@type": "<request object>",
"<attribute1>": "<value1>",
"<attribute2>": "<value2>",
}
属性にオブジェクトが含まれるときは、属性を示し、次のようにオブジェクト名を使用します。
{
"@type": "<request object>",
"<attribute1>": "<value1>",
"<attribute2>": {
"@type": "<attribute object>",
"<attributeA>": "<valueA>",
"<attributeB>": "<valueB>",}
"@type": "<attribute object>",
"<attributeD>": "<valueD>",
"<attributeE>": "<valueE>",}
"<attribute3>": "<value3>",
}
注: バージョン3 REST API呼び出しでは、@type属性を使用しないでください。
XML形式
XML形式を使用する場合は、次のように、要求オブジェクトをタグの包含セットとして定義します。
<request object>
<attribute1>value1</attribute1>
<attribute2>value2</attribute2>
</request object>
属性にオブジェクトが含まれるときは、次のように属性オブジェクトを属性タグ内に囲みます。
<request object>
<attribute1>value1</attribute1>
<attribute2>
<attribute object>
<attributeA>valueA</attributeA>
<attributeB>valueB</attributeB>
</attribute object>
<attribute object>
<attributeC>valueC</attributeC>
<attributeD>valueD</attributeD>
</attribute object>
</attribute2>
<attribute3>value3</attribute3>
</request object>
戻りリスト
REST APIは、一連のオブジェクトをXMLで返すとき、次のようにrootタグでリストを囲みます。
<root>
<return object 1>
<attribute1>value1</attribute1>
<attribute2>value2</attribute2>
</return object 1>
<return object 2>
<attribute1>value1</attribute1>
<attribute2>value2</attribute2>
</return object 2>
</root>
JSONでは、追加の属性は使用しません。REST APIは、次のように角かっこ([ ])でリストを囲みます。
[
{
"<attribute1>": "<value1>",
"<attribute2>": "<value2>",
}{
"<attribute1>": "<value1>",
"<attribute2>": "<value2>",
}
]
JSON形式の例
JSONを使用してログインするには、次の要求ヘッダーおよび本文を使用できます。
POST https://dm-us.informaticacloud.com/saas/public/core/v3/login
Content-Type: application/json
Accept: application/json
{
"username": "user@informatica.com",
"password": "mypassword"
}
ログインによって、次の情報が返される可能性があります。
{
"products": [
{
"name": "Integration Cloud",
"baseApiUrl": "https://pod.clouddev.informaticacloud.com/saas"
}
],
"userInfo": {
"sessionId": "9KA11tLGqxVcGeul8SQBK3",
"id": "9L1GFroXSDHe2IIg7QhBaT",
"name": "user",
"parentOrgId": "52ZSTB0IDK6dXxaEQLUaQu",
"orgId": "0cuQSDTq5sikvN7x8r1xm1",
"orgName": "MyOrg_INFA",
"groups": {},
"status": "Active"
}
}
次に、sessionIdおよびbaseapiUrlを使用して要求を構成し、次のような組織のライセンス情報を取得できます。
GET https://pod.clouddev.informaticacloud.com/saas/public/core/v3/license/org/{orgId}
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: IV4wOrJmd6YUtmKa8t
XML形式の例
バージョン2リソースではXML呼び出しを使用できます。
XMLを使用してログインするには、次のヘッダーおよび本文を使用できます。
POST https://dm-us.informaticacloud.com/ma/api/v2/user/login
Content-Type: application/xml
Accept: application/xml
<login>
<username>useremail@company.com</username>
<password>mypassword</password>
</login>
ログインによって、次の情報が返される可能性があります。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user>
<id>00000B03000000000001</id>
<orgId>00000B</orgId>
<name>user@company.com</name>
<createTime>2012-06-14T15:00:00.000Z</createTime>
<updateTime>2012-06-14T15:00:00.000Z</updateTime>
<createdBy>System</createdBy>
<updatedBy>user@company.com</updatedBy>
<firstName>Firstname</firstName>
<lastName>Lastname</lastName>
<title>Senior Software Engineer</title>
<password>********</password>
<phone>11111111111111111111</phone>
<timezone>America/Los_Angeles</timezone>
<serverUrl>http://example.informatica.com/saas</serverUrl>
<icSessionId>IV4wOrJmd6YUtmKa8t</icSessionId>
</user>
その後、icSessionIdとserverUrlを使用すると、次のようにスケジュールを削除する要求を作成できます。スケジュールIDは000001D0000000000001です。
DELETE http://example.informatica.com/saas/api/v2/schedule/000001D0000000000001
Accept: application/xml
icSessionId: IV4wOrJmd6YUtmKa8t
DELETEメソッドには要求本文で渡す追加の属性がないため、Content-Typeは必要ありません。