django-17track is an unofficial 17track.com API wrapper for Django.
Project description
django-17track is an unofficial 17track.com API wrapper for Django.
Installation
Install with pip:
$ pip install django-ok-17track
Update INSTALLED_APPS:
INSTALLED_APPS = [
...
'track17',
...
]
Make migrations
$ python manage.py migrate
Available settings
TRACK17_API_KEY - API key for service.
TRACK17_API_KEY_FUNCTION - Custom function to return API key, if you want to store it outside the Django settings.
TRACK17_COUNTRIES_URL - Url to grab countries. Uses https://www.17track.net/en/apicountry.
TRACK17_CARRIERS_URL - Url to grab carriers. Uses https://www.17track.net/en/apicarrier.
Basic example to use:
How to get all countries and carriers:
python managet.py populate_carriers
How to register tracking number and get it’s info:
from rest_framework import serializers from track17.services import register_track, get_track_info, get_track_info_as_packages from apps.track17.exceptions import DateProcessingError # try to register tracking number at 17track API try: register_track('tracking_number') except DateProcessingError as exc: raise serializers.ValidationError(str(exc)) # try to fetch an actual info about a tracking number try: response: Dict = get_track_info('tracking_number') except DateProcessingError as exc: raise serializers.ValidationError(str(exc)) accepted_packages = response.get('accepted', []) # return packages info as a list of `PackageEntity` (dataclass instance) objects # in a readable way with a represantion of carriers and countries as Django model instances packages = get_track_info_as_packages(accepted)
Or can use 17track adapter directly:
from track17.track17 import Track17Adapter track17 = Track17Adapter() response = track17.register('number1', 'number2') response = track17.get_track_info('number1', 'number2')
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
Built Distribution
File details
Details for the file django-ok-17track-0.0.4.tar.gz
.
File metadata
- Download URL: django-ok-17track-0.0.4.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 557a4b1f3484c57e9f6a7c9d37adf50f12988806fdb49344f940bb2a0b68a8c0 |
|
MD5 | f1e5780485e50fcf8686097fe0bc0314 |
|
BLAKE2b-256 | fc4bbfd6d9fc25aa451a4c2a508f0642f10e9d142561768ea714f2fe3fb91667 |
File details
Details for the file django_ok_17track-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: django_ok_17track-0.0.4-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60ffe1b018c82b745a3703d849d5ceba4dea4224dcf66efce9370899daa7e369 |
|
MD5 | e4a7b0c5b62050d637e813479a9d2f7a |
|
BLAKE2b-256 | af356efd51d29f11f65622268a28d261dfef7e4bb538deb5b4548da13c2e4a2b |