Gateway APIでは、AppPotが受け取ったリクエストを事前に設定された宛先に送ります。
他のGetData等のAppPotのJSONレスポンスが持つ、errCode
、status
、description
を
連携先のレスポンスの外側に付けて返すAPIと、連携先のレスポンスをそのまま返すAPIが用意されています。
連携先のレスポンスがJSONとして扱える場合は、AppPotのJSONレスポンス形式を使用することで
クライアント側のコードをGetData等の他のAPIと共通化させることができます。
連携先のレスポンスが例えばHTMLや、バイナリファイルを返却する場合は、
連携先のレスポンスをそのまま返すAPIを使用して、
クライアント側で受け取ったレスポンスに対して、任意の処理を行うことができます。
処理シーケンス
- リクエストの受信
- セキュリティトークンの確認
- ログ出力
- 呼び出し先へのリクエストの転送
- クライアントへのレスポンスの転送
共通
Authentication
ユーザー認証が完了している必要があります。
- Content-Type: application/json
- apppot-token: token*
Name |
Data Format |
Description |
apppot-token |
String |
(Required) UserAuthToken |
HTTP Method
POST, PUT, GET, DELETEが使用できます。
呼び出し先にも同じHTTP Methodを使用します。
AppPotのJSONレスポンス形式でレスポンスを受け取りたい場合
URL
http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/gateway/{serviceName}/{userUrl}?{QueryParameter}
または
http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/gateway/{serviceName}/json/{userUrl}?{QueryParameter}
Request parameters
Name |
Data Format |
Description |
serviceName |
String |
(Required) 管理画面で設定したサービス名を指定してください。 |
userUrl |
String |
(Required) 任意のURLのPATHを指定できます。呼び出し先に連携されます。 |
QueryParameter |
String |
(Option) 任意のQueryパラメタを指定できます。呼び出し先に連携されます。 |
http://127.0.0.1:8080/apppot/api/1/test.app/1.0/gateway/testservice/testurl?name=test
または
http://127.0.0.1:8080/apppot/api/1/test.app/1.0/gateway/testservice/json/testurl?name=test
呼び出し先には以下のようなURLを使用します
http://{管理画面で指定した宛先ホスト名}:{管理画面で指定した宛先ポート番号}/{管理画面で指定したURL}/testurl?name=test
Body request content
呼び出し先にヘッダーと、メッセージボディをそのまま転送します。
Response example
レスポンスはAppPotの形式に、連携先のレスポンスが入った状態で返却されます。
連携先のレスポンスがJSON形式として異常な場合は、クライアント側のJSON解析処理でエラーになりますので、
注意して下さい。
{
"errCode": 0,
"status": "OK",
"description": null,
"results": {呼び出し先のレスポンス}
}
また、AppPotのレスポンスのContent-typeはapplication/json
固定となります。
Response properties
Name |
Data Format |
Description |
errCode |
int |
Response error code: 0, 105, 110, 120, 121, 131 |
status |
String |
(Required) API result status value. |
results |
String |
(Optional) anonymous token if request paramters are valid. |
description |
String |
(Optional) Detail error |
連携先のレスポンスをそのまま受け取りたい場合
URL
http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/gateway/{serviceName}/original/{userUrl}?{QueryParameter}
Request parameters
Name |
Data Format |
Description |
serviceName |
String |
(Required) 管理画面で設定したサービス名を指定してください。 |
userUrl |
String |
(Required) 任意のURLのPATHを指定できます。呼び出し先に連携されます。 |
QueryParameter |
String |
(Option) 任意のQueryパラメタを指定できます。呼び出し先に連携されます。 |
http://127.0.0.1:8080/apppot/api/1/test.app/1.0/gateway/testservice/original/testurl?name=test
呼び出し先には以下のようなURLを使用します
http://{管理画面で指定した宛先ホスト名}:{管理画面で指定した宛先ポート番号}/{管理画面で指定したURL}/testurl?name=test
Body request content
呼び出し先にヘッダーと、メッセージボディをそのまま転送します。
Response example
連携先のレスポンスがそのままAppPotから返却されます。
また、AppPotのレスポンスのContent-typeは連携先のレスポンスのものを使用します。