Platio 管理 APIは、Platio APIの一部で、プログラミングを通して、Platio Studioで作成したミニアプリのユーザーを操作するためのWeb APIです。
このドキュメントは、Platio API プログラミングガイドに目を通していることを前提としています。まだ、ご覧になっていない場合は、まずそちらをご覧ください。
Platio 管理 APIを利用するには、アプリケーションを作成し、配布する必要あります。配布したアプリケーションに管理APIがアクセスできるユーザーを追加してください。ユーザーを作成、更新する時に「APIでのレコードや添付ファイルへのアクセスを許可」に加えて「APIでのユーザーの管理を許可」の両方をチェックします。
APIのエンドポイントや、認証方法などについては、Platio API プログラミングガイドをご覧ください。
リクエスト回数以外のAPIの制限については、Platio API プログラミングガイドをご覧ください。
一定時間内に使用できるリクエストの回数には、いくつかの制限があります。以下が現在の制限ですが、これらは変更される可能性があります。これらの制限は、アプリケーション単位で適用されます。
API | Premiumプランの制限 | Enterpriseプランの制限 |
---|---|---|
ユーザーリスト・ユーザーの取得 | N/A | 1時間あたり2,000リクエスト |
ユーザーの作成・更新・削除 | N/A | 1時間あたり1,000リクエスト |
これらの制限は、同じグループ内の全てのリクエストに適用されます。回数制限は毎時リセットされます。
リクエスト回数が制限に達すると、429ステータスコードと共に、TOO_MANY_REQUESTS
エラーレスポンスが返されます。
この章では、いくつかの例を挙げて、どのようにPlatio 管理 APIを使うのかを説明します。詳細については、Platio API リファレンスをご覧ください。
ユーザーの操作を行うAPIでは、共通ユーザー機能が有効かどうか、チーム機能が有効かどうかによって、APIで行える操作、APIに渡す情報、APIから返される情報が異なる事があります。操作対象の組織・アプリケーションの設定をご確認の上、ご利用ください。
ユーザーのリストを取得するには、GETリクエストを使用します。このAPIは、アプリケーションの最初の100ユーザーを、名前で昇順にソートして返します。
curl -u uf598c3f:mypassword \
'https://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/management/users'
次の100ユーザーを取得するには、skip
パラメーターを使用します。
curl -u uf598c3f:mypassword \
'https://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/management/users?skip=100'
全てのユーザーを取得するには、skip
パラメーターを増やしながら、空の配列が返されるまで、繰り返しこのAPIを呼び出します。
また、limit
パラメーターを使用して、取得するユーザー数を指定することもできます。
curl -u uf598c3f:mypassword \
'https://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/management/users?limit=30'
ユーザーを検索することもできます。search
パラメーターに文字列を指定すると、ユーザーの名前・メールアドレス・プロファイル名・チーム名に、指定した文字列が、大文字・小文字を区別せずに含まれるユーザーを返します。
共通ユーザー機能が有効な場合、指定したアプリケーションで設定済みのユーザーのみを返すことに注意してください。
このAPIは、ユーザーのリストを返します。
[
{
"id": "u37367df",
"name": "User",
"email": "user@example.com",
"admin": false,
"apiAccess": true,
"managementApiAccess": true,
"profile": {
"name": "デフォルト"
},
"disabled": false
},
{
"id": "u2cc0613",
"name": "User2",
"email": "user2@example.com",
"admin": false,
"apiAccess": false,
"managementApiAccess": false,
"profile": {
"name": "デフォルト"
},
"disabled": false
}
]
チーム機能が有効な場合には、各ユーザーのチームの情報が含まれます。
[
{
"id": "u4d6a6dd",
"name": "User",
"email": "user@example.com",
"admin": false,
"apiAccess": true,
"managementApiAccess": true
"profile": {
"name": "デフォルト"
},
"team": {
"name": "デフォルト"
},
"teamLeader": false,
"disabled": false
},
{
"id": "u1ee8203",
"name": "User2",
"email": "user2@example.com",
"admin": false,
"apiAccess": true,
"managementApiAccess": true,
"profile": {
"name": "デフォルト"
},
"team": {
"name": "デフォルト"
},
"teamLeader": false,
"disabled": false
}
]
ユーザーを取得するには、ユーザーに対してGETリクエストを使用します。
curl -u uf598c3f:mypassword \
'https://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/management/users/u37367df'
このAPIは、指定されたユーザーを返します。
{
"id": "u37367df",
"name": "User",
"email": "user@example.com",
"admin": false,
"apiAccess": true,
"managementApiAccess": true,
"profile": {
"name": "デフォルト"
},
"disabled": false
}
チーム機能が有効な場合には、チームの情報が含まれます。
{
"id": "u37367df",
"name": "User",
"email": "user@example.com",
"admin": false,
"apiAccess": true,
"managementApiAccess": true,
"profile": {
"name": "デフォルト"
},
"team": {
"name": "デフォルト"
},
"teamLeader": false,
"disabled": false
}
ユーザーを作成するには、POSTリクエストを使用します。
共通ユーザー機能が無効な場合には、以下のようなリクエストを使用します。
curl -u uf598c3f:mypassword \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"name": "User3",
"email": "user3@example.com",
"password": "Abcd1234",
"admin": false,
"apiAccess": true,
"managementApiAccess": false,
"profile": {
"name": "デフォルト"
}
}' \
'https://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/management/users'
チーム機能が有効な場合には、チームの情報を含めます。
curl -u uf598c3f:mypassword \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"name": "User3",
"email": "user3@example.com",
"password": "Abcd1234",
"admin": false,
"apiAccess": true,
"managementApiAccess": false,
"profile": {
"name": "デフォルト"
},
"team": {
"name": "デフォルト"
},
"teamLeader: true
}' \
'https://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/management/users'
すべてのプロパティを指定する必要があります。また、プロファイルやチームは名前で指定します。
プロパティによっては、指定できる値に制限があります。
name
プロパティには、1文字以上64文字以下で、「_」から始まらない文字列を指定します。password
プロパティには、8文字以上の、小文字、大文字、数字をすべて1文字以上含む文字列を指定します。profile.name
プロパティには、存在するプロファイルの名前を指定します。team.name
プロパティには、存在するチームの名前を指定します。共通ユーザー機能が有効な場合には、このAPIは、新しいユーザーを作成する代わりに、既存の共通ユーザーをこのアプリケーションで設定します。そのため、呼び出し方にいくつかの違いがあります。
name
プロパティには、既存の、このアプリケーションで未設定な共通ユーザーの名前を指定します。password
,
email
プロパティは指定できません。curl -u uf598c3f:mypassword \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"name": "User3",
"admin": false,
"apiAccess": true,
"managementApiAccess": false,
"profile": {
"name": "デフォルト"
}
}' \
'https://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/management/users'
このAPIは作成したユーザーを返します。
{
"id": "u37367df",
"name": "User3",
"email": "user3@example.com",
"admin": false,
"apiAccess": true,
"managementApiAccess": false,
"profile": {
"name": "デフォルト"
},
"disabled": false
}
チーム機能が有効な場合には、チームの情報が含まれます。
{
"id": "u37367df",
"name": "User",
"email": "user@example.com",
"admin": false,
"apiAccess": true,
"managementApiAccess": false,
"profile": {
"name": "デフォルト"
},
"team": {
"name": "デフォルト"
},
"teamLeader": false,
"disabled": false
}
既に存在するユーザーを更新するには、ユーザーに対してPUTリクエストを使用します。
curl -u uf598c3f:mypassword \
-X PUT \
-H 'Content-Type: application/json' \
-d '{
"email": "new-email@example.com",
"admin": true,
"apiAccess": true,
"managementApiAccess": false,
"profile": {
"name": "デフォルト"
},
"disabled": false
}' \
'https://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/management/users/u37367df'
チーム機能が有効な場合には、チームの情報を含めます。
curl -u uf598c3f:mypassword \
-X PUT \
-H 'Content-Type: application/json' \
-d '{
"email": "new-email@example.com",
"admin": true,
"apiAccess": true,
"managementApiAccess": false,
"profile": {
"name": "デフォルト"
},
"team": {
"name": "デフォルト"
},
"teamLeader: true,
"disabled": false
}' \
'https://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/management/users/u37367df'
password
以外のすべてのプロパティを指定する必要があります。また、プロファイルやチームは名前で指定します。
共通ユーザー機能が有効な場合には、呼び出し方にいくつかの違いがあります。
password
,
email
プロパティは指定できません。curl -u uf598c3f:mypassword \
-X PUT \
-H 'Content-Type: application/json' \
-d '{
"admin": true,
"apiAccess": true,
"managementApiAccess": false,
"profile": {
"name": "デフォルト"
},
"disabled": false
}' \
'https://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/management/users/u37367df'
このAPIは更新したユーザーを返します。
{
"id": "u37367df",
"name": "User",
"email": "email@example.com",
"admin": true,
"apiAccess": true,
"managementApiAccess": false,
"profile": {
"name": "デフォルト"
},
"disabled": false
}
チーム機能が有効な場合には、チームの情報が含まれます。
{
"id": "u37367df",
"name": "User",
"email": "email@example.com",
"admin": true,
"apiAccess": true,
"managementApiAccess": false,
"profile": {
"name": "デフォルト"
},
"team": {
"name": "デフォルト"
},
"teamLeader": false,
"disabled": false
}
既に存在するユーザーを削除するには、ユーザーに対してDELETEリクエストを使用します。
共通ユーザー機能が有効な場合には、このAPIは使用できません。
curl -u uf598c3f:mypassword \
-X DELETE \
'https://api.plat.io/v1/pkyfjjjmlyffnlgeb5oh2eqs2aa/management/users/u37367df'
このAPIは、204ステータスコードと共に空のレスポンスを返します。