Похожие чаты

Друзья, всем привет, подскажите плиз по Битрикс24 CRM! Использую онлайн-чат на

внешнем сайте (движок не-битрикс) для авторизованных пользователей.

Соответственно нужно авторизацию передавать в чат. На это есть вот такая инструкция в офф. справке, и в ней следующее решение:

window.addEventListener('onBitrixLiveChat', function(event){
widget.setUserRegisterData(); // в таком стиле
});

Однако, в моем проекте не очень подходит открытие чата по кнопке, поэтому вместо виджета, я встроил в iframe страницу уже открытого чата, которую через Контакт-центр можно настроить и предлагается отправлять клиенту чтобы открыл по ссылке. Вот эта ссылка у меня в src для iframe, и все работает, но внутри iframe я же не могу (или могу?) JS-код вставить то что выше, с обработчиком... И техподдержка всё говорит что мне нужен разработчик и предлагает обратиться к интегратору, что немного обидно, а я тогда кто :))

Вопрос, как в таком случае передать данные авторизованного у меня на сайте пользователя?

Может всё прозаично и в ссылку можно get-параметром дописать userid, но что-то со старта не хочется лезть в кишки моей битрикс24 коробки и вычитывать кодовую базу реализации страницы чата. Надеюсь добрые люди здесь смогут подсказать более цивилизованный путь!

Или, если это нельзя сделать, возможно есть способ показывать виджет (который без iframe) для сайта сразу в открытом виде? (без плавающей кнопки) Ведь исправление кода страницы чата грозит поломкой при обновлениях...

9 ответов

51 просмотр

Б24 коробка?

Дима-🚀 Сайт Автор вопроса
Andrei Nikolaev
Б24 коробка?

Да, коробка! Сорри за длиннопост, я там указал что коробка, но получилось уже сложно

Дима 🚀 Сайт
Да, коробка! Сорри за длиннопост, я там указал что...

Тогда можешь добавить на страницу свой скрипт через эпилог, а там уже произвести общение между страницами (https://learn.javascript.ru/cross-window-communication). Это не просто, но безопаснее.

Дима-🚀 Сайт Автор вопроса
Andrei Nikolaev
Тогда можешь добавить на страницу свой скрипт чере...

Ну если скрипт все равно добавлять, то изменяя код страницы в Б24 я рискую при обновлении получить проблемы? А точено нельзя id чата например get-параметром передать? Или как-то чтобы защититься от фейлов при апдейте. Есть вариант что ответы кроятся во фразе "добавь через эпилог" но для меня не вполне очевиден этот метод))

Дима 🚀 Сайт
Ну если скрипт все равно добавлять, то изменяя код...

Вам не нужно изменять код самой страницы. Вы подписываетесь на какой-нибудьт onEpilog, проверяете нахождение на нужной странице и включаете слушателя и обрабатываете полученные сообщения. Пока Битрикс не поменяет API, все будет нормально. Другое дело - есть ли указанный api на этой странице, т.к. внешний чат и чат виджета это разные вещи.

Дима 🚀 Сайт
Ну если скрипт все равно добавлять, то изменяя код...

Т.е. у вас получается 2 скрипта: - один на стороне Битрикс24, чья задача выслушать сообщение пользователя и прокинуть авторизацию и др. параметры (при условии что такое апи доступно на этой странице) - второй на вашем сайте где вы вставляете фрейм -его задача при открытии передать через сообщение в фрейм Б24 данные о пользователе

Дима-🚀 Сайт Автор вопроса
Andrei Nikolaev
Вам не нужно изменять код самой страницы. Вы подпи...

Большое вам спасибо за пояснение! Я признаться, как танкист сейчас, пришел из другой экосистемы и не одупляю)) В завершение квеста придется всё-таки спросить ещё 1 момент: Получается. я могу где-то в кишках Б24 завести кусок кода, на PHP же?)) И этот код подписать на событие, и в комент срабатывания у меня будут доступны разные данные для проверки, я значит их проверю и что, каким-то методом от какого-объекта распечатаю в код страницы тег <script> с моим JS-слушателем (если такой вообще можно написать, может быть там нет API) Концептуально все правильно описал? Ну и основной вопрос вообще прозаичный)) Как называется вышеописанный кусок PHP-кода в битриксовой инфраструктуре?) У меня сайт на системе MODX, там аналогичная сущность называется plugin) Не хочется вас мучать, я понимаю что это всё наверняка есть в доках, но я даже не пойму как искать) В идеале добраться до документации: - про эти php-скрипты с подпиской - по js-api онлайн чата (не-виджета), да и виджета)) Может проще его заставить в открытом виде появляться и нафиг тогда этот iframe...

Почитайте документацию прежде чем лезть в код - битрикс (особенно Битрикс24) не та штука в которой можно вот так сразу под капот лезть. Полезные ссылки из официальной документации: - init.php - События и как с ними работать - Пример кастомизации публичной части (вдохноситься) - Экстеншены (их проще подключить) Полезные ссылки из книжки: - Основное + Свой код - События

Дима-🚀 Сайт Автор вопроса
Andrei Nikolaev
Почитайте документацию прежде чем лезть в код - би...

Большое спасибо, насчёт капота я опасался не с проста, поэтому и надеялся что способ передать авторизацию (ну вернее открыть определенный уникальный id чата) вообще коробочная возможность Чата контакт-центра. И честно говоря пока нет уверенности, что это не так, но как достучаться до компетентной поддержки тоже не понятно. Кажется, придется лезть под в формате стриптиз-клуба 👯‍♀ смотреть, но не трогать)) Чтобы использовать код как документацию 🤷

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
any reference of this implementation?
BitBuddha
29
Ⓐrtto, [4/23/24 7:02 PM] Please explain more fully how it is not working exactly, and what are the steps you are taking, and what error messages come or what happens. Ⓐrtto, ...
Ezza Kezza
2
sounds like people have lost their kaspa on tradeogre... does this mean tradeogre not trustworthy?
Ezza Kezza
15
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
So much speculation in the last week. So much volatility in price. This is because Hedera has a GC that isn't using the network it's governing. Why aren't people asking why a...
Summit Seeker R
9
Карта сайта