@SergioMarquinha

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

Здравствуйте, имеется портал битрикс24 и сайт на 1с-битрикс.
Интересует возможно ли и как реализовать данный сценарий:
Реализовать возможность отражать данные из полей сделки в личном кабинете.

То есть на сайте есть личный кабинет клиента. Он должен в реальном времени видеть что у него происходит со сделкой в битрикс24.
Возможно можно реализовать через rest api, но я не знаю с чего начать.
Интересует именно момент как связать конкретную сделку с конкретным клиентом. Чтобы клиент видел только свои данные, а не чужие. Возможно через сравнения имени и фамилии? Или что-то вроде того.
Надеюсь на объяснения, спасибо
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
Tkreks
@Tkreks
Системный инженер
Смотрите, у вас должно быть обязательное поле, у меня на проектах это поле номер телефона. Но может быть и email. Еще четко определитесь, куда Вы пишите данные, в сделку CRM или в клиента CRM. Тут много разных вариаций, опишу наиболее распространенный.
1. Я говорю про пример классической CRM - с отдельной воронкой лидов и отдельной воронкой сделок. В воронке сделок, должно быть обязательное поле - клиент. Это может быть как контакт, так и компания. Как вы уже написали, можно получать данные по rest, а можно и вебхуком, что немного проще. Если используете схему, описанную выше, то сначала ищете id клиента по уникальному ключу (email/phone/etc) потом ищете активные сделки с этим клиентом. И далее методом crm.deal.get получаете поля сделки. Если нужно прочитать поля контакта, тогда crm.contact.get. таким образом вы получите список полей из сущности в crm в формате json и далее уже можете выводить их как удобно.
2. Если у вас упрощенная crm, допустим нет воронки лидов, а используется сразу воронка лиды+сделки, и вы не заводите контакт в базу crm, тогда ищете по тому же ключу (почта/телефон/итд) в воронке сделок методом crm.deal.list и там в параметре filter указываете ключ.
Думаю идея понятна. Чтобы не делать множество запросов - прочитайте про batch.
В зависимости от загруженности сайта, рекомендую ставить кэширование на полученные данные. Например в битрикс облако, если не ошибаюсь, есть лимит 3 запроса в сек, в коробке с лимитами не встречался. Потом в бан могут отправить. Поэтому по возможности включите кэширование этих запросов, чтобы каждый раз не дергать crm , например когда пользователь обновляет страницу, а то так и задудосить может.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@koder_1
Битрикс программист
Вообще-то верный способ сверять клиента только по ID. ID клиента из Битрикс должен храниться и в поле сделки в Б24.
Все остальные поля - номера телефонов, email, фио могут меняться.

Нужно сделать исходящий веб-хук в б24 на добавление/изменение сделки,
при изменении сделки обновлять данные в лк на сайте.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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