Подключение бота помощью API

Graspil имеет разные способы подключение бота к системе. Здесь описан метод подключения с помощью API.

В личном кабинете, при подключении бота вы можете ознакомиться со всеми вариантами подключения.

В API существует два метода передачи данных в graspil:

  1. Пакетная отправка данных — предпочтительный вариант

В данной статье под "данными" подразумевается набор обьектов Update

В graspil важно получить точное время получения Update вашим ботом (кодом), вплоть до миллисекунд. Поэтому мы рекомендуем использовать метод пакетной отправки данных

  1. Вы можете передать точное время получения данных

  2. Если вы сделаете отложенную передачу данных, например раз в минуту это положительно скажется на производительности всех систем.

Зачем нужна дата получения и в каких случаях важны миллисекунды

Дата получения объекта Update нужна просто потому что не все типы данных Update содержат дату.

Зачем миллисекунды?

Они важны в случае если вы так же передаете исходящий трафик в graspil. Системе важно правильно отсортировать список входящих, и исходящих сообщений и единственный способ сделать это использовать дату.

Часто получение и отправка сообщений происходит в рамках одной секунды, поэтому мы используем миллисекунды.

Авторизация

Graspil API ожидает, что ключ API будет включен во все запросы к API в заголовке, который выглядит следующим образом:

Name
Value

Api-Key

meowmeowmeow

Подробней про авторизацию и о том как получить ключ авторизации читайте в разделе про авторизацию

Проверка структуры Update

В обоих методах система ожидает получить Updates которые полностью соответствуют структуре Telegram Bot API

Для ускорения работы, в момент получения данных система проверяет только базовые части данных. Полная проверка, в том числе на соответствие данных структуре Telegram Bot API происходит позднее. При возникновении ошибок они попадут в раздел "Ошибки бота"

Мы рекомендуем передавать данные в том виде в котором вы получили их от телегам. Если вы решили собирать update самостоятельно, то убедитесь что структура данных на 100% соответствует Telegram Bot Api, так же убедитесь что передаете все нужные данные в graspil, иначе это может исказить отчеты.

Примеры структуры updates есть в документации https://core.telegram.org/bots/webhooks#testing-your-bot-with-updates

Пакетная отправка данных

POST https://api.graspil.com/v1/send-batch-update

Метод для пакетной отправки Update. Можно передать до 1к update с указанием даты получения. Для отправки данных нужно отправить массив данных.

Headers

Name
Value

Content-Type

application/json

Api-Key

meowmeowmeow

Body

Параметр
Тип
Обязательный
Описание

date

RFC 3339 (ISO 8601)

Нет

Время получения ботом конкретного update. Если не передавать будет установленно текущее время.

Формат времени должен содержать миллисекунды и часовой пояс. Пример: 2024-08-03T20:00:00.123+02:00

update

Объект Update

да

Один объект Update, данные которые вы получили от телеграм

Пример тело запроса

Примеры кода

Python
JS
PHP

Response

Отправка данных в момент получения

POST https://api.graspil.com/api/send-update

В момент когда вы получаете данные от Telegram Bot API вам необходимо отправить эти данные нашей платформе. Данные должны отправляться в неизменном виде, соответствующие структуре данных Telegram Bot API.

Данные получаемые от Telegram могут содержать две разных структуры, в зависимости от метода доставки обновлений webhook или getUpdate. Данный метод поддерживает обе этих структуры.

Headers

Name
Value

Content-Type

application/json

Api-Key

meowmeowmeow

Body

Пример тела запроса (тип бота webhook)
Пример тела запросы (тип бота getUpdates)

Примеры кода

Python
PHP

Response

Разработчикам

Разработайте SDK на вашем языке программирования для подключения graspil. Опубликуйте этот репозиторий на GitHub и напишите нам на [email protected].

Мы добавим ссылку на ваш репозиторий в документацию что привлечет дополнительных посетителей на вашу страницу. Так же мы можем предоставить бесплатный доступ на несколько месяцев к премиум тарифу и ранний доступ к реферальной программе.

Последнее обновление