{
"name": "edit_google_sheet",
"description": "Редактировать данные в Google Sheet",
"parameters": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL Google Sheet",
},
"data": {
"type": "string",
"description": "Данные для добавления в одну строку в формате: `A1::значение1##G2::значение2##FB25::значение3`",
},
},
"required": ["url", "data"],
},
},
Добавить строку в таблицу Google
Позволяет вести запись в строку таблицы Google без затрат токенов.
{
"name": "append_row_to_google_sheet",
"description": "Appent row to Google Sheet",
"parameters": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL of Google Sheet",
},
"sheet_number": {
"type": "integer",
"description": "List Index in Google Sheet. Starts from 1. Default value is 1.",
},
"sheet_name": {
"type": "string",
"description": "List Name in Google Sheet. Not required.",
},
"row_to_append": {
"type": "string",
"description": "Row data to append at the end of Google Sheet formatted like this: `value1;;value2;;value3`",
},
},
"required": ["url", "sheet_number", "text_to_append"],
},
},
Работа с Гугл сервисами
Управление Google календарем
С помощью функции бот может безопасно добавлять, просматривать, редактировать и удалять события в Google календаре. В поведении боту пропишите эти настройки:
1. Для твоей работы необходим ID календаря, который ты будешь передавать в функцию "google_calendar". ID календаря может быть предоставлен и в виде Email адреса. Без него ты не можешь отвечать ни на какие вопросы пользователя.
2. При показе запланированных событий после названия события указывай его "event_id".
3. Вот инструкции как пользоваться функцией:
Пропишите в промте боту как правильно этим пользоваться:
Тип действия.
`+` - означает добавление события.
`?` - означает получение всех событий календаря..
`-` - удалить событие в календаре.
`.` - редактировать событие в календаре.
Также необходимо в настройках вашего календаря с помощью браузера открыть доступ к этому пользователю: "dialogai@dialogai-385904.iam.gserviceaccount.com" с правами "Внесение изменений и предоставления доступа".
dialogai@dialogai-385904.iam.gserviceaccount.com
ID календаря может быть как в виде e-mail адреса, так и в виде собственного обозначения, если это не основной календарь (ID можно найти в настройках интеграции календаря). Если боту предоставить ID не верный, будет выходить ошибка.
{
"name": "google_calendar",
"description": "Управление календарем Google",
"parameters": {
"type": "object",
"properties": {
"calendarId": {
"type": "string",
"description": "ID календаря",
},
"action": {
"type": "string",
"enum": ["+", "?", '-', '.'],
"description": "Тип действия. `+` - означает добавление события. `?` - означает получение всех событий календаря.. `-` - удалить событие в календаре. `.` - редактировать событие в календаре.",
},
"event_ids": {
"type": "string",
"description": "Список ID событий в календаре в формате json строки: ```[{\"event_id\": \"3lsvlor3hjlgpgmv7er7e5juov\"}]```. Передается при типах действия `-` или '.'",
},
"events": {
"type": "string",
"description": "Список событий в формате json строки: ```[{\"summary\": \"test event\", \"description\": \"some info\", \"start\": {\"dateTime\": \"2024-09-04T03:00:00+03:00\"}, \"end\": {\"dateTime\": \"2024-09-04T05:30:00+03:00\"}}]```. Передается при типах действия `+` или '.'",
},
"start_date": {
"type": "string",
"description": "Дата начала периода в формате `2024-09-04T03:00:00+03:00`. Передается при типах действия `?` или '-'",
},
"end_date": {
"type": "string",
"description": "Дата окончания периода в формате `2024-09-04T03:00:00+03:00`. Передается при типах действия `?` или '-'",
},
},
"required": ["calendarId", "action"],
},
},
Чтение текста из Google документа v2
Чтение текста из Google документа v2
{
"name": "read_google_doc_text",
"description": "Читает содержимое Google Docs по URL и возвращает текст с ограничением по размеру",
"parameters": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL документа Google Docs",
},
"limit": {
"type": "integer",
"description": "Максимальное количество символов в ответе. По умолчанию равно 8000",
"minimum": 1
},
"return_as_link": {
"type": "integer",
"description": "0 - возвращает текст, 1 - возвращает ссылку на файл txt вместо текста",
},
},
"required": ["url", "return_as_link"],
},
},
Замена текста в шаблоне Google Slides
Пример инструкции в боте:
Получить информацию от пользователя и Измени только эти значения:
###company_name### — замените на новое название компании.
###pres_name### — замените на название презентации.
###about_us### — замените на текст “О компании”.
###about_us_2### — замените на дополнительный текст “О компании”.
###product_1### — замените на описание первого продукта/услуги.
{
"name": "append_text_to_google_doc",
"description": "Appent text to Google Document",
"parameters": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL of Google Document",
},
"text_to_append": {
"type": "string",
"description": "Text to append at the end of Google Document",
},
},
"required": ["url", "text_to_append"],
},
},
Чтение текста из Google документа
Чтение текста из Google документа
{
"name": "get_google_doc_text",
"description": "Получить текст из документа Google по URL",
"parameters": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL документа Google",
},
"limit": {
"type": "integer",
"description": "Максимально количество букв в ответе, по умолчанию 8000",
},
},
"required": ["url", "limit"],
},
},
Редактирование презентации в Google Slides (с использованием ИИ)
Пример инструкции в роли бота:
В этой презентации:
https://docs.google.com/presentation/d/1RSl-KiaTh7xB-R3tOywleXyO6LvPd4dv5wyjbOjkfUY/edit?usp=sharing
Напиши слоган и замени лучшая на эффективная
{
"name": "ai_edit_google_slides",
"description": "Редактирует текст в Google Slides",
"parameters": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL презентации Google Slides",
},
"task": {
"type": "string",
"description": "Задача, содержащая слоган и слово для замены",
},
},
"required": ["url", "task"],
},
},
Замена текста в шаблоне Google Document
Пример инструкции в боте:
Получить информацию от пользователя и Измени только эти значения:
###company_name### — замените на новое название компании.
###pres_name### — замените на название документа.
###about_us### — замените на текст “О компании”.
###about_us_2### — замените на дополнительный текст “О компании”.
###product_1### — замените на описание первого продукта/услуги.
{
"name": "get_lead_from_bitrix24",
"description": "Get lead information from Bitrix24",
"parameters": {
"type": "object",
"properties": {
"webhook": {
"type": "string",
"description": "Bitrix24 webhook URL",
}
},
"required": ["webhook"],
},
},
Изменить стадию сделки в Битрикс24
Функция update_deal_stage предназначена для обновления стадии сделки в системе Битрикс24. Она принимает три параметра: deal_id (идентификатор сделки), stage_id (идентификатор новой стадии) и webhook_url (URL вебхука для отправки запроса).
Функция работает при заполненном вебхуке Битрикс24 в разделе "Лидогенерация".
Для получения данных о сделке в функцию нужно предать ID сделки.
{
"name": "bitrix_get_dial_fields",
"description": "Получить данные из определенной сделки из Битрикс",
"parameters": {
"type": "object",
"properties": {
"deal_id": {
"type": "string",
"description": "ID сделки",
},
},
"required": ["deal_id"],
},
},
Получение задачи из Bitrix24
Получение задачи из Bitrix24
{
"name": "bitrix_get_task",
"description": "Получение задачи из Bitrix24",
"parameters": {
"type": "object",
"properties": {
"bitrix_webhook": {
"type": "string",
"description": "Bitrix24 webhook URL",
},
"keyword": {
"type": "string",
"description": "Ключевое слово в названии задачи",
},
},
"required": ["bitrix_webhook", "keyword"],
},
},
Завершение задачи в Bitrix24
Завершение задачи в Bitrix24
{
"name": "bitrix_end_task",
"description": "Завершение задачи из Bitrix24",
"parameters": {
"type": "object",
"properties": {
"bitrix_webhook": {
"type": "string",
"description": "Bitrix24 webhook URL",
},
"ID": {
"type": "integer",
"description": "ID задачи в Bitrix24",
},
"task_result": {
"type": "string",
"description": "Текст с результатом выполнения задачи",
},
},
"required": ["bitrix_webhook", "ID", "task_result"],
},
},
Прикрепить файл к задаче в Bitrix24
Пример инструкции в боте:
Прикрепи файл к задаче в Битрикс24: https://minio.nplus1.ru/app-images/152754/30c1c568a1e8e538911c6f8d02ca69f2.jpg
Номер задачи: 122
ID папки: 1
Webhook Битрикс24: "https://COMPANY.bitrix24.ru/rest/1/b7zwgdXXXXXXXX"
{
"name": "bitrix24_attach_file_to_task",
"description": "Прикрепить файл к задаче в Bitrix24",
"parameters": {
"type": "object",
"properties": {
"bitrix24_webhook": {
"type": "string",
"description": "Вебхук для доступа к API Bitrix24",
},
"task_id": {
"type": "string",
"description": "ID задачи, к которой нужно прикрепить файл",
},
"folder_id": {
"type": "string",
"description": "ID папки, в которой находится задача",
},
"file_url": {
"type": "string",
"description": "URL файла, который нужно прикрепить",
},
},
"required": ["bitrix24_webhook", "task_id", "folder_id", "file_url"],
},
},
Получение товаров из категории на сайте Bitrix24
Получение товаров из категории на сайте Bitrix.
Для работы функции создайте в корне сайта файл api_products.php со следующим кодом:
В коде замените код инфоблока каталога товаров - IBLOCK_ID на значение для вашего сайта. Инфоблок - это сущность, где хранится структурированная информация, например товары, новости.
{
"name": "get_products_bitrix",
"description": "Получить товары с сайта на Битрикс по заданным параметрам",
"parameters": {
"type": "object",
"properties": {
"site_url": {
"type": "string",
"description": "URL сайта для поиска товаров без `/` в конце",
},
"paraments": {
"type": "string",
"description": """
Параметры поиска в виде: `name:id:min_price:max_price:limit##name:id:min_price:max_price:limit##`
`name` - Название товара (может быть прочерком `-`)
`nacategory_idme` - ID категории товара
`min_price` - Минимальная цена товара
`max_price` - Максимальная цена товара
`limit` - Сколько товаров должно быть в ответе. По умолчанию 10
""",
},
},
"required": ["site_url", "paraments"],
},
},
Анализ аудио записей из Bitrix24 папки
Сначала функция обращается в папку на диске Bitrix24 и скачивает все новые .mp3 файлы за последние 10 минут. Далее она переводит все файлы в текст и проводит анализ диалогов. Результаты она записывает в таблицу Google.
{
"name": "bitrix_mp3_to_sheet",
"description": "Анализ аудио записей из папки Bitrix24",
"parameters": {
"type": "object",
"properties": {
"bitrix_webhook": {
"type": "string",
"description": "Bitrix24 webhook URL",
},
"folder_id": {
"type": "integer",
"description": "Bitrix24 folder ID",
},
"ID": {
"type": "integer",
"description": "ID бота для анализа диалогов",
},
"sheet_url": {
"type": "string",
"description": "URL таблицы Google Sheet",
},
"api_token": {
"type": "string",
"description": "API token бота для анализа диалогов",
},
"time_interval": {
"type": "integer",
"description": "Интервал для загрузки новых файлов в минутах",
},
},
"required": ["bitrix_webhook", "folder_id", "ID", "sheet_url", "api_token", "time_interval"],
},
},
Работа с Yclients
Yclients: Запись на услугу с указанием даты и времени
Yclients: Запись на услугу с указанием даты и времени
{
"name": "yclients_book_record",
"description": "Yclients: Запись на услугу с указанием даты и времени",
"parameters": {
"type": "object",
"properties": {
"phone": {
"type": "string",
"description": "Номер телефона для записи",
},
"code": {
"type": "integer",
"description": "Код для аутентификации",
},
"datetime": {
"type": "string",
"description": "Дата и время записи в формате ISO 8601",
},
"api_key": {
"type": "string",
"description": "API ключ для авторизации",
},
"api_key_user": {
"type": "string",
"description": "Пользовательский API ключ для авторизации",
},
},
"required": ["phone", "code", "datetime", "api_key", "api_key_user"],
},
},
Yclients: Получить список сотрудников и их услуг по ID компании
Yclients: Получить список сотрудников и их услуг по ID компании
{
"name": "yclients_get_staff_list_with_services",
"description": "Yclients: Получить список сотрудников и их услуг по ID компании",
"parameters": {
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "API ключ для доступа к Yclients"
},
"company_id": {
"type": "integer",
"description": "ID компании в Yclients"
},
"api_key_user": {
"type": "string",
"description": "API ключ пользователя для доступа к Yclients"
}
},
"required": ["api_key", "company_id", "api_key_user"]
},
},
Получение текущих записей по номеру телефона клиента в сервисе YClients
Пример инструкции в боте:
Используй эти данные для записи клиентов:
АПИ токен: "XXXXXXXXXXXXX"
Токен пользователя: "XXXXXXXXXXXXXXXXXXXXXX"
Номер компании: 309XXX
{
"name": "yclients_client_appointments",
"description": "Получить записи клиента по номеру телефона",
"parameters": {
"type": "object",
"properties": {
"company_id": {
"type": "integer",
"description": "ID компании в YClients",
},
"api_token": {
"type": "string",
"description": "API токен для доступа к YClients",
},
"user_token": {
"type": "string",
"description": "Токен пользователя для доступа к YClients",
},
"client_phone": {
"type": "string",
"description": "Номер телефона клиента",
},
},
"required": ["company_id", "api_token", "user_token", "client_phone"],
},
},
Создать запись в сервисе YClients
Пример инструкции в роли бота:
Вы - Диана, опытный администратор центра Подологии, специализирующийся на уходе за стопами и ногтями. Наш центр оказывает высококвалифицированные услуги по медицинскому педикюру и лечению различных заболеваний ногтей. У вас дружелюбный, заботливый, доброжелательный и позитивный характер.
Используй в общении смайлы: 🏙️,✍,😇,🙏🏻,🌿 .
Если клиент прислал тебе голосовое сообщение, запрещено в ответ присылать ему голосовое сообщение. Не присылай в ответ голосовые сообщения и любые аудио файлы!
Выделение важной информации:
- Включай жирный шрифт для важных деталей, таких как стоимость и бонусы.
Запрещено писать чтобы клиент подождал.
Твоя задача создавать записи клиентов на сеансы в наш салон красоты.
Номера услуг:
1340XXX - ПараМедицинский МАНИКЮР (seance_length - 2часа)
...
Номера специалистов:
3276XXXX - Милана (подолог)
...
Используй эти данные для записи клиентов:
АПИ токен: "XXXXXXXXXXXXX"
Токен пользователя: "XXXXXXXXXXXXXXXXXXXXXX"
Номер компании: 309XXX
Емайл у всех клиентов передавай такой: api@email.com
{
"name": "yclients_book_appointment",
"description": "Записать клиента на прием через API YClients",
"parameters": {
"type": "object",
"properties": {
"company_id": {
"type": "integer",
"description": "ID компании в YClients",
},
"api_token": {
"type": "string",
"description": "API токен для доступа к YClients",
},
"user_token": {
"type": "string",
"description": "Токен пользователя для доступа к YClients",
},
"client_info": {
"type": "string",
"description": "Информация о клиенте в формате 'телефон;имя;email'",
},
"staff_id": {
"type": "integer",
"description": "ID сотрудника, к которому записывается клиент",
},
"service_ids": {
"type": "string",
"description": "ID услуг, разделенные точкой с запятой",
},
"datetime": {
"type": "string",
"description": "Дата и время записи в формате ISO 8601",
},
"seance_length": {
"type": "integer",
"description": "Длительность сеанса в минутах",
},
},
"required": ["company_id", "api_token", "user_token", "client_info", "staff_id", "service_ids", "datetime", "seance_length"],
},
},
Yclients: Получить полный список данных о клиенте по номеру телефона
Yclients: Получить полный список данных о клиенте по номеру телефона
{
"name": "yclients_get_client_data_by_phone",
"description": "Yclients: Получить полный список данных о клиенте по номеру телефона",
"parameters": {
"type": "object",
"properties": {
"company_id": {
"type": "integer",
"description": "ID компании",
},
"phone": {
"type": "string",
"description": "Номер телефона клиента",
},
"api_key": {
"type": "string",
"description": "bearer api_key",
},
},
"required": ["company_id", "phone", "api_key"],
},
},
Удаление записей клиента в сервисе YClients
Пример инструкции в боте:
Используй эти данные для записи клиентов:
АПИ токен: "XXXXXXXXXXXXX"
Токен пользователя: "XXXXXXXXXXXXXXXXXXXXXX"
Номер компании: 309XXX
Номера записей: 914XXXXX; 9144XXXX
{
"name": "yclients_delete_client_appointments",
"description": "Удалить записи клиента в сервисе YClients по списку ID записей",
"parameters": {
"type": "object",
"properties": {
"company_id": {
"type": "integer",
"description": "ID компании в YClients",
},
"api_token": {
"type": "string",
"description": "API токен для доступа к YClients",
},
"user_token": {
"type": "string",
"description": "Токен пользователя для доступа к YClients",
},
"record_ids": {
"type": "string",
"description": "ID записией, которые нужно удалить, разделенные точкой с запятой",
},
},
"required": ["company_id", "api_token", "user_token", "record_ids"],
},
},
Yclients: Получить график сотрудника на указанные даты
Yclients: Получить график сотрудника на указанные даты
Функция позволяет попросить бота сформировать PDF файл из любой переданной ему или сгенерированной им самим информации. При этом если вы хотите оформить файл красиво с разметкой, то используйте такую инструкцию: "Если я попрошу сделать PDF, то оформи текст в соответствии с заданием в формате HTML и сформируй из этого файл PDF".
"Если я попрошу сделать PDF, то оформи текст в соответствии с заданием в формате HTML и сформируй из этого файл PDF".
{
"name": "generate_pdf_from_html",
"description": "Генерация PDF документа на основе HTML-кода",
"parameters": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Заголовок HTML-документа"
},
"body_content": {
"type": "string",
"description": "Содержимое тела HTML-документа"
},
"styles": {
"type": "string",
"description": "CSS-стили для HTML-документа"
},
"filename": {
"type": "string",
"description": "Имя файла на выходе. Не обязательный параметр."
},
},
"required": ["title", "body_content"]
},
},
Чтение офисных файлов
Функция переводит файлы форматов PDF, DOC, XLS, PPT в текст
{
"name": "read_file_from_url",
"description": "Read a file from a URL and extract text with Cyrillic support",
"parameters": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL of the file",
},
"file_type": {
"type": "string",
"description": "Type of the file to read",
"enum": ["PDF", "DOC", "DOCX", "XLS", "XLSX", "PPT", "PPTX"],
}
},
"required": ["url", "file_type"],
},
},
Другие СРМ
Поиск товаров на Мойсклад
Поиск товара по ключевому слову в базу сервиса Мойсклад
{
"name": "moysklad_search",
"description": "Search for products by query in the Moysklad API",
"parameters": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query",
},
"token": {
"type": "string",
"description": "Bearer token for authorization",
},
},
"required": ["query", "token"],
},
},
Получить данные из определенной сделки из AmoCRM
Функция работает при заполненном вебхуке AmoCRM в разделе "Лидогенерация".
Для получения данных о сделке в функцию нужно предать ID сделки.
{
"name": "amocrm_get_lead",
"description": "Получить данные о сделке из AmoCRM по ID сделки",
"parameters": {
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"description": "ID сделки, данные которой нужно получить",
},
},
"required": ["lead_id"],
},
},
Работа с HH.ru
Поиск резюме на сайте HH
Функция предназначена для поиска резюме на платформе hh.ru. Она принимает несколько параметров, включая OAuth токен для авторизации, текст для поиска, ID региона, опыт работы и количество результатов на странице.
api_token: обязательный параметр, который используется для авторизации при обращении к API.
search_text: обязательный параметр, который определяет, что именно нужно искать в резюме.
area: опциональный параметр, который позволяет указать ID региона для более точного поиска.
experience: опциональный параметр, который позволяет фильтровать резюме по опыту работы. Возможные значения: "noExperience", "between1And3", "between3And6", "moreThan6".
per_page: опциональный параметр, который задает количество результатов на странице (по умолчанию 20).
{
"name": "hh_vacancies",
"description": "Поиск вакансий на сайте HH.ru",
"parameters": {
"type": "object",
"properties": {
"search_filter": {
"type": "string",
"description": "Поисковый фильтр",
},
"region_id": {
"type": "integer",
"description": "ID города или региона",
},
"period": {
"type": "integer",
"description": "Период в днях, за который появились вакансии",
},
},
"required": ["search_filter", "region_id", "period"],
},
},
Поиск резюме на HH.ru
Функция invite_for_interview предназначена для поиска резюме на сайте HH.ru и отправки приглашений на собеседование. Она принимает следующие параметры:
search_query: строка, содержащая поисковый запрос для поиска резюме.
employer_id: строка, содержащая ID работодателя на HH.ru.
vacancy_id: строка, содержащая ID вакансии, на которую отправляется приглашение.
message: строка, содержащая сообщение для приглашения на собеседование.
Функция выполняет следующие шаги:
Формирует URL и параметры для поиска резюме на HH.ru.
Выполняет запрос к API HH.ru для поиска резюме по заданному поисковому запросу.
Проверяет, успешно ли выполнен запрос и найдены ли резюме.
Формирует URL для отправки приглашений на собеседование.
Для каждого найденного резюме отправляет приглашение на собеседование с указанным сообщением.
Возвращает сообщение о результате выполнения: либо "Приглашения успешно отправлены", либо сообщение об ошибке.
Функция использует библиотеку requests для выполнения HTTP-запросов к API HH.ru.
{
"name": "invite_for_interview",
"description": "Находит резюме на HH.ru и отправляет приглашение на собеседование",
"parameters": {
"type": "object",
"properties": {
"search_query": {
"type": "string",
"description": "Поисковый запрос для поиска резюме"
},
"employer_id": {
"type": "string",
"description": "ID работодателя на HH.ru"
},
"vacancy_id": {
"type": "string",
"description": "ID вакансии, на которую отправляется приглашение"
},
"message": {
"type": "string",
"description": "Сообщение для приглашения на собеседование"
}
},
"required": ["search_query", "employer_id", "vacancy_id", "message"]
},
},
Распознавание данных
Распознавание текста на фото
Функция распознает текст на фото
{
"name": "easyosr",
"description": "Распознование текста по фото",
"parameters": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL фото для распознования",
},
},
"required": ["url"],
},
},
Распознование текста на фото через Gemini-Pro-Vision
Функции нужно отправить ссылку на фото в формате JPG.
{
"name": "gemini_vision",
"description": "Извлечение текста из изображения по URL",
"parameters": {
"type": "object",
"properties": {
"image_url": {
"type": "string",
"description": "URL изображения",
},
},
"required": ["image_url"],
},
},
Распознавание текста на фото и документах используя EasyOSR, GigaChat, YandexOSR, Gemini
Функция osr_combine предназначена для распознавания текста и шаблонных документов с использованием различных моделей.
Модели для распознавания текста: page (по умолчанию) — подходит для изображений с любым количеством строк текста, сверстанного в одну колонку. page-column-sort — для распознавания многоколоночного текста. handwritten — для распознавания произвольного сочетания печатного и рукописного текста на русском и английском языках. table — для распознавания таблиц на русском и английском языках.
Модели для распознавания шаблонных документов: passport — основной разворот паспорта. driver-license-front — водительское удостоверение, лицевая сторона. driver-license-back — водительское удостоверение, обратная сторона. vehicle-registration-front — свидетельство о регистрации транспортного средства, лицевая сторона. vehicle-registration-back — свидетельство о регистрации транспортного средства, обратная сторона. license-plates — все регистрационные номера автомобилей на изображении.
{
"name": "osr_combine",
"description": "Распознавание текста по фото или PDF",
"parameters": {
"type": "object",
"properties": {
"osr_model": {
"type": "string",
"description": "Модель для распознавания. ```\nМодели для распознавания текста:\npage (по умолчанию) — подходит для изображений с любым количеством строк текста, сверстанного в одну колонку.\npage-column-sort — для распознавания многоколоночного текста.\nhandwritten — для распознавания произвольного сочетания печатного и рукописного текста на русском и английском языках.\ntable — для распознавания таблиц на русском и английском языках.\n \nМодели для распознавания шаблонных документов:\npassport — основной разворот паспорта.\ndriver-license-front — водительское удостоверение, лицевая сторона.\ndriver-license-back — водительское удостоверение, обратная сторона.\nvehicle-registration-front — свидетельство о регистрации транспортного средства, лицевая сторона.\nvehicle-registration-back — свидетельство о регистрации транспортного средства, обратная сторона.\nlicense-plates — все регистрационные номера автомобилей на изображении.\n```",
"enum": ["page", "page-column-sort", "handwritten", "table", "passport", "driver-license-front", "driver-license-back", "vehicle-registration-front", "vehicle-registration-back", "license-plates"],
},
"file_url": {
"type": "string",
"description": "URL изображения или PDF файла для распознавания",
},
},
"required": ["osr_model", "file_url"],
},
},
Распознавание текста (gemini-pro-vision + gemini-flash)
Функции нужно отправить ссылку на фото в формате JPG
{
"name": "osr_combine_ai",
"description": "Распознавание текста по фото",
"parameters": {
"type": "object",
"properties": {
"image_url": {
"type": "string",
"description": "URL изображения для распознавания",
},
},
"required": ["image_url"],
},
},
Презентации PPTX
Редактирование презентации PPTX
Пример инструкции в роли бота:
1. Запроси ссылку на презентацию в PPTX.
2. Спроси что нужно изменить в презентации.
3. Запусти функцию редактирования PPTX и покажи ответ функции.
1. Для создание презентации ты должна создать сначала HTML страницу на которой каждый заголовок `<h1>` становится заголовком слайда, а соответствующий текст разбивай на блоки с тегом `<p>`.
2. В одном теге `<p>` не должно быть больше 100 символов.
3. Картинки добавляй отдельно, используя тег `<img>`.
{
"name": "generate_pptx",
"description": "Создает презентацию PowerPoint из HTML-кода",
"parameters": {
"type": "object",
"properties": {
"html_content": {
"type": "string",
"description": "HTML-код для создания презентации",
},
},
"required": ["html_content"],
},
},
Поиск и отправка данных
Отправка лида (все каналы)
Функция необходима для сбора лидов (заявок) ботом и отправки информации вам, настраивается на странице "Настройка сбора лидов"
{
"name": "send_lead",
"description": "Отправка лида",
"parameters": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Имя клиента",
},
"phone": {
"type": "string",
"description": "Номер телефона клиента",
},
"email": {
"type": "string",
"description": "E-mail клиента",
},
"region": {
"type": "string",
"description": "Регион или город клиента",
},
"url": {
"type": "string",
"description": "Адрес страницы на сайте",
},
"log": {
"type": "string",
"description": "Сюда напиши всю переписку с клиентом",
},
"subject": {
"type": "string",
"description": "Тема письма, в которой название компании в которую обращается клиент",
},
"body": {
"type": "string",
"description": "Текст письма, в котором укажи все полученные контактные данные клиента и суть его запроса",
},
"amo_pipeline_id": {
"type": "integer",
"description": "ID воронки в AmoCRM. Не обязательный параметр.",
},
"amo_status_id": {
"type": "integer",
"description": "ID этапа воронки в AmoCRM. Не обязательный параметр.",
},
},
"required": ["name", "phone", "email", "region", "log", "subject", "body"],
},
},
Поиск контактов на странице сайта
Поиск контактов на странице сайта
{
"name": "contacts_in_url",
"description": "Получение контактов на странице по её URL",
"parameters": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL для передачи в запрос",
},
"css_selector": {
"type": "string",
"description": "CSS селектор нужного блока на странице. Может быть пустым.",
},
},
"required": ["url", "css_selector"],
},
},
Поиск холодных клиентов
Поиск холодных клиентов
{
"name": "find_clients",
"description": "Поиск контактов клиентов через поиск Яндекса",
"parameters": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Поисковый запрос без указания сайта",
},
"site": {
"type": "string",
"description": "Сайт для поиска. Может быть пустым.",
},
"n": {
"type": "integer",
"description": "Количество найденных страниц",
},
"css_selector": {
"type": "string",
"description": "CSS селектор нужного блока на странице. Может быть пустым.",
},
"channel": {
"type": "string",
"enum": ["Emails", "Phones", "Telegram", "WhatsApp"],
"description": "Тип канала коммуникации с клиентом",
},
},
"required": ["query", "site", "n", "css_selector", "channel"],
},
},
Поиск контакта по базе Apollo.ai
Функция для получения информации о человека по базе данных Apollo.ai
Функция check_company_fns принимает два обязательных параметра: req (ОГРН или ИНН компании) и key (ключ доступа к API).
{
"name": "check_company_fns",
"description": "Проверка компании по данным ФНС России. Если в ответе функции есть слово `Позитив`, то нужно ответить так: `Положительная репутация`, иначе нужно ответить: `Отрицательная репутация`",
"parameters": {
"type": "object",
"properties": {
"req": {
"type": "string",
"description": "ОГРН или ИНН компании",
},
"key": {
"type": "string",
"description": "Ваш ключ доступа к API",
},
},
"required": ["req", "key"],
},
},
Получение товаров из категории на сайте Bitrix24
Получение товаров из категории на сайте Bitrix.
Для работы функции создайте в корне сайта файл api_products.php со следующим кодом:
В коде замените код инфоблока каталога товаров - IBLOCK_ID на значение для вашего сайта. Инфоблок - это сущность, где хранится структурированная информация, например товары, новости.
{
"name": "get_products_bitrix",
"description": "Получить товары с сайта на Битрикс по заданным параметрам",
"parameters": {
"type": "object",
"properties": {
"site_url": {
"type": "string",
"description": "URL сайта для поиска товаров без `/` в конце",
},
"paraments": {
"type": "string",
"description": """
Параметры поиска в виде: `name:id:min_price:max_price:limit##name:id:min_price:max_price:limit##`
`name` - Название товара (может быть прочерком `-`)
`nacategory_idme` - ID категории товара
`min_price` - Минимальная цена товара
`max_price` - Максимальная цена товара
`limit` - Сколько товаров должно быть в ответе. По умолчанию 10
""",
},
},
"required": ["site_url", "paraments"],
},
},
Получение товаров
Получение товаров из категории на сайте Webasyst (Shop-Script)
Получение товаров из категории на сайте Webasyst (Shop-Script).
Для работы требуется создать в корне сайта файл get_products.php со следующим кодом:
<?php
// Подключение к Webasyst
require_once($_SERVER['DOCUMENT_ROOT'].'/wa-config/SystemConfig.class.php');
waSystem::getInstance(null, new waSystemConfig());
// Инициализация приложения Shop
wa('shop');
// Функция для получения товаров из категории
function getProductsByCategory($category_id, $limit = 10, $offset = 0) {
$collection = new shopProductsCollection('category/'.$category_id);
$products = $collection->getProducts('*', $offset, $limit);
$result = array();
foreach ($products as $product) {
// Получаем полный URL изображения
$image_url = '';
if ($product['image_id']) {
$image = shopImage::getById($product['image_id']);
if ($image) {
$image_url = $image->getUrl('thumb', true); // true для получения абсолютного URL
}
}
$result[] = array(
'id' => $product['id'],
'name' => $product['name'],
'price' => $product['price'],
'description' => $product['description'],
'image_url' => $image_url,
);
}
return $result;
}
// Обработка запроса
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$category_id = isset($_GET['category_id']) ? intval($_GET['category_id']) : 0;
$limit = isset($_GET['limit']) ? intval($_GET['limit']) : 10;
$offset = isset($_GET['offset']) ? intval($_GET['offset']) : 0;
if ($category_id > 0) {
$products = getProductsByCategory($category_id, $limit, $offset);
header('Content-Type: application/json');
echo json_encode(array(
'status' => 'success',
'data' => $products
));
} else {
header('HTTP/1.1 400 Bad Request');
echo json_encode(array(
'status' => 'error',
'message' => 'Invalid category ID'
));
}
} else {
header('HTTP/1.1 405 Method Not Allowed');
echo json_encode(array(
'status' => 'error',
'message' => 'Method not allowed'
));
}
?>
{
"name": "get_products_webasyst",
"description": "Получить список товаров с сайта Webasyst по заданной категории",
"parameters": {
"type": "object",
"properties": {
"site_url": {
"type": "string",
"description": "URL сайта без `/` в конце",
},
"category_id": {
"type": "integer",
"description": "ID категории товаров",
},
"limit": {
"type": "integer",
"description": "Количество товаров для получения",
},
"offset": {
"type": "integer",
"description": "Смещение для пагинации",
},
},
"required": ["site_url", "category_id", "limit", "offset"],
},
},
Получение товаров из категории на сайте WordPress
Получение товаров из категории на сайте WordPress.
Для работы функции добавьте в файл functions.php вот этот код: