local json = require('cjson') local log = require('utils.log') local os = require('os') local telephony = require('bitrix.telephony') -- Настройка логирования log.outfile = 'logs/tests_telephony_live_'..os.date('%Y-%m-%d_%H-%M-%S')..'.log' log.level = 'trace' log.info("===== СТАРТ ТЕСТИРОВАНИЯ (РЕЖИМ LIVE) =====") -- Данные для тестов (замените на реальные ID из вашего портала) local test_user_id = 1 -- ID пользователя, которому покажем звонок local test_call_id = "123456789" -- Уникальный ID звонка с вашей АТС --=== ТЕСТЫ ===-- local function test_statistic_get() log.info('--- Тест: Получение статистики звонков (statistic.get) ---') -- Фильтр: статистика за сегодня для указанного пользователя local today = os.date("%Y-%m-%d") local filter = { USER_ID = test_user_id, '>=DATE_CREATE' = today, '<=DATE_CREATE' = today, } local result_list, error_response = telephony.statistic.get({'DATE_CREATE'}, filter, 0) if result_list and #result_list > 0 then log.info(string.format('Тест статистики: УСПЕШНО. Найдено записей: %d', #result_list)) elseif result_list and #result_list == 0 then log.warning('Тест статистики: Записей не найдено. Возможно, сегодня не было звонков.') else log.error('Тест статистики: ПРОВАЛЕНО.') if error_response then log.error(error_response) end end end local function test_externalcall_show() log.info('--- Тест: Показ карточки звонка (externalcall.show) ---') local fields = { USER_ID = test_user_id, CALL_ID = test_call_id, LINE_NUMBER = "100", -- Номер линии или внутренний номер SHOW = "Y" } local result, error_response = telephony.externalcall.show(fields) if result and result.result then log.info('Тест показа карточки: УСПЕШНО.') else log.error('Тест показа карточки: ПРОВАЛЕНО.') if error_response then log.error(error_response) end end end --=== ЗАПУСК ТЕСТОВ ===-- test_statistic_get() test_externalcall_show() log.info("===== ЗАВЕРШЕНИЕ ТЕСТИРОВАНИЯ =====")