Skip to main content

A client for the Allianz BonusDrive program

Project description

Allianz BonusDrive Client

API Client to query your BonusDrive data.

BonusDrive is a vehicle telematics application used by Allianz Germany to track driving behavior and routes. The code probably works similarily for every customer of IMS Driving Change (such as ADAC, Zurich, Aviva, etc., ), but you'll have to find that out for yourself.

The project is still in development.

Features

  • Authentication: Log in with your credentials.
  • Latest Trip Query: Retrieve information about your most recent trip.
  • Badges: Get your recent badges, either daily or monthly
  • Scores: Get more detailed scores per trip (overall and subscores)
  • Trip details: All the info you can get about your latest trip, including scores, map geometry, distance, speed, ...
  • Photon lookup: Specify the URL to a Photon database to get a lookup on your start and end address
  • ... more soonTM, probably

Getting Started

You can use this either as a stand-alone cli client or as a library for use in other programs.

Library

Either get the latest from git:

pip install git+https://github.com/xathon/Allianz-Bonusdrive-Client.git

Or use PyPI:

pip install allianz-bonusdrive-client

As a library, you can just do:

from allianz_bonusdrive_client import BonusdriveAPIClient
base_url = "https://example.com"  # Replace with the actual base URL
email = "user@example.com"        # Replace with the user's email
password = "securepassword"       # Replace with the user's password. Optional if TGT is provided.
tgt = None                        # Optional: Provide a TGT if available

# Create an instance of the client
client = BonusdriveAPIClient(base_url, email, password, tgt)

# Authenticate the client
client.authenticate()

# do whatever you want

CLI

From PyPI:

pip install allianz-bonusdrive-client[cli]

Then you can run the client:

$ python3 -m allianz_bonusdrive_client.cli -h
usage: Allianz BonusDrive Client [-h] [--geo-lookup] [--raw] [-v] {last-trip,badges-daily,badges-monthly,scores,details,trips}

On first start, the client should ask you for your BonusDrive email (use the one you tracked the trips with, that's not necessarily the same as the car owner's account!) and password. It then requests a TGT and stores it in .env, it will be used in the future. Alternatively, provide a TGT by setting the environment variable.

Disclaimers

  • This project pretends to be the BonusDrive app, using HTTP headers. This a) may break at any point and b) is very much not intended behavior and might be against ToS, no idea. Try to keep your API requests low. I'm not responsible if anything happens to your account, insurance contract, Club Penguin membership, yada yada.
  • I haven't yet found out how long a TGT is valid, or if it expires at any point. STs are invalidated after each use (successful or not), good job!
  • LLMs have been involved in creating and debugging this program. I mostly know what I'm doing, so that should be fine? See above for my responsibilities.
  • This program, unfortunately, is written in Python. The only reason for this is because I want to integrate it into Home Assistant/HACS at some point. Once this is complete. Probably. (Update: done!)

License

This project is licensed under the MIT License.

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

allianz_bonusdrive_client-0.6.1.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

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

allianz_bonusdrive_client-0.6.1-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file allianz_bonusdrive_client-0.6.1.tar.gz.

File metadata

File hashes

Hashes for allianz_bonusdrive_client-0.6.1.tar.gz
Algorithm Hash digest
SHA256 b981aa30e21d7edb899a84f63fb56a9500b3223d60c6b04f0b04b2934726078d
MD5 3dd9c696e60f435c122d4b63ce3d8627
BLAKE2b-256 4b1111b54c8884a5db8d252cb3d818c2e037ddec178683fc5339ac17e9fb1acb

See more details on using hashes here.

Provenance

The following attestation bundles were made for allianz_bonusdrive_client-0.6.1.tar.gz:

Publisher: publish.yml on xathon/Allianz-BonusDrive-Client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file allianz_bonusdrive_client-0.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for allianz_bonusdrive_client-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3f41777a9dc9eec2eabfa4182ec5fba836608800177a9afe676e8a25603ed821
MD5 027f67f20013574aa3d89f1be5891a76
BLAKE2b-256 1be46d8fc9e1e786185c2601da6e90866156b4595d7aeeb9883b7ce28dc61ef4

See more details on using hashes here.

Provenance

The following attestation bundles were made for allianz_bonusdrive_client-0.6.1-py3-none-any.whl:

Publisher: publish.yml on xathon/Allianz-BonusDrive-Client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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