Skip to main content

A modern TOPdesk wrapper for Python

Project description

topdesk

An API client for TOPdesk in Python, using requests.

Installation

topdesk can be obtained through pip:

pip install topdesk

Usage

All requests are encapsulated in a Topdesk object. To construct this object, you need to supply it with a URL and username/token pair:

from topdesk import Topdesk

topdesk = Topdesk("<topdesk url>" app_creds=("<username>", "<token>"))

Then you can start requesting. Let’s get the API version!

print(topdesk.version())

This will return a dictionary representing the JSON body of the response. If it fails it will throw an exception that inherits from topdesk.HttpException, for instance topdesk.NotFound for 404 Not Found errors.

If you don’t have a token, you can also login as a person or operator. I wholeheartedly recommend tokens, though.

topdesk.login_person("<username>", "<password>")
# or alternatively
topdesk.login_operator("<username>", "<password>")

Then we can try and request some information! Let’s get a list of incidents that are not resolved, and order them by their target date!

print(topdesk.incidents({'order_by': "target_date+ASC", 'resolved': False}))

The API is somewhat well documented. You can explore it from your REPL through the help function or look at the autogenerated documentation.

Caveats

The Knowledge Base API is currently not supported, because it uses GraphQL whereas the rest of the API uses REST. If you have experience with and/or interest in GraphQL, I invite you to submit a patch!

The Supporting Files API is not yet supported. It’s a large swath of useful API functions that we do not wrap until now. If you need to use any of the endpoints, you’ll have to fall back to the lower-level get, put, patch, post, and delete methods.


Have fun!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

topdesk-0.0.17.tar.gz (24.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

topdesk-0.0.17-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file topdesk-0.0.17.tar.gz.

File metadata

  • Download URL: topdesk-0.0.17.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.10

File hashes

Hashes for topdesk-0.0.17.tar.gz
Algorithm Hash digest
SHA256 25939c445539ade12baddcfe7e679d25301f995e5c32fef1e0a81a71997ededc
MD5 c55692cf15997ad39fcedef7ea238583
BLAKE2b-256 571030b900529f473dd0e45bbf8b9bb8f55fb5f25b3a174252731cefed34f356

See more details on using hashes here.

File details

Details for the file topdesk-0.0.17-py3-none-any.whl.

File metadata

  • Download URL: topdesk-0.0.17-py3-none-any.whl
  • Upload date:
  • Size: 24.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.10

File hashes

Hashes for topdesk-0.0.17-py3-none-any.whl
Algorithm Hash digest
SHA256 529584b88c24545a872ee34399ea33df71f4b1da214a97f9cf8a21c8bef498c6
MD5 b6e196dc3096b2f1c69c1924186323c6
BLAKE2b-256 4a7dfc69889b6866a16811239fa205e120aafdacabcc1d676a753cd8deb66823

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page