UNKNOWN
Project description
deskapi is a Python wrapper around the Desk.com REST API. It provides Python wrappers for articles, topics, and translations. deskapi is compatible with Python 2.6, 2.7, and 3.3.
Installation
deskapi is installable from PyPI with easy_install or pip.
$ pip install deskapi
This will download the latest release, along with requests, which it depends on.
Getting Started
Access to the Desk API is managed through a DeskSession object. To instantiate a session, you’ll need a sitename and authentication information. If your Desk.com site is http://example.desk.com, your site name will be example. Authentication information is any valid Requests auth object. The simplest thing to provide is a username and password. For example:
>>> from deskapi.models import DeskSession >>> session = DeskSession( ... sitename='example', ... auth=('nathan@example.com', '53kr17') ... )
Once you have a session ID, you can retrieve a list of Articles:
>>> articles = session.articles()
Article fields map to Python properties:
>>> article = articles[0] >>> article.subject 'Help Topic' >>> article.in_support_center True
Collections and Objects
deskapi models the information available from Desk API as a set of “collections” and “objects”. The articles() method on DeskSesssion returns a collection. Collections can be iterated over, and support indexed access. A collection can create new members in itself.
Each member of a collection is a Desk Object. Desk Objects support property access to their fields, as well as updating those fields.
Collections
Creating Members
You can create new members of a collection by calling the create method on it, passing in fields as keyword arguments.
>>> new_article = articles.create( ... title='New Article', ... body='Some content.', ... )
Articles
Articles are accessible via the articles() method on the DeskSession.
>>> articles = session.articles()
Topics
Topics are accessible via the topics() method on the DeskSession.
Translations
Translations are accessible via the translations property of Article objects. The translations collection is slightly different than other collections. Instead of allowing indexed access, it acts like a dict, keyed by locale:
>>> translations = article.translations >>> len(translations) 2 >>> translations['es'].subject 'Tema de Ayuda'
Objects
Updating Objects
You can make changes to an object and save those back to desk.
>>> article.body = 'Test Content' >>> article.save()
Alternately you can use the update method to update the information in Desk without updating the local Python object. The following is equivalent to the save example:
>>> article = article.update(body='Test Content')
Both save and update return the updated object.
License
Made available under a BSD license; see LICENSE for details.
News
0.1
Release date: 5 September 2013
Initial release
Support for Articles, Topics, Translations
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
File details
Details for the file deskapi-0.1.tar.gz
.
File metadata
- Download URL: deskapi-0.1.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8e80c3afaa5c51e8802676506b0bf7fc0711dbd358698a888526ebde5faa8d6 |
|
MD5 | cda6c5cfaeb79106aebe93088023fad8 |
|
BLAKE2b-256 | 202e41f32bf08c7abfbca078f62134c24fe5a8fbe9cff5d865ff21a15b877cdc |