Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Сохранить сообщение в качестве быстрого ответа imopenlines.message.quick.save». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции.
Сохранить сообщение в качестве быстрого ответа imopenlines.message.quick.save
> Scope: imopenlines
>
> Кто может выполнять метод: администратор или оператор открытой линии
Метод imopenlines.message.quick.save сохраняет сообщение из чата открытой линии в список быстрых ответов.
Параметры метода
НазваниеТип | Описание |
|---|---|
CHAT_IDinteger | Идентификатор чата открытой линии, из которого нужно сохранить сообщение. Идентификатор чата можно получить с помощью метода imopenlines.dialog.get или imopenlines.session.open |
MESSAGE_IDinteger | Идентификатор сообщения, которое нужно добавить в быстрые ответы. Идентификатор сообщения можно получить с помощью метода imopenlines.session.history.get |
Примеры кода
- cURL (Webhook)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"CHAT_ID":1331,"MESSAGE_ID":83507}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imopenlines.message.quick.save- cURL (OAuth)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"CHAT_ID":1331,"MESSAGE_ID":83507,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/imopenlines.message.quick.save- JS
try {
const response = await $b24.callMethod(
'imopenlines.message.quick.save',
{
CHAT_ID: 1331,
MESSAGE_ID: 83507,
}
);
const { result } = response.getData();
console.log('Saved to quick answers:', result);
} catch (error) {
console.error('Error saving quick answer:', error);
}- PHP
try {
$response = $b24Service
->core
->call(
'imopenlines.message.quick.save',
[
'CHAT_ID' => 1331,
'MESSAGE_ID' => 83507,
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
echo 'Error: ' . $result->error();
} else {
echo 'Saved to quick answers: ' . var_export($result->data(), true);
}
} catch (Throwable $exception) {
error_log($exception->getMessage());
echo 'Error saving quick answer: ' . $exception->getMessage();
}- BX24.js
BX24.callMethod(
'imopenlines.message.quick.save',
{
CHAT_ID: 1331,
MESSAGE_ID: 83507,
},
function(result) {
if (result.error()) {
console.error(result.error().ex);
} else {
console.log(result.data());
}
}
);- PHP CRest
require_once('crest.php');
$result = CRest::call(
'imopenlines.message.quick.save',
[
'CHAT_ID' => 1331,
'MESSAGE_ID' => 83507,
]
);
if (!empty($result['error'])) {
echo 'Error: ' . $result['error_description'];
} else {
echo 'Saved to quick answers: ' . var_export($result['result'], true);
}Обработка ответа
HTTP-код: 200
{
"result": true,
"time": {
"start": 1728626400.456,
"finish": 1728626400.539,
"duration": 0.083,
"processing": 0.031,
"date_start": "2024-10-11T10:00:00+03:00",
"date_finish": "2024-10-11T10:00:00+03:00",
"operating": 0
}
}Возвращаемые данные
НазваниеТип | Описание |
|---|---|
resultboolean | Содержит true при успешном сохранении в быстрые ответы |
timetime | Информация о времени выполнения запроса |
Обработка ошибок
HTTP-статус: 400
{
"error": "CANT_SAVE_QUICK_ANSWER",
"error_description": "Ошибка сохранения быстрого ответа"
}Возможные ошибки
| Код | Описание |
|---|---|
CHAT_ID | Указан некорректный идентификатор чата |
CHAT_TYPE | Указанный чат не является открытой линией |
CANT_SAVE_QUICK_ANSWER | Ошибка сохранения быстрого ответа |
ACCESS_DENIED | Недостаточно прав, чтобы открыть указанный чат |
- [](./imopenlines-crm-message-add)
💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «Сохранить сообщение в качестве быстрого ответа imopenlines.message.quick.save» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru