IntellectDialog.com
  • IntellectDialog
  • Быстрый старт
    • Знакомство с личным кабинетом IntellectDialog
      • Спам лист и черный список
    • Существующие ограничения
    • Оплата в IntellectDialog
    • Добавление сотрудников и настройка их прав доступа
    • Мессенджеры и чаты
      • Подключение WhatsApp и WhatsApp Business
      • Рекомендации по предотвращению блокировки номера в WhatsApp
      • Ограничения по отправке через провайдер Whatsapp Web и Telegram Личный
      • Подключение официального Instagram Direct и Instagram Комментарии
        • Запуск линейных/не линейных ботов в Direct
      • Подключение Telegram-бота в IntellectDialog
      • Подключение номерного Telegram в IntellectDialog
      • Подключение Viber-бота в IntellectDialog
      • Подключение Facebook Messenger в IntellectDialog
      • Подключение чат-ботов "ВКонтакте" в IntellectDialog
      • Подключение VK ads в IntellectDialog
      • Подключение HeadHunter в IntellectDialog
      • Подключение Slack в IntellectDialog
      • Вопросы, связанные с подключением мессенджеров
      • Подключение диалогов и ботов в Юла (Youla)
      • Подключение диалогов и чат-ботов в Авито
    • Сборка автоворонок и чат-ботов
      • Расширенные возможности запуска и остановки чат-ботов/автоворонок
      • Особенности кнопок в Telegram
    • Подключение и настройка GPT-бота
      • Как оплатить подписку Plus и токены
      • Настройка ассистента в провайдере GPT
      • Технические команды
    • Подключение и настройка GPT базы знаний
      • Загрузка файлов в базу знаний и ассистента
    • Запуск рассылок
      • Распространенные вопросы при создании рассылок
    • Короткие ссылки для чат-ботов в мессенджерах
    • Работа с отчетами
      • Power BI отчеты
      • Выгрузка информации по автоворонкам
    • Инструменты роста: виджеты и мини-лендинги
    • РАЗМЕЩЕНИЕ ВИДЖЕТА НА САЙТЕ
    • Импорт данных из Excel, txt, csv
  • Чат-центр
    • Работа оператора в чат-центре
  • Интеграция CRM
    • Битрикс24
      • Пошаговая инструкция интеграции WhatsApp и других мессенджеров внутри Битрикс24
      • Коммуникация в WhatsApp и других мессенджерах из Битрикс24
      • Использование связок в IntellectDialog с Битрикс24
      • Подключение интеграции IntellectDialog через локальное приложение в Битрикс24
    • АМО CRM
      • Как написать первым контакту в AMO CRM
      • Цифровая воронка AMO CRM
      • SalesBot
      • Изменение этапа воронки для лидов
      • Создание сделки в срм системе через связки
      • Сокращать ссылки
    • Retail CRM
    • 1C:Фитнес клуб
      • Настройка 1С провайдера внутри IntellectDialog
      • Подключение несколько whatsapp провайдеров в 1С Фитнес клуб
      • Получение API Key для интеграции с 1С Фитнес
      • Формирование сегментов в 1С Фитнес
      • Настройка триггеров
      • Загрузка заявок в 1С фитнес клуб
      • Установка и удаление тегов в 1С: Фитнес клуб из автоворонок.
      • Передача тегов/пользовательских переменных
    • ClubIS
      • Загрузка новых заявок в Clubis через IntellectDialog
      • Доступные триггеры в ClubIS
      • Как просмотреть логи в клабисе
    • FitBase
    • Интеграция через Webhook
      • Использование входящих Webhook - Slack
      • Использование входящих Webhook - WhatsApp
      • Использование входящих Webhook - Tilda - AmoCRM
      • Использование исходящих Webhook
  • YCLIENTS
    • Подключение YCLIENTS к IntellectDialog
    • Работа и настройка триггеров YCLIENTS
    • Типы триггеров
      • Клиенту
        • Создание записи через виджет онлайн-записи
        • Создание записи через журнал записи
        • Уведомление о подтверждении записи
        • Изменение записи
        • Запрос подтверждения записи
        • Напоминание о визите
        • Отмена записи
        • Отмена записи с помощью статуса «Клиент не пришел»
        • Приглашение на визит недошедших клиентов
        • Запрос отзыва после визита
        • Поздравление с днём рождения
        • Новая скидка
        • Окончание действия скидки
        • Приглашение на повторный визит
        • Подтверждение номера клиента в виджете онлайн-записи
        • Уведомление клиента об успешной онлайн-оплате
      • Администратору
        • Создание записи клиентом/администратором
        • Перенос записи, созданной через виджет онлайн-записи
        • Отмена записи клиентом через виджет онлайн-записи
        • Скорое завершение расписания работы сотрудников
      • Сотруднику
        • Создание записи клиентом/создание записи администратором
        • Перенос записи клиентом или администратором
        • Отмена записи клиентом или администратором
        • Отмена записи администратором с помощью статуса «Клиент не пришел»
      • Администратору и сотруднику
        • Окончание действия лицензии
  • Сквозная аналитика
    • Calltouch
    • Подключение Comagic
    • Фиксация и экспорт конверсий начала диалогов в мессенджерах
  • ЛИДОГЕНЕРАЦИЯ
    • Instagram: интеграция Lead Ads c отправкой сообщения клиенту в WhatsApp + выгрузка лида в Slack
    • Загрузка заявок в группу Telegram
    • Вконтакте
      • Вконтакте: интеграция лид-форм с чат-ботами WhatsApp и Slack
      • Вконтакте: интеграция лид-форма с отправкой сообщения в Вк клиенту после заполненной заявки
      • Вконтакте: информирование сотрудника в Вк о заполненной лид-форме Вк
      • Вконтакте: интеграция голосование в группе и отправка сообщение клиенту в Вк
    • Сайт/Лендинг: интеграция лид-формы с отправкой сообщения клиенту в WhatsApp
    • Сайт/Лендинг: выгрузка заявок из лид-форм в Slack или другие мессенджеры
    • Настройка связок для HeadHunter |VK ads
  • Системы коллтрекинга
    • Связка пропущенные звонки Comagic - Slack
    • Запуск чат-бота в WhatsApp при пропущенном звонке в Comagic
    • Запуск чат-бота в WhatsApp при пропущенном звонке в Mango Office
  • Для экспертов
    • Умные фильтры
    • Запуск рассылок и автоворонок с использованием данных о пользователях из внешних систем
    • Использование переменных для загрузки данных из ботов в связки.
    • Установка Контекста для запуска нелинейных AI ботов
    • Трекинг дополнительных параметров через Webhook Events "promo"
    • Интеграция с email рассылками Esputnik
    • Calendly + Zoom + Чат-боты в WhatsApp
    • Инструкция по подключению интеграции чата Intellectdialog в CRM
  • Обучающие интенсивы
    • Интенсив по сборке чат-ботов для сайта и соц.сетей с интеграцией инструментов роста и аналитики
    • Интенсив WhatsApp Business API (особенности и лайфхаки по подключению и работе)
    • Изменение стоимости лидогенерации через официальный WhatsApp и доступные механики в 2022 году
    • Запуск рекламы в Instagram в связке с WhatsApp ботами (Lead ADS, конверсии, прямое приземление)
    • Тренды мессенджер-маркетинга. Лидогенерация. Чат-боты, автовронки
  • Обучающие модули
    • Автоворонка в Instagram
    • Как создать чат бота
    • Собираем ценностное предложение
    • Рассылка в WhatsApp
    • Как запустить рассылку через Автоворонку
    • Рассылка через Телеграм Личный (номерной)
  • Обучающие вебинары
    • Вебинар: Чат-боты для фитнес клуба. Загрузка тегов из чат-ботов и автоворонок в 1C Фитнес клуб
    • Вебинар: Интеграция Comagic пропущенные звонки с WhatsApp ботами
    • Вебинар: Запуск чатбота WhatsApp в момент заполнения лидформы на Tilda
    • Вебинар: Видео виджеты с мессенджерами и чат-ботами в WhatsApp
    • Вебинар: Запуск рекламы в Instagram в связке с WhatsApp ботами (Lead ADS)
    • Вебинар: Разбираем триггеры 1С Фитнес клуб
    • Вебинар: 3 варианта приземление лидов из Instagram и Facebook в WhatsАpp
    • Вебинар: Интеграция Facebook|Instagram|Vk Lead ADS с WhatsApp и Slack
  • integration.intellectdialog
    • Блок: API запрос
    • Блок: Старт
    • Блок: Проверка параметров
    • Блок: Проверка условий
    • Блок: Запуск API
    • Блок: ИИ запрос
    • Блок: Фильтрация
    • Блок: Условия
    • Блок: Сохранение
    • Блок: Результат
    • Терминал тестирования
    • Генерирование и проверка JS запросов в блоках
Powered by GitBook
On this page
  1. integration.intellectdialog

Блок: Фильтрация

PreviousБлок: ИИ запросNextБлок: Условия

Last updated 4 months ago

Блок "Фильтрация" используется для отбора данных из исходного массива, которые соответствуют заданным условиям. Это позволяет сократить объем данных для дальнейшей обработки, выделяя только те элементы, которые удовлетворяют определённым критериям.


Основные параметры блока

  1. Название блока:

    • Уникальное имя, которое идентифицирует задачу фильтрации в текущем сценарии, например: "Фильтрация по локации".

  2. Исходный массив:

    • Переменная, содержащая данные для фильтрации. Например: carList (список автомобилей).

  3. Массив назначения:

    • Переменная, в которую будет сохранён результат фильтрации. Например: carList2.

  4. Условие для фильтрации:

    • JavaScript-условие, определяющее логику отбора данных. Пример:

      javascript
      this.gptResult.locations?.find(location => this.contains(`${this.item.location}`, location))
    • Здесь происходит проверка, соответствует ли локация элемента исходного массива массиву локаций из результата предыдущего шага (gptResult.locations).


Пример использования

Сценарий: Фильтрация автомобилей по локации

  1. Исходные данные (массив carList):

    json
    [
        {"model": "Lada Vesta", "color": "Red", "location": "Moscow"},
        {"model": "Toyota Camry", "color": "White", "location": "Saint Petersburg"},
        {"model": "Hyundai Solaris", "color": "Black", "location": "Moscow"}
    ]
  2. Условие фильтрации:

    • Проверяем, содержится ли location элемента массива в массиве локаций, полученном из предыдущего шага (gptResult.locations).

  3. Пример результата фильтрации (массив carList2):

    json
    [
        {"model": "Lada Vesta", "color": "Red", "location": "Moscow"},
        {"model": "Hyundai Solaris", "color": "Black", "location": "Moscow"}
    ]

Возможности блока

  • Гибкость настройки условий фильтрации: Позволяет использовать сложные JavaScript-выражения для отбора данных.

  • Динамическая фильтрация: Условия могут опираться на результаты работы предыдущих блоков, таких как ИИ Запрос.

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

Пример варианта №1

  • Разбор примера условия фильтрации

    javascript
    this.gptResult.locations?.find(location => this.contains(`${this.item.location}`, location))

    • Пошаговое объяснение

      1. this.gptResult.locations

        • Что это такое? Это массив локаций, который был получен на предыдущих этапах. Пример:

          javascript
          this.gptResult.locations = ["Moscow", "Saint Petersburg", "Kazan"];
          • ?. (опциональная цепочка): Проверяет, существует ли объект locations. Если он отсутствует или равен undefined, выражение не вызывает ошибку, а просто возвращает undefined.


      1. .find(location => ...)

        • Что это делает? Метод find ищет первый элемент в массиве locations, который удовлетворяет указанному условию.

        • Пример работы:

          javascript
          ["Moscow", "Saint Petersburg", "Kazan"].find(location => location === "Moscow");
          // Вернёт "Moscow"

      1. this.contains(${this.item.location}, location)

        • Что это такое? Проверка на соответствие текущей локации элемента (this.item.location) одному из значений в массиве locations.

        • Аргументы:

          • ${this.item.location}: локация текущего элемента массива, который фильтруется. Например, "Moscow".

          • location: текущий элемент массива locations, который проверяется методом find.

        • Метод this.contains: Проверяет, содержит ли строка локации элемента (this.item.location) значение из массива locations. Например:

          javascript
          this.item.location = "Moscow Region";
          location = "Moscow";
          this.contains("Moscow Region", "Moscow"); // Вернёт true

      1. Пример работы всего выражения:

        Исходные данные:

        javascript
        this.gptResult.locations = ["Moscow", "Saint Petersburg", "Kazan"];
        this.item.location = "Moscow Region";

        Проверка:

        javascript
        this.contains("Moscow Region", "Moscow"); // Вернёт true

        Результат:

        Метод find вернёт "Moscow", так как он удовлетворяет условию.


      • Итог работы выражения

        • Если совпадение найдено: Условие фильтрации будет возвращать true, и элемент массива будет добавлен в массив назначения.

          • Если совпадение не найдено: Условие фильтрации вернёт false, и элемент массива будет проигнорирован.


      • Пример в контексте

        Исходные данные (carList):

        javascript
        [
          { model: "Lada Vesta", color: "Red", location: "Moscow Region" },
          { model: "Toyota Camry", color: "White", location: "Saint Petersburg" },
          { model: "Hyundai Solaris", color: "Black", location: "Kazan" }
        ]

        Локации из this.gptResult:

        javascriptК
        this.gptResult.locations = ["Moscow", "Kazan"];

        Условие:

        javascript
        this.gptResult.locations?.find(location => this.contains(`${this.item.location}`, location));

        Результат фильтрации:

        javascript
        [
          { model: "Lada Vesta", color: "Red", location: "Moscow Region" },
          { model: "Hyundai Solaris", color: "Black", location: "Kazan" }
        ]

        В массив назначения попадут только те элементы, где location элемента соответствует значениям в массиве this.gptResult.locations.