チームメンバーを管理する
チームメンバーアカウントのチームメンバーを一覧表示・取得・作成・更新・有効化・無効化・削除でき、各メンバーがアクセスできるフォルダの範囲も管理できます。
このディスカッションで使うAPI
できること
チームメンバーは、アカウント上のベンダーユーザーです。APIでメンバーを一通り管理でき、各メンバーがどのフォルダに限定されるかを制御できます(メンバーは、割り当てられたフォルダ内のフリップブックだけを見られます)。パスワードは、これらのエンドポイントのいずれからも返されません。
- アカウントのチームメンバーを、アクティブ状態で絞り込んで一覧表示する。
- メンバーIDで1人のメンバーを、割り当てられたフォルダを含めて取得する。
- メンバーの名前、メール、パスワード、プロフィール画像、フォルダの範囲を設定して、作成または更新する。
- メンバーがサインインできるかどうかを制御して、有効化または無効化する。
- メンバーを削除(ソフト削除)する。履歴を保ったまま無効化されます。
始める前に
- APIキー — すべてのリクエストで
X-Api-Keyヘッダー、またはAuthorization: Bearer YOUR_API_KEYとして送ります。 - すべてのリクエストの送信先はベースURL
https://go.fliplink.meです。 - いくつかのエンドポイントは
{memberId}パスパラメーターを取ります。これはList Team MembersのチームメンバーIDであり、フリップブックIDではありません。不明なIDを渡すと、エンドポイントに応じたメッセージのエラーが返ります。Get Team Memberは「Team member not found」を返し、Set Team Member ActiveとDelete Team Memberは「Item not found」を返します。 - 書き込みエンドポイント(
set-team-memberとset-team-member-active)は、form-urlencodedのボディ(JSONではありません)を取ります。
チームメンバーを一覧表示する
GET /api/list-team-membersは、アカウントのチームメンバーを、各メンバーが割り当てられたフォルダを含むアクセス詳細とともに一覧表示します。IsActive(1 = アクティブ、デフォルト、0 = 非アクティブ)で絞り込みます。
curl -X GET 'https://go.fliplink.me/api/list-team-members?IsActive=1' \
-H 'X-Api-Key: YOUR_API_KEY'
レスポンス:
{
"Result": "OK",
"Items": [
{
"ID": 45452,
"Name": "Jane Doe",
"Email": "member@example.com",
"IsActive": "True",
"PhotoIMG": "",
"Total": 0
}
]
}
1人のチームメンバーを取得する
GET /api/get-team-member/{memberId}は、メンバーIDで1人のメンバー(名前、メール、メール認証の状態(IsEmailVerified)、割り当てられたフォルダ)を返します。メンバーはItemオブジェクトにラップされて返され、Foldersはアクセスできるフォルダのカンマ区切りリスト(空 = フォルダ制限なし)です。memberIdはList Team MembersのチームメンバーIDであり、フリップブックIDではありません。
curl -X GET 'https://go.fliplink.me/api/get-team-member/96216' \
-H 'X-Api-Key: YOUR_API_KEY'
レスポンス:
{
"Result": "OK",
"Item": {
"ID": 45452,
"Email": "member@example.com",
"Name": "Jane Doe",
"Phone": "",
"PhotoIMG": "",
"IsEmailVerified": false,
"Folders": "Marketing,Sales"
}
}
チームメンバーを作成または更新する
POST /api/set-team-memberは、新しいチームメンバーを作成するか、既存のメンバーを更新します。誰がアカウントにアクセスできるか、そしてFoldersフィールドを介してどのフォルダに限定されるかを制御します。作成するにはIDを省略するか-1を送り、更新するには0より大きいIDを送ります。成功すると、監査ログのエントリが書き込まれます。ボディはform-urlencodedです。
仕様からのメモをいくつか挙げます。
- メンバーの名前は1つの
Nameフィールドです。FirstName/LastNameはありません。 Foldersはフォルダ名のカンマ区切りリスト(例:Marketing,Sales)です。フォルダ制限がない場合は空にします。メンバーは、これらのフォルダ内のフリップブックにのみアクセスできます。Passwordは平文で、サーバー側で暗号化されます。更新時に空のままにすると、既存のパスワードが保たれます。- メールは、すでにFlipLinkユーザーのものであってはならず、
+のエイリアスが付いたメールは拒否されます。
curl -X POST 'https://go.fliplink.me/api/set-team-member' \
-H 'X-Api-Key: YOUR_API_KEY' \
--data-urlencode 'Name=Jane' \
--data-urlencode 'Email=jane@example.com' \
--data-urlencode 'ID=-1' \
--data-urlencode 'Password=' \
--data-urlencode 'ProfileImage=' \
--data-urlencode 'Folders='
レスポンス(作成):
{
"Result": "OK",
"Message": "Team member created"
}
IDが指定された場合(更新の経路)は、メッセージは代わりに「Updated successfully」になります。
チームメンバーを有効化または無効化する
PUT /api/set-team-member-active/{memberId}は、メンバーを有効化または無効化し、メンバーがサインインしてアカウントにアクセスできるかどうかを制御します。ボディは、1つのIsActiveフィールドを持つform-urlencodedです。
curl -X PUT 'https://go.fliplink.me/api/set-team-member-active/96216' \
-H 'X-Api-Key: YOUR_API_KEY' \
--data-urlencode 'IsActive=true'
レスポンス:
{
"Result": "OK",
"Message": "Updated successfully"
}
チームメンバーを削除する
DELETE /api/delete-team-member/{memberId}は、**ソフト削除(無効化)**です。チームメンバーがハード削除されることはありません。メンバーを無効化します(IsActive=falseのset-team-member-activeのRESTエイリアス)。支払い履歴と監査参照はそのまま残り、後でPUT /api/set-team-member-active(IsActive=true)で再有効化できます。
curl -X DELETE 'https://go.fliplink.me/api/delete-team-member/96216' \
-H 'X-Api-Key: YOUR_API_KEY'
レスポンス:
{
"Result": "OK",
"Message": "Team member deactivated"
}
起こりうるエラー
- APIキーが欠けているか無効な場合 → HTTP
401。これはプレーンなUnauthorized HTMLページを返し、JSONボディはありません。X-Api-Keyヘッダー(またはAuthorization: Bearer)が存在し、正しいことを確認してください。これは5つのエンドポイントすべてに当てはまります。 - そのIDのチームメンバーがいない場合、Get Team Memberで(たとえばフリップブックIDを渡した場合) → HTTP
200でメッセージはTeam member not found。 - アイテムIDが見つからないか、キーが所有していない場合、Set Team Member ActiveとDelete Team Memberで → HTTP
200でメッセージはItem not found。 - 不明またはスペルミスのボディフィールド、Set Team MemberとSet Team Member Activeで → HTTP
200でメッセージはUnknown field(s) '…'. Expected: …。
メモ
{memberId}パスパラメーターは、常にList Team MembersのチームメンバーIDです。フリップブックIDではありません。- パスワードは、これらのエンドポイントのいずれからも返されません。
Foldersはメンバーを特定のフォルダに限定します。空の値は、フォルダ制限がないことを意味します。