※注意
- この記事はIISの独自研究(コードリーディングとデバッグ)によるものです。公式の仕様ではありません。
- 2018/12/14時点での情報です。アップデートにより変更となる可能性があります。
プリザンターのAPI
プリザンターはAPIにより外部システムとの連携を行うことができます。
参照: https://github.com/Implem/Implem.Pleasanter/wiki/%E3%83%97%E3%83%AA%E3%82%B6%E3%83%B3%E3%82%BF%E3%83%BC%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB#api%E6%A9%9F%E8%83%BD
2018/12/14現在、Depts・Groups・Items・Usersの4種類のデータを取得することができます(Itemsでは作成・更新・削除も可能です)。
複数レコードの取得をする場合は、リクエストのjsonデータに取得条件を指定することができます。
参照: https://github.com/Implem/Implem.Pleasanter/wiki/API%E6%A9%9F%E8%83%BD%EF%BC%9A%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E6%93%8D%E4%BD%9C%EF%BC%9A%E8%A4%87%E6%95%B0%E5%8F%96%E5%BE%97
・jsonのサンプル(前述の公式マニュアルより)
{
"ApiKey": "XXXXXXXXXX...",
"Offset": 0,
"View": {
"NearCompletionTime": true,
"ColumnFilterHash": {
"ClassA": "[\"設計\",\"構築\"]",
"NumA": "[\"3000,3999\"]",
"DateA": "[\"2018/02/01 0:00:00,2018/2/28 23:59:59.997\"]",
"CheckA": "true"
}
}
}
ColumnFilterHashに主にテーブルのカラム+αの様々な条件を指定することができます。
この指定ですがいくつか設定のパターンがあり、いつも迷ってしまうので表にまとめてみました。
パターン
SearchText
|
説明 |
概要 |
複数のカラムに対するLikeのor検索。一つの値で複数のカラムにlikeする |
設定値の形式 |
"u" |
発行されるクエリのイメージ |
column1 like '%u%' or column2 like '%u%' |
id
|
説明 |
概要 |
idカラムに対するマッチ |
設定値の形式 |
"1" |
数値
|
説明 |
概要 |
数値カラムに対するin検索。配列で複数の値を指定する |
設定値の形式 |
["0","1"] |
発行されるクエリのイメージ |
colimn1 in (0,1) |
日時
|
説明 |
概要 |
日付カラムに対する検索。,つないだ日付でbetween検索。さらにそれを配列で複数指定するとor検索 |
設定値の形式 |
["2018-01-01,2018-01-02","2018-01-03,2018-01-04"] |
発行されるクエリのイメージ |
column1 between '2018/01/01 0:0:0' and '2018/01/02 0:0:0.000' or column1 between '2018/01/03 0:0:0' and '2018/01/04 0:0:0.000' |
文字列(ChoicesText)
|
説明 |
概要 |
definition_Column.xlsmのControlTypeがChoicesTextのもの。文字列カラムに対するマッチ。配列で複数の値を指定する。値の関係はor検索。 |
設定値の形式 |
["0","1"] |
発行されるクエリのイメージ |
column1='0' or column1='1' |
文字列(ChoicesTextでない)
|
説明 |
概要 |
文字列カラムに対するlike検索。直値を指定する。 |
設定値の形式 |
"0" |
発行されるクエリのイメージ |
'0' = '' or column1 like '%0%' |
真偽値(ONのみ)
|
説明 |
概要 |
bitカラムに対するマッチ |
設定値の形式 |
"true" |
発行されるクエリのイメージ |
column1 = '1' |
真偽値(ON/OFF)
|
説明 |
概要 |
bitカラムに対するマッチ |
設定値の形式 |
"1"(ON) または "2"(OFF) |
発行されるクエリのイメージ |
column1 = 1 または column1 = 2 |
URL中のID
|
説明 |
概要 |
ItemsのGetAPIのapi/items/{id}/getの{id}。テーブルのIDまたはレコードのIDのいずれかにマッチ。テーブルのIDとマッチした場合、テーブルのレコード全体を取得。レコードのIDとマッチした場合、該当の1レコードのみを取得。 |
SiteTitle
|
説明 |
概要 |
SiteIdカラムに対するin検索。配列で複数の値を指定する |
設定値の形式 |
["0","1"] |
発行されるクエリのイメージ |
SiteId in (0,1) |
Users APIで指定できるもの
キー名 |
パターン |
対象のカラム |
SearchText |
SearchText |
Users.LoginId, Users.Name, Users.UserCode, Users.Body, Depts.DeptCode, Depts.DeptName, Depts.Body |
SiteId |
id |
(特殊) 指定のサイトIDのサイトに対する権限のあるユーザーだけを取得する。 |
TenantId |
数値 |
TenantId |
UserId |
数値 |
UserId |
Ver |
数値 |
Ver |
LoginId |
文字列(ChoicesTextでない) |
LoginId |
GlobalId |
文字列(ChoicesTextでない) |
GlobalId |
Name |
文字列(ChoicesTextでない) |
Name |
UserCode |
文字列(ChoicesTextでない) |
UserCode |
Password |
文字列(ChoicesTextでない) |
Password |
LastName |
文字列(ChoicesTextでない) |
LastName |
FirstName |
文字列(ChoicesTextでない) |
FirstName |
Birthday |
日時 |
Birthday |
Gender |
文字列(ChoicesText) |
Gender |
Language |
文字列(ChoicesText) |
Language |
TimeZone |
文字列(ChoicesText) |
TimeZone |
DeptId |
数値 |
DeptId |
FirstAndLastNameOrder |
数値 |
FirstAndLastNameOrder |
Body |
文字列(ChoicesTextでない) |
Body |
LastLoginTime |
日時 |
LastLoginTime |
PasswordExpirationTime |
日時 |
PasswordExpirationTime |
PasswordChangeTime |
日時 |
PasswordChangeTime |
NumberOfLogins |
数値 |
NumberOfLogins |
NumberOfDenial |
数値 |
NumberOfDenial |
TenantManager |
真偽値(ONのみ) |
TenantManager |
ServiceManager |
真偽値(ONのみ) |
ServiceManager |
Disabled |
真偽値(ON/OFF) |
Disabled |
Lockout |
真偽値(ONのみ) |
Lockout |
LockoutCounter |
数値 |
LockoutCounter |
Developer |
真偽値(ONのみ) |
Developer |
UserSettings |
文字列(ChoicesTextでない) |
UserSettings |
ApiKey |
文字列(ChoicesTextでない) |
ApiKey |
ClassA |
文字列(ChoicesTextでない) |
ClassA |
(省略) |
... |
... |
ClassZ |
文字列(ChoicesTextでない) |
ClassZ |
NumA |
数値 |
NumA |
(省略) |
... |
... |
NumZ |
数値 |
NumZ |
DateA |
日時 |
DateA |
(省略) |
... |
... |
DateZ |
日時 |
DateZ |
DescriptionA |
文字列(ChoicesTextでない) |
DescriptionA |
(省略) |
... |
... |
DescriptionZ |
文字列(ChoicesTextでない) |
DescriptionZ |
CheckA |
真偽値(ONのみ) |
CheckA |
(省略) |
... |
... |
CheckZ |
真偽値(ONのみ) |
CheckZ |
LdapSearchRoot |
文字列(ChoicesTextでない) |
LdapSearchRoot |
SynchronizedTime |
日時 |
SynchronizedTime |
Comments |
文字列(ChoicesTextでない) |
Comments |
Creator |
数値 |
Creator |
Updator |
数値 |
Updator |
CreatedTime |
日時 |
CreatedTime |
UpdatedTime |
日時 |
UpdatedTime |
Groups APIで指定できるもの
キー名 |
パターン |
対象のカラム |
SearchText |
SearchText |
Groups.GroupId, Groups.GroupName, Groups.Body |
SiteId |
id |
(特殊) 指定のサイトIDのサイトに対する権限のあるグループだけを取得する。 |
UserId |
id |
(特殊) 指定のユーザーIDのユーザーが属するグループだけを取得する。 |
TenantId |
数値 |
TenantId |
GroupId |
数値 |
GroupId |
Ver |
数値 |
Ver |
GroupName |
文字列(ChoicesTextでない) |
GroupName |
Body |
文字列(ChoicesTextでない) |
Body |
Comments |
文字列(ChoicesTextでない) |
Comments |
Creator |
数値 |
Creator |
Updator |
数値 |
Updator |
CreatedTime |
日時 |
CreatedTime |
UpdatedTime |
日時 |
UpdatedTime |
Depts APIで指定できるもの
キー名 |
パターン |
対象のカラム |
SearchText |
SearchText |
Depts.DeptId, Depts.DeptName, Depts.Body |
SiteId |
id |
(特殊) 指定のサイトIDのサイトに対する権限のある組織だけを取得する。 |
UserId |
id |
(特殊) 指定のユーザーIDのユーザーが属する組織だけを取得する。 |
TenantId |
数値 |
TenantId |
DeptId |
数値 |
DeptId |
Ver |
数値 |
Ver |
DeptCode |
文字列(ChoicesTextでない) |
DeptCode |
DeptName |
文字列(ChoicesTextでない) |
DeptName |
Body |
文字列(ChoicesTextでない) |
Body |
Comments |
文字列(ChoicesTextでない) |
Comments |
Creator |
数値 |
Creator |
Updator |
数値 |
Updator |
CreatedTime |
日時 |
CreatedTime |
UpdatedTime |
日時 |
UpdatedTime |
Items APIで指定できるもの
キー名 |
パターン |
対象のカラム |
URL中のID |
URL中のID |
Items.ReferenceId |
SiteId |
数値 |
SiteId |
UpdatedTime |
日時 |
UpdatedTime |
IssueId |
数値 |
IssueId |
ResultId |
数値 |
ResultId |
Ver |
数値 |
Ver |
Title |
文字列(ChoicesTextでない) |
Title |
Body |
文字列(ChoicesTextでない) |
Body |
StartTime |
日時 |
StartTime |
CompletionTime |
日時 |
CompletionTime |
WorkValue |
数値 |
WorkValue |
ProgressRate |
数値 |
ProgressRate |
Status |
数値 |
Status |
Manager |
数値 |
Manager |
Owner |
数値 |
Owner |
ClassA |
文字列(ChoicesTextでない) |
ClassA |
(省略) |
... |
... |
ClassZ |
文字列(ChoicesTextでない) |
ClassZ |
NumA |
数値 |
NumA |
(省略) |
... |
... |
NumZ |
数値 |
NumZ |
DateA |
日時 |
DateA |
(省略) |
... |
... |
DateZ |
日時 |
DateZ |
DescriptionA |
文字列(ChoicesTextでない) |
DescriptionA |
(省略) |
... |
... |
DescriptionZ |
文字列(ChoicesTextでない) |
DescriptionZ |
CheckA |
真偽値(ONのみ) |
CheckA |
(省略) |
... |
... |
CheckZ |
真偽値(ONのみ) |
CheckZ |
AttachmentsA |
文字列(ChoicesTextでない) |
AttachmentsA |
(省略) |
... |
... |
AttachmentsZ |
文字列(ChoicesTextでない) |
AttachmentsZ |
Comments |
文字列(ChoicesTextでない) |
Comments |
Creator |
数値 |
Creator |
Updator |
数値 |
Updator |
CreatedTime |
日時 |
CreatedTime |
最後に
IISはプリザンターのカスタマイズの経験が豊富です。
プリザンター導入に際してカスタマイズをご検討されている方は是非ご相談ください!
またご不明点やご質問などございましたら弊社までお問い合わせください。