logo
Development
検索
メッセージ送信

メッセージ送信

指定した会話IDにメッセージを送信し、エージェントのレスポンスメッセージを取得します。メッセージ内容としてテキストおよび/または画像の送信をサポートしています。

リクエストメソッド

POST

リクエストURL

https://api.gptbots.ai/v1/conversation/message

リクエスト認証

認証の詳細は「概要」セクションをご参照ください。

リクエスト

リクエスト例

curl -X POST https://api.gptbots.ai/v1/conversation/message \ -H 'Authorization: Bearer your_apikey' \ -H 'Content-Type: application/json' \ -d '{ "text": "HI!", "conversation_id": "xxxxxx", "response_mode": "streaming", "short_term_memory": true, "long_term_memory": false, "files":[ { "url": "https://res.gptbots.ai/ailab/botchat/file/38f13465ad5246190b759b3289ecba51.jpg", "name": "something.jpg", "width": 200, "height": 200 }, { "base64_content": "Your_file_base64_content", "name": "something.pdf" } ], "knowledge": { "data_ids": [ "48c70da0403cc812641b934f", "48c70da0403cc812641df35k" ] } } }'
                      
                      curl -X POST https://api.gptbots.ai/v1/conversation/message \ 
  -H 'Authorization: Bearer your_apikey' \ 
  -H 'Content-Type: application/json' \ 
  -d '{
        "text": "HI!",
        "conversation_id": "xxxxxx",
        "response_mode": "streaming",
        "short_term_memory": true,
        "long_term_memory": false,
        "files":[
          {
            "url": "https://res.gptbots.ai/ailab/botchat/file/38f13465ad5246190b759b3289ecba51.jpg",
            "name": "something.jpg",
            "width": 200,
            "height": 200
          },
          {
            "base64_content": "Your_file_base64_content", 
            "name": "something.pdf"
          }
        ],
        "knowledge": {
            "data_ids": [
                "48c70da0403cc812641b934f",
                "48c70da0403cc812641df35k"
            ]
        }
        }
}'

                    
このコードブロックをポップアップで表示
フィールド タイプ 説明
Authorization Bearer ${token} 認証には Authorization: Bearer ${token} を使用してください。トークンはAPIキーページから取得できます。
Content-Type application/json データの形式は application/json を設定してください。

リクエストボディ

フィールド タイプ 必須 説明
text String 必須 text または files のいずれかを入力する必要があります。
ユーザーのテキストメッセージであり、テキスト内容の長さはエージェントの設定で定められたトークン長の上限を超えてはいけません。
files JSON Array 任意 text または files のいずれか一方の入力が必要です。ファイルは画像・音声・ドキュメント型のデータをエージェントに送信するために使用されます。エージェントは2種類のファイル認識方式に対応しています:「システムファイル認識」と「LLMファイル認識」。認識方式によって対応するファイル形式が異なります。ファイル送信にはネットワークパスが使用可能で、最大9ファイルまでアップロード可能です。ドキュメントは20MB以下、画像は10MB以下、音声は5MB以下が上限です。
LLMファイル認識
  • サポートされるファイルタイプは、各LLMの能力に依存します。フロー型エージェントの場合は、すべてのLLMが対応するファイルタイプの共通集合を使用します。
  • システムファイル認識
  • GPTBotsシステムがアップロードされたファイルをテキストに変換します。
  • ドキュメント形式: .pdf, .txt, .docx, .csv, .xlsx, .html, .c, .cpp, .java, .json, .md, .php, .pptx, .py, .rb, .tex, .css, .js, .ts, .xml
  • 画像形式: .jpg, .jpeg, .png, .gif, .webp
  • 音声形式: .mp3, .wav, .acc
  • ファイル送信仕様
  • base64_content: string、ファイルストリーム(ファイルURLリンクとどちらか一方を選択)
  • url: string、ファイルURLリンク(ファイルストリームとどちらか一方を選択)
  • name: string、ファイル名
  • width: int、画像の横幅(画像タイプのみ必須)
  • height: int、画像の縦幅(画像タイプのみ必須)
  • conversation_id String 必須 会話ID。以前の会話を継続するために指定します。
    response_mode String 必須 blocking:
  • blocking: 実行完了を待ってから結果を返します(処理が長時間に及ぶと中断される可能性があります)。
  • streaming: SSE(Server-Sent Events)に基づいたストリーミング応答。
  • webhook: エージェントおよび有人オペレーターからのメッセージが、APIページで設定されたWebhookアドレスに送信されます。
  • short_term_memory Boolean 任意 このメッセージ送信に短期記憶を含めるかどうか。未記入の場合は、エージェントのメモリ設定に従います。
    long_term_memory Boolean 任意 このメッセージ送信に長期記憶を含めるかどうか。未記入の場合は、エージェントのメモリ設定に従います。
    knowledge Object 任意 このメッセージにおけるナレッジ検索のスコープをカスタマイズします。このフィールドが存在しない場合、エージェントのデフォルトのナレッジ設定が適用されます。
    data_ids Array 任意 data_ids はナレッジドキュメントIDの配列です。
    "data_ids": [] のように空配列を指定すると、ナレッジ検索は行われません。
    値を指定した場合は、そのIDの範囲内のみでナレッジ検索が行われます。

    レスポンス

    レスポンス例

    { "message_id": "65a4ccfC7ce58e728d5897e0", "message_type": "ANSWER", "text": "Hi, is there anything I can help you?", "flow_output": [ { "content": "Hello", "branch": "1", "from_component_name": "User Input" } ], "create_time": 1679587005, "conversation_id": "657303a8a764d47094874bbe" }
                          
                          {
      "message_id": "65a4ccfC7ce58e728d5897e0",
      "message_type": "ANSWER",
      "text": "Hi, is there anything I can help you?",
      "flow_output": [
        {
          "content": "Hello",
          "branch": "1", 
          "from_component_name": "User Input"
        }
      ],
      "create_time": 1679587005,
      "conversation_id": "657303a8a764d47094874bbe"
    }
    
                        
    このコードブロックをポップアップで表示

    成功時のレスポンス(Blocking)

    フィールド タイプ 説明
    message_id String 一意のメッセージID
    message_type String メッセージの種別。値は ANSWER または QUESTION
    text String レスポンステキスト
    flow_output JSON Array フローエージェントによる出力内容
    content String フローエージェントのコンポーネントからレスポンステキスト
    branch String フローエージェントのブランチ名
    from_component_name String フローエージェントで、このレスポンスを生成した直前のコンポーネント名
    create_time Long レスポンスメッセージが生成されたタイムスタンプ
    conversation_id String 会話ID

    成功時のレスポンス(Streaming)

    フィールド タイプ 説明
    code Int メッセージ種別コード。3:テキスト、10:フロー出力、0:終了。
    message String メッセージ種別。値:Text、FlowOutput、End。
    data Object レスポンス内容

    ストリーミングデータは複数のチャンク(断片)に分割されて返されます。

    {"code":11,"message":"MessageInfo","data":{"message_id":"6785dba0f06d872bff9ee347"}} {"code":3,"message":"Text","data":"I"} {"code":3,"message":"Text","data":"can"} {"code":3,"message":"Text","data":"help"} {"code":3,"message":"Text","data":"you"} {"code":3,"message":"Text","data":"?"} {"code":10,"message":"FlowOutput","data":[{"content":"Hello","branch":null,"from_component_name":"User Input"}]} {"code":0,"message":"End","data":null}
                          
                          {"code":11,"message":"MessageInfo","data":{"message_id":"6785dba0f06d872bff9ee347"}}
    {"code":3,"message":"Text","data":"I"}
    {"code":3,"message":"Text","data":"can"}  
    {"code":3,"message":"Text","data":"help"}
    {"code":3,"message":"Text","data":"you"}
    {"code":3,"message":"Text","data":"?"}
    {"code":10,"message":"FlowOutput","data":[{"content":"Hello","branch":null,"from_component_name":"User Input"}]}
    {"code":0,"message":"End","data":null}
    
                        
    このコードブロックをポップアップで表示

    成功時のレスポンス(Webhook)

    開発者がWebhookアドレスを設定している場合、正常なレスポンスが返された際に、GPTBotsシステムはエージェントおよび人間のカスタマーサポートからのメッセージをWebhookアドレスに送信します。詳細なメッセージ形式については、Webhookモードをご参照ください。

    エラー時のレスポンス

    フィールド タイプ 説明
    code Int エラーコード
    message String エラー詳細内容

    エラーコード

    コード メッセージ
    40000 無効なパラメータ
    40127 開発者の認証に失敗しました
    40356 会話が存在しません
    50000 サーバ内部エラーが発生しました
    40364 このエージェントは画像モード対応のLLMを使用していません
    20059 エージェントが削除されました
    20040 問い合わせの上限を超えています
    40358 conversation_id がエージェントまたはユーザーと一致しません
    20022 クレジット残高が不足しています