zeonapi

ZEON PBX API library


License
Other
Install
pip install zeonapi==0.0.1

Documentation

ZeonAPI

Набор инструментов для работы с облачной АТС Zeon.

Сейчас это ранняя альфа. У меня нормально загружает и разбирает сообщения с ЯндексПочты по протоколу POP3.

API АТС ZEON несколько больше того, что реализовано в моей библиотеке на данный момент, но будет поддерживаться полностью. Фактически, получение записей разговором из почтового ящика должно быть разовой операцией: при запуске АТС включили в настройках пересылку на почту и записи не теряются. Когда интеграция с КИС реализована, эти записи можно подгрузить. А дальше уже получать записи посредством стандартного API.

Установка

$ pip3 install zeonapi

Python 2.x не поддерживается

Разбор почтовых сообщений с записями разговоров

Пример использования

from zeonapi.mailparserimap import MailParserPOP
from zeonapi.dbdrivers import DbDriverMongo


if __name__ == '__main__':
    mail_parser = MailParserPOP('pop.yandex.ru', 'email@yandex.ru', 'password', True)
    mail_parser.set_out_folder('/home/ivan/myprojects/python/zeon-crm/records/')
    mail_parser.db_driver = DbDriverMongo('mongodb://localhost:27017/', 'records', 'calls')
    mail_parser.get_messages(-1, 'Sorting|_Records')

MailParser

Существуют два класса для солучения почты: MailParserPOP и MailParserIMAP. Предпочтительнее использовать протокол POP3, поскольку он загружает заголовки и проверяет, существует ли запись в локальной БД. А загружает сообщение полностью, только если его нет.

В настоящее время MailParserIMAP в достаточной степени не оттестирован.

Конструктор класса:

class MailParser:
    def __init__(self, mail_server, mail_user, mail_password, mail_ssl=True):
        """
        :param mail_server: адрес IMAP4/POP3-сервера
        :param mail_user: имя пользователя
        :param mail_password: пароль
        :param mail_ssl: использовать SSL (по умолчанию) или нет
        """

mail_parser.set_out_folder

Установить каталог для сохранения записей разговоров

mail_parser.db_driver

Установить драйвер БД, в которой будут сохраняться данные о звонках. Сейчас написан только драйвер для MongoDB. Можно написать свой.

mail_parser.get_messages

Загрузить сообщения с сервера. Первый параметр - количество загружаемых сообщений, -1 - все. Второй параметр имя папки из которой загружать сообщения. В настоящее время возможность загружать только новые сообщения не реализована.

DbDriverMongo

Конструктор класса

class DbDriverMongo:
    def __init__(self, db_uri, db_name, db_collection):
        """
        :param db_uri: Строка подключения к БД
        :param db_name: Имя БД
        :param db_collection: Имя коллекции для сохранения данных о звонках
        """