Добрый день, коллеги!

Интересует работа связки: Oktell – коннектор – Creatio. 

Прошу поделиться информацией о том, как взаимодействует коннектор с Creatio при звонках. Какие данные из Oktell проходят через коннектор, а какие берутся напрямую? 

Информация необходима в ознакомительных целях, для избежания спорных ситуация в  работе Creatio – Oktell.

В сети нашёл очень много разрозненной информации по этой теме, но какой-то общей документации найти не смог. На сайте Террасофта есть немного информации по этой теме здесь, но этого недостаточно.

Ранее в сообществе был похожий вопрос здесь, но ссылки в ответе уже неактуальны.

Нравится

1 комментарий

Виктор, актуальная ссылка на инструкцию тут, хотя особых отличий от приведенной Вами не вижу.

 

Для Oktell «коннектор» — не отдельная сущность, а просто лицензия на использование соответствующей функциональности в системе. Это для ряда других телефоний ставится отдельный сервер TMS, через который идёт взаимодействие с сервером телефонии, а именно в этой интеграции такого нет, работает сразу напрямую.

 

Посмотреть, как идёт обмен данными браузера с сервером приложения и сервером телефонии можно в «инструментах разработчика» на вкладке «Сеть».

Показать все комментарии

Каким образом можно, кликнув на номер телефона в Creatio, сделать звонок через tel-протокол?
То есть,  кликать по ссылке вида "tel: +35722444032"? Желательно, глобально, а не переопределяя каждое поле

 

Нравится

1 комментарий

Владимир, вопрос обсуждали тут и тут.

Насколько понял, нужны доработки, но не каждого поля, а одна на страницу. Например, в карточке контакта ContactPageV2 переопределить функцию, которая стандартно такая:

/**
 * Starts call in CTI panel.
 * @param {String} number Phone number to call.
 * @return {Boolean} False, to stop click event propagation.
 */
onCallClick: function(number) {
	return this.callContact(number, this.$Id, this.$Account);
}

Или даже получится переопределить общий для всех механизм в CommunicationOptionsMixin, где есть функции для звонков контакту, контрагенту, лиду и др., все они вызывают функцию:

/**
 * Starts phone call in CTI panel.
 * @protected
 * @param {String} number Phone number to call.
 * @param {String} entitySchemaName Customer field entity schema name.
 * @param {String} customerId Customer record unique identifier.
 * @param {Terrasoft.Collection} relationFields Call instance crelation column values collection.
 * @return {Boolean} False to stop click event propagation.
 */
makeCall: function(number, entitySchemaName, customerId, relationFields) {
	if (this.isNotEmpty(number)) {
		this.sandbox.publish("CallCustomer", {
			number: number,
			customerId: customerId,
			entitySchemaName: entitySchemaName,
			callRelationFields: relationFields
		});
	}
	return false;
},

Также пробовал просто создавать средство связи типа «web» и там писать ссылку с tel и цифрами, но так работать не будет.

Показать все комментарии

Добрый день

Стоит задача следующая. Подключить адекватную телефонию с покрытием в диковинных азиатских странах, 

настроить работу оператора в режиме автонабора

скрыть информацию по лидам - в частности телефон чтобы не был доступен оператору ни при каких условиях.

Это возможно ли сделать в рамках продуктов срм террасофт?

если да то что для этого нужно и как максимально быстро это можно реализовать? 

Дополнение: лиды заходят по апи с лендингов, при смене статуса лида происходит передача постбека в партнерскую сеть = надеюсь это не проблема и не повлияет на остальные процессы никак. 

Нравится

1 комментарий

Выбрать телефонию можно в маркете, по поводу адекватности и диковинности лучше уточнить непосредственно у их создателей.

 

По поводу невидимости номера, есть стандартные механизмы прав доступа на колонки, но не уверен, что при их включении телефония сможет полноценно работать. Нужно тестировать, возможно, и дорабатывать.

 

Как ещё вариант, можно рассмотреть всё реализовать на уровне скриптов сервера телефонии, чтобы оператору и в систему звонок приходил уже с ненастоящего номера.

 

Если самостоятельно разрабатывать не планируется и стандартные варианты не подойдут, нужно более подробно описывать ТЗ, а потом искать того, кто сможет реализовать.

Показать все комментарии

Рады представить новое дополнение для интеграции с телефонией Asterisk!

 

Решение расширяет возможности базового коннектора и позволяет получить аудиозаписи звонков в интерфейсе системы, а также импортирует звонки неавторизованных сотрудников.

 

Дополнение работает со всеми версиями Астериск. Использовать можно как совместно, так и раздельно с Asterisk Connector for Creatio.

 

Детали на сайте!

Нравится

Поделиться

0 комментариев
Показать все комментарии

Всем добрый день! 

Реализовал в заказе/лиде кнопку звонка - http://prntscr.com/ngpc8u
звонок вызываю через публикацию CallCustomer:
 

this.sandbox.publish("CallCustomer", {
					number: mobilePhone, 
					customerId: Terrasoft.SysValue.CURRENT_USER.value, 
					entitySchemaName: "Lead",
					callRelationFields: undefined
				});

 Какие параметры необходимо добавить что бы в звонке сохранился либо Лид/Заказ  + Контакт заказа если звоним из Заказа - http://prntscr.com/ngpenx ?
Или необходимо использовать другой метод?

Заранее благодарен.

Нравится

9 комментариев
Лучший ответ

Перед отправкой сообщения сохраните ваш конфиг в "AdvisedIdentifiedSubscriberInfo", те

 

this.set("AdvisedIdentifiedSubscriberInfo", {

number: _nomer, 
                    customerId: this.get("Id"), 
                    entitySchemaName: "Lead",
                    callRelationFields: ...

});

 

Если не поможет (Насколько понимаю каждая интеграция с телефонией реализована по своему, возможно что запись в базу информации о звонке реализована напрямую из dll инсертами) то посмотрите что поступает в БД через sql профайлер и что за запросу идут через сервисы во вкладке Netwoork браузера. Возможно вам придется  найти Id звонка и обновить нужные вам поля в объекте.

Добрый день!
Попробуйте передать данные поля в callRelationFields. Это массив из объектов, типа:

{
	name: columnName,
	value: columnValue,
	type: this.Terrasoft.DataValueType.GUID
}

 

Сидоров Александр В.,

this.sandbox.publish("CallCustomer", {
					number: mobilePhone, 
					customerId: Terrasoft.SysValue.CURRENT_USER.value, 
					entitySchemaName: "Lead",
					callRelationFields: [{
						name: "Lead",
						value: leadId,
						type: this.Terrasoft.DataValueType.GUID
					}]
				});

Подставил параметры, не помогло, что не так?

Нигрескул Алексей,
Посмотрите, какие поля приходят в метод updateCallByIdentificationData схемы CtiPanelIdentificationUtilities. Может быть там возникают ошибки

Насколько я понимаю в customerId должна быть Id вашего Lead  с которого совершается звонок те набор полей customerId и EntitySchemaName вы определяете схему и идентификатор записи к которой будут добавлен набор полей из callRelationFields

Григорий Чех,

Передавал  customerId: leadId, entitySchemaName: "Lead" не помогло

Добавить комментарий

Сидоров Александр В.,

Продебажил данный метод, он даже не срабатывает при вызове через публикацию CallCustomer.

Перед отправкой сообщения сохраните ваш конфиг в "AdvisedIdentifiedSubscriberInfo", те

 

this.set("AdvisedIdentifiedSubscriberInfo", {

number: _nomer, 
                    customerId: this.get("Id"), 
                    entitySchemaName: "Lead",
                    callRelationFields: ...

});

 

Если не поможет (Насколько понимаю каждая интеграция с телефонией реализована по своему, возможно что запись в базу информации о звонке реализована напрямую из dll инсертами) то посмотрите что поступает в БД через sql профайлер и что за запросу идут через сервисы во вкладке Netwoork браузера. Возможно вам придется  найти Id звонка и обновить нужные вам поля в объекте.

Благодарю, попробую. Id звонка не проблема получить, переопределил схему CtiPanel, переопределил метод onCallSavedEvent и в нем по сути получаю звонок, и тут можно пушить в sandbox и подписываться там где нужно, ну это теоретически, Нужно только подумать как отловить нужную публикацию. Телефония Webitel. Может есть идеи по данному поводу, как отлавливать звонок, вот получаю лог звонка из переопределенного метода onCallSavedEvent - http://prntscr.com/ngvqpx. Просмотрел объект зацепится не за что, у кого какие идеи,заранее благодарен!

Вы пробовали сохранить в this.get("AdvisedIdentifiedSubscriberInfo") конфиг звонка включая поля которые вам нужно сохранить в карточке звонка?

Посмотрите при  сохранении что попадает в identificationFieldsData

 

Показать все комментарии

Вопрос:

Как реализовать отображение кнопки "Прослушать" в разделе Звонки?
Запись звонка создана, прикреплен аудиофайл mp3, также есть ссылка на mp3 специально для этой кнопки. Как эту кнопку вывести?

Ответ:

Для прослушивания звонков используется базовый аудиоплеер HTML5. Пример его использования Вы можете посмотреть в схеме CallSectionV2 из пакет CTIBase. Поиск выполняйте по слову audio.

Нравится

Поделиться

2 комментария

Каким образом реализовать передачу данных авторизации на удаленном сервере при получении потока?

 

Пожалуйста, опишите свой случай подробнее.

Показать все комментарии

Вопрос:

Как настроить интеграцию с Infinity X?

Ответ:

Установите новую версию TMS 
Обратите внимание, на сервере, где установлена служба должна быть версия .Net Framework выше 4.7

По данной ссылке необходимо скачать библиотеки интеграции c "infinity X" 

В TMS.config в секции infinity в параметре infinityXClientPath укажите путь к папке, если она будет лежать в корне TMS, тогда можно указать имя папки

Также в TMS.config необходимо в секции infinity в thirdPartyIntegrationLogin и в thirdPartyIntegrationPassword надо указать параметры пользователя у которого есть роль «Интеграционное подключение Third-Party» на стороне Infinity.

На стороне bpm'online профиле в странице настройки телефонии указать линию пользователя, у которого есть роль «Оператор» (например, Оператор5), для этого пользователя надо включить клиент с ролью Оператор.

Все описанные роли должны быть назначены пользователю на стороне АТС (Infinity).
В базовой версии bpm'online каждому пользователю необходимо указывать параметры подключения к линии телефонии в профиле пользователя. 
Профиль пользователя - Настройки параметров Call Centre - заполнить необходимые параметры. В TMS.config указываете логин/пароль пользователя у которого, на стороне АТС, есть роль  «Интеграционное подключение Third-Party». Логин и пароль берутся с АТС.

Нравится

Поделиться

0 комментариев
Показать все комментарии

Вопрос:

Дайте инструкцию с процедурой самостоятельного создания пользователей в BPMOnline, и подключения им оплаченных сервисов

Ответ:

Для подключения интеграции с телефонией со стороны bpm'online пользователю вы можете добавить его в справочник "Пользователи Webitel".
Вы можете добавить тех пользователей, которые Вам необходимы.
Логин и пароль - это номер телефона.
В справочник можно добавлять только пользователей bpm'online.

Далее необходимо будет выполнить настройку в профиле добавленного пользователя и выдать ему лицензию через менеджер лицензий. 

Обращаю ваше внимание, может потребоваться выполнять настройки на стороне Webitel АТС. В этом случае рекомендую обратиться в тех. поддержку Webitel - support@webitel.com

Нравится

Поделиться

0 комментариев
Показать все комментарии

Вопрос:

Можно ли без доработок вывести подобную статистику если используется телефония Астериск и коннектор Террасофт?

Ответ:

Можно построить подобные дашборды в рзаделе Звонки. 
Например, диаграмма

 

или шкала 

По временным характеристикам слева можно построить график, например "График" 

Более подробно про графики можно почитать на Академии Террасофт - https://academy.terrasoft.ru/documents/base/7-12/nastroyka-bloka-itogov-grafik

Нравится

Поделиться

0 комментариев
Показать все комментарии

Вопрос:

Кейс: менеджер работает в нескольких вкладках браузера. В одной из вкладок осуществляется прием звонка через CTI-панель, в другом - выполнение задач по процессу. BPM- и CTI-панели вкладок одновременно шлют запросы в сервис MsgUtilService. Получается после того, как звонок завершился и получил статус none, снова получает статус connected и мгновенно переходит в статус none, что в свою очередь затирает существующие значения переменных "время разговора" и "продолжительность" значением "1".

Можно ли сделать так, чтобы звонок после того как завершился игнорировал следующие изменения статуса, или не менять значение полей продолжительность и время разговора на меньшие?

Ответ:

Обратите внимание, что  bpm'online является системой, которая работает в одной вкладке браузера. Рекомендуется избегать работы в нескольких вкладках браузера. 

Нравится

Поделиться

0 комментариев
Показать все комментарии