テナントサービスのREST API呼び出し
Incentivesテナントサービスをインストールした後、Postmanなどのアプリケーションを使用してREST API呼び出しを行い、データベースを初期化し、モデルを作成し、ユーザーを作成します。
エンドポイントを呼び出すには、JSON Web Token(JWT)を使用してヘッダーを設定する必要があります。payload
値とsecret
値を入力する場合は、オンラインツールを使用してトークンを生成できます。
ヘッダー
{ "alg": "HS256", "typ": "JWT", "kid": "MANAGEMENT" }
ペイロード
{ "admin_user": {}, "iat": 0, "exp": 0 }
iat
およびexp
フィールドはオプションです。
exp
フィールドは、将来の日付で設定される有効期限日です。ペイロードiat
とexp
は、1970年1月1日木曜日の協定世界時 (UTC)00:00:00から経過した秒数のUnix時間の日付です。
署名検証
入力する値は、restAPI.appsettings.config
ファイルのMANAGEMENT_KEYの値と一致する必要があります。デフォルト値はmanagement-portal
です。
ペイロードとシークレットを編集した後、PostmanでREST API呼び出しを行うときに、エンコードされたトークンをコピーしてHeader
セクションに貼り付けます。
例
編集後、JWTは次のようになります。

データベースの初期化
テナントサービスのインストールに成功したら、PostgreSQLで作成したデータベースを初期化する必要があります。
postgresにtenants
データベースをまだ追加していない場合は、データベースを初期化する前に追加する必要があります。以下に、その手順を示します。
PoostgreSQLにtenants
データベースを追加する
PG admin IIIを開き、[データベース]を右クリックして新しいデータベースを作成します。
このデータベースに
tenants
と名前を付けます。警告
データベースの名前は、大文字と小文字が区別されます。
新しいデータベースの[スキーマ]セクションで、publicスキーマを削除します。
インストールプロセスの後半で、このpublicスキーマを置き換える新しいSPMスキーマを作成します。
Rest APIとテナントサービスを起動します。
Postmanで、
。ヒント
リクエストをコレクションに追加して、今後すぐに見つけて呼び出しできるようにします。
[リクエスト]タブの[ヘッダー]セクションで、生成したJWT
<JWT>
と置き換えて、次のキーを追加します。キー
値
Authorization
Bearer <JWT>
Content-Type
application/json
このセクションのすべての呼び出しに同じヘッダーを使用しますが、これらのキーをすべての新規呼び出しに追加する必要があります。
次のサンプル呼び出しを使用して、データベースを初期化します。
Path: http://localhost:9100/services/createDB Method: POST Body: “NULL"
Postmanでは、呼び出しは次のようになります。
をクリックします。
「200 OK」のステータスと「成功」のメッセージが表示されます。これは、データベースが初期化されたことを示します。PG admin IIIを開いて確認します。すべてのICMシステムテーブルで新しいパブリックスキーマが作成されていることに注意してください。
結果
成功すると、ステータスは200 OK
と表示されます。
これはを確認するには、pgAdmin IIIを開き、すべてのIncentivesシステムテーブルで新しいパブリックスキーマが作成されたことを確認します。サイドバーは、次のように表示されます。

モデル作成
Incentivesモデルを作成するには、テナントサービスのモデル作成エンドポイントを呼び出す必要があります。
重要
モデルの作成時にSQL Serverが実行されていることを確認します。
Postmanで、
。ヒント
データベースの初期化時に追加したヘッダーをコピーできます。
このサンプル呼び出しを使用して、必要に応じてパラメーターを変更しモデルを作成します。
Path: http://localhost:9100/services/admin/tenants/1/models Method: POST Body: { "Name":"string", "FiscalYearStart":"2020-01-01T00:00:00.000Z", "NbPayPeriods":12, "Currencies":[ { "m_shortName":"USD", "m_longName":"US Dollars" } ] }
重要
モデル名は文字で始まる必要があり、アンダースコアを含めることはできません。
結果
次のようなレスポンスが表示されます。
{ "model_id":0, "model_name":"string", "tenant_id":0, "server":"1", "database_name":"string", "created_at":"2016-03-01T23:59:29.305Z" }
成功すると、ステータスは200 OK
と表示されます。
これを確認するには、pgAdmin IIIを開き、
→ に移動し、 テーブルを右クリックして、 します。作成したモデルがこのリストに表示されます。モデルの削除
Incentivesモデルを削除するには、テナントサービスのモデルエンドポイントを呼び出す必要があります。
重要
この呼び出しでは、SQLサーバーからモデルは削除されません。
Postmanで、
。ヒント
データベースの初期化時に追加したヘッダーをコピーできます。
このサンプル呼び出し使用してモデルを削除します。
Path: http://localhost:9100/services/tenants/1/models Method: Delete Body: { "model_name":"string" }
結果
成功すると、ステータスは200 OK
と表示されます。
モデルを削除すると、ユーザーはIncentives管理者クライアントを介してモデルにアクセスできなくなります。
管理者ユーザーの作成
Incentivesモデルを作成したら、テナントサービスエンドポイントを呼び出して新しいモデルの管理者ユーザーを作成する必要があります。
Postmanで、
。このサンプル呼び出しを使用して、必要に応じてパラメーターを変更しモデルを作成します。
Path: http://localhost:9100/services/admin/tenants/1/users Method: POST Body: { "tenant_id": "1", "email": "string", "password": "string", "first_name": "string", "last_name": "string" }
結果
成功すると、ステータスは200 OK
と表示されます。
これを確認するには、pgAdmin IIIを開き、上位100行を表示します。作成したユーザーがこのリストに表示されます。
→ に移動し、 テーブルを右クリックして管理者ユーザーをモデルに関連付ける
管理者ユーザーを作成したら、その管理者をモデルに関連付ける必要があります。
Postmanで、データベースの初期化時に使用したものと同じヘッダーを使用します。
を追加し、このサンプル呼び出しを使用して、管理者ユーザーをモデルに関連付けます。
Path: http://localhost:9100/services/admin/tenants/1/users/<admin email address> Method: PATCH Body: { "tenant_id": "1", "email": "string", "model": "string" }
Email
は、作成した管理者ユーザーの電子メールであり、model
は作成したモデルの名前です。注意
管理者の電子メールアドレスを追加する場合は、
< brackets >
を忘れずに削除してください。
成功すると、ステータスコード200 OK
が表示されます。
これを確認するには、pgAdmin IIIを開き、
→ に移動し、 テーブルを右クリックして します。いずれかのユーザーの下にモデルが表示されます。