Google-календарь
Для этого необходимо зарегистрировать свой аккаунт в сервисах Google (https://console.developers.google.com/cloud-resource-manager).
Переходим по ссылке и создаем проект:
Придумываем название для проекта
Нажимаем Create и немного ждем, пока создается аккаунт.
Перезагружаем страницу. Нажимаем “F5”
Проверяем права доступа. Должно быть Полное -”Owner”
Переходим в настройки сервисного аккаунта
Заходим в “Сервисные аккаунты”
и создаём Сервисный аккаунт
Вводим название и почту сервисного аккаунта:
Далее роль owner (Владелец):
Сохраняем и попадаем в список сервисных аккаунтов. Переходим в настройки ключей и создаем новый:
Сразу после создания ключ автоматически загрузится на ваш компьютер. Далее его нужно загрузить на хостинг или в конструктор Salebot и передавать ссылку на него в параметрах запросов, передавая полученный URL в параметре creds_path.
Теперь надо добавить наше API-интеграции. Для этого заходим сюда.

Находим api календаря и включаем его в этом сервисном аккаунте:
На этом создание сервисного аккаунта завершено.
Переходим в проект и загружаем полученный файл в блок, например, вот так:

Нажимаем "Готово" и переходим в тестового бота:

Вводим фразу, которую задали для входа в блок. В примере это 123. В ответ получаем ссылку на файл с ключами:
Блок удалять нельзя, иначе файл удалится с сервера и нужно будет заново добавлять.
Не забываем блок сделать Не состояние (чтоб не мешал):

Эту ссылку можно сохранить в переменную или передавать в параметре creds_path как есть.
Идентификатор существующего календаря можно посмотреть в его настройках
Создать новый календарь можно двумя способами: вручную и через функцию (ниже).
Ручное создание календаря:
Чтобы можно было добавлять записи и редактировать существующий календарь (или созданный вручную), нужно добавить соответствующий доступ сервисному аккаунту. Для этого перейдите в настройки нужного календаря и добавьте email сервисного аккаунта.
Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше)
command - create
name - название календаря
description - описание календаря
recurrence_days - параметр для задания периодичности события.
Например: "SU,MO,TU,WE,TH,FR,SA" - событие активно каждую неделю каждый день. "MO,TU,WE,TH,FR" - событие активно каждую неделю каждый день. кроме субботы и воскресенья.
Дополнительные параметры:
time_zone - Часовой пояс календаря. Идентификатор часового пояса IANA. По умолчанию: Europe/Moscow
location - географическое положение календаря в виде текста произвольной формы
Также можно дать доступ другому аккаунту, например своему основному аккаунту:
owner_email - емейл аккаунта, который будет добавлен как владелец календаря
По умолчанию календарь создастся в сервисном аккаунте. Чтобы иметь возможность визуального редактирования календаря из своего аккаунта, передавайте свой email в параметре owner_email
Пример:
{"creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0577.json", "calendar_id": "[email protected]", "command": "update_event", "event_id": "v40c3d6j2ibl6vpg2m842538l0", "popup_minutes": "11","email_minutes": "22", "recurrence_days": "MO,TU,FR" }
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить:
{'kind': 'calendar#calendar', 'etag': '"WgASl9FY_5zrEmCZvrt4Qlh6tGQ"', 'id': '[email protected]', 'summary': 'Название календаря’', 'timeZone': 'UTC'}
Сохраним id созданного календаря:
id -> calendar_idДля тестирования вы можете вывести на экран переменную #{custom_answer}.
Если был передан емейл (параметр owner_email), то после успешного запроса необходимо перейти во Входящие и подтвердить добавление календаря в ваш аккаунт:
Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше)
command - get_calendar
calendar_id - идентификатор календаря
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить. Пример ответа функции:
{'kind': 'calendar#calendar', 'etag': '"6KN4OTLeoqGGu7Nr5uNIQgCGYsU"', 'id': '[email protected]', 'summary': 'Название календаря', 'timeZone': 'UTC'}
Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше)
command - calendars_list
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить. Пример ответа функции:
{
'kind': 'calendar#calendarList',
'etag': '"p32o8pm47rfqf20g"',
'nextSyncToken': 'CLCM2Ifb9PECEi5nc2hlZXRzQGdzaGVldHMtMjU0NzEzLmlhbS5nc2VydmljZWFjY291bnQuY29t',
'items': [
{
'kind': 'calendar#calendarListEntry',
'etag': '"1625235372775000"',
'id': '[email protected]',
'summary': 'AAAAAAAAaa',
'timeZone': 'Asia/Singapore',
'colorId': '17',
'backgroundColor': '#9a9cff',
'foregroundColor': '#000000',
'selected': True,
'accessRole': 'owner',
'defaultReminders': [
]
},
{
'kind': 'calendar#calendarListEntry',
'etag': '"1625235805096000"',
'id': '[email protected]',
'summary': 'AAAAAAAAaa',
'timeZone': 'Asia/Singapore',
'colorId': '21',
'backgroundColor': '#cca6ac',
'foregroundColor': '#000000',
'selected': True,
'accessRole': 'owner',
'defaultReminders': [
]
}
]
}
Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше)
command - quick_add_event
calendar_id - идентификатор календаря
event_name - название события
Пример параметров:
{"creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json",
"calendar_id": "[email protected]",
"command": "quick_add_event","event_name": "Супер мероприятие"}
Сохраняемые значения из JSON-ответа:После успешного выполнения функция вернет следующие параметры, которые можно сохранить по своему усмотрению.
Для дальнейшего редактирования созданного события рекомендуется сохранить его идентификатор: id -> event_id
Пример ответа функции:
{'kind': 'calendar#event', 'etag': '"3253879667088000"', 'id': 'ljp7a3ocp8oorbov9u2cq221s0', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=bGpwN2Ezb2NwOG9vcmJvdjl1MmNxMjIxczAgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-22T07:43:53.000Z', 'updated': '2021-07-22T07:43:53.544Z', 'creator': {'email': '[email protected]'}, 'organizer': {'email': '[email protected]', 'displayName': 'Testov', 'self': True}, 'start': {'dateTime': '2021-07-22T07:43:53Z', 'timeZone': 'UTC'}, 'end': {'dateTime': '2021-07-22T08:43:53Z', 'timeZone': 'UTC'}, 'iCalUID': '[email protected]', 'sequence': 0, 'reminders': {'useDefault': True}, 'eventType': 'default'}

Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше)
command - add_event
calendar_id - идентификатор календаря
event_name - название события
Также нужно указать один из вариантов: дату или дату и время.
Если мероприятие будет проводится весь день, то нужно передать даты:
- 1.start_date - дата начала мероприятия в формате дд.мм.гггг (23.07.2021)
- 2.end_date - дата завершения мероприятия в формате дд.мм.гггг (24.07.2021)
Если мероприятие в определенное время, то нужно передать дату:
- 1.start_datetime - дата и время начала мероприятия в формате дд.мм.гггг чч:мм (23.07.2021 12:00)
- 2.end_datetime - дата и время завершения мероприятия в формате дд.мм.гггг чч:мм (24.07.2021 13:00)
- 3.time_zone - Часовой пояс события. Идентификатор часового пояса IANA. По умолчанию: Europe/Moscow
Если часовой пояс календаря и события разный, то событие добавится со временем в часовом поясе календаря.
Пример:
Календарь в часовом поясе (чс) Europe/Moscow +3, а событие добавляется с часовым поясом Europe/Berlin +2. Время события 12:00 (чс +2) в календарь добавится на 13:00, так как по московскому времени 13:00 соответствует 12:00 в часовом поясе +2
Дополнительные параметры:
event_description - описание события
location - географическое положение мероприятия в виде текста произвольной формы
email_minutes - время в минутах: за сколько до начала события отправить уведомление участникам на емейл
popup_minutes - время в минутах: за сколько до начала события отправить уведомление участникам во всплывающих уведомлениях.
transparency - блокировка времени в календаре, может принимать два значения "opaque" или "transparent":
- "opaque" - значение по умолчанию. Событие блокирует время в календаре. Это эквивалентно настройке Показывать как занятой в пользовательском интерфейсе календаря.
- "transparent" — событие не блокирует время в календаре. Это эквивалентно настройке «Показать как доступно» в пользовательском интерфейсе календаря.
recurrence_days - параметр для задания периодичности соб ытия.
Например:
"SU,MO,TU,WE,TH,FR,SA" - событие активно каждую неделю каждый день.
"MO,TU,WE,TH,FR" - событие активно каждую неделю каждый день. кроме субботы и воскресенья.
Пример параметров:
Пример параметров с recurrence_days
Календарь в часовом поясе (чс) Europe/Moscow +3, а событие добавляется с часовым поясом Europe/Berlin +2. Время события 12:00 (чс +2) в календарь добавится на 13:00, так как по московскому времени 13:00 соответствует 12:00 в часовом поясе +2
{"creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json",
"calendar_id": "[email protected]",
"command": "add_event",
"event_name": "Супер мероприятие",
"start_datetime": "27.07.2021 12:00", "end_datetime": "27.07.2021 14:00"}
Создать событие на каждую неделю с 07:00 до 16:00 по понедельникам, вторникам, четвер гам и пятницам.
Параметры:
{ "creds_path": "https://files.salebot.pro/uploads/message/file/1/calendar-project-320517-c241d9ab0577.json", "calendar_id": "[email protected]", "command": "add_event", "event_name": "Супер мероприятие 23", "start_datetime": "#{current_date} 07:00", "end_datetime": "#{current_date} 16:00", "recurrence_days": "MO,TU,TH,FR" }
.png?alt=media&token=4f6ebe50-555d-4f89-99e6-448808f356c8)
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить.
Для дальнейшего редактирования созданного события рекомендуется сохранить его идентификатор:
id -> event_id
Пример ответа функции:
{'kind': 'calendar#event', 'etag': '"3254057128970000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T08:22:53.109Z', 'summary': 'Новое событие44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': '[email protected]'}, 'organizer': {'email': '[email protected]', 'displayName': 'Testov', 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Moscow'}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Moscow'}, 'iCalUID': '[email protected]', 'sequence': 0, 'attendees': [{'email': '[email protected]', 'displayName': 'Vasya', 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default'}

Тип запроса: POST-json
Параметры обязательные:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше)
command - update_event calendar_id - идентификатор календаря
event_id - идентификатор изменяемого события
Возможные параметры для обновления:
Можно передать как один, так и несколько параметров.
event_name - название события
event_description - описание события location - географическое положение мероприятия в виде текста произвольной формы
email_minutes - время в минутах: за сколько до начала события отправить уведомление участникам на емейл
popup_minutes - время в минутах: за сколько до начала события отправить уведомление во всплывающих уведомлениях
Если мероприятие будет проводится весь день, то можно передать даты:
start_date - дата начала мероприятия в формате дд.мм.гггг (23.07.2021)
end_date - дата завершения мероприятия в формате дд.мм.гггг (24.07.2021)
Если мероприятие в определенное время, то можно передать дату со временем:
start_datetime - дата и время начала мероприятия в формате дд.мм.гггг чч:мм (23.07.2021 12:00)
end_datetime - дата и время завершения мероприятия в формате дд.мм.гггг чч:мм (24.07.2021 13:00)
time_zone - Часовой пояс события. Идентификатор часового пояса IANA. По умолчанию: Europe/Moscow
transparency - блокировка времени в календаре, может принимать два значения "opaque" или "transparent":
- "opaque" - значение по умолчанию. Событие блокирует время в календаре. Это эквивалентно настройке Показывать как занятой в пользовательском интерфейсе календаря.
- "transparent" — событие не блокирует время в календаре. Это эквивалентно настройке «Показать как доступно» в пользовательском интерфейсе календаря.
recurrence_days - параметр для задания периодичности события. Например: "SU,MO,TU,WE,TH,FR,SA" - событие активно каждую неделю каждый день. "MO,TU,WE,TH,FR" - событие активно каждую неделю каждый день. кроме субботы и воскресенья.
Пример параметров:
Пример параметров:
Пример параметров с recurrence_days
{"creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "[email protected]", "event_id": "j1lcpm4q2p9c0cv705alv3brug", "command": "update_event", "event_name": "Обновленное мероприятие", "start_datetime": "27.07.2021 12:00", "end_datetime": "27.07.2021 14:00","popup_minutes": "11","email_minutes": "22"}
{ "creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0577.json", "calendar_id": "[email protected]", "command": "update_event", "event_id": "v40c3d6j2ibl6vpg2m842538l0", "popup_minutes": "11","email_minutes": "22", "recurrence_days": "MO,TU,FR" }
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить.
Пример ответа фун кции:
{"kind":"calendar#event","etag":""3276713558524000"","id":"j1lcpm4q2p9c0cv705alv3brug","status":"confirmed","htmlLink":"https://www.google.com/calendar/event?eid=ajFsY3BtNHEycDljMGN2NzA1YWx2M2JydWcgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw","created":"2021-12-01T10:40:11.000Z","updated":"2021-12-01T10:43:16.738Z","summary":"Супер","creator":{"email":"[email protected]"},"organizer":{"email":"[email protected]","displayName":"Testov","self":true},"start":{"dateTime":"2021-12-28T09:00:00Z","timeZone":"Europe/Moscow"},"end":{"dateTime":"2021-12-29T11:00:00Z","timeZone":"Europe/Moscow"},"iCalUID":"[email protected]","sequence":0,"reminders":{"useDefault":false,"overrides":[{"method":"email","minutes":22},{"method":"popup","minutes":12}]},"eventType":"default","update_status":"ok"}
Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше)
command - get_event_list
calendar_id - идентификатор календаря
Если не передавать дополнительные события, то результатом будет список событий за сегодняшний день.
Дополнительные параметры:
start_date - дата от которой искать события в формате дд.мм.гггг (23.07.2021)
end_date - дата до которой искать события в формате дд.мм.гггг (24.07.2021)
Пример параметров:
Будут найдены события за 23 июля
{"creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json",
"calendar_id": "[email protected]",
"command": "get_event_list",
"start_date": "22.07.2021", "end_date": "23.07.2021"}
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить.
Список найденных событий можно сохранить в переменную: items -> event_list
Пример ответа функции:
{'kind': 'calendar#events', 'etag': '"p33odnesrinsv20g"', 'summary': 'Testov', 'description': 'Testov description', 'updated': '2021-07-23T12:13:05.686Z', 'timeZone': 'UTC', 'accessRole': 'owner', 'defaultReminders': [], 'items': [{'kind': 'calendar#event', 'etag': '"3254084771372000"', 'id': '6d8rocb9e2r21ue37jgsa0v06i', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=NmQ4cm9jYjllMnIyMXVlMzdqZ3NhMHYwNmkgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T12:11:13.000Z', 'updated': '2021-07-23T12:13:05.686Z', 'summary': 'DDDDDDDDD', 'creator': {'email': '[email protected]'}, 'organizer': {'email': '[email protected]', 'displayName': 'Testov', 'self': True}, 'start': {'date': '2021-07-20'}, 'end': {'date': '2021-07-21'}, 'transparency': 'transparent', 'iCalUID': '[email protected]', 'sequence': 0, 'reminders': {'useDefault': False}, 'eventType': 'default'}]}
Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше)
command - move_event
calendar_id - идентификатор календаря, из которого перемещается событие
event_id - идентификатор события
destination_calendar_id - идентификатор календаря, в который перемещается событие
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить. Пример ответа функции:
{'kind': 'calendar#event', 'etag': '"3253880350568000"', 'id': 'ljp7a3ocp8oorbov9u2cq221s0', 'status': 'cancelled', 'htmlLink': 'https://www.google.com/calendar/event?eid=bGpwN2Ezb2NwOG9vcmJvdjl1MmNxMjIxczAgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-22T07:43:53.000Z', 'updated': '2021-07-22T07:49:35.284Z', 'creator': {'email': '[email protected]'}, 'organizer': {'email': '[email protected]', 'displayName': 'Тестовый календарь'}, 'start': {'dateTime': '2021-07-22T07:43:53Z', 'timeZone': 'UTC'}, 'end': {'dateTime': '2021-07-22T08:43:53Z', 'timeZone': 'UTC'}, 'iCalUID': '[email protected]', 'sequence': 0, 'reminders': {'useDefault': True}, 'eventType': 'default'}
Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше)
command - get_event
calendar_id - идентификатор календаря
event_id - идентификатор события
Сохраняемые значения из JSON-ответа:
После успешного выполнения фу нкция вернет следующие параметры, которые можно сохранить. Пример ответа функции:
{'kind': 'calendar#event', 'etag': '"3254067331414000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T11:12:55.553Z', 'summary': 'Новое событие44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': '[email protected]'}, 'organizer': {'email': '[email protected]', 'displayName': 'Testov', 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Moscow'}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Moscow'}, 'iCalUID': '[email protected]', 'sequence': 0, 'attendees': [{'email': '[email protected]', 'displayName': 'Vasya', 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default'}
Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше)
command - remove_event
calendar_id - идентификатор календаря
event_id - идентификатор удаляемого события
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохрани ть. Пример ответа функции:
{'status': 'ok'}
Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный поинструкции выше)
command - add_client
calendar_id - идентификатор календаря
event_id - идентификатор события
client_email - электронная почта клиента
Дополнительные параметры:
name - описание события
comment - комментарий участника
Пример параметров:
{
"creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json",
"calendar_id": "[email protected]",
"command": "add_client",
"event_id": "#{event_id}",
"client_email": "[email protected]",
"name": "Viktor",
"comment": "Буду первым!"
}

Сохраняемые значения из JSON-ответа:
Функция всегда возвращает статус добавления add_status. Он может иметь три значения:
ok - клиент добавлен
exist - клиент уже записан
error - ошибка добавления. (Дополнительно с add_status, будет параметр error_message с текстом ошибки)
Пример ответа функции при успехе:
{'kind': 'calendar#event', 'etag': '"3254059247409000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T08:58:11.548Z', 'summary': 'Новое событие44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': '[email protected]'}, 'organizer': {'email': '[email protected]', 'displayName': 'Testov', 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Moscow'}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Moscow'}, 'iCalUID': '[email protected]', 'sequence': 0, 'attendees': [{'email': '[email protected]', 'displayName': 'Vasya', 'responseStatus': 'needsAction'}, {'email': '[email protected]', 'displayName': 'Vasya', 'responseStatus': 'needsAction'}, {'email': '[email protected]', 'displayName': 'Vasya2', 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default', ‘add_status’: 'ok'}
Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше)
command - remove_client
calendar_id - идентификатор календаря
event_id - идентификатор события
client_email - электронная почта клиента
Пример параметров:
{
"creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json",
"calendar_id": "[email protected]",
"command": "remove_client",
"event_id": "#{event_id}",
"client_email": "[email protected]"
}
Сохраняемые значения из JSON-ответа:
Функция всегда возвращает статус добавления remove_status. Он может иметь три значения:
1 - клиент успешно удален
0 - клиент не найден
error - ошибка удаления. (Дополнительно с remove_status, будет параметр error_message с текстом ошибки)
Пример ответа функции при успехе:
{'kind': 'calendar#event', 'etag': '"3254059247409000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T08:58:11.548Z', 'summary': 'Новое событие44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': '[email protected]'}, 'organizer': {'email': '[email protected]', 'displayName': 'Testov', 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Moscow'}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Moscow'}, 'iCalUID': '[email protected]', 'sequence': 0, 'attendees': [{'email': '[email protected]', 'displayName': 'Vasya', 'responseStatus': 'needsAction'}, {'email': '[email protected]', 'displayName': 'Vasya', 'responseStatus': 'needsAction'}, {'email': '[email protected]', 'displayName': 'Vasya2', 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default', 'remove_status': '1'}
Last modified 4mo ago