aftership-tracking-sdk 11.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 -106
- 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} +13 -15
- 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,20 +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
|
-
| 11.x.x | 2025-04 | https://github.com/AfterShip/tracking-sdk-ruby/tree/2025-04 |
|
47
|
-
| 10.x.x | 2025-01 | https://github.com/AfterShip/tracking-sdk-ruby/tree/2025-01 |
|
48
|
-
| 9.x.x | 2024-10 | https://github.com/AfterShip/tracking-sdk-ruby/tree/2024-10 |
|
49
|
-
| 8.x.x | 2024-07 | https://github.com/AfterShip/tracking-sdk-ruby/tree/2024-07 |
|
50
|
-
| 7.x.x | 2024-04 | https://github.com/AfterShip/tracking-sdk-ruby/tree/2024-04 |
|
51
|
-
| <=6.x.x | Legacy API | https://github.com/AfterShip/aftership-sdk-ruby |
|
52
|
-
|
41
|
+
- SDK Version:
|
42
|
+
- API Version: 2025-07
|
53
43
|
## Quick Start
|
54
44
|
|
55
45
|
### Installation
|
@@ -60,7 +50,7 @@ gem install aftership-tracking-sdk
|
|
60
50
|
Or add a line to your Gemfile
|
61
51
|
|
62
52
|
```bash
|
63
|
-
gem 'aftership-tracking-sdk', '~>
|
53
|
+
gem 'aftership-tracking-sdk', '~> 13.0.0'
|
64
54
|
```
|
65
55
|
|
66
56
|
## Constructor
|
@@ -84,20 +74,20 @@ Create AfterShip instance with options
|
|
84
74
|
require 'aftership-tracking-sdk'
|
85
75
|
|
86
76
|
AftershipAPI.configure do |config|
|
87
|
-
|
77
|
+
config.as_api_key = "YOUR_API_KEY"
|
88
78
|
end
|
89
79
|
|
90
80
|
begin
|
91
|
-
|
92
|
-
|
81
|
+
response = AftershipAPI::Tracking.get_tracking_by_id(id:"valid_value", )
|
82
|
+
p response
|
93
83
|
rescue AftershipAPI::ApiError => e
|
94
|
-
|
84
|
+
p e.message
|
95
85
|
end
|
96
86
|
```
|
97
87
|
|
98
88
|
## Rate Limiter
|
99
89
|
|
100
|
-
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.
|
101
91
|
|
102
92
|
## Error Handling
|
103
93
|
|
@@ -110,150 +100,200 @@ The SDK will return an error object when there is any error during the request,
|
|
110
100
|
| meta_code | number | API response meta code. |
|
111
101
|
| status_code | number | HTTP status code. |
|
112
102
|
| response_body | string | API response body. |
|
113
|
-
|
|
103
|
+
| response_header | object | API response header. |
|
104
|
+
|
114
105
|
|
115
106
|
### Error List
|
116
107
|
|
117
108
|
| code | meta_code | status_code | message |
|
118
109
|
| --------------------------------- | --------------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
119
|
-
| INVALID_REQUEST
|
120
|
-
| INVALID_JSON
|
121
|
-
| TRACKING_ALREADY_EXIST
|
122
|
-
| TRACKING_DOES_NOT_EXIST
|
123
|
-
| TRACKING_NUMBER_INVALID
|
124
|
-
| TRACKING_REQUIRED
|
125
|
-
| TRACKING_NUMBER_REQUIRED
|
126
|
-
| VALUE_INVALID
|
127
|
-
| VALUE_REQUIRED
|
128
|
-
| SLUG_INVALID
|
129
|
-
| MISSING_OR_INVALID_REQUIRED_FIELD | 4011
|
130
|
-
| BAD_COURIER
|
131
|
-
| INACTIVE_RETRACK_NOT_ALLOWED
|
132
|
-
|
|
133
|
-
| ID_INVALID
|
134
|
-
| RETRACK_ONCE_ALLOWED
|
135
|
-
| TRACKING_NUMBER_FORMAT_INVALID
|
136
|
-
| API_KEY_INVALID
|
137
|
-
| REQUEST_NOT_ALLOWED
|
138
|
-
| NOT_FOUND
|
139
|
-
| TOO_MANY_REQUEST
|
140
|
-
| 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
|
+
|
|
141
136
|
|
142
137
|
## Endpoints
|
143
138
|
|
144
|
-
The AfterShip
|
145
|
-
|
146
|
-
-
|
147
|
-
-
|
148
|
-
-
|
149
|
-
-
|
150
|
-
|
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
|
151
161
|
|
152
162
|
### /trackings
|
153
|
-
|
154
|
-
**POST** /trackings
|
163
|
+
**GET** /trackings
|
155
164
|
|
156
165
|
```ruby
|
157
|
-
|
158
|
-
|
159
|
-
req.tracking_number = "<tracking_number>"
|
160
|
-
req.slug = "<slug>"
|
161
|
-
|
162
|
-
resp = AftershipAPI::Tracking.create_tracking(body: req)
|
163
|
-
p resp
|
164
|
-
rescue AftershipAPI::ApiError => e
|
165
|
-
p e.message
|
166
|
-
end
|
166
|
+
response = AftershipAPI::Tracking.get_trackings()
|
167
|
+
p response
|
167
168
|
```
|
168
169
|
|
169
|
-
**
|
170
|
+
**POST** /trackings
|
170
171
|
|
171
172
|
```ruby
|
172
|
-
|
173
|
-
|
173
|
+
request = AftershipAPI::Model::CreateTrackingRequest.new
|
174
|
+
request.tracking_number = "valid_value"
|
175
|
+
response = AftershipAPI::Tracking.create_tracking(body: request)
|
176
|
+
p response
|
174
177
|
```
|
175
178
|
|
176
|
-
**GET** /trackings
|
179
|
+
**GET** /trackings/{id}
|
177
180
|
|
178
181
|
```ruby
|
179
|
-
|
180
|
-
p
|
182
|
+
response = AftershipAPI::Tracking.get_tracking_by_id(id:"valid_value", )
|
183
|
+
p response
|
181
184
|
```
|
182
185
|
|
183
|
-
**
|
186
|
+
**PUT** /trackings/{id}
|
184
187
|
|
185
188
|
```ruby
|
186
|
-
|
187
|
-
|
189
|
+
request = AftershipAPI::Model::UpdateTrackingByIdRequest.new
|
190
|
+
response = AftershipAPI::Tracking.update_tracking_by_id(id:"valid_value", body: request)
|
191
|
+
p response
|
188
192
|
```
|
189
193
|
|
190
|
-
**
|
194
|
+
**DELETE** /trackings/{id}
|
191
195
|
|
192
196
|
```ruby
|
193
|
-
|
194
|
-
|
195
|
-
resp = AftershipAPI::Tracking.update_tracking_by_id(id: "<tracking_id>", body: req)
|
196
|
-
p resp.to_json
|
197
|
+
response = AftershipAPI::Tracking.delete_tracking_by_id(id:"valid_value", )
|
198
|
+
p response
|
197
199
|
```
|
198
200
|
|
199
|
-
**POST** /trackings
|
201
|
+
**POST** /trackings/{id}/retrack
|
200
202
|
|
201
203
|
```ruby
|
202
|
-
|
203
|
-
p
|
204
|
+
response = AftershipAPI::Tracking.retrack_tracking_by_id(id:"valid_value", )
|
205
|
+
p response
|
204
206
|
```
|
205
207
|
|
206
|
-
**POST** /trackings
|
208
|
+
**POST** /trackings/{id}/mark-as-completed
|
207
209
|
|
208
210
|
```ruby
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
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
|
213
214
|
```
|
214
215
|
|
215
216
|
### /couriers
|
216
217
|
**GET** /couriers
|
217
218
|
|
218
219
|
```ruby
|
219
|
-
|
220
|
-
p
|
220
|
+
response = AftershipAPI::Courier.get_couriers()
|
221
|
+
p response
|
221
222
|
```
|
222
223
|
|
223
224
|
**POST** /couriers/detect
|
224
225
|
|
225
226
|
```ruby
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
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
|
230
272
|
```
|
231
273
|
|
232
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
|
+
```
|
233
287
|
|
234
288
|
**POST** /estimated-delivery-date/predict-batch
|
235
289
|
|
236
290
|
```ruby
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
origin = AftershipAPI::Model::OriginAddressEstimatedDeliveryDateRequest.new
|
241
|
-
origin.country = "<ISO 3166-1 country/region code>"
|
242
|
-
origin.state = "<ISO 3166-1 country/region code>"
|
243
|
-
|
244
|
-
dest = AftershipAPI::Model::DestinationAddressEstimatedDeliveryDateRequest.new
|
245
|
-
dest.country = "<ISO 3166-1 country/region code>"
|
246
|
-
dest.state = "<ISO 3166-1 country/region code>"
|
247
|
-
|
248
|
-
edd.origin_address = origin
|
249
|
-
edd.destination_address = dest
|
250
|
-
|
251
|
-
req = AftershipAPI::Model::PredictBatchRequest.new
|
252
|
-
req.estimated_delivery_dates = [edd]
|
253
|
-
resp = AftershipAPI::EstimatedDeliveryDate.predict_batch(body: req)
|
254
|
-
p resp.to_json
|
291
|
+
request = AftershipAPI::Model::PredictBatchRequest.new
|
292
|
+
response = AftershipAPI::EstimatedDeliveryDate.predict_batch(body: request)
|
293
|
+
p response
|
255
294
|
```
|
256
295
|
|
296
|
+
|
257
297
|
## Help
|
258
298
|
|
259
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-
|
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-
|
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
|