- リリース ノート
- 基本情報
- 管理者向け
- RPA ワークフロー プロジェクト
- アプリ プロジェクト
- エージェンティック プロセス
- Agents
- ソリューション
- API ワークフロー - プレビュー

Studio Web ガイド
次のチュートリアルでは、Petstore パブリック API を使用した簡単な例を通じて、API ワークフロー インターフェイスの背後にある重要な概念を実際に体験できます。
この例では、言語モデル (LLM) に「ペットの情報」を要求し、そのデータを使用して Swagger Petstore にペットを追加します。スワガーペットストア(https://petstore.swagger.io)認証の有無にかかわらず、アクセス可能で使いやすい API エンドポイントを提供します。
- API ワークフロー デザイナー キャンバスで、[ 追加 ] (プラス + アイコン) を選択します。
- [コンテンツ生成] > [コネクタ > UiPath GenAI アクティビティ] を選択します。
- [プロパティ] パネルで既存のコネクションを設定するか、既存のコネクションを選択します。
- 次のプロパティを設定します。
- モデル—GPT-4o-mini-2024-07-18
-
プロンプト
「威勢のいいペットストアのために、インベントリに追加できる新しいファンタジークリーチャーの詳細を作成します。有効な json でのみ応答します。これらの 5 つの配列を返します。
- ここまでのワークフローをデバッグします。
- [出力] パネルで結果を確認します。アクティビティ呼び出しの生の入力と出力が表示されます。応答は次のようになります。
{ "cacheReadInputTokens": 0, "created": 1745444601, "usage": { "total_tokens": 741, "completion_tokens": 686, "prompt_tokens": 55, "cache_read_input_tokens": 0 }, "contextGroundingCitationsString": "[]", "totalTokens": 741, "promptTokens": 55, "model": "gpt-4o-mini-2024-07-18", "id": "chatcmpl-BPcADRRpy7ZDZpBOxp6XJYk0HOpaa", "text": "```json\n[\n {\n .... \"A stealthy creature that blends into the shadows, highly elusive.\"\n }\n]\n```", "choices": [ { "index": 0, "finish_reason": "stop", "message": { "content": "```json\n[\n ...ws, highly elusive.\"\n }\n]\n```", "role": "assistant" } } ], "completionTokens": 686, "object": "chat.completion" }
{ "cacheReadInputTokens": 0, "created": 1745444601, "usage": { "total_tokens": 741, "completion_tokens": 686, "prompt_tokens": 55, "cache_read_input_tokens": 0 }, "contextGroundingCitationsString": "[]", "totalTokens": 741, "promptTokens": 55, "model": "gpt-4o-mini-2024-07-18", "id": "chatcmpl-BPcADRRpy7ZDZpBOxp6XJYk0HOpaa", "text": "```json\n[\n {\n .... \"A stealthy creature that blends into the shadows, highly elusive.\"\n }\n]\n```", "choices": [ { "index": 0, "finish_reason": "stop", "message": { "content": "```json\n[\n ...ws, highly elusive.\"\n }\n]\n```", "role": "assistant" } } ], "completionTokens": 686, "object": "chat.completion" }
content.text
プロパティ内にあり、このプロパティが正しく書式設定されていません。
- 現在の API ワークフローに [ スクリプト ] アクティビティを追加します。
- [式エディター] を開き、次のように書き込みます。この JavaScript コードは、
const cleanedJsonStr = $context.outputs.v2_sub_generateChatCompletion_1.content.text .replace(/^```json\n/, '') .replace(/\n```$/, ''); // Step 2: Parse into JSON let parsedObj; parsedObj = JSON.parse(cleanedJsonStr); return { aipet: parsedObj };
const cleanedJsonStr = $context.outputs.v2_sub_generateChatCompletion_1.content.text .replace(/^```json\n/, '') .replace(/\n```$/, ''); // Step 2: Parse into JSON let parsedObj; parsedObj = JSON.parse(cleanedJsonStr); return { aipet: parsedObj };content.text
オブジェクトを解析し、クリーンな形式で返します。 - ワークフローを再度デバッグします。適切な形式の応答を確認します。
- 現在の API ワークフローに、[ループ > ForEach ] アクティビティを追加します。
-
[繰り返し (コレクションの各要素)] アクティビティは次のように設定します。
- で—
$context.outputs.Javascript_1.aipet
$context.outputs.Javascript_1.aipet - 項目名 - currentItem
- 結果の蓄積 - オン
このコマンドは、応答配列のすべての項目を反復処理します。
- で—
- [繰り返し (コレクションの各要素)] アクティビティの本体内に [HTTP] アクティビティを追加し、次のように設定します。
- メソッド - POST
- 要求 URL —
https://petstore.swagger.io/v2/pet
-
要求本文 - 式エディターを開き、[Autopilot] フィールドに「この foreach 内で、各オブジェクトを変換して、Swagger Petstore Pet Creation に投稿できるようにします。前の手順で各プロパティの値を見つけます。
Autopilot の応答は次のようになります (このスニペットをコピーすることもできます)。
{ id: $currentItem.id, name: $currentItem.name, category: $currentItem.category, photoUrls: $currentItem.photoUrls, tags: $currentItem.tags, status: $currentItem.status, age: $currentItem.age, properties: $currentItem.properties }
{ id: $currentItem.id, name: $currentItem.name, category: $currentItem.category, photoUrls: $currentItem.photoUrls, tags: $currentItem.tags, status: $currentItem.status, age: $currentItem.age, properties: $currentItem.properties }
- ワークフローをデバッグします。この時点で、API ワークフローは [成功] ステータスを返します。これは、ペットデータがペットストアに正しく転記されたことを意味します。
- 現在の API ワークフローに [応答 ] アクティビティを追加し、次のように設定します。
- タイプ - 成功
- [詳細] - [式エディター] を開き、以下を書き込みます。 このスニペットは、記載された詳細を含むカスタム JSON を返します。
$context.outputs.For_Each_1.results.map(result => ({ id: result.content.id, name: result.content.name, description: result.content.description }))
$context.outputs.For_Each_1.results.map(result => ({ id: result.content.id, name: result.content.name, description: result.content.description }))
- ワークフローをデバッグします。3 つの詳細を含む最終的な応答に注目してください。
- 現在の API ワークフローで、[ データ マネージャー ] パネルを開きます。
- [入力] タブの場合
- 新しいプロパティを追加し、「Genre」という名前を付けます。
- 型を String 型に設定します。
- 必須としてマークします。
- [ 出力 ] タブの場合
- 3 つのプロパティを追加し、「id」、「name」、「type」という名前を付けます。これらは、ワークフローによって返されるプロパティです。
- [型] を [文字列] に設定します。
- ワークフローで [ コンテンツ生成 ] アクティビティを選択します。
-
[プロンプト] フィールドを次のように更新します。
"Swagger Petstoreの場合、インベントリに追加できる新しい「+$workflow.input.Genre+」クリーチャーの詳細を作成します。ペットの情報を保持する json オブジェクトでのみ応答します。
この新しいプロンプトでは、[入力スキーマ] で定義された $workflow.input.Genre プロパティが使用されます。
-
- デバッグ構成を定義し、
Genre プロパティの値:
{ Genre: "Fantasy" }
{ Genre: "Fantasy" }