Обзор

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:

JSON
{ "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

JSON
{ "text": "It is message with inline keyboard", "attachments": [ { "type": "inline_keyboard", "payload": { "buttons": [ [ { "type": "callback", "text": "Press me!", "payload": "button1 pressed" } ], ] } } ] }

ℹ️ Если у вас возникли вопросы, посмотрите раздел с ответами