Unipos Provisioning API(以下、API)は以下3リソースに対する操作が可能です。
部署 / メンバー / 役職
目次
・共通事項
┗ リクエスト共通
┗ レスポンス共通
┗ 失敗時のレスポンスボディに含まれるエラーコード一覧は以下を参照
┗ 制限
・部署
┗ メソッド一覧
┗ 部署のプロパティ一覧
┗ group.create 部署の作成を行う
┗ group.get 部署の取得を行う
┗ group.list 部署のリストを取得する
┗ group.delete 部署の削除を行う
┗ group.update 部署の更新を行う
・メンバー
┗ メソッド一覧
┗ メンバーのプロパティ一覧
┗ member.invite メンバーの招待を行う
┗ member.get メンバーの取得を行う
┗ member.list メンバーのリストを取得する
┗ member.pause メンバーの一時停止を行う
┗ member.unpause メンバーの一時停止を解除する
┗ member.delete メンバーの削除を行う
┗ member.update メンバーの更新を行う
・役職
┗ メソッド一覧
┗ 役職のプロパティ一覧
┗ position.create 役職の作成を行う
┗ position.get 役職の取得を行う
┗ position.list 役職のリストを取得する
┗ position.delete 役職の削除を行う
┗ position.update 役職の更新を行う
共通事項
リクエスト共通
・HTTP Method
常にPOSTを使用します。
・HTTP Header
以下を含める必要があります。
Content-Type: application/json
Authorization: Bearer {APIトークン}
※APIトークン発行画面URL https://unipos.me/management/provisioning_app_key
※APIトークンを発行した人がAPIの実行者として扱われます。
※APIトークンの有効期限はありません。ただし、管理画面で削除したり再発行すると無効化します。また、発行した管理者のUnipos上の状態が「削除」になると無効化します。
レスポンス共通
HTTPステータスコードは `200` を使用します。
レスポンスボディに含まれるokの値で成功・失敗が判断可能です。
【成功時のHTTPレスポンスボディ例】
{
"ok": true,
"result": {
"id": "xxxxxxxx"
}
}
【失敗時のHTTPレスポンスボディ例】
{ "ok": false, "errors": [ { "code": 100, "message": "Invalid bearer token" } ] }
失敗時のレスポンスボディに含まれるエラーコード一覧は以下を参照
エラーコード | メッセージ | 詳細 |
100 | Internal server error | サーバーの内部的なエラー |
101 | Bad request | リクエスト内容が不正 |
200 | Invalid ApiToken | ApiTokenが無効 |
300 | Member id does not exist | チームに存在しないメンバーID |
301 | Invalid display name | メンバー名は1~80文字 |
302 | Invalid email address | メールアドレスはメールアドレスの形式に 準拠した1~256文字 |
303 | Invalid employee code | 社員番号は1~10文字 |
304 | Employment type does not exist | 存在しない雇用形態 |
305 | Some group id does not exist | 存在しない部署ID |
306 | Position id does not exist | 存在しない役職ID |
307 | - | ※現在は使われておりません |
308 | Email address must be a unique | メールアドレスはユニーク |
309 | Too many group to belong to | 所属できる部署の上限数は10 |
310 | Invalid limit | 指定できるlimitの最大件数は50 |
311 | At least one more parameter must be set | 更新する項目が指定されていない |
312 | Invalid status change | 無効なステータス変更 |
313 | Invalid cursor | カーソルが不正 |
400 | Group id does not exist | 存在しない部署ID |
401 | Invalid name | 部署名は1~25文字 |
402 | Name must be unique | 部署名はユニーク |
403 | Invalid limit | 指定できるlimitの最大件数は50 |
404 | Invalid cursor | カーソルが不正 |
500 | Position id does not exist | 存在しない役職ID |
501 | Invalid name | 役職名は1~25文字 |
502 | Name must be unique | 役職名はユニーク |
503 | Invalid limit | 指定できるlimitの最大件数は50 |
504 | Invalid cursor | カーソルが不正 |
予期せぬリクエストの内容によっては、`100` Internal server error がレスポンスされる可能性があります。
制限
同時リクエスト数が多い場合は`500`のHTTPステータスコードがレスポンスされる可能性があります。
部署
メソッド一覧
Method | Description |
group.create | 部署の作成 |
group.get | 部署の取得 |
group.list | 部署のリスト取得 |
group.update | 部署の更新 |
group.delete | 部署の削除 |
部署のプロパティ一覧
Property | Description |
id | 部署ID |
name | 名前 1~25文字 |
code | 部署コード |
parent_id | 親部署ID (親部署が存在する場合のみ出力) |
group.create 部署の作成を行う
Method URL: https://unipos.me/api/v1/group.create
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument | Example | Required | Description |
name | "情報システム部" | Required | 名前 |
【Response】
成功時
{
"ok": true,
"result": {
"id" : "1111-2222-3333"
}
}
group.get 部署の取得を行う
Method URL: https://unipos.me/api/v1/group.get
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument | Example | Required | Description |
id | "1111-2222-3333" | Required | 部署ID |
OKの場合
{
"ok": true,
"result": {
"id" : "1111-2222-3333",
"name" : "情報システム部"
"code" : "xxxx",
"parent_id": "xxx-xxx-xxx",
}
}
group.list 部署のリストを取得する
Method URL: https://unipos.me/api/v1/group.list
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument |
Example | Required | Description |
cursor | "111-abc-efg" | Optional | カーソル レスポンスに含まれるnext_cursorの値を指定 |
limit | 20 | Optional | 最大指定数は50 指定がない場合は50が指定されたこととする |
* Optionalの項目を設定しない場合は、bodyを空のjsonにすること
OKの場合
{
"ok": true,
"result": {
"groups": [
{
"id" : "1111-2222-3333",
"name" : "情報システム部"
}, ...(省略)
],
"next_cursor": "222-abc-efg"
}
}
group.delete 部署の削除を行う
Method URL: https://unipos.me/api/v1/group.delete
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument |
Example | Required | Description |
id |
"1111-2222-3333" | Required | 部署ID |
OKの場合
成功時
{
"ok": true,
"result": {
"id" : "1111-2222-3333"
}
}
group.update 部署の更新を行う
Method URL: https://unipos.me/api/v1/group.update
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument | Example | Required | Description |
id | "1111-2222-3333" | Required | 部署ID |
name | "情報システム部" | Required | 名前 |
OKの場合
成功時
{
"ok": true,
"result": {
"id" : "1111-2222-3333"
}
}
メンバー
メソッド一覧
Method | Description |
member.invite | メンバーの招待 |
member.get | メンバーの取得 |
member.list | メンバーのリスト取得 |
member.update | メンバーの更新 |
member.pause | メンバーの一時停止 |
member.unpause | メンバーの一時停止を解除する |
member.delete | メンバーの削除 |
メンバーのプロパティ一覧
Property | Description |
id | メンバーID |
display_name | 名前 1~80文字 |
email_address | メールアドレス メールアドレスの形式に準拠した1~256 文字 |
employment_type |
雇用形態 (0未指定, 1役員, 2正社員, 3契約社員, 4派遣社 |
employee_code | 社員番号 0~10文字 |
status | ステータス (1招待中, 2アクティブ, 3一時停止, 4削除済み)のいずれか |
group_ids | 部署ID 複数選択可 最大10部署 |
position_id | 役職ID |
* 部署は部署APIで作成できる
* 役職は役職APIで作成できる
member.invite メンバーの招待を行う
Method URL: https://unipos.me/api/v1/member.invite
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument |
Example | Required | Description |
display_name |
"Sato Taro" | Required | 名前 |
email_address |
"taro@example.com" | Required | メールアドレス |
employment_type |
1 | Optional | 雇用形態 |
employee_code |
"xxxx" | Optional | 社員番号 |
group_ids |
["xxx-xxx-xxx", "yyy-yyy-yyy"] | Optional | 部署ID 複数選択可 |
position_id |
"xxxx" | Optional | 役職ID |
* Optionalな項目を設定しなかった場合は、システムで用意されている初期値が設定される
【Response】
成功時
{
"ok": true,
"result": {
"id" : "1111-2222-3333"
}
}
member.get メンバーの取得を行う
Method URL: https://unipos.me/api/v1/member.get
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument | Example | Required | Description |
id | "1111-2222-3333" | Required | ユーザーID |
OKの場合
{
"ok": true,
"result": {
"id" : "1111-2222-3333",
"display_name" : "Sato Taro",
"email_address" : "taro@example.com",
"employment_type" : 1,
"employee_code" : "xxxxxxxx",
"status" : 2,
"group_ids" : ["xxx-xxx-xxx", "xxx-xxx-xxx"],
"position_id" : "xxxx"
}
}
※"status"(アカウントステータス)について
数字(1~4)の内容については、アカウントステータスについて をご参照ください。
member.list メンバーのリストを取得する
Method URL: https://unipos.me/api/v1/member.list
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument |
Example | Required | Description |
cursor | "111-abc-efg" | Optional | カーソル レスポンスに含まれるnext_cursorの値を指定 |
limit | 20 | Optional | 最大指定数は50 指定がない場合は50が指定されたこととする |
* Optionalの項目を設定しない場合は、bodyを空のjsonにすること
OKの場合
{
"ok": true,
"result": {
"members": [
{
"id" : "1111-2222-3333",
"display_name" : "Sato Taro",
"email_address" : "taro@example.com",
"employment_type" : 1,
"employee_code" : "xxxxxxxx",
"status" : 2,
"group_ids" : ["xxx-xxx-xxx", "xxx-xxx-xxx"],
"position_id" : "xxxx",
},
],
"next_cursor": "222-abc-efg"
}
}
※ページの末尾に来ている時には、next_cursor が表示されなくなります。
※"status"(アカウントステータス)について
数字(1~4)の内容については、アカウントステータスについて をご参照ください。
member.pause メンバーの一時停止を行う
* 招待中状態のメンバーを一時停止にすることは不可
Method URL: https://unipos.me/api/v1/member.pause
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
FieldName | Example | Required | Description |
id | "1111-2222-3333" | Required | メンバーID |
OKの場合
成功時
{
"ok": true,
"result": {
"id" : "1111-2222-3333"
}
}
member.unpause メンバーの一時停止を解除する
Method URL: https://unipos.me/api/v1/member.unpause
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument |
Example | Required | Description |
id |
"1111-2222-3333" | Required | メンバーID |
OKの場合
成功時
{
"ok": true,
"result": {
"id" : "1111-2222-3333"
}
}
member.delete メンバーの削除を行う
Method URL: https://unipos.me/api/v1/member.delete
Preferred HTTP method: POST
【Header】
FieldName |
Example | Required | Description |
Content-Type |
application/json | Required | メディアタイプ |
Authorization |
Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument | Example | Required | Description |
id | "1111-2222-3333" | Required | メンバーID |
OKの場合
成功時
{
"ok": true,
"result": {
"id" : "1111-2222-3333"
}
}
member.update メンバーの更新を行う
Method URL: https://unipos.me/api/v1/member.update
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument |
Example | Required | Description |
id |
"1111-2222-3333" | Required | メンバーID |
display_name |
"Sato Taro" | Optional | 名前 |
email_address |
"taro@example.com" | Optional | メールアドレス |
employment_type |
1 | Optional | 雇用形態 |
employee_code |
"xxxx" | Optional | 社員番号 |
group_ids |
"xxx-xxx-xxx", "yyy-yyy-yyy" | Optional | 部署ID 複数選択可 |
position_id |
"xxxx" | Optional | 役職ID |
※Optionalな項目は必ず最低でも1つは設定すること
OKの場合
成功時
{
"ok": true,
"result": {
"id" : "1111-2222-3333"
}
}
役職
メソッド一覧
Method | Description |
position.create | 役職の作成 |
position.get | 役職の取得 |
position.list | 役職のリスト取得 |
position.update | 役職の更新 |
position.delete | 役職の削除 |
役職のプロパティ一覧
Property | Description |
id | 役職ID |
name | 名前 1~25文字 |
position.create 役職の作成を行う
Method URL: https://unipos.me/api/v1/position.create
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument | Example | Required | Description |
name | "役員" | Required | 名前 |
【Response】
成功時
{
"ok": true,
"result": {
"id" : "1111-2222-3333"
}
}
position.get 役職の取得を行う
Method URL: https://unipos.me/api/v1/position.get
Preferred HTTP method: POST
【Header】
FieldName |
Example | Required | Description |
Content-Type |
application/json | Required | メディアタイプ |
Authorization |
Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument | Example | Required | Description |
id | "1111-2222-3333" | Required | 役職ID |
OKの場合
{
"ok": true,
"result": {
"id" : "1111-2222-3333",
"name" : "役員"
}
}
position.list 役職のリストを取得する
Method URL: https://unipos.me/api/v1/position.list
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument |
Example | Required | Description |
cursor | "111-abc-efg" | Optional | カーソル レスポンスに含まれるnext_cursorの値を指定 |
limit | 20 | Optional | カーソル レスポンスに含まれるnext_cursorの値を指定 |
* Optionalの項目を設定しない場合は、bodyを空のjsonにすること
OKの場合
{
"ok": true,
"result": {
"positions": [
{
"id" : "1111-2222-3333",
"name" : "役員"
},
],
"next_cursor": "222-abc-efg"
}
}
position.delete 役職の削除を行う
Method URL: https://unipos.me/api/v1/position.delete
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument | Example | Required | Description |
id | "1111-2222-3333" | Required | 役職ID |
OKの場合
成功時
{
"ok": true,
"result": {
"id" : "1111-2222-3333"
}
}
position.update 役職の更新を行う
Method URL: https://unipos.me/api/v1/position.update
Preferred HTTP method: POST
【Header】
FieldName | Example | Required | Description |
Content-Type | application/json | Required | メディアタイプ |
Authorization | Bearer xxxx-xxxxxxxx-xxxx | Required | 認証トークン |
【Argument】
Argument | Example | Required | Description |
id | "1111-2222-3333" | Required | 役職ID |
name | "役員" | Required | 名前 |
OKの場合
成功時
{
"ok": true,
"result": {
"id" : "1111-2222-3333"
}
}