The Python SDK of 51Tracking API
Project description
51tracking-sdk-python
The Python SDK of 51Tracking API
Contact: service@51tracking.org
Official document
Supported Python Versions
- 3.6
- 3.7
- 3.8
- 3.9
- 3.10
- pypy3
Index
Installation
$ pip install 51tracking
Via source code
下载代码压缩包,无需解压缩,进入源代码根目录,然后运行:
$ pip install 51tracking-sdk-python.zip
Quick Start
import tracking51
tracking51.api_key = 'you api key'
try:
couriers = tracking51.courier.get_all_couriers()
print(couriers)
except tracking51.exception.Tracking51Exception as ce:
print(ce)
except Exception as e:
print("other error:", e)
Testing
pytest
Error handling
Throw by the new SDK client
import tracking51
tracking51.api_key = ''
try:
couriers = tracking51.courier.get_all_couriers()
print(couriers)
except tracking51.exception.Tracking51Exception as ce:
print(ce)
# API Key is missing
Throw by the parameter validation in function
import tracking51
tracking51.api_key = 'you api key'
try:
params = {'tracking_number': '','courier_code':'usps'}
result = tracking51.tracking.create_tracking(params)
print(result)
except tracking51.exception.Tracking51Exception as ce:
print(ce)
# Tracking number cannot be empty
Examples
Couriers
返回所有支持的快递公司列表
https://api.51Tracking.com/v4/couriers/all
try:
result = tracking51.courier.get_all_couriers()
print(result)
except tracking51.exception.Tracking51Exception as ce:
print(ce)
except Exception as e:
print("other error:", e)
Trackings
单个物流单号实时添加且查询
https://api.51Tracking.com/v4/trackings/create
try:
params = {'tracking_number': '92612903029511573030094547','courier_code':'usps'}
result = tracking51.tracking.create_tracking(params)
print(result)
except tracking51.exception.Tracking51Exception as ce:
print(ce)
except Exception as e:
print("other error:", e)
获取多个物流单号的查询结果
https://api.51Tracking.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+00:00', 'created_date_max': '2023-08-23T15:04:00+00:00'}
result = tracking51.tracking.get_tracking_results(params)
print(result)
except tracking51.exception.Tracking51Exception as ce:
print(ce)
except Exception as e:
print("other error:", e)
添加多个物流单号(一次调用最多创建 40 个物流单号)
https://api.51Tracking.com/v4/trackings/batch
try:
params = [{'tracking_number': '92612903029511573030094593', 'courier_code': 'usps'},
{'tracking_number': '92612903029511573030094594', 'courier_code': 'usps'}]
result = tracking51.tracking.batch_create_trackings(params)
print(result)
except tracking51.exception.Tracking51Exception as ce:
print(ce)
except Exception as e:
print("other error:", e)
根据ID更新物流信息
https://api.51Tracking.com/v4/trackings/update/{id}
params = {'customer_name': 'New name', 'note': 'New tests order note'}
id_string = "9a2f732e29b5ed2071d4cf6b5f4a3d19"
try:
result = tracking51.tracking.update_tracking_by_id(id_string, params)
print(result)
except tracking51.exception.Tracking51Exception as ce:
print(ce)
except Exception as e:
print("other error:", e)
通过ID删除单号
https://api.51Tracking.com/v4/trackings/delete/{id}
id_string = "9a2f7d1e8b912b729388c5835c188c28"
try:
result = tracking51.tracking.batch_create_trackings(params)
print(result)
except tracking51.exception.Tracking51Exception as ce:
print(ce)
except Exception as e:
print("other error:", e)
通过ID重新查询过期的单号
https://api.51Tracking.com/v4/trackings/retrack/{id}
id_string = "9a2f7d1e8b912b729388c5835c188c28"
try:
result = tracking51.tracking.retrack_tracking_by_id(id_string)
print(result)
except tracking51.exception.Tracking51Exception as ce:
print(ce)
except Exception as e:
print("other error:", e)
Air Waybill
查询航空运单的结果
https://api.51Tracking.com/v4/awb
params = {'awb_number': '235-69030430'}
try:
result = tracking51.air_waybill.create_an_air_waybill(params)
print(result)
except tracking51.exception.Tracking51Exception as ce:
print(ce)
except Exception as e:
print("other error:", e)
响应状态码
51Tracking 使用传统的HTTP状态码来表明 API 请求的状态。通常,2xx形式的状态码表示请求成功,4XX形式的状态码表请求发生错误(比如:必要参数缺失),5xx格式的状态码表示 51tracking 的服务器可能发生了问题。
Http CODE | META CODE | TYPE | MESSAGE |
---|---|---|---|
200 | 200 | 成功 |
请求响应成功。 |
400 | 400 | 错误请求 |
请求类型错误。请查看 API 文档以了解此 API 的请求类型。 |
400 | 4101 | 错误请求 |
物流单号已存在。 |
400 | 4102 | 错误请求 |
物流单号不存在。请先使用「Create接口」将单号添加至系统。 |
400 | 4103 | 错误请求 |
您已超出 API 调用的创建数量。每次创建的最大数量为 40 个快递单号。 |
400 | 4110 | 错误请求 |
物流单号(tracking_number) 不符合规则。 |
400 | 4111 | 错误请求 |
物流单号(tracking_number)为必填字段。 |
400 | 4112 | 错误请求 |
查询ID无效。 |
400 | 4113 | 错误请求 |
不允许重新查询。您只能重新查询过期的物流单号。 |
400 | 4120 | 错误请求 |
物流商简码(courier_code)的值无效。 |
400 | 4121 | 错误请求 |
无法识别物流商。 |
400 | 4122 | 错误请求 |
特殊物流商字段缺失或填写不符合规范。 |
400 | 4130 | 错误请求 |
请求参数的格式无效。 |
400 | 4160 | 错误请求 |
空运单号(awb_number)是必需的或有效的格式。 |
400 | 4161 | 错误请求 |
此空运航空不支持查询。 |
400 | 4165 | 错误请求 |
查询失败:未创建空运单号。 |
400 | 4166 | 错误请求 |
删除未创建的空运单号失败。 |
400 | 4167 | 错误请求 |
空运单号已存在,无需再次创建。 |
400 | 4190 | 错误请求 |
当前查询额度不足。 |
401 | 401 | 未经授权 |
身份验证失败或没有权限。请检查并确保您的 API 密钥正确无误。 |
403 | 403 | 禁止 |
禁止访问。请求被拒绝或不允许访问。 |
404 | 404 | 未找到 |
页面不存在。请检查并确保您的链接正确无误。 |
429 | 429 | 太多请求 |
超出 API 请求限制,请稍后重试。请查看 API 文档以了解此 API 的限制。 |
500 | 511 | 服务器错误 |
服务器错误。请联系我们: service@51Tracking.org。 |
500 | 512 | 服务器错误 |
服务器错误。请联系我们:service@51Tracking.org。 |
500 | 513 | 服务器错误 |
服务器错误。请联系我们: service@51Tracking.org。 |
Project details
Release history Release notifications | RSS feed
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 51tracking-0.1.1.tar.gz
.
File metadata
- Download URL: 51tracking-0.1.1.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.7.0 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c85b3c0557da00865c1a5e6bcc527b65f7a1ddc119756834a9f31e3c0bad3a2f |
|
MD5 | c4353d07545c2605fd2b246a105dd7ed |
|
BLAKE2b-256 | 344f1c11d3d0844189776da48e455ad2c15ac3bf2cef53249fe1f0dad613d572 |
File details
Details for the file 51tracking-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: 51tracking-0.1.1-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.7.0 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fe9aa9ddb0de1cf85207c47b43b6a564fcef74ed2473a71f2f36927621d6fbc |
|
MD5 | 61a3938ddfbe644916b7cc021efc2223 |
|
BLAKE2b-256 | 1ffc21a01312a87fe9e90455752455b58434c7c91284520c941925b35522fc26 |