今回のテーマ
前回で組織を作成しました。
予定していた工程は以下でした。
1.組織を作る
2.役職を作る
3.利用権限タイプを作る
4.ユーザーを作る
5.設定した利用権限タイプで動作するかチェック!
今回は役職を作成します!
LINE WORKSには役職と職級という項目を設定できます。
どちらも「作らなければならない」というものではありません。
それぞれ企業によっての使い分けや考え方があると思いますので、もし使用する場合の参考になると良いなと思っております!
役職の登録APIについて
恒例のドキュメントチェック!
最低限の情報
Request Bodyを見るとrequiredのパラメータは以下の3つでした。
- domainId
- displayOrder
- positionName
役職の登録APIは全体で見てもパラメータ数が少ないですねー
とりあえず役職を作ってみる
以下の役職を作成しようと思います。
- 社長
- 部長
- 課長
- 一般職
- 派遣社員
- アルバイト
では、まず社長を作成してみます。
で、結果は。。。。?あれ?失敗?
ホントうまくいかない人生だなぁと過去に思いを馳せつつdiscriptionを見ると「usePositionがfalseの場合、このAPIは使えません」とのことでした。
????
usePostionなんてパラメータあったかな。。。?
とりあえずもう一度ドキュメント見てみたのですが、冒頭に書いてありますね。
ドメインの役職設定が有効である必要がある。
本日の標語「しっかり読もうドキュメント」
役職の有効化APIについて
前述の通り、役職や職級は設定が必須ということではありません。
なので、この設定自体を使うか・使わないかを選択できます。
役職が使わない状態(無効)だったために登録ができませんよ、ということだったんですね。
では役職の有効化APIを見てみます。
メソッドはPOSTのようなのですが、Request Bodyがありません!
URLにenableとありますので、これで「有効化してくださいね」ということなんですね。
ではサクッとURLだけ貼り付けて実行!
204 No Contentとして正常に処理されました!
「No」って表示があるととダメだったのかな?とか不安になりません?(私だけ?)
再度、役職の登録APIを実行
Bodyの内容はさっきと同じです。
201 Createdとして正常に役職が作成できました!
実行結果
{
"domainId": xxxxxxxx,
"displayOrder": 1,
"positionName": "社長",
"positionExternalKey": null,
"i18nNames": [],
"positionId": "12345678-1234-5678-9012-12345678901"
}
Response内容には「posiotnId」という役職を識別するためのIDが含まれています。
もし役職名を修正したいときは、「posiotnId」を指定する必要がありますね。
ではこの調子で他の役職も作ってしまいましょう!
出来上がったものがこちらです
役職リストの取得API を実行してすべての役職を取得します。
メソッドはGETです。
GET、簡単で好きです。
実行結果
{
"responseMetaData": {
"nextCursor": null
},
"positions": [
{
"domainId": xxxxxxxx,
"displayOrder": 1,
"positionName": "社長",
"positionExternalKey": null,
"i18nNames": [],
"positionId": "12345678-1234-5678-9012-12345678901"
},
{
"domainId": xxxxxxxx,
"displayOrder": 1,
"positionName": "部長",
"positionExternalKey": null,
"i18nNames": [],
"positionId": "92345678-1234-5678-9012-12345678909"
},
{
"domainId": xxxxxxxx,
"displayOrder": 1,
"positionName": "課長",
"positionExternalKey": null,
"i18nNames": [],
"positionId": "82345678-1234-5678-9012-12345678908"
},
{
"domainId": xxxxxxxx,
"displayOrder": 1,
"positionName": "一般職",
"positionExternalKey": null,
"i18nNames": [],
"positionId": "72345678-1234-5678-9012-12345678907"
},
{
"domainId": xxxxxxxx,
"displayOrder": 1,
"positionName": "派遣社員",
"positionExternalKey": null,
"i18nNames": [],
"positionId": "62345678-1234-5678-9012-12345678906"
},
{
"domainId": xxxxxxxx,
"displayOrder": 1,
"positionName": "アルバイト",
"positionExternalKey": null,
"i18nNames": [],
"positionId": "52345678-1234-5678-9012-12345678905"
}
]
}