> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Chatflow アプリ API

> チャットメッセージ、ワークフローレベルのストリーミング、会話管理、人間の入力の一時停止を扱う Chatflow アプリ向けの API

> このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/api-reference/guides/chatflow) を参照してください。

[Chatflow アプリ](/ja/cloud/use-dify/build/workflow-chatflow) は `advanced-chat` モードで動作します。返信とあわせて、ワークフローレベルのイベント（ノードの開始、完了、イテレーション、一時停止）をストリーミングします。それまでの会話内容はコンテキストとして保持され、後のメッセージから参照できます。

<Info>
  認証、ベース URL、エンドユーザーごとにデータを区分する `user` フィールドについては、[クイックスタート](/ja/api-reference/guides/get-started) と [エンドユーザーの識別](/ja/api-reference/guides/end-user-identity) を参照してください。
</Info>

## メッセージの送信とストリーミング返信

* **[チャットメッセージを送信](/ja/api-reference/chat-messages/send-chat-message)**：Chatflow アプリに質問を送信します。ストリーミングモードでは、回答テキストとあわせてワークフローイベントとノードイベントが届きます。ブロッキングモードでは、実行が完了してから結果を返します。
* **[生成を停止](/ja/api-reference/chat-messages/stop-chat-message-generation)**：ストリーミング中の返信を完了前に中断します。
* **[次の推奨質問を取得](/ja/api-reference/chat-messages/get-next-suggested-questions)**：返信の完了後に、それまでの会話内容をもとに次の質問を提案します。

## 会話の管理

* **[会話一覧を取得](/ja/api-reference/conversations/list-conversations)**：現在のユーザーの会話を、最終アクティビティの新しい順に返します。
* **[会話履歴メッセージ一覧を取得](/ja/api-reference/conversations/list-conversation-messages)**：1 つの会話のメッセージ履歴を返します。スクロール表示のチャット UI に適しています。
* **[会話の名前を変更](/ja/api-reference/conversations/rename-conversation)**：表示名を設定または自動生成します。
* **[会話を削除](/ja/api-reference/conversations/delete-conversation)**：会話を削除します。
* **[会話変数の取得](/ja/api-reference/conversations/list-conversation-variables)**：セッションが複数ターンにわたって保持する値を読み取ります。
* **[会話変数を更新](/ja/api-reference/conversations/update-conversation-variable)**：指定した変数の値を直接変更します。

## ファイルの操作

* **[ファイルをアップロード](/ja/api-reference/files/upload-file)**：画像、ドキュメント、音声、動画ファイルをアップロードし、[チャットメッセージを送信](/ja/api-reference/chat-messages/send-chat-message) から参照できるようにします。ファイルはアップロードしたエンドユーザーのみが利用できます。
* **[ファイルをダウンロード](/ja/api-reference/files/download-file)**：アップロード済みファイルをプレビューまたはダウンロードします。対象はアプリ内のメッセージに紐づくファイルに限られます。
* **[エンドユーザー取得](/ja/api-reference/end-users/get-end-user-info)**：エンドユーザー ID（ファイルアップロードのレスポンスにある `created_by` など）から、そのユーザーの詳細を取得します。

## 音声とテキストの相互変換

* **[音声をテキストに変換](/ja/api-reference/audio/convert-audio-to-text)**：アップロードされた音声ファイル（MP3、M4A、WAV、AMR、MPGA のいずれか、最大 30 MB）を文字起こしします。エンドユーザーはタイピングの代わりに音声で入力できます。
* **[テキストを音声に変換](/ja/api-reference/audio/convert-text-to-audio)**：返信を音声として合成します。

## 人間の入力による一時停止

配信方法に WebApp を指定した [人間の入力](/ja/cloud/use-dify/nodes/human-input) ノードに実行が到達したら、API で一時停止を完了させます。

<Steps>
  <Step title="一時停止の検知">
    イベントストリームが `form_token` と実行の `workflow_run_id` を含む `human_input_required` を発行します。その後、ストリームは `workflow_paused` イベントで終了します。
  </Step>

  <Step title="フォームの取得">
    `form_token` を使い、[人間の入力フォームを取得](/ja/api-reference/human-input/get-human-input-form) でフォームの内容を読み込みます。
  </Step>

  <Step title="回答の送信">
    [人間の入力フォームを送信](/ja/api-reference/human-input/submit-human-input-form) で受信者の入力内容を送信します。送信すると実行が再開します。
  </Step>

  <Step title="ストリームの再開">
    一時停止したストリームの `workflow_run_id` を使い、[ワークフローイベントをストリーム](/ja/api-reference/workflow-runs/stream-workflow-events) で新しいストリームを開きます。最終回答までの残りのイベントを追跡します。
  </Step>
</Steps>

ファイルを添付した送信と完全なイベントシーケンスについては、[人間の入力フロー](/ja/api-reference/guides/human-input-flow) ガイドを参照してください。

## ワークフロー実行の確認

* **[ワークフロー実行詳細を取得](/ja/api-reference/workflow-runs/get-workflow-run-detail)**：`workflow_run_id` を指定して、実行のステータスと出力を取得します。この ID は、チャット返信とあわせてストリーミングされるワークフローイベントとノードイベントに含まれます。
* **[ワークフローログ一覧を取得](/ja/api-reference/workflow-runs/list-workflow-logs)**：ステータス、token 使用量、ステップ数、所要時間を含む実行単位のサマリーを返します。ノード単位の実行ログではありません。

## アプリ情報と設定の取得

* **[アプリケーションの基本情報を取得](/ja/api-reference/applications/get-app-info)**：アプリの名前、説明、タグ、モードを返します。
* **[アプリケーションのパラメータ情報を取得](/ja/api-reference/applications/get-app-parameters)**：呼び出し時に `inputs` で送るフィールド（名前、型、デフォルト値）と、アプリの機能スイッチを返します。リクエストやクライアント UI を構築する際の基礎になります。
* **[アプリケーションのメタ情報を取得](/ja/api-reference/applications/get-app-meta)**：ツールアイコンなどの設定メタデータを返します。
* **[アプリの WebApp 設定を取得](/ja/api-reference/applications/get-app-webapp-settings)**：WebApp のサイト設定、テーマ、カスタマイズ項目を返します。

## フィードバックとアノテーションの収集

* **[メッセージフィードバックを送信](/ja/api-reference/feedback/submit-message-feedback)**：エンドユーザーが返信を `like` または `dislike` で評価します。任意でコメントも付けられます。
* **[アプリのフィードバック一覧を取得](/ja/api-reference/feedback/list-app-feedbacks)**：エンドユーザーと管理者の両方から寄せられた、アプリ全体のフィードバックをすべて返します。

アノテーションは質問と固定回答をペアにします。一致した場合、アプリは新しい回答を生成せず、固定回答をそのまま返します。

* **[アノテーションを作成](/ja/api-reference/annotations/create-annotation)**、**[アノテーションリストを取得](/ja/api-reference/annotations/list-annotations)**、**[アノテーションを更新](/ja/api-reference/annotations/update-annotation)**、**[アノテーションを削除](/ja/api-reference/annotations/delete-annotation)**：アノテーション一式を管理します。
* **[アノテーション返信を設定](/ja/api-reference/annotations/configure-annotation-reply)**：アノテーションマッチングのオンとオフを切り替えます。変更は非同期で実行されます。
* **[アノテーション返信の初期設定タスクステータスを取得](/ja/api-reference/annotations/get-annotation-reply-job-status)**：返されたジョブ ID でポーリングし、変更の完了を確認します。
