チャレンジ
Postmanを使用したDX APIの探索
Postmanを使用したDX APIの探索
9 タスク
1時間
中級
ユーザーエクスペリエンス
Constellation
ローコードアプリ開発
日本語
シナリオ
APIは、ケースとアサインメントのプログラムによる表示、作成、更新を可能にする、モデル主導型のREST APIエンドポイントのセットです。ConstellationアプリケーションとPega DX APIの間で送信されるメッセージを理解することは、アプリケーション開発プロセス中に発生する問題のトラブルシューティングに役立ちます。
ConstellationアプリケーションとDX APIの関係をより深く理解するための課題は、Postmanを使用して、Sweet LifeのIncident ケースタイプにケース関連のDX API呼び出しをいくつか生成することです。
補足: Postmanは、APIを構築およびテストするための無料のオープンソースAPIプラットフォームです。Postmanの詳細については、「Postman documentation overview」を参照してください。
以下の表は、チャレンジに必要なログイン情報をまとめたものです。
| ロール | ユーザー名 | パスワード |
|---|---|---|
| System Architect | Author@SL | pega123! |
補足: 練習環境では、複数のチャレンジの完了をサポートする場合があります。その結果、チャレンジのウォークスルーに表示される設定は、お客様の環境と完全に一致しない場合があります。
チャレンジ ウォークスルー
詳細なタスク
1 TellUsMore_Serviceオペレーターを更新する
- チャレンジのPegaインスタンスに、以下のログイン情報を入力します。
- User nameフィールドに「Author@SL」と入力します。
- Password フィールドに「pega123!」と入力します
- に切り替えます。
- Dev Studioのヘッダーで、「 Configure > Org & Security > Organization > Operators」をクリックします。
- 演算子のリストで、TellUsMore_Service演算子を開きます。
- Securityタブをクリックします。
- 「Update password」をクリックして、次にパスワードを「pega123!」に更新します。
- Force password change on next loginチェックボックスの選択がクリアであることを確認してください。
- 「」をクリックします。
補足: TellUsMoreアプリケーションにTellUsMore_Serviceオペレーターとして、入力したパスワードでログインすることで、パスワードの変更を確認できます。必ずAuthor@SLの資格情報で再ログインして、次のタスクを完了してください。
2 OAuth 2.0クライアント登録を設定する
補足: DX API V2のテストには認証資格情報が必要です。エンドポイント呼び出しに対するサンプル応答を生成するには、OAuth 2.0クライアント登録データインスタンスが必要です。
- Dev Studioのナビゲーションパネルで「Records > Security > OAuth 2.0 Client Registration」をクリックします。
- OAuth 2.0クライアント登録リストの右上隅で、「Create」をクリックします。
- OAuth 2.0 Client Registration short descriptionフィールドおよびClient nameフィールドの両方に、「Sweet Life DX API Test」を入力します。
- 「Create and open」をクリックします。
- レコードを設定する
- Supported grant typesセクションで、Client credentials チェックボックスをクリアし、Password credentialsチェックボックスを選択します。
- Identity mappingフィールドで、下矢印キーを押してから、「pyDefaultIdentityMappingForPasswordGrant」を選択します。
- Enable refresh tokenチェックボックスを選択します。
- Client Credentialsセクションで、「View & download」をクリックします。
- 「View & download」ウィンドウで、「Download credentials」をクリックします。
- お使いのコンピューターにSweet Life DX API TEst_Client Credentialsファイルをダウンロードしたことを確認してください。
- View & downloadウィンドウを閉じます。
- レコードのヘッダーで、「Save」をクリックします。
補足: レコードを保存した後、資格情報をダウンロードするオプションは無効になります。
3 AllowedStartingFieldsデータトランスフォームを作成する
- アプリエクスプローラーで、SL-TellUsMore-Work-Incidentクラス内で、「Data Model」を右クリックし、「Create > Data Transform」を選択します。
- Labelフィールドに「AllowedStartingFields」と入力します。
- 「」をクリックします。
- データトランスフォームで、.pyDescriptionターゲットを「""」に設定します。 補足: AllowedStartingFields データトランスフォームに追加のフィールドを追加できます。DX API v2でケースを作成する際にフィールドを追加する方法の詳細については、「Adding fields while creating Cases in Constellation DX API」を参照してください。
- 「Save」をクリックします。
4 Postman環境を構成する
- 「DXAPIdefinition.postman_collection.zip」ファイルをあなたのデバイスにダウンロードし、開いて抽出します。 DXAPIdefinition.postman_collection.zip (72.08 KB)
- 手順1からファイルを抽出し、そのファイルを「DXAPIdefinition.postman_collection.json」としてデバイスに保存します。
- Postmanのウェブサイトにアクセスし、まだアカウントをお持ちでない場合は無料アカウントを作成してください。
- このチャレンジのために、「Sweet Life DX API Test」という名前のPostmanワークスペースを作成します。
- Postmanワークスペースで、「」、「」をクリックし、次に「DXAPIdefinition.postman_collection.json」ファイルをインポートします。
ファイルを選択すると、インポートが自動的に開始されます。 - DX APIの定義で、Variables タブをクリックします。
- 前のタスクでダウンロードして保存した「Sweet Life DX API Test_ClientCredentials.txt」ファイルを開きます。
- Current value列の値を変更して、「Sweet Life DX API Test_ClientCredentials(SLDXAPI_CC)」ファイルに含まれる情報に対応させます。
SLDXAPI_CCファイルの情報に若干の変更を加える必要があります。次の表には詳細情報が含まれています。Postman変数名 現在の値 server SLDXAPI_CCファイルから、「https 」から「prweb」までのテキストを含む部分的なURLを入力してください。
たとえば、https://*******.pegacea.net/prwebなどです。
アスタリスクは、SLDXAPI_CCファイル内のサーバー固有の値に対応しています。baseUrl SLDXAPI_CCファイルから「https」から「prweb」までのテキストを含む部分的なURLを入力し、その後に「/api/application/v2」
を追加します。たとえば、「https://*******.pegacea.net/prweb/api/application/v2」などです。
アスタリスクは、SLDXAPI_CCファイル内のサーバー固有の値に対応しています。AccessTokenURL SLDXAPI_CCファイルからアクセストークンエンドポイントの値を入力する ClientID SLDXAPI_CCファイルからクライアントIDを入力する ClientSecret SLDXAPI_CCファイルからクライアントシークレットを入力します。 user TellUsMore_Service password pega123! OriginChannel ウェブ - 「Save」をクリックします。
- Authorizationタブをクリックして、詳細を確認します。
- Auth Typeリスト内の値が「OAuth 2.0」であることを確認します。
- Tokenリストの値が「Available tokens」であることを確認してください。
- Configure New Tokenセクションで、Passwordフィールドの値を確認し、その値が「{{password}}」であることを確認します。
- 更新を行った場合は「Save」をクリックしてください。
- Authorization タブで、新しいトークンを生成し、「Get New Access Token」をクリックして認証設定が成功したことを確認してください。
Postmanが入力した情報を承認すると、新しいアクセストークンが表示されます。 - 「Use Token」をクリックして、新しいトークンを認証プロファイルに保存します。
Postmanは、認証プロファイルに関連付けられたトークンを更新します。
5 新しいインシデントケースを作成する
- Postmanのナビゲーションペインで、casesフォルダーを展開し、「Create new Incident - success」をクリックします。
- Bodyタブをクリックし、次に次のJSONコードを入力します:
{
"content": {
"pyDescription": "Description"
},
"caseTypeID": "SL-TellUsMore-Work-Incident",
"parentCaseID": ""
} - 「Send」をクリックしてDX APIリクエストを送信します。
- リクエストページの下部に向かって、DX APIによって返されるJSONレスポンスデータオブジェクトを分析します。
- caseInfo オブジェクトを確認し、IDケースに注意してください。
- relatedCaseTypes オブジェクトを確認してください。
- assignments オブジェクトを確認してください。
APIレスポンスのassignments オブジェクトは、ケースの一部として作成されたアサインメントに関する情報を提供します。それには、割り当てID、担当者の名前、完了期限、および関連するデータや添付ファイルなどの詳細が含まれる場合があります。 - availableChildCaseTypes オブジェクトを確認してください。
- availableActions オブジェクトを確認してください。
Create DX APIのレスポンスで返される availableActions オブジェクトは、作成された作業オブジェクトに対してユーザーが実行できるアクションのリストです。これらのアクションはケースタイプで定義されており、作業オブジェクトの送信、下書きとして保存、またはキャンセルなどのオプションを含むことができます。 - stages セクションを確認してください。
Pega DX APIでは、ケース作成の応答におけるstagesオブジェクトは、新しく作成されたケースが現在位置しているケースのステージを参照します。Pega Platform™のステージは、特定のアクションやタスクが実行されるケースの論理的な区分を表します。各ステージには通常、ケースが次のステージに進む前に完了しなければならない一連の手順またはアサインメントがあります。Pega DX APIでケースを作成すると、レスポンスにケースの現在のステージに関する情報を提供するステージオブジェクトが含まれます。このオブジェクトには、ステージ名、ID、ステータス、現在のステージに関するその他の詳細などのプロパティが含まれている可能性があります。この情報は、ケースの進捗を追跡し、ケースが次のステージに進む前に完了する必要があるタスクやアサインメントを決定するのに役立ちます。
- caseInfo オブジェクトを確認し、IDケースに注意してください。
- nextAssignmentInfo オブジェクトで、DX APIによって返された割り当てID(例:ASSIGN-WORKLIST SL-TELLUSMORE-WORK I-1!CREATEFORM_DEFAULT)を次のタスクのためにコピーします。
- App Studioに戻り、アプリケーションをプレビューしてから「TellUsMore - BO Portal」を開きます。
- 「Incidents」をクリックし、新しく作成されたケースがランディングページに表示されていることを確認します。
6 アサインメントの詳細を得る
- Postmanのナビゲーションペインで、assignments > {assignmentsID} フォルダーパスを展開します。
- Get first assignment details リクエストを開きます。
- 中央の作業ペインで、Paramsタブをクリックし、クエリーパラメーターの値を変更します。
- viewType行に「page」と入力します。
- pageName行は空のままにしておいてください。
- assignmentID行に、タスク5の手順5でコピーした新しいケース呼び出しから返されたnextAssignmentオブジェクトの値を入力します。
たとえば、ASSIGN-WORKLIST SL-TELLUSMORE-WORK I-1!CREATEFORM_DEFAULTなどです。
- 「Save」をクリックし、次に「」をクリックします。
- JSONレスポンスオブジェクトを調査し、次のタスクのためにsubmitオブジェクトの詳細をコピーします(例:ASSIGN-WORKLIST SL-TELLUSMORE-WORK I-1!CREATEFORM_DEFAULT)。
7 アサインメントのDX APIエンドポイントを使用してGet submit action detailsを取得する
- Postmanのナビゲーションペインで、assignments > {assignmentID} > actions > {actionID}フォルダーパスを展開します。
- Get submit action details リクエストを開きます。
- 中央の作業ペインで、Paramsタブをクリックし、クエリーパラメーターの値を変更します。
- viewType行は空のままにしておいてください。
- excludeAdditionalActions行に「true」と入力します。
- assignmentID行に、タスク6、手順5のsubmitオブジェクトの値を入力します(例:ASSIGN-WORKLIST SL-TELLUSMORE-WORK I-1!CREATEFORM_DEFAULT)。
- actionID行に「DetermineCategory」と入力します。
- 「Save」をクリックし、次に「Send」をクリックします。
- JSONレスポンスオブジェクトを確認します。
- 応答で、Headersタブをクリックし、次のタスクのためにetag値をコピーします。
8 サブミットアクションを実行する
- Postmanのナビゲーションペインで、assignments > {assignmentID} > actions > {actionID} フォルダーパスを展開します。
- Submit first assignment リクエストファイルを開きます。
- 中央の作業パネルで、Paramsタブを開き、クエリーパラメーターの値を変更します。
- viewType行に「none」と入力します。
- assignmentID行に、タスク5、手順5でコピーしたsubmitオブジェクトの値を入力します。(たとえば、ASSIGN-WORKLIST SL-TELLUSMORE-WORK I-1!CREATEFORM_DEFAULT)。
- actionID行に「DetermineCategory」と入力します。
- Headersタブをクリックし、次にif match行で、タスク6の手順6でコピーしたetag オブジェクトからの値を入力します。
- Bodyタブをクリックし、次に次のJSONリクエストコードを入力します:
{
"content": {
"IncidentType": "Product faulty or unsafe",
"IncidentSubType": "Product not as described"
}
} - 「Save」をクリックし、次に「Send」をクリックします。
- JSONレスポンスオブジェクトを確認し、リクエストが成功したことを確認します。
- App Studioに戻り、アプリケーションをプレビューして、TellUsMore - BO Portalを開きます。
- インシデントのランディングページに、Incident TypeフィールドおよびIncident SubTypeフィールドの値が含まれていることを確認します。
9 DX APIで新しい製品を作成する
- Postmanに戻ります。
- Postmanのナビゲーションペインで、data > {data_view_ID} フォルダーパスを展開します。
- Create Product リクエストを開きます。
- 中央の作業ペインで、Paramsタブをクリックし、data_view 行に「D_ProductSavable」と入力します。
- Bodyタブをクリックして、次のJSONコードを入力します。
{
"data": {
"Name":"Shocker",
"Category":"20b3b6c4-d7d5-4516-a4ed-4cda31ddc5da",
"SKU":"32491"
}
} - 「Save」をクリックし、次に「Send」をクリックします。
- JSONレスポンスオブジェクトを確認します。Category、Name、pyGUID、SKUの各フィールドに注目します。
- App Studioに戻り、「Data > Product > Records」をクリックします。
- Shocker製品が製品レコードのリストに含まれていることを確認してください。
このチャレンジは、下記のモジュールで学習したことを実践するための内容です。
このモジュールは、下記のミッションにも含まれています。
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。