# Функции для AI-ассистента

## **Удалить историю переписки с ассистентом**

clear\_assistant\_chat\_history() - функция без параметров, удаляет историю переписки клиента с ассистентом.&#x20;

### Пример&#x20;

1. Настройки блока в конструкторе:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F9Jvit8N8hft18o0XSvxM%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202024-06-17%20%D0%B2%2018.04.06.png?alt=media&#x26;token=2b3ee7fa-3fd9-4c80-afc4-8064f6c562a2" alt=""><figcaption></figcaption></figure>

2. Настройка во вкладке Аи-ассистента:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FrsiDHEC1nlEfyFnnWOi2%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202024-06-17%20%D0%B2%2018.05.24.png?alt=media&#x26;token=dc757986-f99e-41d6-8dcf-c739512a7bb7" alt=""><figcaption></figcaption></figure>

## **Отправить вопрос ассистенту**

ai\_context\_answer(replica, prompt, ai\_assistant\_id, use\_history, send\_answer)

Параметры:

<table><thead><tr><th width="173">Параметр</th><th width="221">Описание</th><th>Примечание</th></tr></thead><tbody><tr><td><mark style="color:red;"><strong>!</strong></mark> replica </td><td>обязательный параметр, сообщение для ассистента</td><td></td></tr><tr><td>prompt</td><td>необязательный параметр, инструкции для ассистента</td><td>Если параметр не указан, но указан параметр ai_assistant_id, будут использованы инструкции из настроек указанного ассистента;</td></tr><tr><td>ai_assistant_id </td><td>идентификатор ассистента, которому будет направлен вопрос;</td><td>Если не указан, то будет ассистент без предустановленных настроек</td></tr><tr><td>use_history</td><td>должен ли ассистент использовать историю переписки с ним для ответа на вопрос. </td><td>True - использовать, False - не использовать. По умолчанию - True</td></tr><tr><td>send_answer</td><td>отправлять ответ после истечения срока ожидания ответа ассистента. </td><td>Чтобы включить, нужно передать "1"</td></tr></tbody></table>

подробнее по параметру send\_answer:

В настройках ассистента есть такие параметры, которые можно задать в случае, если ответ бота занимает много времени:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FZQSnvchPYrmyltFpz9no%2F2025-01-22%2016.41.01.jpg?alt=media&#x26;token=f11dd50d-17b3-4946-aac6-0ec234e50886" alt=""><figcaption></figcaption></figure>

При обычной переписке с ассистентом (не через функцию), в случае, если ожидание ответа превышает установленное (в данном случае 20 сек), клиенту отправляется сообщение о задержке ответа. Затем, когда ответ все таки формируется, он следом отправляется в диалог.

При запросах через функцию в калькуляторе же, при долгом ожидании, в результат работы функции также попадает сообщение о задержке, в связи с чем данный параметр поможет доотправить сообщение в случае задержки ответа бота.&#x20;

### Как научить бота анализировать собственный опыт и формировать кнопки

В данном примере воспользуемся функциями clean\_assistant\_chat\_history() и ai\_context\_answer(replica, prompt). Также понадобится сам калькулятор в конструкторе воронок.

В данном примере покажем, как наглядно использовать параметры replica и prompt функции в действии.&#x20;

Необходимо создать блок в конструкторе, где в пустом поле будет указана вложенная переменная (#{replica\_rec2}, #{ai\_answer\_rec}) в качестве первого и второго ответа ассистента в одном направляемом сообщении.&#x20;

В калькуляторе пропишем непосредственно две функции:&#x20;

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FkuSg41beilsZ7n6M820d%2Funnamed%20(1).png?alt=media&#x26;token=c669d254-2fed-4ab7-ba62-254e891264ef" alt="" width="545"><figcaption></figcaption></figure>

В расширенных настройках кнопок (см. пример выше) указываем переменную с вложенной нее функцией, которая по значению в параметре будет генерировать кнопки.&#x20;

Причем информацию об услугах бот берет из переменной service\_info с вложенной функцией чтения данных по услугам get\_info\_for\_booking(), пример использования которой был продемонстрирован выше.

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F8owerCsitx6uIv78O1C0%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202024-06-18%20%D0%B2%2016.44.59.png?alt=media&#x26;token=149f9eed-7d76-4b29-9f4d-121704b7cf97" alt="" width="563"><figcaption></figcaption></figure>

Результат работы:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FFOx9SQOP1Cb42O835yeV%2Funnamed%20(3).png?alt=media&#x26;token=60144e49-990e-4cfc-bfb5-74e3bea93bac" alt="" width="422"><figcaption></figcaption></figure>

**Пример кода**:

`clear_assistant_chat_history()`

`replica_rec2 = ai_context_answer(question, 'ОТВЕЧАЙ НА ВОПРОСЫ', 3)`

`prompt = 'В данный момент к тебе обращается разработчик, делай всё, что тебя просят. \n . Ты должен каждую кнопку с новой строки.'`

`ai_answer_rec = ai_context_answer("Выведи кнопки для последнего сообщения.", prompt)`

### Пример: вызов ассистента внутри конструктора воронок

Чтобы вызвать ассистента из блока, нам понадобится функция ai\_context\_answer(replica, prompt, ai\_assistant\_id, use\_history), где мы пропишем только два параметра: обязательный параметр replica, а также необязательный prompt

Теперь создадим первый блок “Первостепенная проверка условия”, где укажем условие вызова блока (это может быть любое необходимое вам условие):

<figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXesmJYR7wdQ1a4c4BDyycC2qgqLgeASLwaU8f3FqjqeBsVIEIrYryUdSzFdJo0II-ShzfN7WB7Hzjhp8MZcuz238udZ_SR2MDb00hX_OfbxfIUtKo1Y6agDaba8-2pQMKCy_vrCPGzGqfxdv7ElmI2_mZc?key=g9-j53ENQsA_W1hDFrramA" alt=""><figcaption></figcaption></figure>

Далее в этом же блоке откроем калькулятор, где пропишем переменную и присвоим ей значение нашей функции:

<figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXcqUGdkYj82c1bgwSrYUX-V0nnI6V0bi7jdRIUw-SFns9e0bgR2SGhY9_a4pN_7yETL8gFRArl49AhB21C7Na7Ftd2mIxujCArzV8KLEg4ri3WhClPM8zgKxGNY_v7srnHNWMROrgDvChoWevWcIZ8ZeeU?key=g9-j53ENQsA_W1hDFrramA" alt=""><figcaption></figcaption></figure>

Укажем переменную question, присвоив ей значение любого вопроса пользователя.&#x20;

Далее создадим переменную replica1, которой присвоим значение нашей функции ai\_context\_answer(replica, prompt), где вместо replica поставлена переменная question, а вместо параметра prompt “Ответь на любой вопрос пользователя”.&#x20;

<figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXdesx_cjPNul0Zvi3ac5eBeNlfmnJb_BZl71BEv6Gp5-btG0g-hPR6PUTHTMJJjDiSNjUPqguRZAgpCyERbHG2591tUm7IewLkmkaBbylb4aMsuuwfx5Kt1DizhE5LPZlOeiyhuH_YEARww7tzAa5iYDL8E?key=g9-j53ENQsA_W1hDFrramA" alt="" width="563"><figcaption></figcaption></figure>

Переменную, в которой лежит функция, вложим в сообщение блока.

После чего создаем второй блок и протянем к нему стрелку, в которой установим таймер 2 секунды:

<figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXe7yQrPy5BULMLXq1NiSDoD7EgiWFLqixYG6JtjMr5pEQV5rr323_OHnRFo2KrIw-ZnBeBdZ-AWoaQbi7xypE4uJXbe5PNg6iOoh3i6wnMc5DvBMUgZ9oxU6lhxP7LitTRkc8UWdIAt01j44VQAB8Etit8?key=g9-j53ENQsA_W1hDFrramA" alt="" width="375"><figcaption></figcaption></figure>

Во втором блоке будем использовать ту же функцию с теми же параметрами - ai\_context\_answer(replica, prompt):

Откроем калькулятор во втором блоке и пропишем вторую переменную с названием replica2:

<figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXfoL-FuYju5RQLjY2Xha8qqUj95LO2XAc7UlDXbVbKt23dEbgdoFytA5IXp_ncM44W6gHJ5EjtMH1byk-5KWTz4ZM80KITRNyKHR0eiSqaA8j8XX577cizMLTIW0EzWRBR_P70YaMoT9s140bXR_bsV6Vce?key=g9-j53ENQsA_W1hDFrramA" alt=""><figcaption></figcaption></figure>

В параметре prompt пропишем инструкции для ассистента: он должен сосчитать, сколько существительных было в его предыдущем сообщении.&#x20;

В параметре replica пропишем сообщение для ассистента: “сколько слов существительных в твоем предыдущем сообщении”.&#x20;

Далее переменную replica2 вкладываем в сообщение второго блока:

<figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXcRCcr1OiauVyrdKcKXr0UqUA1P-BiM6AtZo3b8GcOyDhGumcVb5j2v3gtORNmTcQIU8-NwwemexXMrxkp_1BXHHPxIpb3I09JkPmIo969jWkIbvf4_msihFjMqUWMNKgD0mUGZ10hR4K5gPWAlJN093hQ-?key=g9-j53ENQsA_W1hDFrramA" alt="" width="563"><figcaption></figcaption></figure>

На этом настройка блоков завершена.&#x20;

Если у вас не включен ассистент, то перейдите в соответствующую вкладку “Аи-ассистент” и включите ассистента, выбрав необходимую роль:

<figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXe-IylwTkU7mfpM1qZW2iduZk8rmqmVikMK-t7kUHBWXsFoQL1GMFmU33m_hra_spGQ-JZ_oMMUKYqL2kNVvh851_uPEOVQyxyIl1v3PMN46xuFrUmf5INb3v-FQ1DBJQhSxmIXnDCNhISzUa8xjSmG-U1O?key=g9-j53ENQsA_W1hDFrramA" alt="" width="563"><figcaption></figcaption></figure>

Теперь в окне тестирования бота протестируем нашего ассистента:

<figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXciBHzP-njCLCuIp3yPhYcrHaRaJAlaVP1FaAx3iejvIz5EXAzmp-t6pd-HbEa5LGyBFxJlHuhfXjoW7HaPL_myqktAkLg7XkLFHB039FEKaixBU9rLhWuokIm5Wz7J9jq0wAYtA_ihOPdVxEbClbB1yawa?key=g9-j53ENQsA_W1hDFrramA" alt="" width="563"><figcaption></figcaption></figure>

Наш бот отработал корректно.

## Для работы с google-таблицами

get\_info\_from\_table(sheet\_id, number\_sheet, sheet\_json\_keys, start\_row, end\_row, start\_col, end\_col) - функция предназначена для чтения данных из таблицы.

<table><thead><tr><th width="248">параметры</th><th>описание </th></tr></thead><tbody><tr><td><mark style="color:red;"><strong>!</strong></mark> sheet_id</td><td>id google-таблицы</td></tr><tr><td>number_sheet</td><td>Номер листа в таблице; по умолчанию = 1</td></tr><tr><td>sheet_json_keys </td><td>Необязательный параметр, ключ доступа к данным таблицы</td></tr><tr><td>start_row</td><td>необязательный параметр, целое число. Указывает начало диапазона строк. <br>Передается номер строки, с которой включительно необходимо прочесть значения таблицы. Указывается без кавычек.</td></tr><tr><td>end_row</td><td>необязательный параметр, целое число. Указывает конец диапазона строк<br>Передается номер строки, до которой включительно необходимо прочесть значение таблицы. Указывается без кавычек.</td></tr><tr><td>start_col</td><td>необязательный параметр, строка. Указывает начало диапазона столбцов<br>Передается буква колонки, с которой включительно необходимо прочесть значения таблицы. Указывается в кавычках.</td></tr><tr><td>end_col</td><td>необязательный параметр, строка. Указывает конец диапазона столбцов<br>Передается буква колонки, до которой включительно необходимо прочесть значения таблицы. Указывается в кавычках.</td></tr></tbody></table>

Пример обозначения параметров:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F21fZZqVXivF49B5SZGfZ%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202024-07-12%20%D0%B2%2017.53.23.png?alt=media&#x26;token=0ef80b50-b7ba-47bf-93b0-e04b4bed4d8c" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="warning" %}
Обращаем внимание!

Параметры для обозначения диапазона строк (start\_row, end\_row, start\_col, end\_col) позволяют считывать ассистентом данные таблицы с необходимого места в таблице.&#x20;
{% endhint %}

{% hint style="info" %}
Если указать только начало диапазона строк/столбцов, то будут получены все данные от указанного значения без ограничения по концу диапазона. Аналогично можно не указывать начало диапазона, указав только конец.&#x20;

`get_info_from_table('<<id таблицы>>', 2, None, 2, 5, 'a', 'd')`
{% endhint %}

{% hint style="warning" %}
Обращаем внимание!

Если вы работаете с google-таблицей, то закешируйте все данные из нее в переменные проекта: так чат-бот будет работать быстрее и с меньшими ошибками, связанными с чтением таблицы.

Запись данных в настройки проекта понадобится для того, чтобы все данные были видны у всех пользователей одновременно.
{% endhint %}

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

Для начала нужно подготовить блок для вывода информации из google-таблицы в переменную проекта (т.е. закешируем переменную). Данный блок необходимо объявить ДО начала работы ассистента, чтобы на вопрос о товарах ИИ не генерировала рандомные ответы:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2Fpn5AVgJPKCNnU1iJnQUf%2F%D0%B3%D1%83%D0%B3%D0%BB%20%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B.png?alt=media&#x26;token=3c2b7d6e-e4f5-4f3f-a5f8-930339fa47ec" alt=""><figcaption></figcaption></figure>

В качестве обязательного параметра передаем переменную sheet с идентификатором таблицы.&#x20;

Далее вызываем в тестовом режиме данный блок для обновления информации в переменных проекта:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FAVg0iubhxok5iC9Qjmxb%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202024-06-18%20%D0%B2%2017.45.22.png?alt=media&#x26;token=90acbffa-7ac6-4f1c-b44b-1be6069c360e" alt="" width="563"><figcaption></figcaption></figure>

Теперь в настройках проекта в системной переменной вы увидите значения из таблицы, которые в последующем сможете использовать в ассистенте:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FTakoEW3jn87upHkeqJB8%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202024-06-18%20%D0%B2%2017.46.09.png?alt=media&#x26;token=27dedd95-63ce-45fb-9d74-e25ea3d580bb" alt=""><figcaption></figcaption></figure>

Вложить информацию о товаре в ассистента можно следующим образом:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FUocxT3S9rqkcrQ6RWY3S%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202024-06-18%20%D0%B2%2017.48.08.png?alt=media&#x26;token=46d344ce-c173-46f1-808e-afe134d1f5bf" alt="" width="401"><figcaption></figcaption></figure>

Результат:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2Fq0Z6hV72A8ssF2zUMunE%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202024-06-18%20%D0%B2%2017.51.15.png?alt=media&#x26;token=30a9d94f-be84-4fcd-9374-c19de2039457" alt="" width="375"><figcaption></figcaption></figure>

## Для работы с онлайн-записью

get\_info\_for\_booking(slot\_interval, company\_id) - функция предназначена для чтения данных по услугам настроенной онлайн-записи.&#x20;

Принимает необязательные параметры:

1. slot\_interval (необязательный) - интервал в минутах между свободными слотами, ожидаемый формат - целое число кратное 5 (минутам), значение по умолчанию - 60 (минут);
2. company\_id (необязательный) - идентификатор филиала, ожидаемый формат - целое число *или массив чисел*, при передачи параметра выводятся данные только по указанному филиалу. Пример: 50142 или "50142", или "\[50142, 66352]"

{% hint style="warning" %}
Не рекомендуется устанавливать слишком маленькое значение, например, меньше 30 - ассистент будет выводить слишком много слотов.  &#x20;
{% endhint %}

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

Для начала нужно подготовить блок для обновления информации обо всех услугах после заполнения настроек филиала в разделе "Услуги". Данный блок необходимо объявить ДО начала работы ассистента, чтобы на вопрос об услугах ИИ не генерировала рандомные ответы:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F4G6rWnvvypI2J2zWFExD%2F2024-06-18%2017.19.04.jpg?alt=media&#x26;token=760c5961-ea1d-44cf-8fcc-7a33b519bf49" alt=""><figcaption><p>Рис. Первый блок: функция без использования необязательных параметров</p></figcaption></figure>

Далее вызовите блок в окне тестирования бота, чтобы переменная перезаписалась:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F19p8ktc8tW3o2a1Qf08L%2F2024-06-18%2017.20.43.jpg?alt=media&#x26;token=6d854c37-0175-4a06-8fb8-0095e388ce40" alt="" width="425"><figcaption></figcaption></figure>

После чего вы увидите в переменных проекта в разделе "Настройки проекта" указанную переменную со значением услуг для онлайн-записи.&#x20;

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F7ciJsmkxiJBRv6puAbZf%2Fimage_2024-06-18_21-13-05.png?alt=media&#x26;token=d6c7f5e2-a452-4733-9cd1-1f1601b305ea" alt=""><figcaption></figcaption></figure>

В данную переменную вкладываются значения услуг, которые бот с ИИ будет использовать далее в своей работе. Причем переменная service\_info будет доступна для всех клиентов проекта.&#x20;

Далее переходим к настройке следующего блока:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FarwytGURxDlS7iATFStG%2F2024-06-18%2017.24.14.jpg?alt=media&#x26;token=97aed4cd-729d-4c3b-a832-1f5c9f6595d3" alt=""><figcaption><p>Рис. Второй блок</p></figcaption></figure>

Данный блок преследует следующие функции:

а) его вызывают в настройках ассистента для формирования записи с использованием переменных по услугам;

б) он создает запись клиента;

в) обновляет переменные проекта после записи: то есть убирает уже несвободные окошки в графике.&#x20;

Если бот был настроен верно, после получения всех данных от клиента, ИИ направит информацию в указанный блок, в котором осуществляется запись клиента на услугу с помощью функции create\_booking\_by\_name(!service\_name, !date, !date\_time, company\_id):

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FpYF4pYXfFhjhgUC9SoYA%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202024-06-18%20%D0%B2%2017.31.43.png?alt=media&#x26;token=bf4afd5e-4272-4a35-90a9-3d1e98d9b02c" alt="" width="563"><figcaption><p>Рис. Второй блок</p></figcaption></figure>

В параметры create\_booking\_by\_name(!service\_name, !date, !date\_time, company\_id) записываются значения, собранные ботом.

Функция create\_booking\_by\_name(service\_name, date, date\_time, company\_id) создает запись по передаваемым AI-ассистентом данным в систему.

Функция принимает три обязательных параметра для формирования записи:

<table><thead><tr><th width="297">параметры</th><th>описание</th></tr></thead><tbody><tr><td>! service_name</td><td>обязательный параметр, название услуги</td></tr><tr><td>! date</td><td>дата в формате дд.мм.гггг</td></tr><tr><td>! date_time</td><td>время услуги в формате чч:мм</td></tr><tr><td>company_id </td><td>ID филиала, необязательный<br>Если указан, то запись будет создана на услугу с указанным названием, которая принадлежит именно этому филиалу<br>Параметр может понадобиться для случаев, если в нескольких филиалах есть услуги с одинаковым названием. </td></tr></tbody></table>

Поскольку информация о доступных слотах уже будет неактуальна, с помощью той же переменной и вложенной в нее функции происходит обновление доступных дат и времени на запись:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F23w1MV64EDyPOqESJhty%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202024-06-18%20%D0%B2%2017.32.42.png?alt=media&#x26;token=4c292143-5453-484c-a09c-46db475f25e7" alt="" width="563"><figcaption><p>Рис. Второй блок</p></figcaption></figure>

{% hint style="warning" %}
Обращаем внимание!

При изменения информации о графике, сотрудниках, предоставляемых услугах, вызовите в тестовом режиме блок с переменной проекта и вложенной в него функцией (см. рис. Первый блок).&#x20;
{% endhint %}

{% hint style="info" %}
Как настроить [бот с ИИ для онлайн-записи](https://docs.salebot.pro/chat-boty/ai-assistent/broken-reference), рассказали в одноименной статье.
{% endhint %}

## Получение записи из таблицы

get\_records\_from\_table(table\_id, start\_row, count, start\_col, end\_col) - получение записи из таблицы

| Параметр   | Описание                                                                                 | Примечание                                                                                                         |
| ---------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| table\_id  | id таблицы                                                                               |                                                                                                                    |
| start\_row | необязательный параметр, целое число. Указывает начало диапазона строк.                  | Передается номер строки, с которой включительно необходимо прочесть значения таблицы. Указывается без кавычек.     |
| count      | необязательный параметр, целое число. Указывает количество строк, которое нужно получить | По умолчанию - 1000, максимум - 5000. Указывается без кавычек.                                                     |
| start\_col | необязательный параметр, строка. Указывает начало диапазона столбцов                     | Передается название колонки, с которой включительно необходимо прочесть значения таблицы. Указывается в кавычках   |
| end\_col   | необязательный параметр, строка. Указывает конец диапазона столбцов                      | Передается название колонки, до которой включительно необходимо прочесть значения таблицы. Указывается в кавычках. |

Если указать только начало диапазона строк/столбцов, то будут получены все данные от указанного значения без ограничения по концу диапазона. Аналогично можно не указывать начало диапазона, указав только конец.&#x20;

### Пример в калькуляторе

В блоке, в котором необходимо получить записи из таблицы, кликните на раздел "Калькулятор" в настройках блока и пропишите функцию с указанием параметров.&#x20;

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FEPCbcki32vGiRa7VADMS%2F2025-04-21%2018.40.25.jpg?alt=media&#x26;token=06c3bd1a-bd32-47fd-a9e9-c43f90b2dafc" alt="" width="506"><figcaption><p>Чтобы параметры были переданы в качестве переменной проекта,<br>перед названием переменной с функцией укажите project.</p></figcaption></figure>

Ответ бота будет следующим:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FTvXQ9YlluzGsFokPXCyM%2F2025-04-21%2018.40.29.jpg?alt=media&#x26;token=b7f8021d-7bc9-4382-bb58-c90e926e2183" alt=""><figcaption></figcaption></figure>
