При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Добавить расшифровку записи к звонку telephony.call.attachTranscription», разберем архитектурные особенности и предоставим готовые к интеграции примеры кода.
Добавить расшифровку записи к звонку telephony.call.attachTranscription
Тут может не хватать некоторых данных — дополним в ближайшее время
- не указана обязательность параметров
- отсутствуют примеры
- отсутствует ответ в случае успеха
- отсутствует ответ в случае ошибки
Метод telephony.call.attachTranscription добавляет расшифровку записи к звонку.
| Параметр / Тип | Описание |
|---|---|
CALL_ID string | Идентификатор звонка. |
COST float | Стоимость расшифровки. |
COST_CURRENCY string | Валюта стоимости расшифровки. |
| MESSAGES | Расшифровка звонка. Массив объектов типа TranscriptMessage. |
Поля класса TranscriptMessage
| Параметр / Тип | Описание |
|---|---|
SIDE string | Участник разговора. Варианты значения: — User — пользователь портала, — Client — внешний участник. |
START_TIME int | Время начала фразы в секундах, считая от начала разговора. |
STOP_TIME int | Время окончания фразы в секундах, считая от начала разговора. |
MESSAGE string | Текст фразы. |
Практический пример и готовый код на PHP
- JS
try
{
const response = await $b24.callMethod(
"telephony.call.attachTranscription",
{
CALL_ID: callId,
MESSAGES: messages
}
);
const result = response.getData().result;
console.log(result);
}
catch( error )
{
console.error('Error:', error);
}- PHP
try {
$response = $b24Service
->core
->call(
'telephony.call.attachTranscription',
[
'CALL_ID' => $callId,
'MESSAGES' => [
[
'SIDE' => 'User',
'START_TIME' => 1,
'STOP_TIME' => 3,
'MESSAGE' => 'Добрый день, чем могу помочь'
],
[
'SIDE' => 'Client',
'START_TIME' => 4,
'STOP_TIME' => 8,
'MESSAGE' => 'Здравствуйте, вы продаете пылесосы?'
],
[
'SIDE' => 'User',
'START_TIME' => 9,
'STOP_TIME' => 11,
'MESSAGE' => 'К сожалению, нет'
],
[
'SIDE' => 'Client',
'START_TIME' => 11,
'STOP_TIME' => 13,
'MESSAGE' => 'Понятно, до свидания'
],
[
'SIDE' => 'User',
'START_TIME' => 13,
'STOP_TIME' => 15,
'MESSAGE' => 'До свидания'
],
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error attaching transcription: ' . $e->getMessage();
}- BX24.js
var callId = '<Id of the call>';
var messages = [
{
SIDE: "User",
START_TIME: 1,
STOP_TIME: 3,
MESSAGE: "Добрый день, чем могу помочь"
},
{
SIDE: "Client",
START_TIME: 4,
STOP_TIME: 8,
MESSAGE: "Здравствуйте, вы продаете пылесосы?"
},
{
SIDE: "User",
START_TIME: 9,
STOP_TIME: 11,
MESSAGE: "К сожалению, нет"
},
{
SIDE: "Client",
START_TIME: 11,
STOP_TIME: 13,
MESSAGE: "Понятно, до свидания"
},
{
SIDE: "User",
START_TIME: 13,
STOP_TIME: 15,
MESSAGE: "До свидания"
},
];
BX24.callMethod(
"telephony.call.attachTranscription",
{
CALL_ID: callId,
MESSAGES: messages
},
function(response)
{
console.log(response.data())
}
);💡 Экспертное мнение и рекомендации
Ключевые выводы по теме «Добавить расшифровку записи к звонку telephony.call.attachTranscription»:
Использование современных стандартов D7 при работе с telephony.call.attachTranscription позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru