ついに、ODCでも管理系のAPIがリリースされた。
現時点(2024/12/01)の情報をドキュメント類から拾ってメモ。
Table of Contents
リリース情報
Release Notes
OutSystems Developer Cloud 2024-11-29に記載がある。
一部抜粋。ユーザー管理系のAPIと、デプロイされた資産を管理するPortfolio APIが公開された。
- We’ve enhanced user and access management by introducing a new and robust suite of APIs. (後略)
- We are introducing Portfolio APIs that provide data on deployed assets with deployment status per environment (stage).(後略)
Product Releases and Updates
現時点(2024/12/01)では未公開。
2024/12/02付で公開された:https://www.outsystems.com/product-updates/odc-rest-apis/
ドキュメント
メモ(まだ試せていないのでドキュメントを読んだ範囲で)
- 認証にはOIDCを使う(外部Identity Providerを使っている場合も?)
- セキュリティ系
- API Clientを作るのにOrganization RoleのAPI Manageが必要 (ドキュメントにはManage API Clientと書かれているが、ODC PortalではAPI Manager)
- client secretが発行されるが、この有効期限が最長で2年。つまりAPIアクセスに使う認証情報は運用中に更新が必要になる前提で考える必要がある
- Get access tokenにある手順でアクセストークンを取得し、本体のAPI呼び出し時に渡すことで認証する(Authorizationヘッダーに「Bearer <アクセストークン>」形式で渡す)
- 取得したアクセストークンの有効期間は12時間
- 1分間に100リクエストまでのレートリミットがある(Bulk createは5)
- identity/v1/users/bulkでユーザーの一括作成ができる。Built-inのプロバイダーへの作成はオプションで、処理の主な目的は、user profile database への登録にあるようだ(別に個別作成のAPIもある)
- user profile databaseが具体的に何かは記載がないが、(System)/Userのことだろうか……
- パスワードがパラメータにないので、Built-inのプロバイダーに登録するときは、メールを送ってユーザーに登録してもらう際に設定するフローだろうか
- /identity/v1/users/{key}/application-roles/{roleKey}でエンドユーザーにRoleを付与できそう
- 更新処理には、PUTメソッドではなくPATCHメソッドを使っている
- /portfolios/v1/deployed-assetsでアプリの一覧は取れそう(Libraryは対象外に見える。また、Developmentも取れるかは要検証)
- /portfolios/v1/environmentsでStageのリストを取れる(O11で言うServer Mode、Stageの種類=Development/NonProduction/Productionの違いもわかる)
- Organization Roleを操作するAPIは無さそう?