⚙️Инструкция по настройке

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

и настроить его.

circle-info

Копируйте фрагменты ниже и вставляйте в настройках своего блока HTTP-запрос.

URL запроса

Метод

Выберите метод POST.

Заголовки

Заголовки указываеть не нужно.


Фрагмент внутреннего списка Leadtex

Имена полей списка: 'date', 'time', 'name', 'phone' и другие используются для параметров запроса: 'pat', 'order_by', 'filters'.


Body

Выбрать в списке: "x-www-form-urlencoded".

Вам необходимо передать следующие обязательные и опциональные параметры.

Обязательные параметры:

key
value
Описание

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 . См. раздел Дополнительно.

Опциональные параметры (настройки отображения):

key
value
Описание

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 в переменные

Включить

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

json-строка выбранной записи

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

circle-info

В процессе листания страниц списка в переменные ничего не сохранится, так как ботжет не возвращает ни одной записи.


Обработать ответ с помощью JavaScript

Обработать ответ с помощью JavaScript

Включить

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

Код JavaScript (копируй и вставляй)


Дополнительно

Переключатель
Статус
Примечание

Запись ответа в пользовательскую переменную

Включить

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

Повторный вопрос

Включить

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


Завершение работы ботжета "Списки"

Когда ботжет возвращает одну из команд завершения, работа блока HTTP-запрос прерывается и управление передается следующему по сценарию блоку.

Набор блоков ботжета Списки

В момент завершения в переменной lv_status сохраняется причина завершения. По значению этой переменной можно пустить сценарий по разным веткам при помощи блока "Переключатель".

  1. Нажата кнопка "Отмена" - $lv_status = "cancel",

  2. Полученная выборка не содержит ни одной записи - $lv_status = "empty",

  3. Нажата одна из кнопок списка - $lv_status = "finish" .


Примечания

  • Для корректной работы убедитесь, что в переменных token и api_token нет лишних пробелов.

  • Параметр pat очень мощен: он позволяет вам сверстать внешний вид кнопки с записью Списка, подставляя в шаблон имена полей. Не злоупотребляйте длинными шаблонами, строка может не уместиться полностью по ширине кнопки. Проверьте отображение кнопок на смартфоне.

Поддержка

Last updated