⚙️Инструкция по настройке
Для использования ботжета необходимо добавить в сценарий блок HTTP-запрос

и настроить его.
Копируйте фрагменты ниже и вставляйте в настройках своего блока HTTP-запрос.
URL запроса
Метод
Выберите метод POST.
Заголовки
Заголовки указываеть не нужно.
Фрагмент внутреннего списка Leadtex

Имена полей списка: 'date', 'time', 'name', 'phone' и другие используются для параметров запроса: 'pat', 'order_by', 'filters'.
Body
Выбрать в списке: "x-www-form-urlencoded".
Вам необходимо передать следующие обязательные и опциональные параметры.

Обязательные параметры:
token
token из BotFather
Удобнее сохранить токен бота в глобальную переменную, например "token", и подставить в поле value имя переменной вместо самого токена.
api_token
Например: uE4QuGKfEbg0PCRboX3...
Ключ API вашего аккаунта из настроек Leadtex. Также удобнее предварительно сохранить его в глобальной переменной.
schema_id
Например:
65da06530c1ded47120e64b2
ID списка в Leadtex, откуда брать данные. Где взять ID списка Leadtex
chat_id
{{ telegram_id }}
ID чата пользователя (обычно используется константа {{telegram_id}}).
cmd
{{ $cmd }}
Передает действие пользователя при навигации по списку, например: листание списка. Действие пользователя сохраняется в локальную переменную $cmd . См. раздел Дополнительно.
Опциональные параметры (настройки отображения):
text
Например: Выберите запись 👇 Выберите товар:
Текст, который будет отображаться над списком. Поддерживает HTML.
rows_num
На выбор: 1, 2, 5, 10
Количество записей на одной странице (по умолчанию 10). Другие значения этого параметра могут работать некорректно.
pat
{date} - {time}
{date} - {time} | тел. +{phone}
Шаблон вывода одной записи. Названия полей из списка Leadtex указываются в фигурных скобках {}.
order_by
dateu
dateu,desc
Сортировка записей по полю имя поля.
Если после запятой указать ,desc - сортировка от большего к меньшему.
(согласно документации API Leadtex)
filters
'dateu>=01.01.2025' 'dateu>=01.01.2025,phone=79505533008'
Строка фильтрации записей. Подробнее: Правила формирования параметра
filters .
Отправка параметров через JSON-строку (Body) для POST-запроса
Параметры запроса к ботжету можно отправить единой json-строкой. Для этого режим нужно переключить на "json".

Пример json-строки (копируйте, вставляйте и заполняйте своими данными):

Отправлять в запросе данные контакта
Выключить
Обязательно выключить
Выводить тело ответа в чат
Выключить
Можно включить во время отладки
Записать код ответа в переменную
Выключить
Записать ответ json в переменные

Включить
Этот блок используется на конечном этапе работы ботжета когда пользователь выбрал конкретную запись (нажал на кнопку с данными). На этом этапе возвращается JSON-строка с данными одной выбранной записи Списка.

В разделе data.0 есть значения всех полей Списка для выбранной записи. Сохраняем значения нужных нам полей в локальные переменные: date → date_order , time → time_order.
В процессе листания страниц списка в переменные ничего не сохранится, так как ботжет не возвращает ни одной записи.
Обработать ответ с помощью JavaScript

Включить
Код JavaScript обрабатывает ответ ботжета, и в случае завершения его работы, передает управление следующему по сценарию блоку после HTTP-запрос. Также в локальной переменной lv_status сохраняется причина завершения. См. раздел Завершение работы ботжета "Списки"
Код JavaScript (копируй и вставляй)
Дополнительно

Запись ответа в пользовательскую переменную
Включить
Задать имя локальной переменной, в которой в ботжет передается действие пользователя: листание страниц, выбор количества записей на странице.
Например: cmd . Имя переменной может быть любым, важно правильно указать его в параметре запроса cmd.
Повторный вопрос
Включить
Если выключен, список не реагирует на действия пользователя
Завершение работы ботжета "Списки"
Когда ботжет возвращает одну из команд завершения, работа блока HTTP-запрос прерывается и управление передается следующему по сценарию блоку.

В момент завершения в переменной lv_status сохраняется причина завершения. По значению этой переменной можно пустить сценарий по разным веткам при помощи блока "Переключатель".
Нажата кнопка "Отмена" -
$lv_status = "cancel",Полученная выборка не содержит ни одной записи -
$lv_status = "empty",Нажата одна из кнопок списка -
$lv_status = "finish".
Примечания
Для корректной работы убедитесь, что в переменных
tokenиapi_tokenнет лишних пробелов.Параметр
patочень мощен: он позволяет вам сверстать внешний вид кнопки с записью Списка, подставляя в шаблон имена полей. Не злоупотребляйте длинными шаблонами, строка может не уместиться полностью по ширине кнопки. Проверьте отображение кнопок на смартфоне.
Last updated