fedex-python怎么用
时间: 2023-07-08 20:22:41 浏览: 73
FedEx 提供了一套 API,你可以使用 Python 调用它们。FedEx 提供了官方的 Python SDK,叫做 fedex-api,可以帮助你快速地集成 FedEx API。下面是使用 fedex-api 的基本步骤:
1. 安装 fedex-api
使用 pip 安装 fedex-api:
```
pip install fedex-api
```
2. 导入必要的库
```
from fedex.services.ship_service import FedexProcessShipmentRequest, FedexDeleteShipmentRequest
from fedex.tools.conversion import sobject_to_dict
```
3. 创建 FedEx API 的请求
```
# 创建 FedEx 处理发货请求对象
ship_request = FedexProcessShipmentRequest(config_obj, customer_transaction_id='Ship-1234')
# 设置发货信息
ship_request.RequestedShipment.ShipTimestamp = datetime.datetime.now().replace(microsecond=0).isoformat()
ship_request.RequestedShipment.DropoffType = 'REGULAR_PICKUP'
ship_request.RequestedShipment.ServiceType = 'FEDEX_GROUND'
ship_request.RequestedShipment.PackagingType = 'YOUR_PACKAGING'
ship_request.RequestedShipment.TotalWeight.Value = 50.0
ship_request.RequestedShipment.TotalWeight.Units = 'LB'
# 设置寄件人信息
ship_request.RequestedShipment.Shipper.Contact.PersonName = 'John Doe'
ship_request.RequestedShipment.Shipper.Contact.CompanyName = 'ABC Company'
ship_request.RequestedShipment.Shipper.Contact.PhoneNumber = '555-555-5555'
ship_request.RequestedShipment.Shipper.Address.StreetLines = ['123 Main St']
ship_request.RequestedShipment.Shipper.Address.City = 'Anytown'
ship_request.RequestedShipment.Shipper.Address.StateOrProvinceCode = 'MI'
ship_request.RequestedShipment.Shipper.Address.PostalCode = '12345'
ship_request.RequestedShipment.Shipper.Address.CountryCode = 'US'
# 设置收件人信息
ship_request.RequestedShipment.Recipient.Contact.PersonName = 'Jane Doe'
ship_request.RequestedShipment.Recipient.Contact.CompanyName = 'XYZ Company'
ship_request.RequestedShipment.Recipient.Contact.PhoneNumber = '555-555-5555'
ship_request.RequestedShipment.Recipient.Address.StreetLines = ['456 Elm St']
ship_request.RequestedShipment.Recipient.Address.City = 'Anytown'
ship_request.RequestedShipment.Recipient.Address.StateOrProvinceCode = 'MI'
ship_request.RequestedShipment.Recipient.Address.PostalCode = '12345'
ship_request.RequestedShipment.Recipient.Address.CountryCode = 'US'
# 设置包裹信息
ship_request.RequestedShipment.PackageCount = 1
ship_request.RequestedShipment.RequestedPackageLineItems = []
package_item = ship_request.create_wsdl_object_of_type('RequestedPackageLineItem')
package_item.Weight.Value = 50.0
package_item.Weight.Units = 'LB'
ship_request.RequestedShipment.RequestedPackageLineItems.append(package_item)
```
4. 发送请求并处理响应
```
# 发送请求
ship_service = fedex_api.ShipServiceClient(config_obj)
ship_reply = ship_service.process_shipment(ship_request)
# 处理响应
if ship_reply.HighestSeverity == 'SUCCESS':
tracking_number = ship_reply.CompletedShipmentDetail.CompletedPackageDetails[0].TrackingIds[0].TrackingNumber
print(f'Successfully created shipment with tracking number {tracking_number}')
else:
print('Failed to create shipment')
```
以上是使用 fedex-api 创建发货请求的基本步骤,具体实现可能因 FedEx 的 API 版本和使用场景而有所不同。在实际开发中,你需要根据 FedEx 的 API 文档来构造请求、发送请求、处理响应、解析数据。