Skip to main content

A client library for the FreshBooks API

Project description

Refreshbooks provides a simple synchronous API for manipulating FreshBooks
invoices, clients, and other data::

from refreshbooks import api

c = api.OAuthClient(
'example.freshbooks.com',
'consumerkey',
'My Consumer Secret',
'An existing token',
'An existing token secret',
user_agent='Example/1.0'
)

response = c.invoice.create(
invoice=dict(
client_id='8',
lines=[
api.types.line(
name='Yard Work',
unit_cost='10',
quantity='4'
)
]
)
)

invoice_response = c.invoice.get(
invoice_id=response.invoice_id
)

print "New invoice created: #%s (id %s)" % (
invoice_response.invoice.number,
invoice_response.invoice.invoice_id
)

invoices_response = c.invoice.list()

print "There are %s pages of invoices." % (
invoices_response.invoices.attrib['pages'],
)

for invoice in invoices_response.invoices.invoice:
print "Invoice %s total: %s" % (
invoice.invoice_id,
invoice.amount
)

Consumer keys and secrets can be obtained from FreshBooks. This library
does not handle negotiating for an OAuth token+secret pair; see the
`oauth` module or the OAuth specification for details.

This library also supports the older token-based API authorization
scheme::

c = api.TokenClient(
'example.freshbooks.com',
'My API token',
user_agent='Example/1.0'
)

# ... as above ...

API methods return lxml.objectify.ObjectifiedDataElement trees, which
can be manipulated as Python objects with the same structure as the
underlying XML.

If you are having trouble accessing items as in:

items_response = c.items.list()
for item in items_response.items.item:
print item.item_id

Adjust your syntax to use dictionary item lookup:

items_response = c.items.list()
for item in items_response['items'].item:
print item.item_id

ObjectifiedDataElement provides a method named items which shadows the
items element in the response. Accessing items with dictionary lookup
syntax is the known work-around.

References:

- http://developers.freshbooks.com/ - The FreshBooks API
- http://developers.freshbooks.com/api/oauth/ - FreshBooks and OAuth

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

refreshbooks-1.3.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

refreshbooks-1.3-py2.6.egg (14.1 kB view details)

Uploaded Egg

File details

Details for the file refreshbooks-1.3.tar.gz.

File metadata

  • Download URL: refreshbooks-1.3.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for refreshbooks-1.3.tar.gz
Algorithm Hash digest
SHA256 298f12722a5eef4121d36cea5d267e78d3187717181b671c4c3b82730b13be5c
MD5 9c4c782ca64b7f3d5f338cdca4527cdf
BLAKE2b-256 dde7b57b53f4f1eecb236149409ae40068cb28da96f07772dcb78493d7292828

See more details on using hashes here.

File details

Details for the file refreshbooks-1.3-py2.6.egg.

File metadata

File hashes

Hashes for refreshbooks-1.3-py2.6.egg
Algorithm Hash digest
SHA256 9b623941e29dc51002613025837e4ed0ed16498cc9de32fd5beab6cc96fd422b
MD5 6bfe9ccd5a9a870131faa434ca9b12da
BLAKE2b-256 24c2d75a559a6b3031e5923ddaf0a7617f43ddf55875d056a01e17c73860c777

See more details on using hashes here.

Supported by

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