Skip to content

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

License

Notifications You must be signed in to change notification settings

green-api/max-api-client-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

max-api-client-python

Поддержка

Support Support Support

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

Guides News News

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
Пример отправки картинки по URL sendPictureByLink.py
Пример отправки картинки загрузкой с диска sendPictureByUpload.py
Пример создание группы и отправка сообщения в группу createGroupAndSendMessage.py
Пример получения входящих уведомлений receiveNotification.py
Пример создания инстанса createInstance.py

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

Метод API Описание Ссылка на документацию
account.getSettings Метод предназначен для получения текущих настроек аккаунта GetSettings
account.getAccountSettings Метод предназначен для получения информации о аккаунте MAX GetAccountSettings
account.setSettings Метод предназначен для установки настроек аккаунта SetSettings
account.getStateInstance Метод предназначен для получения состояния аккаунта GetStateInstance
account.getStatusInstance Метод предназначен для получения состояния сокета соединения инстанса аккаунта с MAX GetStatusInstance
account.reboot Метод предназначен для перезапуска аккаунта Reboot
account.logout Метод предназначен для разлогинивания аккаунта Logout
account.setProfilePicture Метод предназначен для установки аватара аккаунта SetProfilePicture
account.startAuthorization Метод предназначен для запроса кода для авторизации StartAuthorization
account.sendAuthorizationCode Метод предназначен для авторизации инстанса по номеру телефона SendAuthorizationCode
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 Метод предназначен для загрузки файла в облачное хранилище, который можно отправить методом sendFileByUrl UploadFile
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

License

Stars

Watchers

Forks

Packages

No packages published

Languages