AppPotからデータを取得するためのAPIです。
オブジェクトIdを指定して1件だけ取得する方法と、さまざまな条件を指定して複数のレコードを取得する方法があります。
また、レコードの件数のみを取得するAPIも提供されています。

オブジェクトIdを指定したGet Data

オブジェクトIdを指定して、1件のレコードを取得する場合に使用します。

URL

  • GET
http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/data/{objectName}/{objectId}?token={userToken}

Authentication

ユーザー認証が完了している必要があります。

Content-Type: application/json

Request parameters

Name Data Format Description
objectName String (Required) 取得したいデータのAPオブジェクト名
objectId String (Required) 取得したいレコードのオブジェクトId
userToken String (Required) Login APIの結果得られたユーザートークン

Request example

http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/grandfather/12345?token=dummytoken

Response example

{
   "grandfather":[
      {
         "serverCreateTime":"2014-10-28T14:49:12.779+07:00",
         "createUserId":"2",
         "scopeType":"3",
         "serverUpdateTime":"2014-10-28T14:49:12.779+07:00",
         "CreateTime":"1390085336544",
         "groupIds":"{1}",
         "UpdateTime":"123546512",
         "name":"Grand1",
         "serverRecordStatus":"1",
         "objectId":"12345"
      }
   ]
}

複雑なクエリを使用するGet Data

さまざまな条件を指定して、複数のレコードを取得する場合に使用します。

URL

  • POST
http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/data/query/{objectName}

Authentication

ユーザー認証が完了している必要があります。

Header

Content-Type: application/json
apppot-token: token

Name Data Format Description
apppot-token String (Required) Login APIの結果得られたユーザートークン

Request parameters

Name Data Format Description
from String (Required) 取得するAPオブジェクトに関する情報を指定します
from.phyName String (Required) fromのAPオブジェクト名
from.alias String (Required) fromのAPオブジェクトのエイリアス名
join join配列 (Optional) fromで指定したAPオブジェクトと、他のAPオブジェクトを結合させたい場合に使用します
join.entity String (joinを指定する場合Required) 結合する対象のAPオブジェクト名
join.entityAlias String (joinを指定する場合Required) 結合する対象のAPオブジェクトのエイリアス
join.expression String (joinを指定する場合Required) JOINの際の条件式を指定します。APオブジェクト名はエイリアスを使って下さい
join.expression.source String (joinを指定する場合Required) 条件式を指定します。paramsで指定するパラメタは?で指定してください。APオブジェクト名はエイリアスを使って下さい。
join.expression.params String配列 (joinを指定する場合Required) 条件式で指定した?を置き換えるパラメタ値を指定します。
join.type String (joinを指定する場合Required) "INNER JOIN""LEFT OUTER JOIN""RIGHT OUTER JOIN"を指定できます
where whereオブジェクト (Optional) if recordId is not specified, return max record data
where.expression expressionオブジェクト (whereを指定する場合Required)
where.expression.source String (whereを指定する場合Required) 条件式を指定します。paramsで指定するパラメタは?で指定してください。APオブジェクト名はエイリアスを使って下さい。
where.expression.params String配列 (whereを指定する場合Required) 条件式で指定した?を置き換えるパラメタ値を指定します。
orderBy orderBy配列 (Optional) ソートキーを配列で指定できます
orderBy.column String (orderByを指定する場合Required) ソートキーに指定するカラム名を指定します。APオブジェクト名はエイリアスを使って下さい
orderBy.type String (orderByを指定する場合Required) 昇順の場合は"ASC"、降順の場合は"DESC"
range rangeオブジェクト (Optional) 取得する範囲を指定します。{"offset":"2", "limit":"10"の場合、3件目から10件のデータを取得することを指定したことになります
range.offset String (rangeを指定する場合Required) 何件目から取得するかを指定します。1件目の場合は0です。0以上の値を指定する必要があります。
range.limit String (rangeを指定する場合Required) 何件取得するかを指定します。1以上の値を指定する必要があります。

Request example

{
	"from":{
		"phyName":"grandfather",
		"alias":"gf"
	},
	"join":[
		{
			"expression":{
				"source":"#gf.objectId = #fa.refGrand"
			},
			"entityAlias":"fa",
			"type":"INNER JOIN",
			"entity":"father"
		}
	],
	"where":{
		"expression":{
			"source":"#gf.objectId = ?",
			"params":[
				"1"
			]
		}
	},
	"orderBy":[
		{
			"column":"#gf.createUserId",
			"type":"ASC"
		}
	],
	"range":{
		"offset":"2",
		"limit":"10"
	}
}

Response example

{
   "fa":[
      {
         "createUserId":"2",
         "refChild":"1",
         "serverUpdateTime":"2014-10-28T14:49:12.779+07:00",
         "CreateTime":"1390085336544",
         "serverCreateTime":"2014-10-28T14:49:12.779+07:00",
         "scopeType":"3",
         "groupIds":"{1}",
         "UpdateTime":"123546512",
         "name":"Father1",
         "serverRecordStatus":"1",
         "age":"",
         "objectId":"2",
         "refGrand":"1"
      }
   ],
   "gr":[
      {
         "serverCreateTime":"2014-10-28T14:49:12.779+07:00",
         "createUserId":"2",
         "scopeType":"3",
         "serverUpdateTime":"2014-10-28T14:49:12.779+07:00",
         "CreateTime":"1390085336544",
         "groupIds":"{1}",
         "UpdateTime":"123546512",
         "name":"Grand1",
         "serverRecordStatus":"1",
         "objectId":"1"
      }
   ]
}

レコード件数取得

対象のレコードの件数を取得できます。
「複雑なクエリを使用するGet Data」と同じクエリを発行できます。ただし、取得件数を指定するrange指定は無視します。

URL

  • POST
http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/data/query/{objectName}/count

Authentication

ユーザー認証が完了している必要があります。

Header

Content-Type: application/json
apppot-token: token

Name Data Format Description
apppot-token String (Required) Login APIの結果得られたユーザートークン

Request parameters

「複雑なクエリを使用するGet Data」と同様です。ただし、取得件数を指定するrange指定は無視します。

Request example

「複雑なクエリを使用するGet Data」と同様です。

Response example

{
   "count":1
}

Response properties

Name Data Format Description
errCode int Response error code: 0, 102, 110, 120, 121, 132, 198, 212
status String OK or error
description String Error’s description
results String Array records.