im.message.update
Изменить сообщение
Описание
Метод im.message.update изменяет текст и параметры уже отправленного сообщения.
Параметры
MESSAGE_ID
integer
обязательный
Идентификатор сообщения.
Идентификатор возвращает метод im.message.add
MESSAGE
string
необязательный
Новый текст сообщения. Если передать пустое значение, сообщение будет удалено.
Если параметр не передан, текст сообщения не изменится
ATTACH
object
необязательный
Вложение с блоками контента: изображения, ссылки, файлы. Чтобы удалить вложение, передайте N или пустое значение.
Подробнее читайте в разделе Вложения
KEYBOARD
object
необязательный
Кнопки под сообщением, с которыми может взаимодействовать пользователь. Чтобы отключить вывод кнопок, передайте N или пустое значение.
Подробнее читайте в статье Работа с клавиатурами
MENU
object
необязательный
Дополнительные пункты в контекстном меню чата. Чтобы отключить показ дополнительных пунктов меню, передайте N или пустое значение.
Подробнее читайте в статье Контекстное меню
URL_PREVIEW
string
необязательный
Преобразование ссылок в rich-ссылки.
Допустимые значения:
- Y — включено
- N — выключено
IS_EDITED
string
необязательный
Флаг отметки «изменено»:
- Y — отметить
- N — не отмечать
По умолчанию — Y
Параметр применяется при обновлении ATTACH. При изменении MESSAGE метка «изменено» может появиться даже если передан IS_EDITED = 'N'
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"MESSAGE_ID":34239,"MESSAGE":"Обновленный текст","KEYBOARD":"N"}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/im.message.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"MESSAGE_ID":34239,"MESSAGE":"Обновленный текст","KEYBOARD":"N","auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/im.message.update
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
try {
const response = await $b24.actions.v2.call.make<boolean>({
method: 'im.message.update',
params: {
MESSAGE_ID: 34239,
MESSAGE: 'Updated text',
KEYBOARD: 'N',
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('Message updated:', result)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function updateMessage() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'im.message.update',
params: {
MESSAGE_ID: 34239,
MESSAGE: 'Updated text',
KEYBOARD: 'N',
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('Message updated:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', updateMessage)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.im.message.update(
message_id=34239,
message="Обновленный текст",
keyboard="N",
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'im.message.update',
[
'MESSAGE_ID' => 34239,
'MESSAGE' => 'Обновленный текст',
'KEYBOARD' => 'N'
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating message: ' . $e->getMessage();
}
BX24.callMethod(
'im.message.update',
{
MESSAGE_ID: 34239,
MESSAGE: 'Обновленный текст',
KEYBOARD: 'N'
},
function(result)
{
if (result.error())
console.error(result.error());
else
console.log(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'im.message.update',
[
'MESSAGE_ID' => 34239,
'MESSAGE' => 'Обновленный текст',
'KEYBOARD' => 'N'
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "im.message.update", b24.Params{
"MESSAGE_ID": 34239,
"MESSAGE": "Обновленный текст",
"KEYBOARD": "N",
})
if err != nil {
return fmt.Errorf("im.message.update: %w", err)
}
var ok bool
if err := json.Unmarshal(res.Result, &ok); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("выполнено:", ok)
Ответ
HTTP-статус: 200
{
"result": true,
"time": {
"start": 1772623160,
"finish": 1772623160.616113,
"duration": 0.6161129474639893,
"processing": 0,
"date_start": "2026-03-04T14:19:20+03:00",
"date_finish": "2026-03-04T14:19:20+03:00",
"operating_reset_at": 1772623760,
"operating": 0
}
}
Возвращаемые данные
result
boolean
true, если сообщение обновлено
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "MESSAGE_ID_ERROR",
"error_description": "Message ID can't be empty"
}
| Код | Описание | Значение |
|---|---|---|
MESSAGE_ID_ERROR |
Message ID can't be empty | Не передан или некорректен MESSAGE_ID |
CANT_EDIT_MESSAGE |
Time has expired for modification or you don't have access | Нет прав на редактирование сообщения или истек срок изменения |
ATTACH_ERROR |
Incorrect attach params | Невалидный объект ATTACH |
ATTACH_OVERSIZE |
You have exceeded the maximum allowable size of attach | Размер ATTACH превышает допустимый |
KEYBOARD_ERROR |
Incorrect keyboard params | Невалидный объект KEYBOARD |
KEYBOARD_OVERSIZE |
You have exceeded the maximum allowable size of keyboard | Размер KEYBOARD превышает допустимый |
menu_ERROR |
Incorrect menu params | Невалидный объект MENU |
MENU_OVERSIZE |
You have exceeded the maximum allowable size of menu | Размер MENU превышает допустимый |

