Skip to main content

django-17track is an unofficial 17track.com API wrapper for Django.

Project description

Build status Project Status Python versions PyPI downloads Software license Project Status

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

django-ok-17track-0.0.4.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

django_ok_17track-0.0.4-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

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

Hashes for django-ok-17track-0.0.4.tar.gz
Algorithm Hash digest
SHA256 557a4b1f3484c57e9f6a7c9d37adf50f12988806fdb49344f940bb2a0b68a8c0
MD5 f1e5780485e50fcf8686097fe0bc0314
BLAKE2b-256 fc4bbfd6d9fc25aa451a4c2a508f0642f10e9d142561768ea714f2fe3fb91667

See more details on using hashes here.

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

Hashes for django_ok_17track-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 60ffe1b018c82b745a3703d849d5ceba4dea4224dcf66efce9370899daa7e369
MD5 e4a7b0c5b62050d637e813479a9d2f7a
BLAKE2b-256 af356efd51d29f11f65622268a28d261dfef7e4bb538deb5b4548da13c2e4a2b

See more details on using hashes here.

Supported by

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