Metadata-Version: 1.1
Name: five9
Version: 0.0.3b125
Summary: This library allows for you to integrate with Five9 Cloud Contact Center using Python.
Home-page: https://laslabs.github.io/python-five9
Author: LasLabs Inc.
Author-email: support@laslabs.com
License: MIT
Download-URL: https://github.com/LasLabs/python-five9
Description: |License MIT| | |PyPi Package| | |PyPi Versions|
        
        |Build Status| | |Test Coverage| | |Code Climate|
        
        ============
        Python Five9
        ============
        
        This library allows you to interact with the Five9 Settings and Statistics Web
        Services using Python.
        
        * `Read The API Documentation <https://laslabs.github.io/python-five9>`_
        
        Installation
        ============
        
        Installation is easiest using Pip and PyPi::
        
           pip install five9
        
        If you would like to contribute, or prefer Git::
        
           git clone https://github.com/LasLabs/python-five9.git
           cd python-five9
           pip install -r requirements.txt
           pip install .
        
        Usage
        =====
        
        Connect
        -------
        
        .. code-block:: python
        
           from five9 import Five9
        
           client = Five9('user', 'password')
        
        Configuration Web Services
        --------------------------
        
        Documentation:
        
        * `Five9 <http://webapps.five9.com/assets/files/for_customers/documentation/apis/config-webservices-api-reference-guide.pdf>`_
        * `API Docs <https://laslabs.github.io/python-five9/AdminWebService.html>`_
        
        Example - Get All Skills:
        
        .. code-block:: python
        
           client.configuration.getSkills()
           # Returns
           [{
               'description': None,
               'id': 266184L,
               'messageOfTheDay': None,
               'name': 'TestSkill',
               'routeVoiceMails': False
           }]
        
        Example - Create a contact field to track modified time:
        
        .. code-block:: python
        
           client.configuration.createContactField({
               'name': 'modified_at',
               'displayAs': 'Invisible',
               'mapTo': 'LastModifiedDateTime',
               'type': 'DATE_TIME',
               'system': True,
           })
        
        Example - Search for a contact by first and last name and get a list of ``dict``s
        representing the result:
        
        .. code-block:: python
        
           criteria = client.create_criteria({
               'first_name': 'Test',
               'last_name': 'User',
           })
           result = client.configuration.getContactRecords(criteria)
           # The above result is basically unusable. Parse into a list of dicts::
           client.parse_records(result['fields'], result['records'])
        
        Example - Update a contact using their first and last name as the search keys:
        
        .. code-block:: python
        
           contact = {
               'first_name': 'Test',
               'last_name': 'User',
               'city': 'Las Vegas',
               'state': 'NV',
               'number1': '1234567890',
           }
           mapping = client.create_mapping(contact, keys=['first_name', 'last_name'])
           client.configuration.updateCrmRecord(
               record={'fields': mapping['fields']},
               crmUpdateSettings={
                   'fieldsMapping': mapping['field_mappings'],
                   'skipHeaderLine': True,
                   'crmAddMode': 'DONT_ADD',
                   'crmUpdateMode': 'UPDATE_SOLE_MATCHES',
               }
           )
        
        Statistics Web Services
        -----------------------
        
        Documentation:
        
        * `Five9 <http://webapps.five9.com/assets/files/for_customers/documentation/apis/statistics-webservices-api-reference-guide.pdf>`_
        * `API Docs <https://laslabs.github.io/python-five9/SupervisorWebService.html>`_
        
        A supervisor session is required in order to perform most actions provided in the
        Supervisor Web Service. Due to this, a session is implicitly created before the
        supervisor is used.
        
        The session is created with the following defaults. You can change the parameters
        by changing the proper instance variable on the `Five9` object:
        
        +----------------------+------------------------+---------------+
        | Five9 Parameter      | Instance Variable      | Default       |
        +======================+========================+===============+
        | `forceLogoutSession` | `force_logout_session` | `True`        |
        +----------------------+------------------------+---------------+
        | `rollingPeriod`      | `rolling_period`       | `Minutes30`   |
        +----------------------+------------------------+---------------+
        | `statisticsRange`    | `statistics_range`     | `CurrentWeek` |
        +----------------------+------------------------+---------------+
        | `shiftStart`         | `shift_start_hour`     | `8`           |
        +----------------------+------------------------+---------------+
        | `timeZone`           | `time_zone_offset`     | `-7`          |
        +----------------------+------------------------+---------------+
        
        Example Use:
        
        .. code-block:: python
        
           # Setup a session - required for most things
           client.supervisor.getUserLimits()
           # Returns
           {
               'mobileLimit': 0L,
               'mobileLoggedin': 0L,
               'supervisorLimit': 1L,
               'supervisorsLoggedin': 1L
           }
        
        Known Issues / Roadmap
        ======================
        
        * The supervisor session options should be represented in a class and documented,
          instead of the mostly undocumented free-form dictionary mapped to instance
          variables.
        
        Credits
        =======
        
        Images
        ------
        
        * LasLabs: `Icon <https://repo.laslabs.com/projects/TEM/repos/odoo-module_template/browse/module_name/static/description/icon.svg?raw>`_.
        
        Contributors
        ------------
        
        * Dave Lasley <dave@laslabs.com>
        
        Maintainer
        ----------
        
        .. image:: https://laslabs.com/logo.png
           :alt: LasLabs Inc.
           :target: https://laslabs.com
        
        This module is maintained by LasLabs Inc.
        
        .. |Build Status| image:: https://img.shields.io/travis/LasLabs/python-five9/master.svg
           :target: https://travis-ci.org/LasLabs/python-five9
        .. |Test Coverage| image:: https://img.shields.io/codecov/c/github/LasLabs/python-five9/master.svg
           :target: https://codecov.io/gh/LasLabs/python-five9
        .. |Code Climate| image:: https://img.shields.io/codeclimate/github/LasLabs/python-five9.svg
           :target: https://codeclimate.com/github/LasLabs/python-five9
        .. |License MIT| image:: https://img.shields.io/github/license/laslabs/python-five9.svg
           :target: https://opensource.org/licenses/MIT
           :alt: License: MIT
        .. |PyPi Package| image:: https://img.shields.io/pypi/v/five9.svg
           :target: https://pypi.python.org/pypi/five9
           :alt: PyPi Package
        .. |PyPi Versions| image:: https://img.shields.io/pypi/pyversions/five9.svg
           :target: https://pypi.python.org/pypi/five9
           :alt: PyPi Versions
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries :: Python Modules
