This library is unmaintained! My employer stopped using billomat services. Therefore no fix or update will be done on this project anymore. If you're interested in taking over maintenance, let me know.
Python client for the billomat.com API
The syntax of the client is inspired by the great Django ORM.
from billomat import models
from billomat.base import Client
Client.api_name = 'apiname'
Client.api_key = 'apikey'
# set optional app-id and -secret
Client.app_id = 'app_id'
Client.app_secret = 'app_secret'
articles = models.Article.objects.all()
for article in articles:
print unicode(article.title)
articles = articles.filter(title='Awesome')
for article in articles:
print unicode(article.title)
article = models.Article.objects.get(article_number=2)
article.title = u'This is an awesome article'
article.save()
article = models.Article.objects.create(
title=u'This is an awesome article',
)
article.delete()
Automatic client configuration by django config is supported
BILLOMAT_API_NAME = 'aaa'
BILLOMAT_API_KEY = 'bbb'
BILLOMAT_APP_ID = 'ccc'
BILLOMAT_APP_SECRET = 'ddd'
The client sends 3 django signals:
- billomatclient_request, send before the request
- billomatclient_response, send after the request containing the response
- billomatclient_error, send after a request error containing the exception
Each signal sends a request_id which is a unique identifier (uuid4) for each request to track the status along the signal flow.