Gateway APIでは、AppPotが受け取ったリクエストを事前に設定された宛先に送ります。
他のGetData等のAppPotのJSONレスポンスが持つ、errCodestatusdescription
連携先のレスポンスの外側に付けて返すAPIと、連携先のレスポンスをそのまま返すAPIが用意されています。

連携先のレスポンスがJSONとして扱える場合は、AppPotのJSONレスポンス形式を使用することで
クライアント側のコードをGetData等の他のAPIと共通化させることができます。

連携先のレスポンスが例えばHTMLや、バイナリファイルを返却する場合は、
連携先のレスポンスをそのまま返すAPIを使用して、
クライアント側で受け取ったレスポンスに対して、任意の処理を行うことができます。

処理シーケンス

  1. リクエストの受信
  2. セキュリティトークンの確認
  3. ログ出力
  4. 呼び出し先へのリクエストの転送
  5. クライアントへのレスポンスの転送

共通

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パラメタを指定できます。呼び出し先に連携されます。

  • 以下のようなURLを指定した場合、
 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パラメタを指定できます。呼び出し先に連携されます。

  • 以下のようなURLを指定した場合、
 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は連携先のレスポンスのものを使用します。