Skip to content

Repository files navigation

max-api-client-python

Поддержка

SupportSupportSupport

Руководства и новости

GuidesNewsNews

max-api-client-python - библиотека для интеграции с мессенджером MAX через API сервиса green-api.com. Чтобы воспользоваться библиотекой, нужно получить регистрационный токен и ID аккаунта в личном кабинете. Есть бесплатный тариф аккаунта разработчика.

API

Документация к REST API находится по ссылке. Библиотека является обёрткой к REST API, поэтому документация по ссылке выше применима и к самой библиотеке.

Авторизация

Чтобы отправить сообщение или выполнить другие методы GREEN API, аккаунт MAX в приложении телефона должен быть в авторизованном состоянии. Для авторизации аккаунта перейдите в личный кабинет, запросите SMS код. Введите SMS код, после чего инстанс будет авторизован.

Установка

python -m pip install max-api-client-python

Импорт

from max_api_client_python import API

Примеры

Как инициализировать объект

greenAPI = API.GreenAPI(
"3100000001", "d75b3a66374942c5b3c019c698abc2067e151558acbd412345"
)

Отправка текстового сообщения на номер MAX

Ссылка на пример: sendTextMessage.py.

response = greenAPI.sending.sendMessage("10000000", "Message text")
print(response.data)

Отправка картинки по URL

Ссылка на пример: sendPictureByLink.py.

response = greenAPI.sending.sendFileByUrl(
"10000000",
"https://download.samplelib.com/png/sample-clouds2-400x300.png",
"sample-clouds2-400x300.png",
"Sample PNG"
)
print(response.data)

Отправка картинки загрузкой с диска

Ссылка на пример: sendPictureByUpload.py.

response = greenAPI.sending.sendFileByUpload(
"10000000",
"data/rates.png",
"rates.png",
"Available rates"
)
print(response.data)

Создание группы и отправка сообщения в эту группу

Ссылка на пример: createGroupAndSendMessage.py.

create_group_response = greenAPI.groups.createGroup(
"Group Name", ["10000000"]
)
if create_group_response.code == 200:
send_message_response = greenAPI.sending.sendMessage(
create_group_response.data["chatId"], "Message text"
)

Получение входящих уведомлений через HTTP API

Ссылка на пример: receiveNotification.py.

Общая концепция получения данных в GREEN API описана здесь. Для старта получения уведомлений через HTTP API требуется выполнить метод библиотеки:

greenAPI.webhooks.startReceivingNotifications(onEvent)

onEvent - ваша функция, которая должен содержать параметры:

ПараметрОписание
typeWebhookтип полученного уведомления (str)
bodyтело уведомления (dict)

Типы и форматы тел уведомлений находятся здесь.

Эта функция будет вызываться при получении входящего уведомления. Далее обрабатываете уведомления согласно бизнес-логике вашей системы.

Список примеров

ОписаниеМодуль
Пример отправки текстаsendTextMessage.py
Пример отправки картинки по URLsendPictureByLink.py
Пример отправки картинки загрузкой с дискаsendPictureByUpload.py
Пример создание группы и отправка сообщения в группуcreateGroupAndSendMessage.py
Пример получения входящих уведомленийreceiveNotification.py
Пример создания инстансаcreateInstance.py

Полный список методов библиотеки

Метод APIОписаниеСсылка на документацию
account.getSettingsМетод предназначен для получения текущих настроек аккаунтаGetSettings
account.getAccountSettingsМетод предназначен для получения информации о аккаунте MAXGetAccountSettings
account.setSettingsМетод предназначен для установки настроек аккаунтаSetSettings
account.getStateInstanceМетод предназначен для получения состояния аккаунтаGetStateInstance
account.getStatusInstanceМетод предназначен для получения состояния сокета соединения инстанса аккаунта с MAXGetStatusInstance
account.rebootМетод предназначен для перезапуска аккаунтаReboot
account.logoutМетод предназначен для разлогинивания аккаунтаLogout
account.qrМетод предназначен для получения QR кода для авторизацииQR
account.setProfilePictureМетод предназначен для установки аватара аккаунтаSetProfilePicture
groups.createGroupМетод предназначен для создания группового чатаCreateGroup
groups.updateGroupNameМетод изменяет наименование группового чатаUpdateGroupName
groups.getGroupDataМетод получает данные группового чатаGetGroupData
groups.addGroupParticipantМетод добавляет участника в групповой чатAddGroupParticipant
groups.removeGroupParticipantМетод удаляет участника из группового чатаRemoveGroupParticipant
groups.setGroupAdminМетод назначает участника группового чата администраторомSetGroupAdmin
groups.removeAdminМетод лишает участника прав администрирования группового чатаRemoveAdmin
groups.setGroupPictureМетод устанавливает аватар группыSetGroupPicture
groups.leaveGroupМетод производит выход пользователя текущего аккаунта из группового чатаLeaveGroup
journals.getChatHistoryМетод возвращает историю сообщений чатаGetChatHistory
journals.getMessageМетод возвращает сообщение чатаGetMessage
journals.lastIncomingMessagesМетод возвращает крайние входящие сообщения аккаунтаLastIncomingMessages
journals.lastOutgoingMessagesМетод возвращает крайние отправленные сообщения аккаунтаLastOutgoingMessages
journals.getChatsМетод возвращает список чатов аккаунтаGetChats
queues.showMessagesQueueМетод предназначен для получения списка сообщений, находящихся в очереди на отправкуShowMessagesQueue
queues.clearMessagesQueueМетод предназначен для очистки очереди сообщений на отправкуClearMessagesQueue
marking.readChatМетод предназначен для отметки сообщений в чате прочитаннымиReadChat
receiving.receiveNotificationМетод предназначен для получения одного входящего уведомления из очереди уведомленийReceiveNotification
receiving.deleteNotificationМетод предназначен для удаления входящего уведомления из очереди уведомленийDeleteNotification
receiving.downloadFileМетод предназначен для скачивания принятых и отправленных файловDownloadFile
sending.sendMessageМетод предназначен для отправки текстового сообщения в личный или групповой чатSendMessage
sending.sendFileByUploadМетод предназначен для отправки файла, загружаемого через форму (form-data)SendFileByUpload
sending.sendFileByUrlМетод предназначен для отправки файла, загружаемого по ссылкеSendFileByUrl
sending.uploadFileМетод предназначен для загрузки файла в облачное хранилище, который можно отправить методом sendFileByUrlUploadFile
serviceMethods.checkAccountМетод проверяет наличие аккаунта MAX на номере телефонаCheckAccount
serviceMethods.getAvatarМетод возвращает аватар корреспондента или группового чатаGetAvatar
serviceMethods.getContactsМетод предназначен для получения списка контактов текущего аккаунтаGetContacts
serviceMethods.getContactInfoМетод предназначен для получения информации о контактеGetContactInfo
webhooks.startReceivingNotificationsМетод предназначен для старта получения новых уведомлений
webhooks.stopReceivingNotificationsМетод предназначен для остановки получения новых уведомлений
partner.GetInstancesМетод предназначен для получения всех инстансов аккаунтов созданных партнёром.GetInstances
partner.CreateInstanceМетод предназначен для создания инстанса от имени партнёра.CreateInstance
partner.DeleteInstanceAccountМетод предназначен для удаления инстанса аккаунта партнёра.DeleteInstanceAccount

Документация по методам сервиса

https://green-api.com/v3/docs/api/.

Сторонние продукты

  • requests - для HTTP запросов.

Лицензия

Лицензировано на условиях Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0) . LICENSE.

About

Python MAX библиотека для интеграции с мессенджером MAX через API сервиса green-api.com.

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages