Send Message
Last updated:2023-11-02

Send Message

Send a message to the specified conversation ID and get the bot response message. Supports submitting text and/or images as message content.

Request Method

POST

Request URL

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

Request Authentication

See Overview for authentication details.

Request

Example Request

curl -X POST https://api.gptbots.ai/v1/conversation/message \ -H 'Authorization: Bearer your_apikey' \ -H 'Content-Type: application/json' \ -d '{ "text": "Hello!", "conversation_id": "xxxxxx", "response_mode": "streaming", "short_term_memory": True, "long_term_memory": False, "files":[ { "base64_content": “…AiBMI0gWSQpvHbI4A1/VtR7/8ECllS3fqMNBMAAAAASUVORK5CYII=", "url": "https://res.gptbots.cc/ailab/botchat/file/38f13465ad5246190b759b3289ecba51.jpg", "name": "something.jpg", "width": 200, "height": 200 }, { "base64_content": “…AiBMI0gWSQpvHbI4A1/VtR7/8ECllS3fqMNBMAAAAASUVORK5CYII=", "url": "https://res.gptbots.cc/ailab/botchat/file/38f13465ad5246190b759b3289ecba51.pdf", "name": "something.pdf" } ], "knowledge": { "data_ids": [ "1234567890", "4567898012" ] } }'
          curl -X POST https://api.gptbots.ai/v1/conversation/message \ 
  -H 'Authorization: Bearer your_apikey' \ 
  -H 'Content-Type: application/json' \ 
  -d '{
        "text": "Hello!",
        "conversation_id": "xxxxxx",
        "response_mode": "streaming",
        "short_term_memory": True,
        "long_term_memory": False,
        "files":[
          {
            "base64_content": “…AiBMI0gWSQpvHbI4A1/VtR7/8ECllS3fqMNBMAAAAASUVORK5CYII=",
            "url": "https://res.gptbots.cc/ailab/botchat/file/38f13465ad5246190b759b3289ecba51.jpg",
            "name": "something.jpg",
            "width": 200,
            "height": 200
          },
          {
            "base64_content": “…AiBMI0gWSQpvHbI4A1/VtR7/8ECllS3fqMNBMAAAAASUVORK5CYII=",
            "url": "https://res.gptbots.cc/ailab/botchat/file/38f13465ad5246190b759b3289ecba51.pdf",
            "name": "something.pdf"
          }
        ],
        "knowledge": {
            "data_ids": [
              "1234567890",
              "4567898012"
         ]
        }
}'

        
This code block in the floating window
Field Type Description
Authorization Bearer ${token} Use Authorization: Bearer ${token} for authentication. Get the key from the API Keys page as token.
Content-Type application/json Data type, set to application/json.

Request Body

Field Type Required Description
text string Yes Either text or files must be entered.
The user's text message, the length of the text content cannot exceed the token length limit set by the Bot configuration.
files JSON Array Yes Either text or files must be provided.
Uploaded files support submitting file web paths, with a maximum of 9 files and each file not exceeding 20MB.
Supported file types: .jpg, .jpeg, .png, .gif, .webp, .pdf, .txt, .docx, .html, .c, .cpp, .java, .json, .md, .php, .pptx, .py, .rb, .tex, .css, .js, .ts, .xml, etc.
File configuration (images require width and height):
  • base64_content, string, file stream
  • url, string, file link
  • name, string, file name
  • width, int, image width
  • height, int, image height

[{"base64_content": “…AiBMI0gWSQpvHbI4A1/VtR7/8ECllS3fqMNBMAAAAASUVORK5CYII=","url":"https://res.gptbots.cc/ailab/botchat/file/38f13465ad5246190b759b3289ecba51.jpg","name":"something.jpg","width":200,"height":200},{"base64_content": “…AiBMI0gWSQpvHbI4A1/VtR7/8ECllS3fqMNBMAAAAASUVORK5CYII=","url":"https://res.gptbots.cc/ailab/botchat/file/38f13465ad5246190b759b3289ecba51.pdf","name":"something.pdf"}]
conversation_id string Yes Conversation ID, pass in to continue previous conversation.
response_mode string Yes blocking: Blocking, wait for completion before returning result. (Long requests may be interrupted) streaming: Streaming response, based on SSE (Server-Sent Events).
short_term_memory boolean No Does this message send carry short-term memory within the conversation as context? If not filled out, follow the memory settings of the Bot.
long_term_memory boolean No Does this message send carry long-term memory within the conversation as context? If not filled out, follow the memory settings of the Bot.
knowledge object No The message sent this time, in the knowledge base retrieval, only retrieves the knowledge data defined in this parameter as the retrieval scope.
- data_ids array No The knowledge ID for knowledge base retrieval. If this parameter is not submitted, it is considered as no restriction on the retrieval range, that is, querying all knowledge documents of the entire Bot. If this parameter is submitted, and the array is empty, such as [], it is considered as not retrieving any knowledge documents. If there are data_ids in the array, the retrieval is performed based on these data_ids.

Response

Example Response

{ "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"
}

        
This code block in the floating window

Success Response (Blocking)

Field Type Description
message_id string Unique message ID.
message_type string Message type, value: ANSWER, QUESTION.
text string Reply text.
flow_output JSON Array flow bot reply content.
content string flow bot component reply text.
branch string flow bot branch.
from_component_name string flow bot upstream component name.
create_time long Timestamp when reply message was created.
conversation_id string Conversation ID.

Success Response (Streaming)

Field Type Description
code int Message type code, 3-Text, 10-FlowOutput, 0-End.
message string Message type, value: Text, FlowOutput, End.
data object Reply content.

Streaming data is returned in multiple chunks:

{"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":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}

        
This code block in the floating window

Failure Response

Field Type Description
code int Error code.
message string Error details.

Error Codes

Code Message
40000 Invalid parameter
40127 Developer authentication failed
40356 Conversation does not exist
50000 Internal server error
40364 This Bot does not use an LLM that supports image mode
20059 Bot deleted
20040 Exceeded question limit
40358 conversation_id does not match bot or user
20022 Credit not enough