Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

14 Commits

Repository files navigation

trackingmore-sdk-python

The Python SDK of TrackingMore API

Contact: manage@trackingmore.org

Official document

Document

Supported Python Versions

  • 3.6
  • 3.7
  • 3.8
  • 3.9
  • 3.10
  • pypy3

Index

  1. Installation
  2. Testing
  3. Error Handling
  4. SDK
    1. Couriers
    2. Trackings
    3. Air Waybill

Installation

$ pip install trackingmore-sdk-python

Via source code

Download the code archive, without unzip it, go to the source root directory, then run:

$ pip install trackingmore-sdk-python.zip

Quick Start

importtrackingmoretrackingmore.api_key='your api key'try:
couriers=trackingmore.courier.get_all_couriers()
print(couriers)
excepttrackingmore.exception.TrackingMoreExceptionasce:
print(ce)
exceptExceptionase:
print("other error:", e)

Testing

pytest

Error handling

Throw by the new SDK client

importtrackingmoretrackingmore.api_key=''try:
couriers=trackingmore.courier.get_all_couriers()
print(couriers)
excepttrackingmore.exception.TrackingMoreExceptionasce:
print(ce)
# API Key is missing

Throw by the parameter validation in function

importtrackingmoretrackingmore.api_key='your api key'try:
params= {'tracking_number': ''}
couriers=trackingmore.courier.detect(params)
print(couriers)
excepttrackingmore.exception.TrackingMoreExceptionasce:
print(ce) # Tracking number cannot be empty

Examples

Couriers

Return a list of all supported couriers.

https://api.trackingmore.com/v4/couriers/all

try:
result=trackingmore.courier.get_all_couriers()
print(result)
excepttrackingmore.exception.TrackingMoreExceptionasce:
print(ce)
exceptExceptionase:
print("other error:", e) 
Return a list of matched couriers based on submitted tracking number.

https://api.trackingmore.com/v4/couriers/detect

params= {'tracking_number': '92612903029511573030094547'}
try:
result=trackingmore.courier.detect(params)
print(result)
excepttrackingmore.exception.TrackingMoreExceptionasce:
print(ce)
exceptExceptionase:
print("other error:", e) 

Trackings

Create a tracking.

https://api.trackingmore.com/v4/trackings/create

try:
params= {'tracking_number': '92612903029511573030094547','courier_code':'usps'}
result=trackingmore.tracking.create_tracking(params)
print(result)
excepttrackingmore.exception.TrackingMoreExceptionasce:
print(ce)
exceptExceptionase:
print("other error:", e) 
Get tracking results of multiple trackings.

https://api.trackingmore.com/v4/trackings/get

try:
# Perform queries based on various conditions# params = {'tracking_numbers': '92612903029511573030094547', 'courier_code': 'usps'}# params = {'tracking_numbers': '92612903029511573030094547,92612903029511573030094548', 'courier_code': 'usps'}params= {'created_date_min': '2023-08-23T14:00:00+08:00', 'created_date_max': '2023-08-23T15:04:00+08:00'}
result=trackingmore.tracking.get_tracking_results(params)
print(result)
excepttrackingmore.exception.TrackingMoreExceptionasce:
print(ce)
exceptExceptionase:
print("other error:", e) 
Create multiple trackings (Max. 40 tracking numbers create in one call).

https://api.trackingmore.com/v4/trackings/batch

try:
params= [{'tracking_number': '92612903029511573030094593', 'courier_code': 'usps'},
{'tracking_number': '92612903029511573030094594', 'courier_code': 'usps'}]
result=trackingmore.tracking.batch_create_trackings(params)
print(result)
excepttrackingmore.exception.TrackingMoreExceptionasce:
print(ce)
exceptExceptionase:
print("other error:", e) 
Update a tracking by ID.

https://api.trackingmore.com/v4/trackings/update/{id}

params= {'customer_name': 'New name', 'note': 'New tests order note'}
id_string="9a2f732e29b5ed2071d4cf6b5f4a3d19"try:
result=trackingmore.tracking.update_tracking_by_id(id_string, params)
print(result)
excepttrackingmore.exception.TrackingMoreExceptionasce:
print(ce)
exceptExceptionase:
print("other error:", e) 
Delete a tracking by ID.

https://api.trackingmore.com/v4/trackings/delete/{id}

id_string="9a2f7d1e8b912b729388c5835c188c28"try:
result=trackingmore.tracking.batch_create_trackings(params)
print(result)
excepttrackingmore.exception.TrackingMoreExceptionasce:
print(ce)
exceptExceptionase:
print("other error:", e) 
Retrack expired tracking by ID.

https://api.trackingmore.com/v4/trackings/retrack/{id}

id_string="9a2f7d1e8b912b729388c5835c188c28"try:
result=trackingmore.tracking.retrack_tracking_by_id(id_string)
print(result)
excepttrackingmore.exception.TrackingMoreExceptionasce:
print(ce)
exceptExceptionase:
print("other error:", e) 

Air Waybill

Create an air waybill.

https://api.trackingmore.com/v4/awb

params= {'awb_number': '235-69030430'}
try:
result=trackingmore.air_waybill.create_an_air_waybill(params)
print(result)
excepttrackingmore.exception.TrackingMoreExceptionasce:
print(ce)
exceptExceptionase:
print("other error:", e) 

Response Code

Trackingmore uses conventional HTTP response codes to indicate success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that resulted from the provided information (e.g. a required parameter was missing, a charge failed, etc.), and codes in the 5xx range indicate an TrackingMore's server error.

Http CODEMETA CODETYPEMESSAGE
200200SuccessRequest response is successful
400400BadRequestRequest type error. Please check the API documentation for the request type of this API.
4004101BadRequestTracking No. already exists.
4004102BadRequestTracking No. no exists. Please use 「Create a tracking」 API first to create shipment.
4004103BadRequestYou have exceeded the shipment quantity of API call. The maximum quantity is 40 shipments per call.
4004110BadRequestThe value of tracking_number is invalid.
4004111BadRequestTracking_number is required.
4004112BadRequestInvalid Tracking ID.
4004113BadRequestRetrack is not allowed. You can only retrack an expired tracking.
4004120BadRequestThe value of courier_code is invalid.
4004121BadRequestCannot detect courier.
4004122BadRequestMissing or invalid value of the special required fields for this courier.
4004130BadRequestThe format of Field name is invalid.
4004160BadRequestThe awb_number is required or invaild format.
4004161BadRequestThe awb airline does not support yet.
4004190BadRequestYou are reaching the maximum quota limitation, please upgrade your current plan.
401401UnauthorizedAuthentication failed or has no permission. Please check and ensure your API Key is correct.
403403ForbiddenAccess prohibited. The request has been refused or access is not allowed.
404404NotFoundPage does not exist. Please check and ensure your link is correct.
429429TooManyRequestsExceeded API request limits, please try again later. Please check the API documentation for the limit of this API.
500511ServerErrorServer error. Please contact us: service@trackingmore.org.
500512ServerErrorServer error. Please contact us: service@trackingmore.org.
500513ServerErrorServer error. Please contact us: service@trackingmore.org.

About

The Python SDK of TrackingMore API

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages