comments-questionЧастые вопросы

Частые вопросы и ответы

Где взять ID списка Leadtex

Откройте предварительно созданный список для просмотра.

В строке адреса браузера найдите комбинацию букв и цифр после ".../custom/"

Скопируйте ее и сохраните в глобальной переменной. Подставляйте имя глобальной переменной в настройках блоков вместо этой комбинации.


Правила формирования параметра filters

Параметр filters позволяет выбирать записи из Списка Leadtex. Ботжет преобразует человекочитаемую строку в формат, который понимает API Leadtex, автоматически обрабатывая даты и операторы сравнения.

Основные правила

  1. Разделитель условий: Запятая (,). Если условий несколько, перечисляйте их через запятую.

    • Внимание: Из-за этого значения полей не должны содержать запятых, иначе фильтр сработает некорректно.

  2. Формат условия: название_поля оператор значение.

  3. Даты: Ботжет автоматически распознает даты в формате d.m.Y, d.m.Y H:i или d.m.Y H:i:s, переводит их в UTC Timestamp (Unix-представление) и отправляет в API. Чтобы корректно фильтровать по дате и времени, нужно чтобы в вашем Списке было поле со значением UTC Timestamp, соответствующим нужной дате и времени. Подробнее: Как хранить дату и время в Списке для корректной фильтрации и сортировки.

  4. Пробелы: Пробелы вокруг названия поля и значения обрезаются автоматически, но внутри значения (например, в тексте) сохраняются.

Таблица операторов

Ботжет поддерживает строго определенный набор операторов. Сложные операторы вроде LIKE или IN не поддерживаются.

Оператор
Описание
Пример синтаксиса
Что уходит в API (пример)

=

Равно. Точное совпадение.

status=active

filters[status]=active

>

Больше.

price>5000

filters[price]=>,5000

<

Меньше.

count<10

filters[count]=<,10

>=

Больше или равно (включая дату).

date>=01.01.2024

filters[date]=>=,1704067200

<=

Меньше или равно.

rating<=3

filters[rating]=<=,3

Примеры формирования строки

Задача

Строка фильтров (filters)

Простой поиск по совпадению

category=Обувь

Два условия (И)

category=Обувь, size=42

Поиск по цене (дороже)

price>1000

Записи за конкретную дату

created_at=15.05.2024

Записи начиная с даты (вкл. время)

created_at>=01.01.2025 09:00

Сложная выборка

status=new, count>0, deadline<=31.12.2025

Важные ограничения

  • Только 5 операторов: Код ищет только символы >=, <=, >, <, =. Если вы напишете name LIKE %Alex%, ботжет проигнорирует это условие, так как не найдет знакомого разделителя.

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

  • Автоконвертация дат: Если значение похоже на дату (например, 25.10.2023), оно будет автоматически преобразовано в число (Timestamp). Для 25.10.2023 будет Timestamp=1698192000. Если вы делаете фильтрацию по полю, где дата и/или время хранятся строкой (например, "25.10.2023"), фильтр может не сработать, так как он будет искать дату в формате Timestamp-числа. Подробнее: Как хранить дату и время в Списке для корректной фильтрации и сортировки.

  • Фильтры "от-до": Фильтры "в пределах" или "от и до" не поддерживаются. Это ограничение API Leadtex. Нельзя задать, например, фильтр: cena>=5000,cena<8000,type=кроссовки. Можно только один фильтр по каждому полю: cena<8000,type=кроссовки

Как хранить дату и время в Списке Leadtex для корректной фильтрации и сортировки

При работе со Списками в Leadtex часто возникает необходимость сортировать записи по времени (например, показывать сначала новые заявки).

Однако, стандартные текстовые поля с датами вида 01.01.2025 не подходят для точных математических операций сравнения («больше», «меньше»).

1. Проблема: Ограничения API Leadtex

API Leadtex на данный момент не поддерживает прямую арифметическую фильтрацию и сортировку по полям, содержащим дату и время в человекочитаемом формате (строки). Если вы попытаетесь отсортировать записи по полю с текстом 31.12.2024, система будет сортировать их как обычный алфавитный текст, что часто приводит к неверному порядку.

2. Решение: Использование Timestamp (Unix)

Для корректной работы ботжета «Списки» (сортировки и фильтрации) необходимо хранить дату в числовом формате.

  1. В вашем Списке Leadtex создайте дополнительное поле (рекомендуемый тип — «Число» или «Текст»).

  2. Назовите его, например, date_u или created_at_ts.

  3. Сохраняйте в это поле дату в формате Unix Timestamp (количество секунд, прошедших с 1 января 1970 года).

3. Как настроить фильтрацию

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

  • Неправильно: filters=date>=01.01.2025 (если поле date текстовое)

  • Правильно: filters=date_u>=01.01.2025 , где в поле date_u хранится числовое Unix-представление 1 января 2025 года.

Обратите внимание: Сам ботжет «Списки» умеет автоматически преобразовывать дату из вашего фильтра в число. Но чтобы сравнение сработало, в Списке Leadtex в указанном поле уже должно лежать число, а не текст.​

4. Как получить Unix Timestamp в Leadtex

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

Основная функция: {{ date("U") }}.

Примеры формул для записи в переменные:

  • Текущее время с учетом часового пояса (например, UTC+5): Чтобы получить Unix-метку для времени "+5 часов от Гринвича":

  • Начало текущего дня (00:00:00 по UTC):

Подробнее о работе с датами можно прочитать в официальной документации Leadtexarrow-up-right.​

5. Полезные инструменты

Если вам нужно вручную перевести конкретную дату в Unix-формат (например, для настройки тестового фильтра или константы), удобно использовать онлайн-конвертеры.

Last updated