# Message AI Agent

### Send a Message to AI Agent

You can interact with this API by sending a `POST` request. This allows you to send messages, receive replies, and more.

***

### **API Endpoint**

The following endpoint/URL should be used in order to access this API:

```
https://admin.gpt4business.ai/en/chatbot/api/v1/message/
```

***

### **Request Headers**

The API must have the following request headers:

```
Content-Type: application/json
Authorization: Token <Your-API-Token>
```

***

### **Request Body**

The API requires the following parameters in the request body:

* **`chatbot_uuid`** (Type: UUID, Required)

  Unique identifier (UUID) of the chatbot. You can find this UUID on the chatbot's detail page.
*
* **`query`** (Type: String, Required)

  Message or query the user intends to send to the chatbot. Must be under 5000 characters.
*
* **`user_key`** (Type: String, Required)

  A unique identifier/string, used to distinguish users interacting with the chatbot.

***

### **Request Example**

Here's an example of the request:

PythonJavaScriptCurl/Shell

```
import requests

# Define the API endpoint
url = "https://admin.gpt4business.ai/en/chatbot/api/v1/message/"

# Set the headers for the request
headers = {
    'Authorization': 'Token <YOUR-API-TOKEN>',
    'Content-Type': 'application/json'
}

# Construct the data payload
data = {
    "chatbot_uuid": "12345678-1234-5678-1234-567812345678",
    "query": "Your message/string here.",
    "user_key": "Your message/string here.",
}

# Make the API request
response = requests.post(url, headers=headers, json=data)

# Check the response
if response.status_code == 200:
    print("response:", response.json().get('data'))
else:
    error_data = response.json()
    print("Error:", error_data.get('message', '') + error_data.get('error', ''))
```

***

### **Response Example**

Here's an example of the response:

JSON

```
{
    "message": "AI Agent successfully answered.",
    "data": {
        "answer": "If you have a specific question or need assistance with something, please let me know and I`ll be happy to help.",
        "chat_id": 634
    }
}
```

***

### **Error Handling**

It's essential to handle any non-200 status codes (e.g., 400, 404, 500) returned by the API. In the event of an error, the API will provide a structured response as shown below:

JSON

```
// Response when no token is provided
{
    "detail": "Authentication credentials were not provided."
}
        
```

JSON

```
// Response when API parameters are incorrect
{
    "message": "The provided parameters are not valid. Please check and try again.",
    "errors": {
        "chatbot_uuid": [
            "This field is required."
        ]
    }
}
                                    
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gpt4business.ai/getting-started/apis/message-ai-agent.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
