Skip to content

Latest commit

 

History

55 提交

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

仓库 files navigation

Bexio API Python Client

https://travis-ci.org/oesah/bexio-api-python-client.svg?branch=master Maintainability

Bexio API Python Client. It works as a standalone lib in python, but needs additional work to get it started. There is a Django integration, that works out of the box, once you set it up properly as described later. If you wish to use it with Python alone, you can take a look at the Django integration. It shows how you can use it with python alone.

Features

  • API connection to your Bexio instance
  • Django integration
  • Creation & Auto-renewal of access token

Documentation

The full documentation is at https://bexio-api-python-client.readthedocs.io.

Quickstart

Install Bexio API Python Client:

pip install bexio-api-python-client

If you are using anything other than Django with this module, you need to write some more code to authenticate and use the API. Check out the Django parts of the module to see how it can be done.

Django Integration

You can use the API directly with Django. There are URLs, Views and other helpers to integrate the API into your Django project.

Add it to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'bexiopy.apps.BexiopyConfig',
    ...
)

Add Bexio API Python Client's URL patterns to your main urls.py:

from bexiopy import urls as bexiopy_urls


urlpatterns = [
    ...
    url(r'bexiopy/', include('bexiopy.urls', namespace='bexiopy')),
    ...
]

Start your server and visit the homepage (e.g. localhost:8000). You should see a navigation bar at the top where you can click on "Authenticate" to create your token. Afterwards, you should see some data on the front page, if you have any data in your Bexio instance.

Docker

If you use docker, you can configure a volume to store the token:

Example:

# docker-compose.yml
volumes:
    bexio_token: {}

services:
    app:
        volumes:
            - bexio_token:/app/secrets

# app/Dockerfile
...
RUN mkdir /app/secrets
...

Basic Usage

See docs for basic usage: https://bexio-api-python-client.readthedocs.io/en/latest/bexiopy.html#bexiopy.api.Client

You can also use helper functions, so you don't need to create the call every time (see docs). These helper functions are added over time, but you can use the API fully, with the call function. The helper methods only offer nicer ways to query the API (e.g. Bexiopy().contacts.get(2)). The progress of the helper functions are documented below under "Progress".

设置

Configure the minimum settings.py (check docs for all options):

BEXIO_CLIENT_SECRET = 'my_secret'
BEXIO_CLIENT_ID = 'my_id'
BEXIO_APPLICATION_SCOPES = ['my_scope_1', 'my_scope_2']
BEXIO_APPLICATION_REDIRECTION_URL = 'https://example.com'

Start the server and go to /bexiopy/auth/ and authenticate with Bexio.

i18n URLs

If you have internationalized URLs, then make sure you place the Bexiopy url outside the internationalized ones, so it can be called without any language code (/bexiopy/auth/ instead of /en/bexiopy/auth/).

Running Tests

Does the code actually work?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox

Credits

Tools and libs used in creating this package:

Progress

[ ] = Open

[~] = In Progress

[X] = Done

[-] = Not possible / Ignored

Contacts

Contacts

  • [X] List contacts
  • [X] 搜索 contacts
  • [X] Show contact
  • [X] Create contact
  • [X] Overwrite contact
  • [X] Edit contact
  • [X] Delete contact
  • [ ] Bulk create contact

Salutations

  • [ ] List salutations
  • [ ] 搜索 salutations
  • [ ] Show salutation
  • [ ] Create salutation
  • [ ] Overwrite salutation
  • [ ] Edit salutation
  • [ ] Delete salutation

Titles

  • [ ] List titles
  • [ ] 搜索 titles
  • [ ] Show title
  • [ ] Create title
  • [ ] Overwrite title
  • [ ] Edit title
  • [ ] Delete title

Invoices

  • [X] List invoices
  • [X] 搜索 invoices
  • [X] Show invoice
  • [X] Create invoice
  • [X] Overwrite invoice
  • [X] Edit invoice
  • [X] Delete invoice
  • [X] Show invoice pdf
  • [X] Copy invoice
  • [ ] Issue invoice
  • [ ] Mark invoice as sent
  • [ ] Send invoice
  • [ ] List comments
  • [ ] 搜索 comments
  • [ ] Show comment
  • [ ] Create comment
  • [-] List payments
  • [-] Show payments
  • [-] Create payments
  • [-] Delete payments

赞助hip

This project is maintained by Mathison AG | Mobile & Web Development.

Used by

关于

Resources

Contributing

Stars

7 stars

关注者

3 watching

复刻s

发布

Used by

贡献者

Languages