karrio-eshipper 2025.5rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- karrio/mappers/eshipper/__init__.py +3 -0
- karrio/mappers/eshipper/mapper.py +50 -0
- karrio/mappers/eshipper/proxy.py +65 -0
- karrio/mappers/eshipper/settings.py +21 -0
- karrio/plugins/eshipper/__init__.py +18 -0
- karrio/providers/eshipper/__init__.py +13 -0
- karrio/providers/eshipper/error.py +53 -0
- karrio/providers/eshipper/metadata.json +13018 -0
- karrio/providers/eshipper/rate.py +197 -0
- karrio/providers/eshipper/shipment/__init__.py +9 -0
- karrio/providers/eshipper/shipment/cancel.py +45 -0
- karrio/providers/eshipper/shipment/create.py +295 -0
- karrio/providers/eshipper/tracking.py +72 -0
- karrio/providers/eshipper/units.py +334 -0
- karrio/providers/eshipper/utils.py +76 -0
- karrio/schemas/eshipper/__init__.py +0 -0
- karrio/schemas/eshipper/cancel_request.py +15 -0
- karrio/schemas/eshipper/cancel_response.py +15 -0
- karrio/schemas/eshipper/error_response.py +21 -0
- karrio/schemas/eshipper/pickup_cancel_response.py +9 -0
- karrio/schemas/eshipper/pickup_request.py +25 -0
- karrio/schemas/eshipper/pickup_response.py +16 -0
- karrio/schemas/eshipper/rate_request.py +181 -0
- karrio/schemas/eshipper/rate_response.py +37 -0
- karrio/schemas/eshipper/shipping_request.py +184 -0
- karrio/schemas/eshipper/shipping_response.py +114 -0
- karrio/schemas/eshipper/tracking_request.py +10 -0
- karrio/schemas/eshipper/tracking_response.py +62 -0
- karrio_eshipper-2025.5rc1.dist-info/METADATA +45 -0
- karrio_eshipper-2025.5rc1.dist-info/RECORD +33 -0
- karrio_eshipper-2025.5rc1.dist-info/WHEEL +5 -0
- karrio_eshipper-2025.5rc1.dist-info/entry_points.txt +2 -0
- karrio_eshipper-2025.5rc1.dist-info/top_level.txt +3 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import attr
|
|
2
|
+
import jstruct
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@attr.s(auto_attribs=True)
|
|
7
|
+
class SurchargeType:
|
|
8
|
+
name: typing.Optional[str] = None
|
|
9
|
+
amount: typing.Optional[int] = None
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@attr.s(auto_attribs=True)
|
|
13
|
+
class QuoteType:
|
|
14
|
+
carrierName: typing.Optional[str] = None
|
|
15
|
+
serviceId: typing.Optional[int] = None
|
|
16
|
+
serviceName: typing.Optional[str] = None
|
|
17
|
+
deliveryCarrier: typing.Optional[str] = None
|
|
18
|
+
modeTransport: typing.Optional[str] = None
|
|
19
|
+
transitDays: typing.Optional[str] = None
|
|
20
|
+
baseCharge: typing.Optional[int] = None
|
|
21
|
+
fuelSurcharge: typing.Optional[int] = None
|
|
22
|
+
fuelSurchargePercentage: typing.Optional[int] = None
|
|
23
|
+
carbonNeutralFees: typing.Optional[int] = None
|
|
24
|
+
surcharges: typing.Optional[typing.List[SurchargeType]] = jstruct.JList[SurchargeType]
|
|
25
|
+
totalCharge: typing.Optional[int] = None
|
|
26
|
+
processingFees: typing.Optional[int] = None
|
|
27
|
+
taxes: typing.Optional[typing.List[SurchargeType]] = jstruct.JList[SurchargeType]
|
|
28
|
+
totalChargedAmount: typing.Optional[int] = None
|
|
29
|
+
currency: typing.Optional[str] = None
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@attr.s(auto_attribs=True)
|
|
33
|
+
class RateResponseType:
|
|
34
|
+
uuid: typing.Optional[str] = None
|
|
35
|
+
quotes: typing.Optional[typing.List[QuoteType]] = jstruct.JList[QuoteType]
|
|
36
|
+
warnings: typing.Optional[typing.List[str]] = None
|
|
37
|
+
errors: typing.Optional[typing.List[str]] = None
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import attr
|
|
2
|
+
import jstruct
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@attr.s(auto_attribs=True)
|
|
7
|
+
class CodAddressType:
|
|
8
|
+
company: typing.Optional[str] = None
|
|
9
|
+
name: typing.Optional[str] = None
|
|
10
|
+
addressLine1: typing.Optional[str] = None
|
|
11
|
+
city: typing.Optional[str] = None
|
|
12
|
+
province: typing.Optional[str] = None
|
|
13
|
+
country: typing.Optional[str] = None
|
|
14
|
+
zip: typing.Optional[str] = None
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@attr.s(auto_attribs=True)
|
|
18
|
+
class CodType:
|
|
19
|
+
codAddress: typing.Optional[CodAddressType] = jstruct.JStruct[CodAddressType]
|
|
20
|
+
paymentType: typing.Optional[str] = None
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@attr.s(auto_attribs=True)
|
|
24
|
+
class BillingAddressType:
|
|
25
|
+
company: typing.Optional[str] = None
|
|
26
|
+
attention: typing.Optional[str] = None
|
|
27
|
+
address1: typing.Optional[str] = None
|
|
28
|
+
address2: typing.Optional[str] = None
|
|
29
|
+
city: typing.Optional[str] = None
|
|
30
|
+
province: typing.Optional[str] = None
|
|
31
|
+
country: typing.Optional[str] = None
|
|
32
|
+
zip: typing.Optional[str] = None
|
|
33
|
+
email: typing.Optional[str] = None
|
|
34
|
+
phone: typing.Optional[str] = None
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
@attr.s(auto_attribs=True)
|
|
38
|
+
class ContactType:
|
|
39
|
+
contactCompany: typing.Optional[str] = None
|
|
40
|
+
contactName: typing.Optional[str] = None
|
|
41
|
+
phone: typing.Optional[str] = None
|
|
42
|
+
brokerName: typing.Optional[str] = None
|
|
43
|
+
brokerTaxId: typing.Optional[str] = None
|
|
44
|
+
recipientTaxId: typing.Optional[str] = None
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
@attr.s(auto_attribs=True)
|
|
48
|
+
class DutiesTaxesType:
|
|
49
|
+
dutiable: typing.Optional[bool] = None
|
|
50
|
+
billTo: typing.Optional[str] = None
|
|
51
|
+
accountNumber: typing.Optional[str] = None
|
|
52
|
+
sedNumber: typing.Optional[str] = None
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
@attr.s(auto_attribs=True)
|
|
56
|
+
class ItemType:
|
|
57
|
+
hsnCode: typing.Optional[str] = None
|
|
58
|
+
description: typing.Optional[str] = None
|
|
59
|
+
originCountry: typing.Optional[str] = None
|
|
60
|
+
quantity: typing.Optional[int] = None
|
|
61
|
+
unitPrice: typing.Optional[int] = None
|
|
62
|
+
skuCode: typing.Optional[str] = None
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
@attr.s(auto_attribs=True)
|
|
66
|
+
class ItemsType:
|
|
67
|
+
item: typing.Optional[typing.List[ItemType]] = jstruct.JList[ItemType]
|
|
68
|
+
currency: typing.Optional[str] = None
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
@attr.s(auto_attribs=True)
|
|
72
|
+
class CustomsInformationType:
|
|
73
|
+
contact: typing.Optional[ContactType] = jstruct.JStruct[ContactType]
|
|
74
|
+
items: typing.Optional[ItemsType] = jstruct.JStruct[ItemsType]
|
|
75
|
+
dutiesTaxes: typing.Optional[DutiesTaxesType] = jstruct.JStruct[DutiesTaxesType]
|
|
76
|
+
billingAddress: typing.Optional[BillingAddressType] = jstruct.JStruct[BillingAddressType]
|
|
77
|
+
remarks: typing.Optional[str] = None
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
@attr.s(auto_attribs=True)
|
|
81
|
+
class PackageType:
|
|
82
|
+
height: typing.Optional[int] = None
|
|
83
|
+
length: typing.Optional[int] = None
|
|
84
|
+
width: typing.Optional[int] = None
|
|
85
|
+
dimensionUnit: typing.Optional[str] = None
|
|
86
|
+
weight: typing.Optional[int] = None
|
|
87
|
+
weightUnit: typing.Optional[str] = None
|
|
88
|
+
type: typing.Optional[str] = None
|
|
89
|
+
freightClass: typing.Optional[str] = None
|
|
90
|
+
nmfcCode: typing.Optional[str] = None
|
|
91
|
+
insuranceAmount: typing.Optional[int] = None
|
|
92
|
+
codAmount: typing.Optional[int] = None
|
|
93
|
+
description: typing.Optional[str] = None
|
|
94
|
+
harmonizedCode: typing.Optional[str] = None
|
|
95
|
+
skuCode: typing.Optional[str] = None
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
@attr.s(auto_attribs=True)
|
|
99
|
+
class PackagesType:
|
|
100
|
+
type: typing.Optional[str] = None
|
|
101
|
+
quantity: typing.Optional[int] = None
|
|
102
|
+
weightUnit: typing.Optional[str] = None
|
|
103
|
+
packages: typing.Optional[typing.List[PackageType]] = jstruct.JList[PackageType]
|
|
104
|
+
totalWeight: typing.Optional[int] = None
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
@attr.s(auto_attribs=True)
|
|
108
|
+
class TimeType:
|
|
109
|
+
hour: typing.Optional[int] = None
|
|
110
|
+
minute: typing.Optional[int] = None
|
|
111
|
+
second: typing.Optional[int] = None
|
|
112
|
+
nano: typing.Optional[int] = None
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
@attr.s(auto_attribs=True)
|
|
116
|
+
class PickupType:
|
|
117
|
+
contactName: typing.Optional[str] = None
|
|
118
|
+
phoneNumber: typing.Optional[str] = None
|
|
119
|
+
pickupDate: typing.Optional[str] = None
|
|
120
|
+
pickupTime: typing.Optional[TimeType] = jstruct.JStruct[TimeType]
|
|
121
|
+
closingTime: typing.Optional[TimeType] = jstruct.JStruct[TimeType]
|
|
122
|
+
palletPickupTime: typing.Optional[TimeType] = jstruct.JStruct[TimeType]
|
|
123
|
+
palletClosingTime: typing.Optional[TimeType] = jstruct.JStruct[TimeType]
|
|
124
|
+
palletDeliveryClosingTime: typing.Optional[TimeType] = jstruct.JStruct[TimeType]
|
|
125
|
+
location: typing.Optional[str] = None
|
|
126
|
+
instructions: typing.Optional[str] = None
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
@attr.s(auto_attribs=True)
|
|
130
|
+
class FromType:
|
|
131
|
+
attention: typing.Optional[str] = None
|
|
132
|
+
company: typing.Optional[str] = None
|
|
133
|
+
address1: typing.Optional[str] = None
|
|
134
|
+
address2: typing.Optional[str] = None
|
|
135
|
+
city: typing.Optional[str] = None
|
|
136
|
+
province: typing.Optional[str] = None
|
|
137
|
+
country: typing.Optional[str] = None
|
|
138
|
+
zip: typing.Optional[str] = None
|
|
139
|
+
email: typing.Optional[str] = None
|
|
140
|
+
phone: typing.Optional[str] = None
|
|
141
|
+
instructions: typing.Optional[str] = None
|
|
142
|
+
residential: typing.Optional[bool] = None
|
|
143
|
+
tailgateRequired: typing.Optional[bool] = None
|
|
144
|
+
confirmDelivery: typing.Optional[bool] = None
|
|
145
|
+
notifyRecipient: typing.Optional[bool] = None
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
@attr.s(auto_attribs=True)
|
|
149
|
+
class ThirdPartyBillingType:
|
|
150
|
+
carrier: typing.Optional[int] = None
|
|
151
|
+
country: typing.Optional[int] = None
|
|
152
|
+
billToAccountNumber: typing.Optional[str] = None
|
|
153
|
+
billToPostalCode: typing.Optional[str] = None
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
@attr.s(auto_attribs=True)
|
|
157
|
+
class ShippingRequestType:
|
|
158
|
+
scheduledShipDate: typing.Optional[str] = None
|
|
159
|
+
shippingrequestfrom: typing.Optional[FromType] = jstruct.JStruct[FromType]
|
|
160
|
+
to: typing.Optional[FromType] = jstruct.JStruct[FromType]
|
|
161
|
+
packagingUnit: typing.Optional[str] = None
|
|
162
|
+
packages: typing.Optional[PackagesType] = jstruct.JStruct[PackagesType]
|
|
163
|
+
reference1: typing.Optional[str] = None
|
|
164
|
+
reference2: typing.Optional[str] = None
|
|
165
|
+
reference3: typing.Optional[str] = None
|
|
166
|
+
transactionId: typing.Optional[str] = None
|
|
167
|
+
billingReference: typing.Optional[str] = None
|
|
168
|
+
signatureRequired: typing.Optional[str] = None
|
|
169
|
+
insuranceType: typing.Optional[str] = None
|
|
170
|
+
dangerousGoodsType: typing.Optional[str] = None
|
|
171
|
+
pickup: typing.Optional[PickupType] = jstruct.JStruct[PickupType]
|
|
172
|
+
customsInformation: typing.Optional[CustomsInformationType] = jstruct.JStruct[CustomsInformationType]
|
|
173
|
+
thirdPartyBilling: typing.Optional[ThirdPartyBillingType] = jstruct.JStruct[ThirdPartyBillingType]
|
|
174
|
+
commodityType: typing.Optional[str] = None
|
|
175
|
+
isSaturdayService: typing.Optional[bool] = None
|
|
176
|
+
holdForPickupRequired: typing.Optional[bool] = None
|
|
177
|
+
specialEquipment: typing.Optional[bool] = None
|
|
178
|
+
deliveryAppointment: typing.Optional[bool] = None
|
|
179
|
+
insideDelivery: typing.Optional[bool] = None
|
|
180
|
+
insidePickup: typing.Optional[bool] = None
|
|
181
|
+
saturdayPickupRequired: typing.Optional[bool] = None
|
|
182
|
+
stackable: typing.Optional[bool] = None
|
|
183
|
+
serviceId: typing.Optional[int] = None
|
|
184
|
+
cod: typing.Optional[CodType] = jstruct.JStruct[CodType]
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import attr
|
|
2
|
+
import jstruct
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@attr.s(auto_attribs=True)
|
|
7
|
+
class ChargeType:
|
|
8
|
+
charge: typing.Optional[str] = None
|
|
9
|
+
amount: typing.Optional[str] = None
|
|
10
|
+
adjustmentReasons: typing.Optional[str] = None
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@attr.s(auto_attribs=True)
|
|
14
|
+
class InvoiceType:
|
|
15
|
+
invoiceNumber: typing.Optional[str] = None
|
|
16
|
+
charges: typing.Optional[typing.List[ChargeType]] = jstruct.JList[ChargeType]
|
|
17
|
+
total: typing.Optional[int] = None
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@attr.s(auto_attribs=True)
|
|
21
|
+
class BillingType:
|
|
22
|
+
invoices: typing.Optional[typing.List[InvoiceType]] = jstruct.JList[InvoiceType]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
@attr.s(auto_attribs=True)
|
|
26
|
+
class CarrierType:
|
|
27
|
+
carrierName: typing.Optional[str] = None
|
|
28
|
+
serviceName: typing.Optional[str] = None
|
|
29
|
+
carrierLogoPath: typing.Optional[str] = None
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@attr.s(auto_attribs=True)
|
|
33
|
+
class CustomsInvoiceType:
|
|
34
|
+
type: typing.Optional[str] = None
|
|
35
|
+
data: typing.Optional[str] = None
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@attr.s(auto_attribs=True)
|
|
39
|
+
class LabelDataType:
|
|
40
|
+
label: typing.Optional[typing.List[CustomsInvoiceType]] = jstruct.JList[CustomsInvoiceType]
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
@attr.s(auto_attribs=True)
|
|
44
|
+
class OrderType:
|
|
45
|
+
trackingId: typing.Optional[str] = None
|
|
46
|
+
id: typing.Optional[str] = None
|
|
47
|
+
message: typing.Optional[str] = None
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
@attr.s(auto_attribs=True)
|
|
51
|
+
class PackageType:
|
|
52
|
+
trackingNumber: typing.Optional[str] = None
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
@attr.s(auto_attribs=True)
|
|
56
|
+
class PickupType:
|
|
57
|
+
confirmationNumber: typing.Optional[str] = None
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
@attr.s(auto_attribs=True)
|
|
61
|
+
class SurchargeType:
|
|
62
|
+
name: typing.Optional[str] = None
|
|
63
|
+
amount: typing.Optional[int] = None
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
@attr.s(auto_attribs=True)
|
|
67
|
+
class QuoteType:
|
|
68
|
+
carrierName: typing.Optional[str] = None
|
|
69
|
+
serviceId: typing.Optional[int] = None
|
|
70
|
+
serviceName: typing.Optional[str] = None
|
|
71
|
+
deliveryCarrier: typing.Optional[str] = None
|
|
72
|
+
modeTransport: typing.Optional[str] = None
|
|
73
|
+
transitDays: typing.Optional[str] = None
|
|
74
|
+
baseCharge: typing.Optional[int] = None
|
|
75
|
+
fuelSurcharge: typing.Optional[int] = None
|
|
76
|
+
fuelSurchargePercentage: typing.Optional[int] = None
|
|
77
|
+
carbonNeutralFees: typing.Optional[int] = None
|
|
78
|
+
surcharges: typing.Optional[typing.List[SurchargeType]] = jstruct.JList[SurchargeType]
|
|
79
|
+
totalCharge: typing.Optional[int] = None
|
|
80
|
+
processingFees: typing.Optional[int] = None
|
|
81
|
+
taxes: typing.Optional[typing.List[SurchargeType]] = jstruct.JList[SurchargeType]
|
|
82
|
+
totalChargedAmount: typing.Optional[int] = None
|
|
83
|
+
currency: typing.Optional[str] = None
|
|
84
|
+
carrierLogo: typing.Optional[str] = None
|
|
85
|
+
id: typing.Optional[str] = None
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
@attr.s(auto_attribs=True)
|
|
89
|
+
class ReferenceType:
|
|
90
|
+
code: typing.Optional[str] = None
|
|
91
|
+
name: typing.Optional[str] = None
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
@attr.s(auto_attribs=True)
|
|
95
|
+
class ShippingResponseType:
|
|
96
|
+
order: typing.Optional[OrderType] = jstruct.JStruct[OrderType]
|
|
97
|
+
carrier: typing.Optional[CarrierType] = jstruct.JStruct[CarrierType]
|
|
98
|
+
reference: typing.Optional[ReferenceType] = jstruct.JStruct[ReferenceType]
|
|
99
|
+
reference2: typing.Optional[ReferenceType] = jstruct.JStruct[ReferenceType]
|
|
100
|
+
reference3: typing.Optional[ReferenceType] = jstruct.JStruct[ReferenceType]
|
|
101
|
+
transactionId: typing.Optional[str] = None
|
|
102
|
+
billingReference: typing.Optional[str] = None
|
|
103
|
+
packages: typing.Optional[typing.List[PackageType]] = jstruct.JList[PackageType]
|
|
104
|
+
trackingUrl: typing.Optional[str] = None
|
|
105
|
+
brandedTrackingUrl: typing.Optional[str] = None
|
|
106
|
+
trackingNumber: typing.Optional[str] = None
|
|
107
|
+
labelData: typing.Optional[LabelDataType] = jstruct.JStruct[LabelDataType]
|
|
108
|
+
customsInvoice: typing.Optional[CustomsInvoiceType] = jstruct.JStruct[CustomsInvoiceType]
|
|
109
|
+
pickup: typing.Optional[PickupType] = jstruct.JStruct[PickupType]
|
|
110
|
+
packingSlip: typing.Optional[str] = None
|
|
111
|
+
quote: typing.Optional[QuoteType] = jstruct.JStruct[QuoteType]
|
|
112
|
+
billing: typing.Optional[BillingType] = jstruct.JStruct[BillingType]
|
|
113
|
+
returnShipment: typing.Optional[str] = None
|
|
114
|
+
message: typing.Optional[str] = None
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import attr
|
|
2
|
+
import jstruct
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@attr.s(auto_attribs=True)
|
|
7
|
+
class AdditionalPropType:
|
|
8
|
+
pass
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@attr.s(auto_attribs=True)
|
|
12
|
+
class DataType:
|
|
13
|
+
empty: typing.Optional[bool] = None
|
|
14
|
+
additionalProp1: typing.Optional[AdditionalPropType] = jstruct.JStruct[AdditionalPropType]
|
|
15
|
+
additionalProp2: typing.Optional[AdditionalPropType] = jstruct.JStruct[AdditionalPropType]
|
|
16
|
+
additionalProp3: typing.Optional[AdditionalPropType] = jstruct.JStruct[AdditionalPropType]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@attr.s(auto_attribs=True)
|
|
20
|
+
class OriginalEventType:
|
|
21
|
+
name: typing.Optional[str] = None
|
|
22
|
+
identifier: typing.Optional[str] = None
|
|
23
|
+
eventDate: typing.Optional[str] = None
|
|
24
|
+
eventLocation: typing.Optional[str] = None
|
|
25
|
+
data: typing.Optional[DataType] = jstruct.JStruct[DataType]
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
@attr.s(auto_attribs=True)
|
|
29
|
+
class EventType:
|
|
30
|
+
dateTime: typing.Optional[str] = None
|
|
31
|
+
description: typing.Optional[str] = None
|
|
32
|
+
location: typing.Optional[str] = None
|
|
33
|
+
proofOfDelivery: typing.Optional[str] = None
|
|
34
|
+
postalCode: typing.Optional[str] = None
|
|
35
|
+
additionalInformation: typing.Optional[str] = None
|
|
36
|
+
originalEvent: typing.Optional[OriginalEventType] = jstruct.JStruct[OriginalEventType]
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
@attr.s(auto_attribs=True)
|
|
40
|
+
class ShipmentStatusType:
|
|
41
|
+
labelGenerated: typing.Optional[bool] = None
|
|
42
|
+
reachedAtWarehouse: typing.Optional[bool] = None
|
|
43
|
+
inTransit: typing.Optional[bool] = None
|
|
44
|
+
delivered: typing.Optional[bool] = None
|
|
45
|
+
exception: typing.Optional[bool] = None
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
@attr.s(auto_attribs=True)
|
|
49
|
+
class TrackingResponseElementType:
|
|
50
|
+
eventTime: typing.Optional[str] = None
|
|
51
|
+
shipDate: typing.Optional[str] = None
|
|
52
|
+
carrierName: typing.Optional[str] = None
|
|
53
|
+
carrierService: typing.Optional[str] = None
|
|
54
|
+
trackingUrl: typing.Optional[str] = None
|
|
55
|
+
trackingNumber: typing.Optional[str] = None
|
|
56
|
+
referenceCodes: typing.Optional[typing.List[str]] = None
|
|
57
|
+
expectedDeliveryDate: typing.Optional[str] = None
|
|
58
|
+
currentStatus: typing.Optional[str] = None
|
|
59
|
+
shipmentStatus: typing.Optional[ShipmentStatusType] = jstruct.JStruct[ShipmentStatusType]
|
|
60
|
+
orderId: typing.Optional[str] = None
|
|
61
|
+
eventId: typing.Optional[str] = None
|
|
62
|
+
event: typing.Optional[typing.List[EventType]] = jstruct.JList[EventType]
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: karrio_eshipper
|
|
3
|
+
Version: 2025.5rc1
|
|
4
|
+
Summary: Karrio - eShipper Shipping Extension
|
|
5
|
+
Author-email: karrio <hello@karrio.io>
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://github.com/karrioapi/karrio
|
|
8
|
+
Classifier: Intended Audience :: Developers
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Requires-Python: >=3.7
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
Requires-Dist: karrio
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
# karrio.eshipper
|
|
17
|
+
|
|
18
|
+
This package is a eShipper extension of the [karrio](https://pypi.org/project/karrio) multi carrier shipping SDK.
|
|
19
|
+
|
|
20
|
+
## Requirements
|
|
21
|
+
|
|
22
|
+
`Python 3.7+`
|
|
23
|
+
|
|
24
|
+
## Installation
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
pip install karrio.eshipper
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Usage
|
|
31
|
+
|
|
32
|
+
```python
|
|
33
|
+
import karrio.sdk as karrio
|
|
34
|
+
from karrio.mappers.eshipper.settings import Settings
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
# Initialize a carrier gateway
|
|
38
|
+
eshipper = karrio.gateway["eshipper"].create(
|
|
39
|
+
Settings(
|
|
40
|
+
...
|
|
41
|
+
)
|
|
42
|
+
)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Check the [Karrio Mutli-carrier SDK docs](https://docs.karrio.io) for Shipping API requests
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
karrio/mappers/eshipper/__init__.py,sha256=klSnHWetpSpOBsj7OgncePwLbSK1etgRQN_PZSK2pUo,152
|
|
2
|
+
karrio/mappers/eshipper/mapper.py,sha256=oFs6tqFI9vbm13sh8hHoZVxA2VrnqdaixOxeB9nnJeY,1969
|
|
3
|
+
karrio/mappers/eshipper/proxy.py,sha256=ZLOXHxgGPSVkitCqHJRFeRWpqjcFY01xVEuL2yz4dd8,2350
|
|
4
|
+
karrio/mappers/eshipper/settings.py,sha256=ZN7DTMBMTC_JtOgUFQ2UNCyU5j-VUfv2us_F90fL1jw,491
|
|
5
|
+
karrio/plugins/eshipper/__init__.py,sha256=v5cNriCwL5R2QR5x6Iki23CcBGPmGmH8zEL5j02u9Ko,448
|
|
6
|
+
karrio/providers/eshipper/__init__.py,sha256=Y9vKPYScbmFvM17L-x52m_yLLiG6WsX9j6o4NIERBMU,400
|
|
7
|
+
karrio/providers/eshipper/error.py,sha256=7OEhN2rFRlzoBKsjXj7AEe7DpYKg9hlossXnWaSmtbg,1524
|
|
8
|
+
karrio/providers/eshipper/metadata.json,sha256=KBae69ntmCIkZ0dKrAX0vjkm1CyE9UwvIstt7mLrq4M,369526
|
|
9
|
+
karrio/providers/eshipper/rate.py,sha256=0IbYJGPy3ff92KvKhaJhDHrPUjti4BYrCdMz_at7pGo,7210
|
|
10
|
+
karrio/providers/eshipper/tracking.py,sha256=46DVFj8iMLWSsi0f5irTzFpH0uArZtya4eyYh5LkdFQ,2452
|
|
11
|
+
karrio/providers/eshipper/units.py,sha256=CTi0NbWEpVc-GwPEKrtGVR7VEEV9Ij0odaQTUacwgyc,9658
|
|
12
|
+
karrio/providers/eshipper/utils.py,sha256=kvFkCL1aSAn8gAp3GbKuyPoz0ceVwvsJ0FfgRbjJ0Kw,2187
|
|
13
|
+
karrio/providers/eshipper/shipment/__init__.py,sha256=oPCX3bykNDVeczan1tbmSpuOtFYTtd6h8J9otYVDQqQ,233
|
|
14
|
+
karrio/providers/eshipper/shipment/cancel.py,sha256=vdxMmK7AmI-xOn62NlaMzCCKQ8CBql8QBVPft0VQWn0,1317
|
|
15
|
+
karrio/providers/eshipper/shipment/create.py,sha256=jL4RWdtYOmpofcGVYn-7l2rstMvXK-DKoIAe_TjCBkY,11632
|
|
16
|
+
karrio/schemas/eshipper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
+
karrio/schemas/eshipper/cancel_request.py,sha256=mGMmVxCEwUhWyw-XkK4wsHZ4OQ34e6Dnc0JxBU1CixQ,334
|
|
18
|
+
karrio/schemas/eshipper/cancel_response.py,sha256=yLJe8qk71gy6GVGZ07ylBIomYFLUChZx9GDyJ3XzEsA,346
|
|
19
|
+
karrio/schemas/eshipper/error_response.py,sha256=WGpwDvSOpZBdPHUM1UJIgFYtjoMT9aotSNJZn5OSO9o,611
|
|
20
|
+
karrio/schemas/eshipper/pickup_cancel_response.py,sha256=udGocMGnRfqPI_cHB-iBANCN-lwkFoutkloTj6-Kkq0,183
|
|
21
|
+
karrio/schemas/eshipper/pickup_request.py,sha256=eRwBO75JPI3zBffl1PFqg2R_XNyMW9TCAymp-nEWmvs,897
|
|
22
|
+
karrio/schemas/eshipper/pickup_response.py,sha256=1er0GlXPcZ_U3LVsw90Lr6ZJ5o_7xqYiU-lGhhvZ8r8,376
|
|
23
|
+
karrio/schemas/eshipper/rate_request.py,sha256=Kmr1gWS6tu7WuJMxlQKBfX5YSZzYKZtmUw-hK5FRyco,6626
|
|
24
|
+
karrio/schemas/eshipper/rate_response.py,sha256=fO6Hf4SRPlBSSNN4i7hgZM8Ak0nsVT7s_RHXwu9C4J8,1330
|
|
25
|
+
karrio/schemas/eshipper/shipping_request.py,sha256=OrqSutwyzTj-iau3LDPJUEGBRzzV9zt4UOFnv48ZyIg,6760
|
|
26
|
+
karrio/schemas/eshipper/shipping_response.py,sha256=RdMXh9goyTrH2qdU_5KMDIAWAEDzMchy_e5f45k-zxs,3892
|
|
27
|
+
karrio/schemas/eshipper/tracking_request.py,sha256=EAE7PJFp2rTYCXMQJ6Kg-hMs3vL-GSTFjhHvzSmMzPg,252
|
|
28
|
+
karrio/schemas/eshipper/tracking_response.py,sha256=2m9doy3y5f6zdA-gbNfsw8rp0oqs3eYrgw8Por_1fjE,2219
|
|
29
|
+
karrio_eshipper-2025.5rc1.dist-info/METADATA,sha256=DnEwUiNKOOnvgwqRdtF3P5uoiE0vC96LnQvvj2XlQ5o,1000
|
|
30
|
+
karrio_eshipper-2025.5rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
31
|
+
karrio_eshipper-2025.5rc1.dist-info/entry_points.txt,sha256=u9RQVmPE2uC3-aL85DnlIHdsHAWYkOnwTAfJvi2--DY,61
|
|
32
|
+
karrio_eshipper-2025.5rc1.dist-info/top_level.txt,sha256=FZCY8Nwft8oEGHdl--xku8P3TrnOxu5dETEU_fWpRSM,20
|
|
33
|
+
karrio_eshipper-2025.5rc1.dist-info/RECORD,,
|