This library helps you easily create a Python application with MAX API.
Project description
max-api-client-python
Поддержка
Руководства и новости
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.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 |
Метод предназначен для загрузки файла в облачное хранилище, который можно отправить методом 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file max_api_client_python-1.0.1.tar.gz.
File metadata
- Download URL: max_api_client_python-1.0.1.tar.gz
- Upload date:
- Size: 23.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1878dc7a7569bf95dbc83e5b52117274722a4271674f78dcdd10e142d53bfe82
|
|
| MD5 |
ad18750fbb289942743d6cf578546dd1
|
|
| BLAKE2b-256 |
ebe330c8eb45b87138bead40d2c459bebb180bf5b501c6fd9a8ff63cff3ca509
|
File details
Details for the file max_api_client_python-1.0.1-py3-none-any.whl.
File metadata
- Download URL: max_api_client_python-1.0.1-py3-none-any.whl
- Upload date:
- Size: 22.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e69a58f8a613c36992e6f4e10005bc46f520ca8fb48cb82514bde5f80b6924e2
|
|
| MD5 |
01a52ea4fd8664a3e9be554a281e5d70
|
|
| BLAKE2b-256 |
a87768cf6e5cac6a287fab73059bcf7499924a9fa823f0cb416437fdee23d963
|