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.
Files changed (172) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -1
  3. data/README.md +146 -106
  4. data/aftership-tracking-sdk.gemspec +0 -1
  5. data/lib/aftership-tracking-sdk/api/courier.rb +46 -57
  6. data/lib/aftership-tracking-sdk/api/courier_connection.rb +105 -131
  7. data/lib/aftership-tracking-sdk/api/estimated_delivery_date.rb +30 -44
  8. data/lib/aftership-tracking-sdk/api/tracking.rb +171 -208
  9. data/lib/aftership-tracking-sdk/api_client.rb +9 -34
  10. data/lib/aftership-tracking-sdk/configuration.rb +106 -108
  11. data/lib/aftership-tracking-sdk/error.rb +10 -18
  12. data/lib/aftership-tracking-sdk/models/additional_fields.rb +1 -2
  13. data/lib/aftership-tracking-sdk/models/checkpoint.rb +23 -25
  14. data/lib/aftership-tracking-sdk/models/{coordinate_checkpoint.rb → checkpoint_coordinate.rb} +4 -6
  15. data/lib/aftership-tracking-sdk/models/{events_checkpoint.rb → checkpoint_events.rb} +6 -8
  16. data/lib/aftership-tracking-sdk/models/{reason_events_checkpoint.rb → checkpoint_events_reason.rb} +3 -5
  17. data/lib/aftership-tracking-sdk/models/checkpoint_source.rb +26 -0
  18. data/lib/aftership-tracking-sdk/models/courier.rb +17 -19
  19. data/lib/aftership-tracking-sdk/models/courier_connection.rb +5 -7
  20. data/lib/aftership-tracking-sdk/models/courier_connection_response_for_get_courier_connections.rb +4 -6
  21. 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
  22. 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
  23. data/lib/aftership-tracking-sdk/models/{credentials_courier.rb → courier_credentials.rb} +3 -5
  24. data/lib/aftership-tracking-sdk/models/courier_response.rb +4 -6
  25. data/lib/aftership-tracking-sdk/models/{data_courier_response.rb → courier_response_data.rb} +4 -6
  26. data/lib/aftership-tracking-sdk/models/create_tracking_request.rb +44 -46
  27. data/lib/aftership-tracking-sdk/models/{customers_create_tracking_request.rb → create_tracking_request_customers.rb} +7 -9
  28. data/lib/aftership-tracking-sdk/models/create_tracking_request_delivery_type.rb +27 -0
  29. data/lib/aftership-tracking-sdk/models/{last_mile_create_tracking_request.rb → create_tracking_request_last_mile.rb} +4 -6
  30. data/lib/aftership-tracking-sdk/models/create_tracking_response.rb +3 -887
  31. data/lib/aftership-tracking-sdk/models/credential_field.rb +3 -5
  32. data/lib/aftership-tracking-sdk/models/delete_courier_connections_by_id_response.rb +3 -187
  33. data/lib/aftership-tracking-sdk/models/delete_tracking_by_id_response.rb +3 -887
  34. data/lib/aftership-tracking-sdk/models/detect_courier_request.rb +12 -14
  35. data/lib/aftership-tracking-sdk/models/detect_courier_response.rb +3 -157
  36. data/lib/aftership-tracking-sdk/models/detect_courier_response_data.rb +161 -0
  37. data/lib/aftership-tracking-sdk/models/estimated_delivery_date_request.rb +16 -18
  38. data/lib/aftership-tracking-sdk/models/{destination_address_predict_request.rb → estimated_delivery_date_request_destination_address.rb} +7 -9
  39. data/lib/aftership-tracking-sdk/models/{estimated_pickup_predict_request.rb → estimated_delivery_date_request_estimated_pickup.rb} +8 -10
  40. 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
  41. data/lib/aftership-tracking-sdk/models/{origin_address_predict_request.rb → estimated_delivery_date_request_origin_address.rb} +7 -9
  42. data/lib/aftership-tracking-sdk/models/{weight_estimated_delivery_date_request.rb → estimated_delivery_date_request_weight.rb} +4 -6
  43. data/lib/aftership-tracking-sdk/models/estimated_delivery_date_response.rb +21 -23
  44. data/lib/aftership-tracking-sdk/models/{destination_address_predict_response.rb → estimated_delivery_date_response_destination_address.rb} +7 -9
  45. data/lib/aftership-tracking-sdk/models/{estimated_pickup_predict_response.rb → estimated_delivery_date_response_estimated_pickup.rb} +9 -11
  46. 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
  47. data/lib/aftership-tracking-sdk/models/{origin_address_predict_response.rb → estimated_delivery_date_response_origin_address.rb} +7 -9
  48. data/lib/aftership-tracking-sdk/models/{weight_predict_response.rb → estimated_delivery_date_response_weight.rb} +4 -6
  49. data/lib/aftership-tracking-sdk/models/get_courier_connections_by_id_response.rb +3 -187
  50. data/lib/aftership-tracking-sdk/models/get_courier_connections_response.rb +3 -157
  51. data/lib/aftership-tracking-sdk/models/{carbon_emissions_mark_tracking_completed_by_id_response.rb → get_courier_connections_response_data.rb} +18 -20
  52. data/lib/aftership-tracking-sdk/models/{pagination_get_courier_connections_response.rb → get_courier_connections_response_data_pagination.rb} +5 -7
  53. data/lib/aftership-tracking-sdk/models/get_couriers_response.rb +3 -157
  54. data/lib/aftership-tracking-sdk/models/get_couriers_response_data.rb +161 -0
  55. data/lib/aftership-tracking-sdk/models/get_tracking_by_id_response.rb +3 -887
  56. data/lib/aftership-tracking-sdk/models/get_trackings_response.rb +3 -157
  57. data/lib/aftership-tracking-sdk/models/{carbon_emissions_delete_tracking_by_id_response.rb → get_trackings_response_data.rb} +18 -20
  58. data/lib/aftership-tracking-sdk/models/{pagination_get_trackings_response.rb → get_trackings_response_data_pagination.rb} +5 -7
  59. data/lib/aftership-tracking-sdk/models/mark_tracking_completed_by_id_request.rb +4 -6
  60. data/lib/aftership-tracking-sdk/models/mark_tracking_completed_by_id_request_reason.rb +27 -0
  61. data/lib/aftership-tracking-sdk/models/mark_tracking_completed_by_id_response.rb +3 -887
  62. data/lib/aftership-tracking-sdk/models/meta.rb +5 -7
  63. data/lib/aftership-tracking-sdk/models/meta_type.rb +30 -0
  64. data/lib/aftership-tracking-sdk/models/post_courier_connections_request.rb +2 -4
  65. data/lib/aftership-tracking-sdk/models/post_courier_connections_response.rb +3 -187
  66. data/lib/aftership-tracking-sdk/models/predict_batch_request.rb +1 -3
  67. data/lib/aftership-tracking-sdk/models/predict_batch_response.rb +3 -147
  68. data/lib/aftership-tracking-sdk/models/{weight_predict_request.rb → predict_batch_response_data.rb} +10 -22
  69. data/lib/aftership-tracking-sdk/models/predict_response.rb +3 -267
  70. data/lib/aftership-tracking-sdk/models/put_courier_connections_by_id_request.rb +1 -3
  71. data/lib/aftership-tracking-sdk/models/put_courier_connections_by_id_response.rb +3 -187
  72. data/lib/aftership-tracking-sdk/models/retrack_tracking_by_id_response.rb +3 -887
  73. data/lib/aftership-tracking-sdk/models/tag.rb +6 -7
  74. data/lib/aftership-tracking-sdk/models/tracking.rb +97 -99
  75. data/lib/aftership-tracking-sdk/models/{aftership_estimated_delivery_date_tracking.rb → tracking_aftership_estimated_delivery_date.rb} +6 -8
  76. data/lib/aftership-tracking-sdk/models/{carbon_emissions_tracking.rb → tracking_carbon_emissions.rb} +4 -6
  77. data/lib/aftership-tracking-sdk/models/{courier_estimated_delivery_date_tracking.rb → tracking_courier_estimated_delivery_date.rb} +5 -7
  78. data/lib/aftership-tracking-sdk/models/{custom_estimated_delivery_date_create_tracking_response.rb → tracking_custom_estimated_delivery_date.rb} +8 -10
  79. data/lib/aftership-tracking-sdk/models/tracking_custom_estimated_delivery_date_type.rb +26 -0
  80. data/lib/aftership-tracking-sdk/models/{customers_tracking.rb → tracking_customers.rb} +7 -9
  81. data/lib/aftership-tracking-sdk/models/{first_estimated_delivery_tracking.rb → tracking_first_estimated_delivery.rb} +11 -13
  82. data/lib/aftership-tracking-sdk/models/tracking_first_estimated_delivery_source.rb +28 -0
  83. data/lib/aftership-tracking-sdk/models/tracking_first_estimated_delivery_type.rb +26 -0
  84. data/lib/aftership-tracking-sdk/models/{first_mile_tracking.rb → tracking_first_mile.rb} +7 -9
  85. data/lib/aftership-tracking-sdk/models/{last_mile_tracking.rb → tracking_last_mile.rb} +10 -12
  86. data/lib/aftership-tracking-sdk/models/tracking_last_mile_source.rb +26 -0
  87. data/lib/aftership-tracking-sdk/models/{latest_estimated_delivery_tracking.rb → tracking_latest_estimated_delivery.rb} +13 -15
  88. data/lib/aftership-tracking-sdk/models/tracking_latest_estimated_delivery_source.rb +28 -0
  89. data/lib/aftership-tracking-sdk/models/tracking_latest_estimated_delivery_type.rb +26 -0
  90. data/lib/aftership-tracking-sdk/models/tracking_response.rb +2 -4
  91. data/lib/aftership-tracking-sdk/models/tracking_response_for_get_trackings.rb +4 -6
  92. data/lib/aftership-tracking-sdk/models/{data_tracking_response_for_get_trackings.rb → tracking_response_for_get_trackings_data.rb} +6 -8
  93. data/lib/aftership-tracking-sdk/models/{pagination_data_tracking_response_for_get_trackings.rb → tracking_response_for_get_trackings_data_pagination.rb} +5 -7
  94. data/lib/aftership-tracking-sdk/models/{shipment_weight_tracking.rb → tracking_shipment_weight.rb} +4 -6
  95. data/lib/aftership-tracking-sdk/models/tracking_signature_requirement.rb +29 -0
  96. data/lib/aftership-tracking-sdk/models/update_tracking_by_id_request.rb +34 -36
  97. data/lib/aftership-tracking-sdk/models/{customers_update_tracking_by_id_request.rb → update_tracking_by_id_request_customers.rb} +7 -9
  98. data/lib/aftership-tracking-sdk/models/update_tracking_by_id_request_delivery_type.rb +27 -0
  99. data/lib/aftership-tracking-sdk/models/update_tracking_by_id_response.rb +3 -887
  100. data/lib/aftership-tracking-sdk/sign_string.rb +2 -2
  101. data/lib/aftership-tracking-sdk/version.rb +1 -1
  102. metadata +53 -109
  103. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_create_tracking_response.rb +0 -183
  104. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_delete_tracking_by_id_response.rb +0 -183
  105. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_get_tracking_by_id_response.rb +0 -183
  106. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_mark_tracking_completed_by_id_response.rb +0 -183
  107. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_retrack_tracking_by_id_response.rb +0 -183
  108. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_update_tracking_by_id_response.rb +0 -183
  109. data/lib/aftership-tracking-sdk/models/carbon_emissions_create_tracking_response.rb +0 -163
  110. data/lib/aftership-tracking-sdk/models/carbon_emissions_get_tracking_by_id_response.rb +0 -163
  111. data/lib/aftership-tracking-sdk/models/carbon_emissions_retrack_tracking_by_id_response.rb +0 -163
  112. data/lib/aftership-tracking-sdk/models/carbon_emissions_update_tracking_by_id_response.rb +0 -163
  113. data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_create_tracking_response.rb +0 -173
  114. data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_delete_tracking_by_id_response.rb +0 -173
  115. data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_get_tracking_by_id_response.rb +0 -173
  116. data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_mark_tracking_completed_by_id_response.rb +0 -173
  117. data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_retrack_tracking_by_id_response.rb +0 -173
  118. data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_update_tracking_by_id_response.rb +0 -173
  119. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_delete_tracking_by_id_response.rb +0 -183
  120. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_get_tracking_by_id_response.rb +0 -183
  121. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_mark_tracking_completed_by_id_response.rb +0 -183
  122. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_retrack_tracking_by_id_response.rb +0 -183
  123. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_tracking.rb +0 -183
  124. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_update_tracking_by_id_response.rb +0 -183
  125. data/lib/aftership-tracking-sdk/models/customers_create_tracking_response.rb +0 -193
  126. data/lib/aftership-tracking-sdk/models/customers_delete_tracking_by_id_response.rb +0 -193
  127. data/lib/aftership-tracking-sdk/models/customers_get_tracking_by_id_response.rb +0 -193
  128. data/lib/aftership-tracking-sdk/models/customers_mark_tracking_completed_by_id_response.rb +0 -193
  129. data/lib/aftership-tracking-sdk/models/customers_retrack_tracking_by_id_response.rb +0 -193
  130. data/lib/aftership-tracking-sdk/models/customers_update_tracking_by_id_response.rb +0 -193
  131. data/lib/aftership-tracking-sdk/models/destination_address_estimated_delivery_date_request.rb +0 -193
  132. data/lib/aftership-tracking-sdk/models/destination_address_estimated_delivery_date_response.rb +0 -193
  133. data/lib/aftership-tracking-sdk/models/estimated_pickup_estimated_delivery_date_request.rb +0 -183
  134. data/lib/aftership-tracking-sdk/models/estimated_pickup_estimated_delivery_date_response.rb +0 -193
  135. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_create_tracking_response.rb +0 -193
  136. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_delete_tracking_by_id_response.rb +0 -193
  137. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_get_tracking_by_id_response.rb +0 -193
  138. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_mark_tracking_completed_by_id_response.rb +0 -193
  139. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_retrack_tracking_by_id_response.rb +0 -193
  140. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_update_tracking_by_id_response.rb +0 -193
  141. data/lib/aftership-tracking-sdk/models/first_mile_create_tracking_response.rb +0 -193
  142. data/lib/aftership-tracking-sdk/models/first_mile_delete_tracking_by_id_response.rb +0 -193
  143. data/lib/aftership-tracking-sdk/models/first_mile_get_tracking_by_id_response.rb +0 -193
  144. data/lib/aftership-tracking-sdk/models/first_mile_mark_tracking_completed_by_id_response.rb +0 -193
  145. data/lib/aftership-tracking-sdk/models/first_mile_retrack_tracking_by_id_response.rb +0 -193
  146. data/lib/aftership-tracking-sdk/models/first_mile_update_tracking_by_id_response.rb +0 -193
  147. data/lib/aftership-tracking-sdk/models/last_mile_create_tracking_response.rb +0 -203
  148. data/lib/aftership-tracking-sdk/models/last_mile_delete_tracking_by_id_response.rb +0 -203
  149. data/lib/aftership-tracking-sdk/models/last_mile_get_tracking_by_id_response.rb +0 -203
  150. data/lib/aftership-tracking-sdk/models/last_mile_mark_tracking_completed_by_id_response.rb +0 -203
  151. data/lib/aftership-tracking-sdk/models/last_mile_retrack_tracking_by_id_response.rb +0 -203
  152. data/lib/aftership-tracking-sdk/models/last_mile_update_tracking_by_id_response.rb +0 -203
  153. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_create_tracking_response.rb +0 -203
  154. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_delete_tracking_by_id_response.rb +0 -203
  155. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_get_tracking_by_id_response.rb +0 -203
  156. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_mark_tracking_completed_by_id_response.rb +0 -203
  157. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_retrack_tracking_by_id_response.rb +0 -203
  158. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_update_tracking_by_id_response.rb +0 -203
  159. data/lib/aftership-tracking-sdk/models/order_processing_time_estimated_pickup_estimated_delivery_date_request.rb +0 -163
  160. data/lib/aftership-tracking-sdk/models/order_processing_time_estimated_pickup_estimated_delivery_date_response.rb +0 -163
  161. data/lib/aftership-tracking-sdk/models/origin_address_estimated_delivery_date_request.rb +0 -193
  162. data/lib/aftership-tracking-sdk/models/origin_address_estimated_delivery_date_response.rb +0 -193
  163. data/lib/aftership-tracking-sdk/models/pagination.rb +0 -164
  164. data/lib/aftership-tracking-sdk/models/predict_request.rb +0 -223
  165. data/lib/aftership-tracking-sdk/models/shipment_weight_create_tracking_response.rb +0 -163
  166. data/lib/aftership-tracking-sdk/models/shipment_weight_delete_tracking_by_id_response.rb +0 -163
  167. data/lib/aftership-tracking-sdk/models/shipment_weight_get_tracking_by_id_response.rb +0 -163
  168. data/lib/aftership-tracking-sdk/models/shipment_weight_mark_tracking_completed_by_id_response.rb +0 -163
  169. data/lib/aftership-tracking-sdk/models/shipment_weight_retrack_tracking_by_id_response.rb +0 -163
  170. data/lib/aftership-tracking-sdk/models/shipment_weight_update_tracking_by_id_response.rb +0 -163
  171. data/lib/aftership-tracking-sdk/models/slug_group.rb +0 -37
  172. 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: c11231862a642bdf39c9bce127c906651e22fbed9b6834bf2e2add0c71a407be
4
- data.tar.gz: 61372547049616b2d9b77b4f5f0580e25ef9adca5ad86d5348fd504b568177bc
3
+ metadata.gz: 797c70d4a91c7d50a97997267ad8f6b6f55781ba87962d10e8932683b4f79ad2
4
+ data.tar.gz: 20180484c5f2e18da713f51404fa4742718b5aebb51c92d5a207ca293e0f2eb3
5
5
  SHA512:
6
- metadata.gz: ad2f7e3e4d85a563c9a3560243a19e72cfce5e88ba15edd684029221feddb815a95ae55b029fd82d004c0ff2f49ed3cd4456d9c57140d1c654d24a9e9d11997f
7
- data.tar.gz: a991670c1be7810678d13b3c31a80d7b64ff1f9bfb769aaf14c4d3ed43415bf7c77a7f2953e5e9e3817572defa6cbcc2ca6f0df7ccac5992dc11546a95c13253
6
+ metadata.gz: af4839a8968503bdd46f74a51f7644b515fec28f41159d4dd2edbf1c2297e3082049ddc510d64b6865b34dd506aef51672f821994a8365b649bb8b3986691765
7
+ data.tar.gz: c3c754e064f3ffb5ade7d5215d135ce1af92a325ffd5e8947fbe189f1026f636a134fc3500f38ced6023649d7b1d63bb6f82284c02dfc062c8fb669102f38ea2
data/Gemfile CHANGED
@@ -9,4 +9,3 @@ group :development, :test do
9
9
  gem 'dotenv'
10
10
  gem "webmock", "~> 3.23"
11
11
  end
12
-
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
- Each SDK version is designed to work with a specific API version. Please refer to the table below to identify the supported API versions for each SDK version, ensuring you select the appropriate SDK version for the API version you intend to use.
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', '~> 11.0.0'
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
- config.as_api_key = "YOUR_API_KEY"
77
+ config.as_api_key = "YOUR_API_KEY"
88
78
  end
89
79
 
90
80
  begin
91
- resp = AftershipAPI::Tracking.get_trackings
92
- p resp
81
+ response = AftershipAPI::Tracking.get_tracking_by_id(id:"valid_value", )
82
+ p response
93
83
  rescue AftershipAPI::ApiError => e
94
- p e.message
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/2025-04/quickstart/rate-limit) to understand the AfterShip rate limit policy.
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
- | response_headers | object | API response header. |
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 | 400 | 400 | The request was invalid or cannot be otherwise served. |
120
- | INVALID_JSON | 4001 | 400 | Invalid JSON data. |
121
- | TRACKING_ALREADY_EXIST | 4003 | 400 | Tracking already exists. |
122
- | TRACKING_DOES_NOT_EXIST | 4004 | 404 | Tracking does not exist. |
123
- | TRACKING_NUMBER_INVALID | 4005 | 400 | The value of tracking_number is invalid. |
124
- | TRACKING_REQUIRED | 4006 | 400 | tracking object is required. |
125
- | TRACKING_NUMBER_REQUIRED | 4007 | 400 | tracking_number is required. |
126
- | VALUE_INVALID | 4008 | 400 | The value of [field_name] is invalid. |
127
- | VALUE_REQUIRED | 4009 | 400 | [field_name] is required. |
128
- | SLUG_INVALID | 4010 | 400 | The value of slug is invalid. |
129
- | 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] |
130
- | BAD_COURIER | 4012 | 400 | The error message will be one of the following:<br/>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/couriers<br/>2. Unable to import shipment as we dont recognize the carrier from this tracking number.<br/>3. Unable to import shipment as the tracking number has an invalid format.<br/>4. Unable to import shipment as this carrier is no longer supported.<br/>5. Unable to import shipment as the tracking number does not belong to a carrier in that group. |
131
- | INACTIVE_RETRACK_NOT_ALLOWED | 4013 | 400 | Retrack is not allowed. You can only retrack an inactive tracking. |
132
- | NOTIFICATION_REUQIRED | 4014 | 400 | notification object is required. |
133
- | ID_INVALID | 4015 | 400 | The value of id is invalid. |
134
- | RETRACK_ONCE_ALLOWED | 4016 | 400 | Retrack is not allowed. You can only retrack each shipment once. |
135
- | TRACKING_NUMBER_FORMAT_INVALID | 4017 | 400 | The format of tracking_number is invalid. |
136
- | API_KEY_INVALID | 401 | 401 | The API key is invalid. |
137
- | REQUEST_NOT_ALLOWED | 403 | 403 | The request is understood, but it has been refused or access is not allowed. |
138
- | NOT_FOUND | 404 | 404 | The URI requested is invalid or the resource requested does not exist. |
139
- | TOO_MANY_REQUEST | 429 | 429 | You have exceeded the API call rate limit. The default limit is 10 requests per second. |
140
- | INTERNAL_ERROR | 500 502 503 504 | 500 502 503 504 | Something went wrong on AfterShip's end. |
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&#39;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&#39;s end. | |
132
+ | INTERNAL_ERROR | 502 | 502 | Something went wrong on AfterShip&#39;s end. | |
133
+ | INTERNAL_ERROR | 503 | 503 | Something went wrong on AfterShip&#39;s end. | |
134
+ | INTERNAL_ERROR | 504 | 504 | Something went wrong on AfterShip&#39;s end. | |
135
+ |
141
136
 
142
137
  ## Endpoints
143
138
 
144
- The AfterShip instance has the following properties which are exactly the same as the API endpoints:
145
-
146
- - courier - Get a list of our supported couriers.
147
- - tracking - Create trackings, update trackings, and get tracking results.
148
- - courier-connection - Create courier connections, update courier connections, and get courier connections results.
149
- - estimated-delivery-date - Get estimated delivery date for your order.
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
- begin
158
- req = AftershipAPI::Model::CreateTrackingRequest. new
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
- **DELETE** /trackings/:id
170
+ **POST** /trackings
170
171
 
171
172
  ```ruby
172
- resp = AftershipAPI::Tracking.delete_tracking_by_id(id: "<tracking_id>")
173
- p resp.to_json
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
- resp = AftershipAPI::Tracking.get_trackings(opts: {keyword: "123"})
180
- p resp.to_json
182
+ response = AftershipAPI::Tracking.get_tracking_by_id(id:"valid_value", )
183
+ p response
181
184
  ```
182
185
 
183
- **GET** /trackings/:id
186
+ **PUT** /trackings/{id}
184
187
 
185
188
  ```ruby
186
- resp = AftershipAPI::Tracking.get_tracking_by_id(id: "<tracking_id>")
187
- p resp.to_json
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
- **PUT** /trackings/:id
194
+ **DELETE** /trackings/{id}
191
195
 
192
196
  ```ruby
193
- req = AftershipAPI::Model::UpdateTrackingByIdRequest.new
194
- req.note = "test update"
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/:id/retrack
201
+ **POST** /trackings/{id}/retrack
200
202
 
201
203
  ```ruby
202
- resp = AftershipAPI::Tracking.retrack_tracking_by_id(id: "<tracking_id>")
203
- p resp.to_json
204
+ response = AftershipAPI::Tracking.retrack_tracking_by_id(id:"valid_value", )
205
+ p response
204
206
  ```
205
207
 
206
- **POST** /trackings/:id/mark-as-completed
208
+ **POST** /trackings/{id}/mark-as-completed
207
209
 
208
210
  ```ruby
209
- req = AftershipAPI::Model::MarkTrackingCompletedByIdRequest.new
210
- req.reason = "DELIVERED"
211
- resp = AftershipAPI::Tracking.mark_tracking_completed_by_id(id: "<tracking_id>", body: req)
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
- resp = AftershipAPI::Courier.get_couriers()
220
- p resp.to_json
220
+ response = AftershipAPI::Courier.get_couriers()
221
+ p response
221
222
  ```
222
223
 
223
224
  **POST** /couriers/detect
224
225
 
225
226
  ```ruby
226
- req = AftershipAPI::Model::DetectCourierRequest.new
227
- req.tracking_number = "<tracking_number>"
228
- resp = AftershipAPI::Courier.detect_courier(body: req)
229
- p resp.to_json
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
- edd = AftershipAPI::Model::EstimatedDeliveryDateRequest.new
238
- edd.slug = "<slug>"
239
- edd.pickup_time = "2024-08-01 06:42:30"
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
- # detect_courier
14
- # Return a list of matched couriers based on tracking number format and or a list of couriers.
15
-
16
- # @param body [Model::DetectCourierRequest]
13
+ # get_couriers
14
+ # Return a list of couriers.
17
15
  # @param [Hash] opts the optional parameters
18
- # @return [Model::DetectCourierResponse]
19
- def detect_courier(body:,opts: {})
20
- if "" != ""
21
- body = {:'' => body}
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.detect_courier ...'
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-04/couriers/detect"
37
- method = :'POST'
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 = 'DetectCourierResponse'
49
-
40
+ return_type = 'GetCouriersResponseData'
41
+
50
42
  new_options = opts.merge(
51
- :operation => :"CourierApi.detect_courier",
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, status_code, headers = @api_client.call_api(method, local_var_path, new_options)
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#detect_courier\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
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
- # get_couriers
68
- # Return a list of couriers.
69
- # @param [Hash] opts the optional parameters
70
- # @option opts [Boolean] :active get user activated couriers
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
- def get_couriers_with_http_info(opts: {})
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.get_couriers ...'
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-04/couriers"
87
- method = :'GET'
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 = 'GetCouriersResponse'
101
-
87
+ return_type = 'DetectCourierResponseData'
88
+
102
89
  new_options = opts.merge(
103
- :operation => :"CourierApi.get_couriers",
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, status_code, headers = @api_client.call_api(method, local_var_path, new_options)
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#get_couriers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
99
+ @api_client.config.logger.debug "API called: CourierApi#detect_courier\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
115
100
  end
116
- return data, status_code, headers
117
- end
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