Send Message to Task Chat tasks.task.chat.message.send
Scope:
taskWho can execute the method: any user with read access permission for the task or higher
The method tasks.task.chat.message.send sends a new message to the task chat.
Method Parameters
Required parameters are marked with *
|
Name |
Description |
|
fields* |
Object with message parameters |
Parameter fields
Required parameters are marked with *
|
Name |
Description |
|
taskId* |
Identifier of the task to which the message should be sent. The task identifier can be obtained when creating a new task or by the old method of getting the task list |
|
text* |
Message text |
Code Examples
How to Use Examples in Documentation
The new API call differs by the addition of the /api/ parameter in the request:
https://{address}/rest/api/{user_id}/{webhook_token}/tasks.task.chat.message.send
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"taskId":51,"text":"Message from external system"}}' \
https://**put_your_bitrix24_address**/rest/api/**put_your_user_id_here**/**put_your_webhook_here**/tasks.task.chat.message.send
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"taskId":51,"text":"Message from external system"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/api/tasks.task.chat.message.send
The SDK does not yet support calls to the address /rest/api/. Use direct HTTP requests, for example, via curl or fetch.
try
{
const response = await $b24.callMethod(
'tasks.task.chat.message.send',
{
fields: {
taskId: 51,
text: 'Message from external system',
}
}
);
const result = response.getData().result;
console.log('Message sent with ID:', result);
processResult(result);
}
catch( error )
{
console.error('Error:', error);
}
The SDK does not yet support calls to the address /rest/api/. Use direct HTTP requests, for example, via curl or fetch.
try {
$response = $b24Service
->core
->call(
'tasks.task.chat.message.send',
[
'fields' =>
[
'taskId' => 51,
'text' => 'Message from external system'
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error sending chat message: ' . $e->getMessage();
}
The SDK does not yet support calls to the address /rest/api/. Use direct HTTP requests, for example, via curl or fetch.
BX24.callMethod(
'tasks.task.chat.message.send',
{
'fields': {
'taskId': 51,
'text': 'Message from external system'
}
},
function(result){
console.info(result.data());
console.log(result);
}
);
The SDK does not yet support calls to the address /rest/api/. Use direct HTTP requests, for example, via curl or fetch.
require_once('crest.php');
$result = CRest::call(
'tasks.task.chat.message.send',
[
'fields' =>
[
'taskId' => 51,
'text' => 'Message from external system'
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Response Handling
HTTP status: 200
{
"result": {
"result": true
},
"time": {
"start": 1762257254,
"finish": 1762257254.211513,
"duration": 0.21151304244995117,
"processing": 0,
"date_start": "2025-11-04T15:54:14+01:00",
"date_finish": "2025-11-04T15:54:14+01:00",
"operating": 0
}
}
Returned Data
|
Name |
Description |
|
result |
Root element of the response. Contains an object with the key |
|
time |
Information about the execution time of the request |
Error Handling
HTTP status: 400
{
"error": {
"code": "BITRIX_REST_V3_EXCEPTION_VALIDATION_DTOVALIDATIONEXCEPTION",
"message": "Error during object validation",
"validation": [
{
"message": "The required field \u0022taskId\u0022 is not filled",
"field": "taskId"
}
]
}
}
|
Name |
Description |
|
error.code |
String error code. Use it to identify the type of exception |
|
error.message |
Text description of the error |
|
error.validation |
Array with error details. Present only in data validation errors |
|
error.validation[].field |
Name of the field where the validation error occurred |
|
error.validation[].message |
Description of the error related to the specified field |
Possible Error Codes
Request Validation Errors
Error code: BITRIX_REST_V3_EXCEPTION_VALIDATION_REQUESTVALIDATIONEXCEPTION
|
Field |
Error Description |
How to Fix |
|
|
Required field |
Add the specified field to the request body |
|
|
Field |
Ensure that the passed value is of the correct type |
Access Error
Error code: BITRIX_REST_V3_EXCEPTION_ACCESSDENIEDEXCEPTION
|
Field |
Error Description |
How to Fix |
|
|
Access denied |
No access to the task |
Statuses and System Error Codes
HTTP Status: 20x, 40x, 50x
The errors described below may occur when calling any method.
|
Status |
Code |
Description |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
The request intensity limit has been exceeded |
|
|
|
The current method is not allowed to be called using batch |
|
|
|
The maximum length of parameters passed to the batch method has been exceeded |
|
|
|
Invalid access token or webhook code |
|
|
|
The methods must be called using the HTTPS protocol |
|
|
|
The REST API is blocked due to overload. This is a manual individual block, to remove it you need to contact Bitrix24 technical support |
|
|
|
The REST API is available only on commercial plans |
|
|
|
The user whose access token or webhook was used to call the method lacks permissions |
|
|
|
The manifest is not available |
|
|
|
The request requires higher privileges than those provided by the webhook token |
|
|
|
The provided access token has expired |
|
|
|
The user does not have access to the application. This means that the application is installed, but the account administrator has allowed access to this application only for specific users |
|
|
|
The public part of the site is closed. To open the public part of the site on an on-premise installation, disable the option "Temporary closure of the public part of the site". Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site |