aftership-tracking-sdk 12.0.0 → 13.0.0
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.
- checksums.yaml +4 -4
- data/Gemfile +0 -1
- data/README.md +146 -107
- data/aftership-tracking-sdk.gemspec +0 -1
- data/lib/aftership-tracking-sdk/api/courier.rb +46 -57
- data/lib/aftership-tracking-sdk/api/courier_connection.rb +105 -131
- data/lib/aftership-tracking-sdk/api/estimated_delivery_date.rb +30 -44
- data/lib/aftership-tracking-sdk/api/tracking.rb +171 -208
- data/lib/aftership-tracking-sdk/api_client.rb +9 -34
- data/lib/aftership-tracking-sdk/configuration.rb +106 -108
- data/lib/aftership-tracking-sdk/error.rb +10 -18
- data/lib/aftership-tracking-sdk/models/additional_fields.rb +1 -2
- data/lib/aftership-tracking-sdk/models/checkpoint.rb +23 -25
- data/lib/aftership-tracking-sdk/models/{coordinate_checkpoint.rb → checkpoint_coordinate.rb} +4 -6
- data/lib/aftership-tracking-sdk/models/{events_checkpoint.rb → checkpoint_events.rb} +6 -8
- data/lib/aftership-tracking-sdk/models/{reason_events_checkpoint.rb → checkpoint_events_reason.rb} +3 -5
- data/lib/aftership-tracking-sdk/models/checkpoint_source.rb +26 -0
- data/lib/aftership-tracking-sdk/models/courier.rb +17 -19
- data/lib/aftership-tracking-sdk/models/courier_connection.rb +5 -7
- data/lib/aftership-tracking-sdk/models/courier_connection_response_for_get_courier_connections.rb +4 -6
- data/lib/aftership-tracking-sdk/models/{data_courier_connection_response_for_get_courier_connections.rb → courier_connection_response_for_get_courier_connections_data.rb} +6 -8
- data/lib/aftership-tracking-sdk/models/{pagination_data_courier_connection_response_for_get_courier_connections.rb → courier_connection_response_for_get_courier_connections_data_pagination.rb} +5 -7
- data/lib/aftership-tracking-sdk/models/{credentials_courier.rb → courier_credentials.rb} +3 -5
- data/lib/aftership-tracking-sdk/models/courier_response.rb +4 -6
- data/lib/aftership-tracking-sdk/models/{data_courier_response.rb → courier_response_data.rb} +4 -6
- data/lib/aftership-tracking-sdk/models/create_tracking_request.rb +44 -46
- data/lib/aftership-tracking-sdk/models/{customers_create_tracking_request.rb → create_tracking_request_customers.rb} +7 -9
- data/lib/aftership-tracking-sdk/models/create_tracking_request_delivery_type.rb +27 -0
- data/lib/aftership-tracking-sdk/models/{last_mile_create_tracking_request.rb → create_tracking_request_last_mile.rb} +4 -6
- data/lib/aftership-tracking-sdk/models/create_tracking_response.rb +3 -887
- data/lib/aftership-tracking-sdk/models/credential_field.rb +3 -5
- data/lib/aftership-tracking-sdk/models/delete_courier_connections_by_id_response.rb +3 -187
- data/lib/aftership-tracking-sdk/models/delete_tracking_by_id_response.rb +3 -887
- data/lib/aftership-tracking-sdk/models/detect_courier_request.rb +12 -14
- data/lib/aftership-tracking-sdk/models/detect_courier_response.rb +3 -157
- data/lib/aftership-tracking-sdk/models/detect_courier_response_data.rb +161 -0
- data/lib/aftership-tracking-sdk/models/estimated_delivery_date_request.rb +16 -18
- data/lib/aftership-tracking-sdk/models/{destination_address_predict_request.rb → estimated_delivery_date_request_destination_address.rb} +7 -9
- data/lib/aftership-tracking-sdk/models/{estimated_pickup_predict_request.rb → estimated_delivery_date_request_estimated_pickup.rb} +8 -10
- data/lib/aftership-tracking-sdk/models/{order_processing_time_estimated_pickup_predict_request.rb → estimated_delivery_date_request_estimated_pickup_order_processing_time.rb} +4 -6
- data/lib/aftership-tracking-sdk/models/{origin_address_predict_request.rb → estimated_delivery_date_request_origin_address.rb} +7 -9
- data/lib/aftership-tracking-sdk/models/{weight_estimated_delivery_date_request.rb → estimated_delivery_date_request_weight.rb} +4 -6
- data/lib/aftership-tracking-sdk/models/estimated_delivery_date_response.rb +21 -23
- data/lib/aftership-tracking-sdk/models/{destination_address_predict_response.rb → estimated_delivery_date_response_destination_address.rb} +7 -9
- data/lib/aftership-tracking-sdk/models/{estimated_pickup_predict_response.rb → estimated_delivery_date_response_estimated_pickup.rb} +9 -11
- data/lib/aftership-tracking-sdk/models/{order_processing_time_estimated_pickup_predict_response.rb → estimated_delivery_date_response_estimated_pickup_order_processing_time.rb} +4 -6
- data/lib/aftership-tracking-sdk/models/{origin_address_predict_response.rb → estimated_delivery_date_response_origin_address.rb} +7 -9
- data/lib/aftership-tracking-sdk/models/{weight_predict_response.rb → estimated_delivery_date_response_weight.rb} +4 -6
- data/lib/aftership-tracking-sdk/models/get_courier_connections_by_id_response.rb +3 -187
- data/lib/aftership-tracking-sdk/models/get_courier_connections_response.rb +3 -157
- data/lib/aftership-tracking-sdk/models/{carbon_emissions_mark_tracking_completed_by_id_response.rb → get_courier_connections_response_data.rb} +18 -20
- data/lib/aftership-tracking-sdk/models/{pagination_get_courier_connections_response.rb → get_courier_connections_response_data_pagination.rb} +5 -7
- data/lib/aftership-tracking-sdk/models/get_couriers_response.rb +3 -157
- data/lib/aftership-tracking-sdk/models/get_couriers_response_data.rb +161 -0
- data/lib/aftership-tracking-sdk/models/get_tracking_by_id_response.rb +3 -887
- data/lib/aftership-tracking-sdk/models/get_trackings_response.rb +3 -157
- data/lib/aftership-tracking-sdk/models/{carbon_emissions_delete_tracking_by_id_response.rb → get_trackings_response_data.rb} +18 -20
- data/lib/aftership-tracking-sdk/models/{pagination_get_trackings_response.rb → get_trackings_response_data_pagination.rb} +5 -7
- data/lib/aftership-tracking-sdk/models/mark_tracking_completed_by_id_request.rb +4 -6
- data/lib/aftership-tracking-sdk/models/mark_tracking_completed_by_id_request_reason.rb +27 -0
- data/lib/aftership-tracking-sdk/models/mark_tracking_completed_by_id_response.rb +3 -887
- data/lib/aftership-tracking-sdk/models/meta.rb +5 -7
- data/lib/aftership-tracking-sdk/models/meta_type.rb +30 -0
- data/lib/aftership-tracking-sdk/models/post_courier_connections_request.rb +2 -4
- data/lib/aftership-tracking-sdk/models/post_courier_connections_response.rb +3 -187
- data/lib/aftership-tracking-sdk/models/predict_batch_request.rb +1 -3
- data/lib/aftership-tracking-sdk/models/predict_batch_response.rb +3 -147
- data/lib/aftership-tracking-sdk/models/{weight_predict_request.rb → predict_batch_response_data.rb} +10 -22
- data/lib/aftership-tracking-sdk/models/predict_response.rb +3 -267
- data/lib/aftership-tracking-sdk/models/put_courier_connections_by_id_request.rb +1 -3
- data/lib/aftership-tracking-sdk/models/put_courier_connections_by_id_response.rb +3 -187
- data/lib/aftership-tracking-sdk/models/retrack_tracking_by_id_response.rb +3 -887
- data/lib/aftership-tracking-sdk/models/tag.rb +6 -7
- data/lib/aftership-tracking-sdk/models/tracking.rb +97 -99
- data/lib/aftership-tracking-sdk/models/{aftership_estimated_delivery_date_tracking.rb → tracking_aftership_estimated_delivery_date.rb} +6 -8
- data/lib/aftership-tracking-sdk/models/{carbon_emissions_tracking.rb → tracking_carbon_emissions.rb} +4 -6
- data/lib/aftership-tracking-sdk/models/{courier_estimated_delivery_date_tracking.rb → tracking_courier_estimated_delivery_date.rb} +5 -7
- data/lib/aftership-tracking-sdk/models/{custom_estimated_delivery_date_create_tracking_response.rb → tracking_custom_estimated_delivery_date.rb} +8 -10
- data/lib/aftership-tracking-sdk/models/tracking_custom_estimated_delivery_date_type.rb +26 -0
- data/lib/aftership-tracking-sdk/models/{customers_tracking.rb → tracking_customers.rb} +7 -9
- data/lib/aftership-tracking-sdk/models/{first_estimated_delivery_tracking.rb → tracking_first_estimated_delivery.rb} +11 -13
- data/lib/aftership-tracking-sdk/models/tracking_first_estimated_delivery_source.rb +28 -0
- data/lib/aftership-tracking-sdk/models/tracking_first_estimated_delivery_type.rb +26 -0
- data/lib/aftership-tracking-sdk/models/{first_mile_tracking.rb → tracking_first_mile.rb} +7 -9
- data/lib/aftership-tracking-sdk/models/{last_mile_tracking.rb → tracking_last_mile.rb} +10 -12
- data/lib/aftership-tracking-sdk/models/tracking_last_mile_source.rb +26 -0
- data/lib/aftership-tracking-sdk/models/{latest_estimated_delivery_tracking.rb → tracking_latest_estimated_delivery.rb} +12 -14
- data/lib/aftership-tracking-sdk/models/tracking_latest_estimated_delivery_source.rb +28 -0
- data/lib/aftership-tracking-sdk/models/tracking_latest_estimated_delivery_type.rb +26 -0
- data/lib/aftership-tracking-sdk/models/tracking_response.rb +2 -4
- data/lib/aftership-tracking-sdk/models/tracking_response_for_get_trackings.rb +4 -6
- data/lib/aftership-tracking-sdk/models/{data_tracking_response_for_get_trackings.rb → tracking_response_for_get_trackings_data.rb} +6 -8
- data/lib/aftership-tracking-sdk/models/{pagination_data_tracking_response_for_get_trackings.rb → tracking_response_for_get_trackings_data_pagination.rb} +5 -7
- data/lib/aftership-tracking-sdk/models/{shipment_weight_tracking.rb → tracking_shipment_weight.rb} +4 -6
- data/lib/aftership-tracking-sdk/models/tracking_signature_requirement.rb +29 -0
- data/lib/aftership-tracking-sdk/models/update_tracking_by_id_request.rb +34 -36
- data/lib/aftership-tracking-sdk/models/{customers_update_tracking_by_id_request.rb → update_tracking_by_id_request_customers.rb} +7 -9
- data/lib/aftership-tracking-sdk/models/update_tracking_by_id_request_delivery_type.rb +27 -0
- data/lib/aftership-tracking-sdk/models/update_tracking_by_id_response.rb +3 -887
- data/lib/aftership-tracking-sdk/sign_string.rb +2 -2
- data/lib/aftership-tracking-sdk/version.rb +1 -1
- metadata +53 -109
- data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_create_tracking_response.rb +0 -183
- data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_delete_tracking_by_id_response.rb +0 -183
- data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_get_tracking_by_id_response.rb +0 -183
- data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_mark_tracking_completed_by_id_response.rb +0 -183
- data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_retrack_tracking_by_id_response.rb +0 -183
- data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_update_tracking_by_id_response.rb +0 -183
- data/lib/aftership-tracking-sdk/models/carbon_emissions_create_tracking_response.rb +0 -163
- data/lib/aftership-tracking-sdk/models/carbon_emissions_get_tracking_by_id_response.rb +0 -163
- data/lib/aftership-tracking-sdk/models/carbon_emissions_retrack_tracking_by_id_response.rb +0 -163
- data/lib/aftership-tracking-sdk/models/carbon_emissions_update_tracking_by_id_response.rb +0 -163
- data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_create_tracking_response.rb +0 -173
- data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_delete_tracking_by_id_response.rb +0 -173
- data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_get_tracking_by_id_response.rb +0 -173
- data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_mark_tracking_completed_by_id_response.rb +0 -173
- data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_retrack_tracking_by_id_response.rb +0 -173
- data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_update_tracking_by_id_response.rb +0 -173
- data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_delete_tracking_by_id_response.rb +0 -183
- data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_get_tracking_by_id_response.rb +0 -183
- data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_mark_tracking_completed_by_id_response.rb +0 -183
- data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_retrack_tracking_by_id_response.rb +0 -183
- data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_tracking.rb +0 -183
- data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_update_tracking_by_id_response.rb +0 -183
- data/lib/aftership-tracking-sdk/models/customers_create_tracking_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/customers_delete_tracking_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/customers_get_tracking_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/customers_mark_tracking_completed_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/customers_retrack_tracking_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/customers_update_tracking_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/destination_address_estimated_delivery_date_request.rb +0 -193
- data/lib/aftership-tracking-sdk/models/destination_address_estimated_delivery_date_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/estimated_pickup_estimated_delivery_date_request.rb +0 -183
- data/lib/aftership-tracking-sdk/models/estimated_pickup_estimated_delivery_date_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/first_estimated_delivery_create_tracking_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/first_estimated_delivery_delete_tracking_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/first_estimated_delivery_get_tracking_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/first_estimated_delivery_mark_tracking_completed_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/first_estimated_delivery_retrack_tracking_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/first_estimated_delivery_update_tracking_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/first_mile_create_tracking_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/first_mile_delete_tracking_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/first_mile_get_tracking_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/first_mile_mark_tracking_completed_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/first_mile_retrack_tracking_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/first_mile_update_tracking_by_id_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/last_mile_create_tracking_response.rb +0 -203
- data/lib/aftership-tracking-sdk/models/last_mile_delete_tracking_by_id_response.rb +0 -203
- data/lib/aftership-tracking-sdk/models/last_mile_get_tracking_by_id_response.rb +0 -203
- data/lib/aftership-tracking-sdk/models/last_mile_mark_tracking_completed_by_id_response.rb +0 -203
- data/lib/aftership-tracking-sdk/models/last_mile_retrack_tracking_by_id_response.rb +0 -203
- data/lib/aftership-tracking-sdk/models/last_mile_update_tracking_by_id_response.rb +0 -203
- data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_create_tracking_response.rb +0 -203
- data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_delete_tracking_by_id_response.rb +0 -203
- data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_get_tracking_by_id_response.rb +0 -203
- data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_mark_tracking_completed_by_id_response.rb +0 -203
- data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_retrack_tracking_by_id_response.rb +0 -203
- data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_update_tracking_by_id_response.rb +0 -203
- data/lib/aftership-tracking-sdk/models/order_processing_time_estimated_pickup_estimated_delivery_date_request.rb +0 -163
- data/lib/aftership-tracking-sdk/models/order_processing_time_estimated_pickup_estimated_delivery_date_response.rb +0 -163
- data/lib/aftership-tracking-sdk/models/origin_address_estimated_delivery_date_request.rb +0 -193
- data/lib/aftership-tracking-sdk/models/origin_address_estimated_delivery_date_response.rb +0 -193
- data/lib/aftership-tracking-sdk/models/pagination.rb +0 -164
- data/lib/aftership-tracking-sdk/models/predict_request.rb +0 -223
- data/lib/aftership-tracking-sdk/models/shipment_weight_create_tracking_response.rb +0 -163
- data/lib/aftership-tracking-sdk/models/shipment_weight_delete_tracking_by_id_response.rb +0 -163
- data/lib/aftership-tracking-sdk/models/shipment_weight_get_tracking_by_id_response.rb +0 -163
- data/lib/aftership-tracking-sdk/models/shipment_weight_mark_tracking_completed_by_id_response.rb +0 -163
- data/lib/aftership-tracking-sdk/models/shipment_weight_retrack_tracking_by_id_response.rb +0 -163
- data/lib/aftership-tracking-sdk/models/shipment_weight_update_tracking_by_id_response.rb +0 -163
- data/lib/aftership-tracking-sdk/models/slug_group.rb +0 -37
- data/lib/aftership-tracking-sdk/models/weight_estimated_delivery_date_response.rb +0 -163
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 797c70d4a91c7d50a97997267ad8f6b6f55781ba87962d10e8932683b4f79ad2
|
4
|
+
data.tar.gz: 20180484c5f2e18da713f51404fa4742718b5aebb51c92d5a207ca293e0f2eb3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af4839a8968503bdd46f74a51f7644b515fec28f41159d4dd2edbf1c2297e3082049ddc510d64b6865b34dd506aef51672f821994a8365b649bb8b3986691765
|
7
|
+
data.tar.gz: c3c754e064f3ffb5ade7d5215d135ce1af92a325ffd5e8947fbe189f1026f636a134fc3500f38ced6023649d7b1d63bb6f82284c02dfc062c8fb669102f38ea2
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -36,21 +36,10 @@ Before you begin to integrate:
|
|
36
36
|
- [Create an API key](https://organization.automizely.com/api-keys).
|
37
37
|
- [Install Ruby](https://www.ruby-lang.org/en/) version Ruby 2.7 or later.
|
38
38
|
|
39
|
-
|
40
39
|
### API and SDK Version
|
41
40
|
|
42
|
-
|
43
|
-
|
44
|
-
| SDK Version | Supported API Version | Branch |
|
45
|
-
| ----------- | --------------------- | ----------------------------------------------------------- |
|
46
|
-
| 12.x.x | 2025-07 | https://github.com/AfterShip/tracking-sdk-ruby/tree/2025-07 |
|
47
|
-
| 11.x.x | 2025-04 | https://github.com/AfterShip/tracking-sdk-ruby/tree/2025-04 |
|
48
|
-
| 10.x.x | 2025-01 | https://github.com/AfterShip/tracking-sdk-ruby/tree/2025-01 |
|
49
|
-
| 9.x.x | 2024-10 | https://github.com/AfterShip/tracking-sdk-ruby/tree/2024-10 |
|
50
|
-
| 8.x.x | 2024-07 | https://github.com/AfterShip/tracking-sdk-ruby/tree/2024-07 |
|
51
|
-
| 7.x.x | 2024-04 | https://github.com/AfterShip/tracking-sdk-ruby/tree/2024-04 |
|
52
|
-
| <=6.x.x | Legacy API | https://github.com/AfterShip/aftership-sdk-ruby |
|
53
|
-
|
41
|
+
- SDK Version:
|
42
|
+
- API Version: 2025-07
|
54
43
|
## Quick Start
|
55
44
|
|
56
45
|
### Installation
|
@@ -61,7 +50,7 @@ gem install aftership-tracking-sdk
|
|
61
50
|
Or add a line to your Gemfile
|
62
51
|
|
63
52
|
```bash
|
64
|
-
gem 'aftership-tracking-sdk', '~>
|
53
|
+
gem 'aftership-tracking-sdk', '~> 13.0.0'
|
65
54
|
```
|
66
55
|
|
67
56
|
## Constructor
|
@@ -85,20 +74,20 @@ Create AfterShip instance with options
|
|
85
74
|
require 'aftership-tracking-sdk'
|
86
75
|
|
87
76
|
AftershipAPI.configure do |config|
|
88
|
-
|
77
|
+
config.as_api_key = "YOUR_API_KEY"
|
89
78
|
end
|
90
79
|
|
91
80
|
begin
|
92
|
-
|
93
|
-
|
81
|
+
response = AftershipAPI::Tracking.get_tracking_by_id(id:"valid_value", )
|
82
|
+
p response
|
94
83
|
rescue AftershipAPI::ApiError => e
|
95
|
-
|
84
|
+
p e.message
|
96
85
|
end
|
97
86
|
```
|
98
87
|
|
99
88
|
## Rate Limiter
|
100
89
|
|
101
|
-
See the [Rate Limit](https://www.aftership.com/docs/tracking/
|
90
|
+
See the [Rate Limit](https://www.aftership.com/docs/tracking/quickstart/rate-limit) to understand the AfterShip rate limit policy.
|
102
91
|
|
103
92
|
## Error Handling
|
104
93
|
|
@@ -111,150 +100,200 @@ The SDK will return an error object when there is any error during the request,
|
|
111
100
|
| meta_code | number | API response meta code. |
|
112
101
|
| status_code | number | HTTP status code. |
|
113
102
|
| response_body | string | API response body. |
|
114
|
-
|
|
103
|
+
| response_header | object | API response header. |
|
104
|
+
|
115
105
|
|
116
106
|
### Error List
|
117
107
|
|
118
108
|
| code | meta_code | status_code | message |
|
119
109
|
| --------------------------------- | --------------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
120
|
-
| INVALID_REQUEST
|
121
|
-
| INVALID_JSON
|
122
|
-
| TRACKING_ALREADY_EXIST
|
123
|
-
| TRACKING_DOES_NOT_EXIST
|
124
|
-
| TRACKING_NUMBER_INVALID
|
125
|
-
| TRACKING_REQUIRED
|
126
|
-
| TRACKING_NUMBER_REQUIRED
|
127
|
-
| VALUE_INVALID
|
128
|
-
| VALUE_REQUIRED
|
129
|
-
| SLUG_INVALID
|
130
|
-
| MISSING_OR_INVALID_REQUIRED_FIELD | 4011
|
131
|
-
| BAD_COURIER
|
132
|
-
| INACTIVE_RETRACK_NOT_ALLOWED
|
133
|
-
|
|
134
|
-
| ID_INVALID
|
135
|
-
| RETRACK_ONCE_ALLOWED
|
136
|
-
| TRACKING_NUMBER_FORMAT_INVALID
|
137
|
-
| API_KEY_INVALID
|
138
|
-
| REQUEST_NOT_ALLOWED
|
139
|
-
| NOT_FOUND
|
140
|
-
| TOO_MANY_REQUEST
|
141
|
-
| INTERNAL_ERROR
|
110
|
+
| INVALID_REQUEST | 400 | 400 | The request was invalid or cannot be otherwise served. | |
|
111
|
+
| INVALID_JSON | 4001 | 400 | Invalid JSON data. | |
|
112
|
+
| TRACKING_ALREADY_EXIST | 4003 | 400 | Tracking already exists. | |
|
113
|
+
| TRACKING_DOES_NOT_EXIST | 4004 | 404 | Tracking does not exist. | |
|
114
|
+
| TRACKING_NUMBER_INVALID | 4005 | 400 | The value of tracking_number is invalid. | |
|
115
|
+
| TRACKING_REQUIRED | 4006 | 400 | tracking object is required. | |
|
116
|
+
| TRACKING_NUMBER_REQUIRED | 4007 | 400 | tracking_number is required. | |
|
117
|
+
| VALUE_INVALID | 4008 | 400 | The value of [field_name] is invalid. | |
|
118
|
+
| VALUE_REQUIRED | 4009 | 400 | [field_name] is required. | |
|
119
|
+
| SLUG_INVALID | 4010 | 400 | The value of slug is invalid. | |
|
120
|
+
| MISSING_OR_INVALID_REQUIRED_FIELD | 4011 | 400 | Missing or invalid value of the required fields for this courier. Besides tracking_number, also required: [field_name] | |
|
121
|
+
| BAD_COURIER | 4012 | 400 | The error message will be one of the following:1. Unable to import shipment as the carrier is not on your approved list for carrier auto-detection. Add the carrier here: https://admin.aftership.com/settings/couriers2. Unable to import shipment as we don't recognize the carrier from this tracking number.3. Unable to import shipment as the tracking number has an invalid format.4. Unable to import shipment as this carrier is no longer supported.5. Unable to import shipment as the tracking number does not belong to a carrier in that group. | |
|
122
|
+
| INACTIVE_RETRACK_NOT_ALLOWED | 4013 | 400 | Retrack is not allowed. You can only retrack an inactive tracking. | |
|
123
|
+
| NOTIFICATION_REQUIRED | 4014 | 400 | notification object is required. | |
|
124
|
+
| ID_INVALID | 4015 | 400 | The value of id is invalid. | |
|
125
|
+
| RETRACK_ONCE_ALLOWED | 4016 | 400 | Retrack is not allowed. You can only retrack each shipment once. | |
|
126
|
+
| TRACKING_NUMBER_FORMAT_INVALID | 4017 | 400 | The format of tracking_number is invalid. | |
|
127
|
+
| API_KEY_INVALID | 401 | 401 | The API Key is invalid. | |
|
128
|
+
| REQUEST_NOT_ALLOWED | 403 | 403 | The request is understood, but it has been refused or access is not allowed. | |
|
129
|
+
| NOT_FOUND | 404 | 404 | The URI requested is invalid or the resource requested does not exist. | |
|
130
|
+
| TOO_MANY_REQUEST | 429 | 429 | You have exceeded the API call rate limit. The default limit is 10 requests per second. | |
|
131
|
+
| INTERNAL_ERROR | 500 | 500 | Something went wrong on AfterShip's end. | |
|
132
|
+
| INTERNAL_ERROR | 502 | 502 | Something went wrong on AfterShip's end. | |
|
133
|
+
| INTERNAL_ERROR | 503 | 503 | Something went wrong on AfterShip's end. | |
|
134
|
+
| INTERNAL_ERROR | 504 | 504 | Something went wrong on AfterShip's end. | |
|
135
|
+
|
|
142
136
|
|
143
137
|
## Endpoints
|
144
138
|
|
145
|
-
The AfterShip
|
146
|
-
|
147
|
-
-
|
148
|
-
-
|
149
|
-
-
|
150
|
-
-
|
151
|
-
|
139
|
+
The AfterShip SDK has the following resource which are exactly the same as the API endpoints:
|
140
|
+
|
141
|
+
- trackingResource
|
142
|
+
- Get trackings
|
143
|
+
- Create a tracking
|
144
|
+
- Get a tracking by ID
|
145
|
+
- Update a tracking by ID
|
146
|
+
- Delete a tracking by ID
|
147
|
+
- Retrack an expired tracking by ID
|
148
|
+
- Mark tracking as completed by ID
|
149
|
+
- courierResource
|
150
|
+
- Get couriers
|
151
|
+
- Detect courier
|
152
|
+
- courierConnectionResource
|
153
|
+
- Get courier connections
|
154
|
+
- Create courier connections
|
155
|
+
- Get courier connection by id
|
156
|
+
- Update courier connection by id
|
157
|
+
- Delete courier connection by id
|
158
|
+
- estimatedDeliveryDateResource
|
159
|
+
- Prediction for the Estimated Delivery Date
|
160
|
+
- Batch prediction for the Estimated Delivery Date
|
152
161
|
|
153
162
|
### /trackings
|
154
|
-
|
155
|
-
**POST** /trackings
|
163
|
+
**GET** /trackings
|
156
164
|
|
157
165
|
```ruby
|
158
|
-
|
159
|
-
|
160
|
-
req.tracking_number = "<tracking_number>"
|
161
|
-
req.slug = "<slug>"
|
162
|
-
|
163
|
-
resp = AftershipAPI::Tracking.create_tracking(body: req)
|
164
|
-
p resp
|
165
|
-
rescue AftershipAPI::ApiError => e
|
166
|
-
p e.message
|
167
|
-
end
|
166
|
+
response = AftershipAPI::Tracking.get_trackings()
|
167
|
+
p response
|
168
168
|
```
|
169
169
|
|
170
|
-
**
|
170
|
+
**POST** /trackings
|
171
171
|
|
172
172
|
```ruby
|
173
|
-
|
174
|
-
|
173
|
+
request = AftershipAPI::Model::CreateTrackingRequest.new
|
174
|
+
request.tracking_number = "valid_value"
|
175
|
+
response = AftershipAPI::Tracking.create_tracking(body: request)
|
176
|
+
p response
|
175
177
|
```
|
176
178
|
|
177
|
-
**GET** /trackings
|
179
|
+
**GET** /trackings/{id}
|
178
180
|
|
179
181
|
```ruby
|
180
|
-
|
181
|
-
p
|
182
|
+
response = AftershipAPI::Tracking.get_tracking_by_id(id:"valid_value", )
|
183
|
+
p response
|
182
184
|
```
|
183
185
|
|
184
|
-
**
|
186
|
+
**PUT** /trackings/{id}
|
185
187
|
|
186
188
|
```ruby
|
187
|
-
|
188
|
-
|
189
|
+
request = AftershipAPI::Model::UpdateTrackingByIdRequest.new
|
190
|
+
response = AftershipAPI::Tracking.update_tracking_by_id(id:"valid_value", body: request)
|
191
|
+
p response
|
189
192
|
```
|
190
193
|
|
191
|
-
**
|
194
|
+
**DELETE** /trackings/{id}
|
192
195
|
|
193
196
|
```ruby
|
194
|
-
|
195
|
-
|
196
|
-
resp = AftershipAPI::Tracking.update_tracking_by_id(id: "<tracking_id>", body: req)
|
197
|
-
p resp.to_json
|
197
|
+
response = AftershipAPI::Tracking.delete_tracking_by_id(id:"valid_value", )
|
198
|
+
p response
|
198
199
|
```
|
199
200
|
|
200
|
-
**POST** /trackings
|
201
|
+
**POST** /trackings/{id}/retrack
|
201
202
|
|
202
203
|
```ruby
|
203
|
-
|
204
|
-
p
|
204
|
+
response = AftershipAPI::Tracking.retrack_tracking_by_id(id:"valid_value", )
|
205
|
+
p response
|
205
206
|
```
|
206
207
|
|
207
|
-
**POST** /trackings
|
208
|
+
**POST** /trackings/{id}/mark-as-completed
|
208
209
|
|
209
210
|
```ruby
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
p resp.to_json
|
211
|
+
request = AftershipAPI::Model::MarkTrackingCompletedByIdRequest.new
|
212
|
+
response = AftershipAPI::Tracking.mark_tracking_completed_by_id(id:"valid_value", body: request)
|
213
|
+
p response
|
214
214
|
```
|
215
215
|
|
216
216
|
### /couriers
|
217
217
|
**GET** /couriers
|
218
218
|
|
219
219
|
```ruby
|
220
|
-
|
221
|
-
p
|
220
|
+
response = AftershipAPI::Courier.get_couriers()
|
221
|
+
p response
|
222
222
|
```
|
223
223
|
|
224
224
|
**POST** /couriers/detect
|
225
225
|
|
226
226
|
```ruby
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
p
|
227
|
+
request = AftershipAPI::Model::DetectCourierRequest.new
|
228
|
+
request.tracking_number = "valid_value"
|
229
|
+
response = AftershipAPI::Courier.detect_courier(body: request)
|
230
|
+
p response
|
231
|
+
```
|
232
|
+
|
233
|
+
### /courier-connections
|
234
|
+
**GET** /courier-connections
|
235
|
+
|
236
|
+
```ruby
|
237
|
+
response = AftershipAPI::CourierConnection.get_courier_connections()
|
238
|
+
p response
|
239
|
+
```
|
240
|
+
|
241
|
+
**POST** /courier-connections
|
242
|
+
|
243
|
+
```ruby
|
244
|
+
request = AftershipAPI::Model::PostCourierConnectionsRequest.new
|
245
|
+
request.courier_slug = "valid_value"
|
246
|
+
request.credentials =
|
247
|
+
response = AftershipAPI::CourierConnection.post_courier_connections(body: request)
|
248
|
+
p response
|
249
|
+
```
|
250
|
+
|
251
|
+
**GET** /courier-connections/{id}
|
252
|
+
|
253
|
+
```ruby
|
254
|
+
response = AftershipAPI::CourierConnection.get_courier_connections_by_id(id:"valid_value", )
|
255
|
+
p response
|
256
|
+
```
|
257
|
+
|
258
|
+
**PATCH** /courier-connections/{id}
|
259
|
+
|
260
|
+
```ruby
|
261
|
+
request = AftershipAPI::Model::PutCourierConnectionsByIdRequest.new
|
262
|
+
request.credentials =
|
263
|
+
response = AftershipAPI::CourierConnection.put_courier_connections_by_id(id:"valid_value", body: request)
|
264
|
+
p response
|
265
|
+
```
|
266
|
+
|
267
|
+
**DELETE** /courier-connections/{id}
|
268
|
+
|
269
|
+
```ruby
|
270
|
+
response = AftershipAPI::CourierConnection.delete_courier_connections_by_id(id:"valid_value", )
|
271
|
+
p response
|
231
272
|
```
|
232
273
|
|
233
274
|
### /estimated-delivery-date
|
275
|
+
**POST** /estimated-delivery-date/predict
|
276
|
+
|
277
|
+
```ruby
|
278
|
+
request = AftershipAPI::Model::EstimatedDeliveryDateRequest.new
|
279
|
+
request.slug = "valid_value"
|
280
|
+
origin_address = AftershipAPI::Model::EstimatedDeliveryDateRequestOriginAddress.new
|
281
|
+
request.origin_address = origin_address
|
282
|
+
destination_address = AftershipAPI::Model::EstimatedDeliveryDateRequestDestinationAddress.new
|
283
|
+
request.destination_address = destination_address
|
284
|
+
response = AftershipAPI::EstimatedDeliveryDate.predict(body: request)
|
285
|
+
p response
|
286
|
+
```
|
234
287
|
|
235
288
|
**POST** /estimated-delivery-date/predict-batch
|
236
289
|
|
237
290
|
```ruby
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
origin = AftershipAPI::Model::OriginAddressEstimatedDeliveryDateRequest.new
|
242
|
-
origin.country = "<ISO 3166-1 country/region code>"
|
243
|
-
origin.state = "<ISO 3166-1 country/region code>"
|
244
|
-
|
245
|
-
dest = AftershipAPI::Model::DestinationAddressEstimatedDeliveryDateRequest.new
|
246
|
-
dest.country = "<ISO 3166-1 country/region code>"
|
247
|
-
dest.state = "<ISO 3166-1 country/region code>"
|
248
|
-
|
249
|
-
edd.origin_address = origin
|
250
|
-
edd.destination_address = dest
|
251
|
-
|
252
|
-
req = AftershipAPI::Model::PredictBatchRequest.new
|
253
|
-
req.estimated_delivery_dates = [edd]
|
254
|
-
resp = AftershipAPI::EstimatedDeliveryDate.predict_batch(body: req)
|
255
|
-
p resp.to_json
|
291
|
+
request = AftershipAPI::Model::PredictBatchRequest.new
|
292
|
+
response = AftershipAPI::EstimatedDeliveryDate.predict_batch(body: request)
|
293
|
+
p response
|
256
294
|
```
|
257
295
|
|
296
|
+
|
258
297
|
## Help
|
259
298
|
|
260
299
|
If you get stuck, we're here to help:
|
@@ -21,7 +21,6 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
|
22
22
|
|
23
23
|
s.files = `find *`.split("\n").uniq.sort.select { |f| !f.empty? }
|
24
|
-
s.test_files = `find spec/*`.split("\n")
|
25
24
|
s.executables = []
|
26
25
|
s.require_paths = ["lib"]
|
27
26
|
end
|
@@ -3,41 +3,33 @@
|
|
3
3
|
require 'cgi'
|
4
4
|
|
5
5
|
module AftershipAPI
|
6
|
-
class CourierApi
|
6
|
+
class CourierApi
|
7
7
|
attr_accessor :api_client
|
8
8
|
|
9
9
|
def initialize(api_client = ApiClient.default)
|
10
10
|
@api_client = api_client
|
11
11
|
end
|
12
12
|
|
13
|
-
#
|
14
|
-
# Return a list of
|
15
|
-
|
16
|
-
# @param body [Model::DetectCourierRequest]
|
13
|
+
# get_couriers
|
14
|
+
# Return a list of couriers.
|
17
15
|
# @param [Hash] opts the optional parameters
|
18
|
-
# @
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
end
|
23
|
-
opts[:body] = body
|
24
|
-
data, _status_code, _headers = detect_courier_with_http_info(opts: opts)
|
25
|
-
data
|
26
|
-
end
|
27
|
-
|
28
|
-
def detect_courier_with_http_info(opts: {})
|
16
|
+
# @option opts [Boolean] :active get user activated couriers
|
17
|
+
# @option opts [String] :slug Unique courier code Use comma for multiple values. (Example: dhl,ups,usps)
|
18
|
+
# @return [Model::GetCouriersResponse]
|
19
|
+
def get_couriers(opts: {})
|
29
20
|
if @api_client.config.debugging
|
30
|
-
@api_client.config.logger.debug 'Calling API: CourierApi.
|
21
|
+
@api_client.config.logger.debug 'Calling API: CourierApi.get_couriers ...'
|
31
22
|
end
|
32
23
|
|
33
24
|
|
34
|
-
|
35
25
|
# resource path
|
36
|
-
local_var_path = "/tracking/2025-07/couriers
|
37
|
-
method = :'
|
26
|
+
local_var_path = "/tracking/2025-07/couriers"
|
27
|
+
method = :'GET'
|
38
28
|
|
39
29
|
# query parameters
|
40
30
|
query_params = opts[:query_params] || {}
|
31
|
+
query_params[:'active'] = opts[:'active'] if !opts[:'active'].nil?
|
32
|
+
query_params[:'slug'] = opts[:'slug'] if !opts[:'slug'].nil?
|
41
33
|
# header parameters
|
42
34
|
header_params = opts[:header_params] || {}
|
43
35
|
|
@@ -45,51 +37,46 @@ module AftershipAPI
|
|
45
37
|
post_body = opts[:body]
|
46
38
|
|
47
39
|
# return_type
|
48
|
-
return_type = '
|
49
|
-
|
40
|
+
return_type = 'GetCouriersResponseData'
|
41
|
+
|
50
42
|
new_options = opts.merge(
|
51
|
-
:operation => :"CourierApi.
|
43
|
+
:operation => :"CourierApi.get_couriers",
|
52
44
|
:header_params => header_params,
|
53
45
|
:query_params => query_params,
|
54
46
|
:body => post_body,
|
55
|
-
:return_type => return_type
|
56
|
-
:response_legacy_tag => "",
|
57
|
-
:is_paging => false
|
47
|
+
:return_type => return_type
|
58
48
|
)
|
59
49
|
|
60
|
-
data,
|
50
|
+
data, _status_code, headers = @api_client.call_api(method, local_var_path, new_options)
|
61
51
|
if @api_client.config.debugging
|
62
|
-
@api_client.config.logger.debug "API called: CourierApi#
|
52
|
+
@api_client.config.logger.debug "API called: CourierApi#get_couriers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
63
53
|
end
|
64
|
-
return data, status_code, headers
|
65
|
-
end
|
66
54
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
# @option opts [String] :slug Unique courier code Use comma for multiple values. (Example: dhl,ups,usps)
|
72
|
-
# @return [Model::GetCouriersResponse]
|
73
|
-
def get_couriers(opts: {})
|
74
|
-
data, _status_code, _headers = get_couriers_with_http_info(opts: opts)
|
75
|
-
data
|
55
|
+
resp = Model::GetCouriersResponse.new
|
56
|
+
resp.data = data
|
57
|
+
resp.response_header = headers
|
58
|
+
resp
|
76
59
|
end
|
77
60
|
|
78
|
-
|
61
|
+
# detect_courier
|
62
|
+
# Return a list of matched couriers based on tracking number format and or a list of couriers.
|
63
|
+
|
64
|
+
# @param body [Model::DetectCourierRequest]
|
65
|
+
# @param [Hash] opts the optional parameters
|
66
|
+
# @return [Model::DetectCourierResponse]
|
67
|
+
def detect_courier(body:, opts: {})
|
68
|
+
opts[:body] = body
|
79
69
|
if @api_client.config.debugging
|
80
|
-
@api_client.config.logger.debug 'Calling API: CourierApi.
|
70
|
+
@api_client.config.logger.debug 'Calling API: CourierApi.detect_courier ...'
|
81
71
|
end
|
82
72
|
|
83
73
|
|
84
|
-
|
85
74
|
# resource path
|
86
|
-
local_var_path = "/tracking/2025-07/couriers"
|
87
|
-
method = :'
|
75
|
+
local_var_path = "/tracking/2025-07/couriers/detect"
|
76
|
+
method = :'POST'
|
88
77
|
|
89
78
|
# query parameters
|
90
79
|
query_params = opts[:query_params] || {}
|
91
|
-
query_params[:'active'] = opts[:'active'] if !opts[:'active'].nil?
|
92
|
-
query_params[:'slug'] = opts[:'slug'] if !opts[:'slug'].nil?
|
93
80
|
# header parameters
|
94
81
|
header_params = opts[:header_params] || {}
|
95
82
|
|
@@ -97,23 +84,25 @@ module AftershipAPI
|
|
97
84
|
post_body = opts[:body]
|
98
85
|
|
99
86
|
# return_type
|
100
|
-
return_type = '
|
101
|
-
|
87
|
+
return_type = 'DetectCourierResponseData'
|
88
|
+
|
102
89
|
new_options = opts.merge(
|
103
|
-
:operation => :"CourierApi.
|
90
|
+
:operation => :"CourierApi.detect_courier",
|
104
91
|
:header_params => header_params,
|
105
92
|
:query_params => query_params,
|
106
93
|
:body => post_body,
|
107
|
-
:return_type => return_type
|
108
|
-
:response_legacy_tag => "",
|
109
|
-
:is_paging => false
|
94
|
+
:return_type => return_type
|
110
95
|
)
|
111
96
|
|
112
|
-
data,
|
97
|
+
data, _status_code, headers = @api_client.call_api(method, local_var_path, new_options)
|
113
98
|
if @api_client.config.debugging
|
114
|
-
@api_client.config.logger.debug "API called: CourierApi#
|
99
|
+
@api_client.config.logger.debug "API called: CourierApi#detect_courier\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
115
100
|
end
|
116
|
-
|
117
|
-
|
101
|
+
|
102
|
+
resp = Model::DetectCourierResponse.new
|
103
|
+
resp.data = data
|
104
|
+
resp.response_header = headers
|
105
|
+
resp
|
106
|
+
end
|
118
107
|
end
|
119
|
-
end
|
108
|
+
end
|