Обзор
API (Application Programming Interface) — это посредник между разработчиком приложений и средой, с которой это приложение должно взаимодействовать. API упрощает написание кода за счёт набора готовых классов, функций или структур для работы с данными
API MAX — это интерфейс, который позволяет ботам взаимодействовать с платформой и получать необходимые данные с помощью HTTPS-запросов к серверу. В этом разделе расскажем, как подготовиться к использованию API приложения
Методы
HTTPS-запросы на домен botapi.max.ru
вызывают методы — условные команды, которые соответствуют той или иной операции с базой данных. Например, получение, запись или удаление какой-либо информации
Параметры запроса должны содержать HTTP-метод, соответствующий необходимой операции:
GET
— получить ресурсыPOST
— создать ресурсы (например, отправить новые сообщения)PUT
— редактировать ресурсыDELETE
— удалить ресурсыPATCH
— исправить ресурсы
В зависимости от конкретного метода, параметры запроса будут отображаться в пути, URL-параметрах или теле запроса
Примеры запросов:
GET
https://botapi.max.ru/messages/{messageId}?access_token={your_token}
— получить сообщенияPOST
https://botapi.max.ru/messages?access_token={your_token}
— отправить сообщенияPATCH
https://botapi.max.ru/chats/{chatId}?access_token={your_token}
— изменить информацию о чате
В ответ сервер вернёт JSON-объект с запрошенными данными или сообщение об ошибке, если что-то пойдёт не так
JSON — это формат записи данных в виде пар <ИМЯ_СВОЙСТВА>
: <ЗНАЧЕНИЕ>
. Прочитайте об особенностях формата JSON, если вы ещё не работали с ним
Пример ответа на запрос к методу GET /me
:
{
"user_id": 1,
"name": "My Bot",
"username": "my_bot",
"is_bot": true,
"last_activity_time": 1737500130100
}
Также помимо JSON сервер вернет трёхзначный HTTP-код, информирующий об успешном выполнении запроса или ошибке.
Коды ответов HTTP
200
— успешная операция400
— недействительный запрос401
— ошибка аутентификации404
— ресурс не найден405
— метод не допускается429
— превышено количество запросов503
— сервис недоступен
Клавиатура
Клавиатура позволяет отправлять боту запросы кнопками, а не сообщениями. Чтобы клавиатура была удобной для пользователей, рекомендуем заранее продумать её наполнение и учитывать обязательные параметры:
- Текст на кнопке выравнивается по центру и обрезается, если выходит за её границы
- Кнопки в одной строке всегда одинаковой ширины
- Ширина каждого ряда кнопок равна ширине клавиатуры
- Высота у всех кнопок по умолчанию одинаковая
Вы можете подключить к чат-боту в MAX inline-клавиатуру. Она позволяет разместить под сообщением бота до 210
кнопок, сгруппированных в 30
рядов — до 7
кнопок в каждом
Виды кнопок для чат-бота:
callback
— сервер MAX отправляет событие с типомmessage_callback
(через Webhook или Long polling)link
— позволяет пользователю открыть ссылку в новой вкладкеrequest_contact
— запрашивает у пользователя разрешение на доступ к контактам — нику или телефонуrequest_geo_location
— запрашивает у пользователя его местоположение
Чтобы добавить кнопки, отправьте сообщение с InlineKeyboardAttachment
{
"text": "It is message with inline keyboard",
"attachments": [
{
"type": "inline_keyboard",
"payload": {
"buttons": [
[
{
"type": "callback",
"text": "Press me!",
"payload": "button1 pressed"
}
],
]
}
}
]
}
Если у вас возникли вопросы, посмотрите раздел с ответами