Salebot.pro
Search…
API в калькуляторе
Упрощенные вызовы API из калькулятора

API Salebot

tg_callback(platform_id, callback_message)
callback(client_id, callback_message)
message(client_id, text, message_id) отправка текста или блок из схемы. Параметр message_id необязательный
whatsapp_message(phone, text, message_id) отправка сообщения в whatsapp

API Telegram

Работает только на тарифе "Премиум"
Как прикреплять голосовые сообщения, фото, видео, анимацию и стикеры не ссылками, а внутренними файлами Телеграм, читайте тут

Как отправить документ

tg_send_document(platform_id, document, caption, reply_markup, parse_mode)
где platform_id — id клиента в мессенджере, document — ссылка на отправляемый документ, caption — описание (необязательный параметр), reply_markup — настройки кнопок (необязательный параметр), parse_mode — выделение текста в описании жирным или курсивом (необязательный параметр)

Как отправить голосовое сообщение

tg_send_voice(platform_id, voice, caption, reply_markup, parse_mode)
где platform_id — id клиента в мессенджере, voice — ссылка на голосовое сообщение в формате .OGG, caption — описание до 1024 символов (необязательный параметр), reply_markup — настройки кнопок (необязательный параметр), parse_mode — выделение текста в описании жирным или курсивом (необязательный параметр)

Как отправить анимацию

tg_send_animation(platform_id, animation, caption, reply_markup, parse_mode)
где platform_id — id клиента в мессенджере, animation — ссылка на анимацию, caption — описание до 1024 символов (необязательный параметр), reply_markup — настройки кнопок (необязательный параметр), parse_mode — выделение текста в описании жирным или курсивом (необязательный параметр)

Как отправить видео

tg_send_video(platform_id, video, caption, reply_markup, parse_mode)
где platform_id — id клиента в мессенджере, video — ссылка на видео, caption — описание до 1024 символов (необязательный параметр), reply_markup — настройки кнопок (необязательный параметр), parse_mode — выделение текста в описании жирным или курсивом (необязательный параметр)

Как отправить геоточку

tg_send_venue(platform_id, latitude, longitude, title, address)
где вводятся данные: platform_id — id клиента в мессенджере, latitude —широта, longitude — долгота, title — название, address — адрес.

Как отправить контакт

tg_send_contact(platform_id, phone, first_name, last_name)
где phone — номер телефона в международном формате. Например, для РФ это +7XXXXXXXXXX, first_name и last_name вводятся вручную.

Как отправить стикер

tg_send_sticker(platform_id, sticker_id)
где platform_id — id клиента в мессенджере, sticker_id — id стикера. Его можно получить, отправив нужный стикер боту https://t.me/RawDataBot . В ответ бот присылает данные, нам нужен последний параметр file_id.

Как отправить круглое видео

tg_send_video_note(platform_id, video_note)
где platform_id — id клиента в мессенджере, video_note — id видео. Его можно получить, отправив нужное видео боту https://t.me/RawDataBot. В ответ бот присылает данные, нам нужен последний параметр file_id.

Как отправить картинку:

tg_send_photo(platform_id, photo, caption, reply_markup, parse_mode)
где platform_id — id клиента в мессенджере, photo — ссылка на картинку или file_id, полученный у бота RawDataBot, caption — описание до 1024 символов (необязательный параметр), reply_markup — настройки кнопок (необязательный параметр), parse_mode — выделение текста в описании жирным или курсивом (необязательный параметр)

Как отправить несколько картинок:

tg_send_some_photo(platform_id, image_list, disable_notification=0)
platform_id — id клиента в мессенджере
image_list - массив картинок (подробнее ниже)
disable_notification - необязательный параметр, по умолчанию 0 - отключить нотификацию при получении, передать 1
Пример image_list:
'[["Ссылка на картинку 1", "caption", "parse_mode"], ["Ссылка на картинку 2"], ["Ссылка на картинку 3", "caption"]]'
Пример данных одной картинки: ["Ссылка на картинку 1", "caption", "parse_mode"]
Важен порядок параметров. Достаточно одного параметра - ссылки на картинку, остальные по желанию.
Описание параметров:
1 - ссылка на картинку
caption — подпись (не обязателен)
parse_mode — разметка описания (не обязателен)

Как отправить сообщение:

tg_send_message(platform_id, text, client_message_id=None, reply_markup=None, parse_mode=None, disable_web_page_preview=0)
platform_id — id в Телеграм, куда нужно прислать сообщение
client_message_id - идентификатор сообщения, которое необходимо процитировать (необязательный параметр)
reply_markup — настройки кнопок (необязательный параметр)
parse_mode — выделение текста в описании жирным или курсивом (необязательный параметр)
Где взять platform_id для отправки уведомлений:
  1. 1.
    У вас должен быть подключен телерам-бот к проекту
  2. 2.
    В этого бота нужно прислать любое сообщение с того телеграм-аккаунта, куда должны приходить сообщения о заявках
  3. 3.
    Далее переходите в раздел Клиенты в Salebot
  4. 4.
    В списке диалогов выбираете диалог с телеграм-аккаунтом, которому будете отправлять заявки
  5. 5.
    Копируете значение ID в мессенджере
Пример отправки курсивного текста: tg_send_message(47615196, "<i>курсив</i>",None,None,"html")
Пример отправки жирного текста: tg_send_message(platform_id, '*test*', None, None, 'markdown')
Пример отправки сообщения с кнопками:
opts = {"keyboard": [[{"text": "Налево"}, {"text": "Направо"}]]}
r = tg_send_message(platform_id, "Налево пойдешь - коня потеряешь, направо пойдешь - себя потеряешь, прямо пойдешь - счастье найдешь", None, opts, None, 0)
Важно помнить, что reply_markup забирает формат json, а калькулятор распознает только линейную запись текста (без Enter), по этому следите чтобы не было переносов строки
Для более подробного изучения возможностей работы с кнопками при отправке сообщений читайте документацию Телеграм https://tlgrm.ru/docs/bots/api#keyboardbutton

Как переслать сообщение:

tg_forward_message(platform_id, from_chat_id, message_id)
где platform_id — куда пересылать сообщение, from_chat_id — значение #{platform_id}, откуда пересылать сообщение, message_id —id пересылаемого сообщения

Как создать ссылку на вступление в чат:

tg_create_chat_invite_link(platform_id, member_limit=None, hours=None)
где platform_id — id клиента в мессенджере, member_limit - лимит на количество участников, hours - количество часов, которое будет действовать ссылка

Как удалить ссылку на вступление в чат

tg_revoke_chat_invite_link(platform_id, invite_link)
где platform_id — id клиента в мессенджере, invite_link - ссылка, которую надо удалить

Как заблокировать пользователя

tg_ban_chat_member(platform_id, user_id, hours=99999, revoke_messages=True)
где platform_id — id клиента в мессенджере, user_id - id пользователя для блокировки, hours - на сколько часов блокировка, drevoke_messages — необязательный параметр, означает, удалять все сообщения пользователя или нет

Как разблокировать пользователя

tg_unban_chat_member(platform_id, user_id, only_if_banned=True)
где platform_id — id клиента в мессенджере, user_id - id пользователя для блокировки

Как редактировать сообщения

Редактирование текста в сообщении:
tg_edit_message_text(platform_id, message_id, text, reply_markup, parse_mode)
Параметры parse_mode, reply_markup (редактировать можно только инлайн клавиатуру)
Редактирование описания: tg_edit_message_caption(platform_id, message_id, caption, reply_markup)
Параметр reply_markup необязательный. Редактировать можно только инлайн клавиатуру
Редактирование сообщения с медиа: tg_edit_message_media(platform_id, message_id, media, reply_markup)
Параметр reply_markup необязательный (редактировать можно только инлайн клавиатуру)

Как удалить сообщение

tg_delete_message(platform_id, message_id)
где где platform_id — id клиента в мессенджере, message_id — id клиента в мессенджере

Как установить parse_mode

parse_mode выделяет весь текст/его часть курсивом или жирным шрифтом. Может иметь значения html или markdown.
Если выбираете html:
для жирного шрифта используете "<b>caption</b>"
для курсива "<i>caption</i>"
Для Markdown:
для жирного шрифта используете "*caption*"
для курсива "_caption_"
Пример:

Как отправить файлы внутри Telegram

В методах send_document, send_voice, send_animation, send_video, send_photo можно не вставлять ссылки на внешние ресурсы, а пользоваться файлами в Telegram.
Например, нам нужно отправить голосовое сообщение. Для этого мы воспользуемся ботом https://t.me/mp3toolsbot. Отправляем ему нужный файл, который нужно сконвертировать в OGG формат. Далее нажимаем Voice Converter, а потом Save.
На выходе получаем:
Далее мы пересылаем это сообщение своему боту, а оттуда пересылаем в https://t.me/RawDataBot. Нам приходит ответ, где нужно скопировать последнее значение file_id
Его мы вставляем сюда:
И получаем
Если вы будете пересылать файл напрямую из бота mp3 Tools в Telegram bot Raw, то будет ошибка:
Поэтому сначала необходимо отправить в своего бота, а из него —Telegram bot Raw,
Если нужно отправить видео, фото, документ, то отправляете нужный файл своему боту и оттуда пересылаете в Telegram bot Raw. Далее копируете file_id и т.д., как описано выше.

API ВКонтакте

Работает только на тарифе "Премиум"

Как отправить сообщения

vk_send_message(platform_id, message, keyboard, reply_to, forward_messages, sticker_id, dont_parse_links)
где platform_id — id клиента в мессенджере, message — текст сообщения, keyboard — кнопки в сообщении (необязательный параметр), reply_to — id сообщения для ответа/цитаты (необязательный параметр), forward_messages — id пересылаемых сообщений (перечисляются в виде "{#айдипервогосообщения}, #{второго}, #{итакдалее}", sticker_id — id стикера (необязательный параметр), dont_parse_links — создавать сниппет или нет, может принимать значение 1 — создавать, 0 — нет (необязательный параметр)

Как удалить последнее сообщение в беседе

vk_delete_last_message()
в скобках ничего не указывается. Произойдёт удаление последнего сообщения в беседе. На личные сообщения не распространяется

Как отправить стикер

vk_send_sticker(platform_id, sticker_id)
где platform_id — id клиента в мессенджере, sticker_id — id стикера.
Как узнать id стикера? Тот, кто подключал бота ВК, отправляет в бота нужный стикер. Его id при этом записывается в переменную. Значение переменной копируете из раздела Клиенты (см скрин:)
Результат

Как получить имя пользователя

vk_get_name(platform_id, full)
где full может принимать значение True (вы получите имя и фамилию) и False (получите только имя)
Если вы собираетесь использовать vk_get_name в беседе сообщества, вместо platform_id нужно указать from_id
Чтобы иметь возможность отвечать под комментариями, нужно вручную добавить токен.
Для этого заходите в вашу группу ВК, открываете Управление / Работа с API.

Как отправить комментарий к записи:

Чтобы иметь возможность отвечать под комментариями, нужно вручную добавить токен.
Для этого заходите в вашу группу ВК, открываете Управление / Работа с API.
Нажимаете "Создать ключ" и копируете его.
Дальше переходите в Salebot, раздел Мессенджеры и чаты, в подключении ВК выбираете "Показать токены". Сюда вставляете скопированный токен и жмете "Добавить".
Токен для создания комментариев не добавляется к общему списку токенов, а остаётся в строке, куда вы его вставили

Как оставить комментарий к записи:

Для оставления комментария используйте в поле "Калькулятор" следующий метод: vk_create_comment(post_id, message, reply_to_comment, sticker_id)
где post_id — id комментируемого поста, message — текст комментария, reply_to_comment — id комментария, на который отвечаем (необязательный параметр), sticker_id — id стикера (необязательный параметр)

Как сохранить текст комментария:

Для сохранения текста комментария используйте в поле "Калькулятор" следующий метод:
comment_text()
Пример:

Как проверить подписку на сообщество

Для проверки подписки используйте в поле "Калькулятор" следующий метод:
check_vk_subscription()
В ответ возвращается значение True, если подписан, и False, если не подписан.
В поле "Калькулятор" пишем result = check_vk_subscription()
Вместо result вы можете использовать свое название переменной. Дальше сравниваем значение нашей переменной: в одну стрелку пишем в поле "Переменная для сравнения" result == True , а в другую result == False
Если вам не нужно разделять пользователей по разным цепочкам в боте, можно сделать проверку и выдачу ответа одним блоком с помощью оператора if. Пример:
result = check_vk_subscription()
otvet = if (result == True, "Подписка есть", if (result == False, "подписки нет", "Не могу проверить, сорян"))

API AmoCRM

Если отсутствует необходимый метод, свяжитесь со службой поддержки.

Как получить токен

amo_token = amo_get_token()

Как добавить новую сделку

Для добавления новой сделки можно воспользоваться методом amo_add_lead(lead_data, идентификатор контакта) идентификатор контакта - необязательный параметр, автоматически берется из переменной amo_client_id.
lead_data - словарь с набором данных для нового лида. Параметр lead_data имеет вид словаря в одинарных кавычках, ключи и значения в двойных. Максимальный набор параметров:
amo_add_lead('{"name": "Новый ЛИД", "budget": бюджет, "responsible_id": идентификатор ответственного}')
Идентификатор ответственного - по умолчанию берется первый созданный сотрудник
Минимальный набор параметров: amo_add_lead('{"name": "Новый ЛИД"}')

Как переименовать сделку

Чтоб переименовать сделку клиента, достаточно вызвать функцию amo_set_lead_name(Новое название, идентификатор сделки) идентификатор сделки - необязательный параметр, автоматически берется из переменной amo_lead_id
Пример: amo_set_lead_name("Новое название")

Как переместить сделку по воронке

amo_change_state(status_id, lead_id=None, pipeline_id=None)
Параметры:
status_id — id этапа воронки, на который надо перенести бота,
lead_id — id сделки, которую необходимо передвинуть(необязательный параметр, по умолчанию берется из переменной amo_lead_id)
pipeline_id — ID воронки, если сделка находится в другой воронке амо (необязательный параметр)
Если номер сделки подтягивается из стандартной переменной amo_lead_id, тогда его можно не передавать: amo_change_state(status_id, "", pipeline_id)
Ид состояния необходимо взять из исходников страницы AmoCRM:

Как получить информацию по сделке

amo_get_lead_info(lead_id=None)
где lead_id — id сделки (необязательный параметр, по умолчанию берется из переменной amo_lead_id).

Получить значение кастомного поля сделки

amo_get_lead_custom_field(var_id, lead_id=None)
где lead_id — id сделки (необязательный параметр, по умолчанию берется из переменной amo_lead_id). var_id — номер кастомного поля или его название, из которого нужно получить значение
Узнать номер кастомного поля можно, открыв ссылку в браузере: вашдомен.amocrm.ru/api/v4/leads/custom_fields

Как отправить кастомные поля сделке

Передача одного значения в кастомное поле:
amo_add_lead_custom_fields("идентификатор поля", "Значение")
Также третьим параметром можно передать вручную идентификатор сделки, в ином случае он автоматически подтягивается из переменной: amo_lead_id
amo_add_lead_custom_fields("идентификатор поля", "Значение", "идентификатор сделки")
Передача нескольких значений одновременно:
amo_add_lead_custom_fields('{"идентификатор поля": "Значение", "идентификатор поля2": "Значение2", "идентификатор поля3": "Значение3"}')
Пример: amo_add_lead_custom_fields('{"582601": "222333333", "588091": "red"}')
Также третьим параметром можно передать вручную идентификатор сделки, в ином случае он автоматически подтягивается из переменной: amo_lead_id. При этом вторым нужно передать две одинарные кавычки!
amo_add_lead_custom_fields('{"идентификатор поля": "Значение", "идентификатор поля2": "Значение2", "идентификатор поля3": "Значение3"}', '', "идентификатор сделки")

Как получить информацию о клиенте

amo_get_contact_info(contact_id=None)
где amo_contact_id — id сделки, информацию о которой необходимо получить(необязательный параметр, по умолчанию берется из переменной amo_contact_id).

Как получить значение кастомного поля клиента

amo_get_contact_custom_field(var_id, contact_id=None)
где amo_contact_id — id контакта, информацию о котором необходимо получить(необязательный параметр, по умолчанию берется из переменной amo_contact_id). var_id — номер кастомного поля или его название, из которого нужно получить значение
Узнать номер кастомного поля можно, открыв ссылку в браузере: вашдомен.amocrm.ru/api/v4/contacts/custom_fields

Как отправить кастомное поле контакту

Передача одного значения в кастомное поле:

amo_add_contact_custom_fields("идентификатор поля", "Значение")
Также третьим параметром можно передать вручную идентификатор сделки, в ином случае он автоматически подтягивается из переменной клиента: amo_client_id
amo_add_contact_custom_fields("идентификатор поля", "Значение", "идентификатор сделки")

Передача нескольких значений одновременно:

amo_add_contact_custom_fields('{"идентификатор поля": "Значение", "идентификатор поля2": "Значение2", "идентификатор поля3": "Значение3"}')
Пример: amo_add_contact_custom_fields('{"582601": "222333333", "588091": "red"}')
Также третьим параметром можно передать вручную идентификатор контакта, в ином случае он автоматически подтягивается из переменной клиента: amo_client_id. При этом вторым нужно передать две одинарные кавычки!
amo_add_contact_custom_fields('{"идентификатор поля": "Значение", "идентификатор поля2": "Значение2", "идентификатор поля3": "Значение3"}', '', "идентификатор сделки")

Как создать задачу

amo_create_task(title, assigned_id, minutes_deadline, task_type_id, lead_id=None)
где lead_id — id сделки, для которой необходимо поставить задачу(необязательный параметр, по умолчанию берется из переменной amo_lead_id). deadline — время в минутах до завершения задачи, assigned_user_id — id ответственного, task_type_id — id типа задачи, title — текст задач
Чтобы получить id типа задачи необходимо в браузере открыть ссылку: вашдомен.amocrm.ru/api/v4/tasks

Как установить теги

amo_set_tags(tags, lead_id=None)
где lead_id — id сделки, для которой устанавливаются теги(необязательный параметр, по умолчанию берется из переменной amo_lead_id). tags — список тегов, перечисленных через запятую.

Как установить бюджет

amo_set_budget(budget, lead_id=None)
где lead_id — id сделки, для которой устанавливается бюджет(необязательный параметр, по умолчанию берется из переменной amo_lead_id). budget сумма сделки

Как вставить примечания

amo_add_notes(text, lead_id=None)
где lead_id — id сделки, для которой устанавливается бюджет(необязательный параметр, по умолчанию берется из переменной amo_lead_id). text текст примечания

Как изменить имя, фамилию контакта

amo_set_contact_name('Имя', 'Фамилия')
Обязателен первый параметр!
Пример: amo_set_contact_name('Жульен', 'Агутин')
Также третьим параметром можно передать вручную идентификатор контакта, в ином случае он автоматически подтягивается из переменной клиента: amo_client_id. При этом, если не передан второй параметр (фамилия), то вместо него нужно передать две одинарные кавычки!
Пример: amo_set_contact_name('Жульен', '', '1234567')

Как задать контакту номер телефона и e-mail

Чтобы задать клиенту в AmoCRM номер телефона и е-мейл необходимо в поле «Калькулятор» задать переменные:
client.phone = Телефон
client.email = Емейл
Данные из этих переменных передадутся в желтых и красных блоках в CRM

Как задать ответственного сотрудника для сделки

amo_set_lead_responsible_user( responsible_user_id, lead_id=None)
где responsible_user_id – идентификатор назначенного пользователя
Пример: amo_set_lead_responsible_user(5912572)
Где найти идентификатор ответственного (код страницы)

Как найти идентификатор поля

Идентификатор поля можно найти в коде страницы, нажав правой кнопкой мыши на названии нужного поля:

API Битрикс24

Как добавить комментарий

Сделка

bitrix_add_deal_comment(text, bitrix_deal_id)
где text - текст комментария bitrix_deal_id - необязательный параметр, идентификатор сделки, если не передан автоматически будет взят из переменной bitrix_deal_id

Контакт

bitrix_add_contact_comment(text, bitrix_contact_id) text - текст комментария bitrix_contact_id - необязательный параметр, идентификатор контакта, если не передан автоматически будет взят из переменной bitrix_contact_id

Лид

bitrix_add_lead_comment(text, bitrix_lead_id) text - текст комментария bitrix_lead_id - необязательный параметр, идентификатор лида, если не передан автоматически будет взят из переменной bitrix_lead_id

Как изменить ответственного

Сделка

bitrix_deal_responsible(assigned_by_id, bitrix_lead_id) assigned_by_id - идентификатор пользователя в битрикс bitrix_deal_id - необязательный параметр, идентификатор сделки, если не передан автоматически будет взят из переменной bitrix_deal_id

Контакт

bitrix_contact_responsible(assigned_by_id, bitrix_lead_id) assigned_by_id - идентификатор пользователя в битрикс bitrix_contact_id - необязательный параметр, идентификатор контакта, если не передан автоматически будет взят из переменной bitrix_contact_id

Лид

bitrix_lead_responsible(assigned_by_id, bitrix_lead_id) assigned_by_id - идентификатор пользователя в битрикс bitrix_lead_id - необязательный параметр, идентификатор лида, если не передан автоматически будет взят из переменной bitrix_lead_id

Как изменить поля

Сделка

bitrix_deal_fields(fields, bitrix_deal_id) fields - словарь с именами полей и значениями, описание ниже (ссылка на имена полей ниже) bitrix_deal_id - необязательный параметр, идентификатор сделки, если не передан автоматически будет взят из переменной bitrix_deal_id

Контакт

bitrix_contact_fields(fields, bitrix_deal_id) fields - словарь с именами полей и значениями, описание ниже (ссылка на имена полей ниже) bitrix_contact_id - необязательный параметр, идентификатор контакта, если не передан автоматически будет взят из переменной bitrix_contact_id

Лид

bitrix_lead_fields(fields, bitrix_deal_id) fields - словарь с именами полей и значениями, описание ниже (ссылка на имена полей ниже) bitrix_lead_id - необязательный параметр, идентификатор лида, если не передан автоматически будет взят из переменной bitrix_lead_id
Параметр fields имеет вид словаря в одинарных кавычках, ключи и значения в двойных: '{"Название поля": "значение", "Название поля2": "значение2"}'
Для примера изменим поля в сделке:
bitrix_lead_fields('{"ADDITIONAL_INFO": "Дополнительная информация", "UTM_CONTENT": "Содержание кампании"}')

Как осуществить поиск

Сделка

bitrix_deal_search(search_filter, select_fields, order)

Контакт

bitrix_contact_search(search_filter, select_fields, order)

Лид

bitrix_lead_search(search_filter, select_fields, order)

Товар

bitrix_product_search(search_filter, select_fields, order)
Во всех этих функциях:
search_filter - словарь с именами полей и значениями для фильтрации (ссылки на имена полей ниже)
Пример: '{">OPPORTUNITY": 0, "STAGE_ID": "NEW"}' - OPPORTUNITY больше 0 и STAGE_ID равен NEW Если нужно отрицание, то добавить вначале поля восклицательный знак. Пример: "!STAGE_ID": "NEW" - НЕ равен NEW
select_fields - массив имен полей, которые необходимо получить в результате (необязательный параметр) Пример: '["ID", "TITLE"]'
order - (необязательный параметр) параметры сортировки.
В результате работы функция возвращает словарь с двумя параметрами: {'result': [], 'total': 0} result - массив найденных значений total - сколько найдено всего
Пример: result = bitrix_deal_search('{"STAGE_ID": "NEW"}', '["ID", "TITLE", "UF_CRM_1637142365873"]') условие для фильтра это сделки на стадии NEW и вернуть для найденых сделок идентификатор, заголовок и пользовательское поле (как узнать идентификатор пользовательского поля читайте https://docs.salebot.pro/integracii/crm/integraciya-s-bitriks-24#kak-uznat-id-polzovatelskogo-polya )
В результате, если такие сделки найдены придет следующий ответ: {'result': [{'ID': '5', 'UF_CRM_1637142365873': 'значение поля'}, {'ID': '7', 'UF_CRM_1637142365873': None}], 'total': 2}

Как найти имена полей для сущностей

Ссылки на доступные стандартные поля можно найти по ссылке: https://docs.salebot.pro/integracii/crm/integraciya-s-bitriks-24#zapolnenie-polei-sdelok-i-lidov

API Google-таблиц

Каждая функция принимает первым параметром sheet_id идентификатор таблицы. Вы можете получить его из ссылки на вашу гугл таблицу (то что выделено жирным в ссылке ниже). https://docs.google.com/spreadsheets/d/1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYlc4/edit#gid=0
Для удобства идентификатор таблицы лучше записать в переменную и передавать ее в функции
Все функции, описанные ниже возвращают словарь с результатом работы. Он обязательно включает status, который в зависимости от результата либо true при успехе, либо false, при ошибке.
Если статус true, то могут присутствовать и другие параметры, которые можно получить воспользовавшись функцией get()
Если статус false, то присутствует параметр err, в котором описание ошибки.
Если вы планируете работу не с первым листом таблицы, то можно передать дополнительный параметр worksheet_name_or_id_or_index. Каждая из функций принимает этот параметр, который соответствует либо названию листа, либо его идентификатору.
Словарь - некоторые функции принимают параметром словарь с набором определенных данных. Есть ряд правил, которые нужно соблюдать.
  • весь словарь заключается в одинарные кавычки '{}'
  • ключи и значения (текст или переменная) в словаре заключаются в двойные кавычки '{"key": "value", "key2": "#{email}"}'

Как добавить новый лист в гугл таблицу

Осуществляется с помощью функции:
sheet_create_worksheet(sheet_id, list_name, cols=None, rows=None)
Функция возвращает словарь с идентификатором нового листа и статусом True ({"status":true,"list_id":1063146761}) или описание ошибки, если статус False ({"status":false,"err":"Ошибка или описание"})
Пример:
result = sheet_create_worksheet('12sSVR3Wk-1kNb9CsjyJ2gjLb_PiRl5DhbF4YcD1VzTl', "New list")
status = get(result, 'status')

Как осуществить построчную запись в определенные столбцы

Вы можете собрать множество данных от пользователя и записать их в первую свободную в таблице строку.
В таблице должна быть заполнена шапка (хотя бы одна ячейка в первой строке)
Осуществляется с помощью функции:
sheet_mapping_cells(sheet_id, cell_data, worksheet_name_or_id_or_index=None)
sheet_id - это идентификатор вашей гугл таблицы.
cell_data - словарь с параметрами. '{"A": "value", "D": "#{email}"}' - где ключ это буква колонки
worksheet_name_or_id_or_index - необязательный параметр, название листа, порядковый номер или идентификатор листа
Если проблем при выполнении запроса не возникло, то в ответ приходит словарь {"status":true,"number_row":14}, можно сохранить номер строки number_row и использовать для дальнейшей работы.
Пример:
result = sheet_mapping_cells('12sSVR3Wk-1kNb9CsjyJ2gjLb_PiRl5DhbF4YcD1VzT', '{"a":"aaaaa", "B": "#{email}"}')
status = get(result, 'status')
number_row = get(result, 'number_row')

Как осуществить запись данных в определенные ячейки

Осуществляется с помощью функции:
sheet_write_cells(sheet_id, cell_data, worksheet_name_or_id_or_index=None)
sheet_id - это идентификатор вашей гугл таблицы.
cell_data - словарь с параметрами. '{"A1": "value", "D4": "#{email}"}' - где ключ это буква колонки и номер строки
worksheet_name_or_id_or_index - необязательный параметр, название листа, порядковый номер (начиная с 1) или идентификатор листа
Пример cell_data:
'{"a1":"#{переменная}", "b3": "#{переменная}", "c1": "12545", "d20":"просто текст"}'
Запись осуществляется в конкретные ячейки, которые вы укажете (в нашем примере a1, b3, c1, d20)
Если проблем при выполнении запроса не возникло, то в ответ приходит словарь {"status":true} или описание ошибки {"status":false,"err":"Ошибка или описание"}
Пример sheet_write_cells:
C указанием идентификатора листа 123456789:
result = sheet_write_cells('12sSVR3Wk-1kNb9CsjyJ2gjLb_PiRl5DhbF4YcD1VzTl', '{"a1":"a3", "b3": "#{email}"', '123456789')
result = sheet_write_cells('12sSVR3Wk-1kNb9CsjyJ2gjLb_PiRl5DhbF4YcD1VzTl', '{"a1":"a3", "b3": "#{email}"}')
status = get(result, 'status')

Как удалить запись из конкретных ячеек

Осуществляется с помощью функции:
sheet_remove_cells(sheet_id, cell_list, worksheet_name_or_id_or_index=None)
sheet_id - это идентификатор вашей гугл таблицы.
cell_list - массив ячеек. Пример: '["A1", "D4"]' - где буква колонки и номер строки
worksheet_name_or_id_or_index - необязательный параметр, название листа, порядковый номер (начиная с 1) или идентификатор листа
Если проблем при выполнении запроса не возникло, то в ответ приходит словарь {"status":true} или описание ошибки {"status":false,"err":"Ошибка или описание"}
Пример:
C указанием идентификатора листа 123456789:
result = sheet_remove_cells('12sSVR3Wk-1kNb9CsjyJ2gjLb_PiRl5DhbF4YcD1VzT', '["a1", "b3", "c2"]', '123456789')
result = sheet_remove_cells('12sSVR3Wk-1kNb9CsjyJ2gjLb_PiRl5DhbF4YcD1VzT', '["a1", "b3", "c2"]')
status = get(result, 'status')
Удалит значения из конкретных ячеек, которые вы укажете (в нашем примере a1, b3, c2)
Нумерация колонок начинается с единицы.

Как осуществить запись в первую пустую ячейку строки

Вы можете записать данные в указанную строку, запись произойдет в пустую ячейку, справа от последней заполненной ячейки. Осуществляется с помощью функции:
sheet_append_cell_in_row(sheet_id, row, value, worksheet_name_or_index=None)
sheet_id - это идентификатор вашей гугл таблицы.
row - номер строки, в которую производится запись
value - значение, которое запишется в ячейку
worksheet_name_or_id_or_index - необязательный параметр, название листа, порядковый номер (начиная с 1) или идентификатор листа
Если проблем при выполнении запроса не возникло, то в ответ приходит {"status":true, "number_col":10,"col_name":"J3"}. Вы можете сохранить эти номера и использовать для дальнейшей работы.
В случае ошибки придет словарь со статусом false и описанием ошибки {"status":false,"err":"Error value"}
Пример:
Запись в пустую ячейку первой строки.
result = sheet_append_cell_in_row('12sSVR3Wk-1kNb9CsjyJ2gjLb_PiRl5DhbF4YcD1VzT', 1, "Значение")

Как читать данные из таблицы

Осуществляется с помощью функции:
sheet_read_cells(sheet_id, cell_data, worksheet_name_or_id_or_index=None)
sheet_id - это идентификатор вашей гугл таблицы.
cell_data - словарь с диапазонами.
worksheet_name_or_id_or_index - необязательный параметр, название листа, порядковый номер (начиная с 1) или идентификатор листа
Пример cell_data: '{"a1":"a1", "a3": "b4", "c1": "c3"}'
В примере "a1":"a1" возвращает значение одной ячейки, а "c1":"c3" - 3 значения из колонки C.
Если проблем при выполнении запроса не возникло, то в ответ приходит словарь содержащий статус и все ячейки со значениями {"status":true,"A1":"значение","A3":"значение","B3":"значение","A4":"значение", "B4":"значение", "C1":"","C2":"значение","C3":"ddddddd"} или описание ошибки {"status":false,"err":"Ошибка или описание"}
Пример:
C указанием идентификатора листа 123456789:
result = sheet_read_cells('12sSVR3Wk-1kNb9CsjyJ2gjLb_PiRl5DhbF4YcD1VzTl', '{"a1":"a1", "a3": "b4", "c1": "c3"}', '123456789')
result = sheet_read_cells('12sSVR3Wk-1kNb9CsjyJ2gjLb_PiRl5DhbF4YcD1VzTl', '{"a1":"a1", "a3": "b4", "c1": "c3"}')
status = get(result, 'status')

Как работать через свой аккаунт

По умолчанию конструктор работает с собственными сервисными аккаунтами для доступа к вашим таблицам. Поэтому вам необходимо выдавать доступ на редактирование по ссылке.
Чтобы обеспечить достаточный уровень безопасности, вы можете использовать личные ключи с аутентификационными данными.
У гугл таблиц есть лимиты на количество запросов в единицу времени. Чтобы не зависеть от лимитов, вы можете использовать свой аккаунт.
Для этого в настройках проект в “Константы проекта”, нужно добавить переменную sheet_json_keys с массивом ваших ключей.
Он может содержать как ключи json из файла, так и url адреса на файл ключа.
Ключ json из файла - получаем файл с ключом (как его получить - читайте ниже), открываем любым текстовым редактором и копируем содержимое и добавляем в массив.
Url адреса на файл ключа - самый простой путь получения такого url - загрузить файл с данными в конструктор. Для этого нужно создать блок не состояние, во вложения - загрузить файл с сервисными данными (как его получить - читайте ниже). После этого нужно кликнуть правой кнопкой по названию файла и выбрать пункт Копировать адрес ссылки.
Четыре примера переменной sheet_json_keys:
  1. 1.
    ["url адрес на файл ключа", "url адрес на файл ключа 2"]
2. ["url адрес на файл ключа", "url адрес на файл ключа 2", {json ключ из файла}, {json ключ из файла}]
3. [{json ключ из файла}]
(ключ на скриншоте укорочен, реальный ключ на порядок больше)
4. ["url адрес на файл ключа"]
ТУТ подробная информация о получении ключа

Как удалить диапазон ячеек

Осуществляется с помощью функции:
sheet_remove_range(sheet_id, del_range, worksheet_name_or_id_or_index=None)
sheet_id - это идентификатор вашей гугл таблицы.
del_range - в виде "A1:B2" - диапазон ячеек которые нужно стереть
worksheet_name_or_id_or_index - необязательный параметр, название листа, порядковый номер (начиная с 1) или идентификатор листа
Если проблем при выполнении запроса не возникло, то в ответ приходит словарь {"status":true} или описание ошибки {"status":false,"err":"Ошибка или описание"}
Пример:
удалить ячейки A1, B1, A2, B2 с первого листа
result = sheet_remove_range('12sSVR3Wk-1kNb9CsjyJ2gjLb_PiRl5DhbF4YcD1VzT', 'A1:B2')

Как полностью удалить строку, со смещением

Осуществляется с помощью функции:
sheet_remove_row(sheet_id, row_number, worksheet_name_or_id_or_index=None)
sheet_id - это идентификатор вашей гугл таблицы.
row_number - номер строки, который нужно стереть (нумерация с 1)
worksheet_name_or_id_or_index - необязательный параметр, название листа, порядковый номер (начиная с 1) или идентификатор листа
Если проблем при выполнении запроса не возникло, то в ответ приходит словарь {"status":true} или описание ошибки {"status":false,"err":"Ошибка или описание"}
Пример:
удалить строку номер 14 с первого листа
result = sheet_remove_row('12sSVR3Wk-1kNb9CsjyJ2gjLb_PiRl5DhbF4YcD1VzT', '14')

Как полностью удалить колонку, со смещением

Осуществляется с помощью функции:
sheet_remove_col(sheet_id, col_number, worksheet_name_or_id_or_index=None)
sheet_id - это идентификатор вашей гугл таблицы.
col_number- номер столбца, который нужно стереть (нумерация с 1)
worksheet_name_or_id_or_index - необязательный параметр, название листа, порядковый номер (начиная с 1) или идентификатор листа
Если проблем при выполнении запроса не возникло, то в ответ приходит словарь {"status":true} или описание ошибки {"status":false,"err":"Ошибка или описание"}
Пример:
удалить 6-ой столбец с первого листа
result = sheet_remove_col('12sSVR3Wk-1kNb9CsjyJ2gjLb_PiRl5DhbF4YcD1VzT', '6')

Как осуществлять поиск текста в таблице

Для каждого из вариантов поиска доступно четыре режима поиска algorithm:
  1. 1.
    полное совпадение - F
  2. 2.
    по ключевым словам - K (латиница)
  3. 3.
    расстояние Левенштейна - 80 (значение от 1 до 100 уровень “похожести”)
  4. 4.
    используя регулярное выражение - R
Чтобы выбрать какой-то из режимов нужно передать значение в соответствующее поле метода (подробный пример в функции sheet_search_in_col_return_cell).

Как осуществлять поиск по колонке и выводить текст из указанной колонки в той же строке

Поиск по колонке вернет первое найденное значение.
Поиск по колонке осуществляется с помощью функции:
sheet_search_in_col_return_cell(sheet_id, query, col_number, return_col, algorithm, worksheet_name_or_index=None)
sheet_id - это идентификатор вашей гугл таблицы.
query - поисковый запрос, то что нужно найти
col_number - номер колонки, в которой искать (нумерация с 1)
return_col - номер колонки из которой вернуть значение
algorithm - алгоритм поиска (F - полное совпадение, K - наличие ключевых слов, R - регулярное выражение, 1-100 - процент похожести (подробнее выше))
worksheet_name_or_id_or_index - необязательный параметр, название листа или идентификатор листа
Пример использования
Рассмотрим все алгоритмы поиска на примере этой функции.
Условие: ищем в листе с названием Лист1, в колонке 2 ячейку с фразой "поисковый запрос", если такая будет найдена, то вернется значение в этой строке из колонки 5 1. Полное совпадение - F
sheet_search_in_col_return_cell("#{sheet_id}", "поисковый запрос", 2, 5, "F", "Лист1")
Если же поиск в первом листе, то достаточный набор параметров:
sheet_search_in_col_return_cell("#{sheet_id}", "поисковый запрос", 2, 5)
Таблица для поиска
Поиск фразы “Привет мир” в 1 листе во 2 колонке (колонка B). Запрашиваем содержимое ячейки этой же строки в 5 колонке (колонка E):
Результат поиска - ячейка B9
2. По ключевым словам - K (латиница)
Условия те же, что в первом примере.
sheet_search_in_col_return_cell("#{sheet_id}", "поисковый запрос", 2, 5, "K", "Лист1")
Например, если в столбце есть ячейка с текстом: “Передан поисковый запрос в службу”, то будет найдена эта ячейка, так как поисковый запрос входит в фразу: “Передан поисковый запрос в службу”
Поиск ключевого слова “сосед” в 1 листе в 1 колонке (колонка А). Запрашиваем содержимое ячейки этой же строки во 2 колонке (колонка B):
Результат поиска - ячейка А9
3. Расстояние Левенштейна
Условия те же, что в первом примере.
sheet_search_in_col_return_cell("#{sheet_id}", "поисковый запрос", 2, 5, "80", "Лист1")
В примере передали значение 80 - это минимальный порог похожести, регистр не учитывается (значение может быть от 1 до полного совпадения 100). Возвращает наилучшее совпадение.
Поиск фразы “Привет мир” (мы записали с ошибками “превет мор”) в 1 листе во 2 колонке (колонка B). Запрашиваем содержимое ячейки этой же строки в 5 колонке (колонка E)
4. Используя регулярное выражение - R
Условие: ищем в листе с названием Лист1, в колонке 1 ячейку по регулярному выражению "^\d\d\dquot; (значение в ячейке состоит из 3 цифр), если такая будет найдена, то вернется значение в этой строке из колонки 5
sheet_search_in_col_return_cell("#{sheet_id}", "^\d\d\dquot;, 1, 5, "R", "Лист1")
Обратите внимание, что само регулярное выражение передается вторым параметров, вместо фразы для поиска.
Если проблем при выполнении запроса не возникло, то в ответ приходит словарь содержащий статус и результат поиска:
status - результат поиска
find - значение из выбранное колонки
row - номер строки
col - номер столбца
cell - полное имя ячейки
Если возникла ошибка, то вернется статус false и описание ошибки {"status":false,"err":"Ошибка или описание"}

Как осуществлять поиск по колонке и вывод текста из всей строки

Осуществляется с помощью функции:
sheet_search_in_col_return_row(sheet_id, query, col_number, algorithm, worksheet_name_or_index=None)
sheet_id - это идентификатор вашей гугл таблицы.
query - поисковый запрос, то что нужно найти
col_number - номер колонки, в которой искать (нумерация с 1)
algorithm - алгоритм поиска (F - полное совпадение, K - наличие ключевых слов, R - регулярное выражение, 1-100 - процент похожести (подробнее выше))
worksheet_name_or_id_or_index - необязательный параметр, название листа или идентификатор листа
Вернет строку первого найденного значения
Пример:
result = sheet_search_in_col_return_row("#{sheet_id}", "222", '1', 'F')
поиск строки 222 в колонке 1 и возврат всей строки.
Если проблем при выполнении запроса не возникло, то в ответ приходит словарь содержащий статус и все ячейки со значениями
status - результат поиска
row_data - словарь с данными строки
row - номер строки
col - номер столбца
cell - полное имя ячейки
Если возникла ошибка, то вернется статус false и описание ошибки {"status":false,"err":"Ошибка или описание"}

Как осуществлять поиск по колонке и вывод всех значений

Для нахождения всех заданных значений в колонке используйте функцию
sheet_search_in_col_return_cells_list(sheet_id, query, col_number, return_col, algorithm, worksheet_name_or_index=None)
sheet_id - это идентификатор вашей гугл таблицы.
query - поисковый запрос, то что нужно найти
col_number - номер колонки, в которой искать (нумерация с 1)
algorithm - алгоритм поиска (F - полное совпадение, K - наличие ключевых слов, R - регулярное выражение, 1-100 - процент похожести (подробнее выше))
worksheet_name_or_id_or_index - необязательный параметр, название листа или идентификатор листа
Пример:
result = sheet_search_in_col_return_cells_list("#{sheet_id}", "ффф", '1', '2', "F")
Если проблем при выполнении запроса не возникло, то в ответ приходит словарь содержащий статус и все ячейки со значениями
status - результат поиска
rows_index - массив с номерами найденных строк
quantity - количество найденных строк
list - строка со всеми значениями из выбранного столбца
Если возникла ошибка, то вернется статус false и описание ошибки {"status":false,"err":"Ошибка или описание"}

Как осуществлять поиск по нескольким колонкам и вывод всех значений

Если возникла необходимость искать по нескольким колонкам сразу и получить список значений из колонки в строках, в которых будут найдены все значения, то нужно использовать следующую функцию
sheet_search_in_multiple_cols_return_list(sheet_id, columns, return_col, with_index, delimiter, algorithm, worksheet_name_or_index=None)
sheet_id - это идентификатор вашей гугл таблицы.
columns - поисковый запрос, то что нужно найти
return_col - номер колонки, в которой искать (нумерация с 1)
with_index - индекс или номер в списке найденных значений (0 - нумерация (1,2,3,…); 1 - индекс строки; "" - список значений с новой строки без индексов и нумерации)
delimiter - разделитель между индексом и значением
algorithm - алгоритм поиска (F - полное совпадение, K - наличие ключевых слов, R - регулярное выражение, 1-100 - процент похожести (подробнее выше))
worksheet_name_or_id_or_index - необязательный параметр, название листа или идентификатор листа
Пример:
result = sheet_search_in_multiple_cols_return_list("#{sheet_id}", '{"1":"ффф", "4": "ффф"}', '2', '1', ' - ', "F")
status = get(result, 'status')
Результат
Если проблем при выполнении запроса не возникло, то в ответ приходит словарь содержащий статус и все ячейки со значениями
{"status":true,"rows_index":[11,22,15],"quantity":3,"list":"11 - 111\n15 - 222\n22 - 111\n"}
status - результат поиска
rows_index - массив с номерами найденных строк
quantity - количество найденных строк
list - строка со всеми значениями из выбранного столбца
Если возникла ошибка, то вернется статус false и описание ошибки {"status":false,"err":"Ошибка или описание"}

Как осуществлять поиск по нескольким колонкам и вывод текста из всей строки

Если возникла необходимость искать по нескольким колонкам сразу и получить первую найденную строку, то нужно использовать следующую функцию
sheet_search_in_multiple_cols_return_row(sheet_id, columns, algorithm, worksheet_name_or_index=None)
sheet_id - это идентификатор вашей гугл таблицы.
columns - поисковый запрос, то что нужно найти
algorithm - алгоритм поиска (F - полное совпадение, K - наличие ключевых слов, R - регулярное выражение, 1-100 - процент похожести (подробнее выше))
worksheet_name_or_id_or_index - необязательный параметр, название листа или идентификатор листа
Пример
result = sheet_search_in_multiple_cols_return_row("#{sheet_id}", '{"1":"ффф", "4": "ффф"}', "F")
status = get(result, 'status')
Если проблем при выполнении запроса не возникло, то в ответ приходит словарь содержащий статус и все ячейки со значениями
{"status":true,"rows_index":[11,22,15],"quantity":3,"row_data":{"1":"ффф","2":"111","3":"","4":"ффф","5":"sds"},"row":11}
status - результат поиска
rows_index - массив с номерами найденных строк
quantity - количество найденных строк
list - строка со всеми значениями из выбранного столбца
Если возникла ошибка, то вернется статус false и описание ошибки {"status":false,"err":"Ошибка или описание"}
Last modified 8d ago
Copy link
Contents
API Salebot
API Telegram
Как отправить документ
Как отправить голосовое сообщение
Как отправить анимацию
Как отправить видео
Как отправить геоточку
Как отправить контакт
Как отправить стикер
Как отправить круглое видео
Как отправить картинку:
Как отправить несколько картинок:
Как отправить сообщение:
Как переслать сообщение:
Как создать ссылку на вступление в чат:
Как удалить ссылку на вступление в чат
Как заблокировать пользователя
Как разблокировать пользователя
Как редактировать сообщения
Как удалить сообщение
Как установить parse_mode
Как отправить файлы внутри Telegram
API ВКонтакте
Как отправить сообщения
Как удалить последнее сообщение в беседе
Как отправить стикер
Как получить имя пользователя
Как отправить комментарий к записи:
Как оставить комментарий к записи:
Как сохранить текст комментария:
Как проверить подписку на сообщество
API AmoCRM
Как получить токен
Как добавить новую сделку
Как переименовать сделку
Как переместить сделку по воронке
Как получить информацию по сделке
Получить значение кастомного поля сделки
Как отправить кастомные поля сделке
Как получить информацию о клиенте
Как получить значение кастомного поля клиента
Как отправить кастомное поле контакту
Как создать задачу
Как установить теги
Как установить бюджет
Как вставить примечания
Как изменить имя, фамилию контакта
Как задать контакту номер телефона и e-mail
Как задать ответственного сотрудника для сделки
Как найти идентификатор поля
API Битрикс24
Как добавить комментарий
Как изменить ответственного
Как изменить поля
Как осуществить поиск
Как найти имена полей для сущностей
API Google-таблиц
Как добавить новый лист в гугл таблицу
Как осуществить построчную запись в определенные столбцы
Как осуществить запись данных в определенные ячейки
Как удалить запись из конкретных ячеек
Как осуществить запись в первую пустую ячейку строки
Как читать данные из таблицы
Как работать через свой аккаунт
Как удалить диапазон ячеек
Как полностью удалить строку, со смещением
Как полностью удалить колонку, со смещением
Как осуществлять поиск текста в таблице
Как осуществлять поиск по колонке и выводить текст из указанной колонки в той же строке
Как осуществлять поиск по колонке и вывод текста из всей строки
Как осуществлять поиск по колонке и вывод всех значений
Как осуществлять поиск по нескольким колонкам и вывод всех значений
Как осуществлять поиск по нескольким колонкам и вывод текста из всей строки