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.
Files changed (172) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -1
  3. data/README.md +146 -107
  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} +12 -14
  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
@@ -3,41 +3,65 @@
3
3
  require 'cgi'
4
4
 
5
5
  module AftershipAPI
6
- class TrackingApi
6
+ class TrackingApi
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
- # create_tracking
14
- # Create a tracking.<div style="visibility:hidden; height: 0"></div>
15
-
16
- # @param body [Model::CreateTrackingRequest]
13
+ # get_trackings
14
+ # Get tracking results of multiple trackings.<div style="visibility:hidden; height: 0"></div>
17
15
  # @param [Hash] opts the optional parameters
18
- # @return [Model::CreateTrackingResponse]
19
- def create_tracking(body:,opts: {})
20
- if "" != ""
21
- body = {:'' => body}
22
- end
23
- opts[:body] = body
24
- data, _status_code, _headers = create_tracking_with_http_info(opts: opts)
25
- data
26
- end
27
-
28
- def create_tracking_with_http_info(opts: {})
16
+ # @option opts [String] :cursor A string representing the cursor value for the current page of results.
17
+ # @option opts [Integer] :limit Number of trackings each page contain. (Default: 100, Max: 200)
18
+ # @option opts [String] :keyword Search the content of the tracking record fields: `tracking_number`, `title`, `order_id`, `customers[x].name`, `custom_fields`, `customers[x].email`, `customers[x].phone_number`
19
+ # @option opts [String] :tracking_numbers Tracking number of shipments. Use comma to separate multiple values (Example: RA123456789US,LE123456789US). Supports up to 50 tracking numbers.
20
+ # @option opts [String] :slug Unique courier code Use comma for multiple values. (Example: dhl,ups,usps)
21
+ # @option opts [Integer] :transit_time Total delivery time in days.- When the shipment is delivered: Transit time = Delivered date - Picked up date- When the shipment is not delivered: Transit time = Current date - Picked up dateValue as `null` for the shipment without pickup date.
22
+ # @option opts [String] :origin Origin country/region of trackings. Use ISO Alpha-3 (three letters). Use comma for multiple values. (Example: USA,HKG)
23
+ # @option opts [String] :destination Destination country/region of trackings. Use ISO Alpha-3 (three letters). Use comma for multiple values. (Example: USA,HKG)
24
+ # @option opts [String] :tag Current status of tracking. Values include `Pending`, `InfoReceived`, `InTransit`, `OutForDelivery`, `AttemptFail`, `Delivered`, `AvailableForPickup`, `Exception`, `Expired` (See tag definition)
25
+ # @option opts [String] :created_at_min Start date and time of trackings created. AfterShip only stores data of 120 days. Please make sure the value of the parameter is properly escaped in
26
+ # @option opts [String] :created_at_max End date and time of trackings created. Please make sure the value of the parameter is properly escaped in
27
+ # @option opts [String] :updated_at_min Start date and time of trackings updated. Please make sure the value of the parameter is properly escaped in
28
+ # @option opts [String] :updated_at_max End date and time of trackings updated. Please make sure the value of the parameter is properly escaped in
29
+ # @option opts [String] :fields List of fields to include in the response. Use comma for multiple values. Available options: `title`, `order_id`, `tag`, `checkpoints`. Example: `title,order_id`
30
+ # @option opts [String] :return_to_sender Select return to sender, the value should be `true` or `false`, with optional comma separated.
31
+ # @option opts [String] :courier_destination_country_region Destination country/region of trackings returned by courier. Use ISO Alpha-3 (three letters). Use comma for multiple values. (Example: USA,HKG)
32
+ # @option opts [String] :shipment_tags Tags you added to your shipments to help categorize and filter them easily. Use a comma to separate multiple values (Example: a,b)
33
+ # @option opts [String] :order_id A globally-unique identifier for the order. Use comma for multiple values.(Example: 6845a095a27a4caeb27487806f058add,4845a095a27a4caeb27487806f058abc)
34
+ # @return [Model::GetTrackingsResponse]
35
+ def get_trackings(opts: {})
29
36
  if @api_client.config.debugging
30
- @api_client.config.logger.debug 'Calling API: TrackingApi.create_tracking ...'
37
+ @api_client.config.logger.debug 'Calling API: TrackingApi.get_trackings ...'
31
38
  end
32
39
 
33
40
 
34
-
35
41
  # resource path
36
- local_var_path = "/tracking/2025-07/trackings"
37
- method = :'POST'
42
+ local_var_path = "/tracking/2025-07/trackings"
43
+ method = :'GET'
38
44
 
39
45
  # query parameters
40
46
  query_params = opts[:query_params] || {}
47
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
48
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
49
+ query_params[:'keyword'] = opts[:'keyword'] if !opts[:'keyword'].nil?
50
+ query_params[:'tracking_numbers'] = opts[:'tracking_numbers'] if !opts[:'tracking_numbers'].nil?
51
+ query_params[:'slug'] = opts[:'slug'] if !opts[:'slug'].nil?
52
+ query_params[:'transit_time'] = opts[:'transit_time'] if !opts[:'transit_time'].nil?
53
+ query_params[:'origin'] = opts[:'origin'] if !opts[:'origin'].nil?
54
+ query_params[:'destination'] = opts[:'destination'] if !opts[:'destination'].nil?
55
+ query_params[:'tag'] = opts[:'tag'] if !opts[:'tag'].nil?
56
+ query_params[:'created_at_min'] = opts[:'created_at_min'] if !opts[:'created_at_min'].nil?
57
+ query_params[:'created_at_max'] = opts[:'created_at_max'] if !opts[:'created_at_max'].nil?
58
+ query_params[:'updated_at_min'] = opts[:'updated_at_min'] if !opts[:'updated_at_min'].nil?
59
+ query_params[:'updated_at_max'] = opts[:'updated_at_max'] if !opts[:'updated_at_max'].nil?
60
+ query_params[:'fields'] = opts[:'fields'] if !opts[:'fields'].nil?
61
+ query_params[:'return_to_sender'] = opts[:'return_to_sender'] if !opts[:'return_to_sender'].nil?
62
+ query_params[:'courier_destination_country_region'] = opts[:'courier_destination_country_region'] if !opts[:'courier_destination_country_region'].nil?
63
+ query_params[:'shipment_tags'] = opts[:'shipment_tags'] if !opts[:'shipment_tags'].nil?
64
+ query_params[:'order_id'] = opts[:'order_id'] if !opts[:'order_id'].nil?
41
65
  # header parameters
42
66
  header_params = opts[:header_params] || {}
43
67
 
@@ -45,48 +69,43 @@ module AftershipAPI
45
69
  post_body = opts[:body]
46
70
 
47
71
  # return_type
48
- return_type = 'CreateTrackingResponse'
49
-
72
+ return_type = 'GetTrackingsResponseData'
73
+
50
74
  new_options = opts.merge(
51
- :operation => :"TrackingApi.create_tracking",
75
+ :operation => :"TrackingApi.get_trackings",
52
76
  :header_params => header_params,
53
77
  :query_params => query_params,
54
78
  :body => post_body,
55
- :return_type => return_type,
56
- :response_legacy_tag => "",
57
- :is_paging => false
79
+ :return_type => return_type
58
80
  )
59
81
 
60
- data, status_code, headers = @api_client.call_api(method, local_var_path, new_options)
82
+ data, _status_code, headers = @api_client.call_api(method, local_var_path, new_options)
61
83
  if @api_client.config.debugging
62
- @api_client.config.logger.debug "API called: TrackingApi#create_tracking\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
84
+ @api_client.config.logger.debug "API called: TrackingApi#get_trackings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
63
85
  end
64
- return data, status_code, headers
65
- end
66
86
 
67
- # delete_tracking_by_id
68
- # Delete a tracking.
69
- # @param id [String] tracking ID
70
- # @param [Hash] opts the optional parameters
71
- # @return [Model::DeleteTrackingByIdResponse]
72
- def delete_tracking_by_id(id:, opts: {})
73
- data, _status_code, _headers = delete_tracking_by_id_with_http_info(id:id, opts: opts)
74
- data
87
+ resp = Model::GetTrackingsResponse.new
88
+ resp.data = data
89
+ resp.response_header = headers
90
+ resp
75
91
  end
76
92
 
77
- def delete_tracking_by_id_with_http_info(id:, opts: {})
78
- if @api_client.config.debugging
79
- @api_client.config.logger.debug 'Calling API: TrackingApi.delete_tracking_by_id ...'
80
- end
93
+ # create_tracking
94
+ # Create a tracking.<div style="visibility:hidden; height: 0"></div>
81
95
 
82
- if id.nil? or id.to_s == ''
83
- raise InvalidParamError.new "id cannot be nil or empty"
96
+ # @param body [Model::CreateTrackingRequest]
97
+ # @param [Hash] opts the optional parameters
98
+ # @return [Model::CreateTrackingResponse]
99
+ def create_tracking(body:, opts: {})
100
+ opts[:body] = body
101
+ if @api_client.config.debugging
102
+ @api_client.config.logger.debug 'Calling API: TrackingApi.create_tracking ...'
84
103
  end
85
104
 
86
105
 
87
106
  # resource path
88
- local_var_path = "/tracking/2025-07/trackings/#{id}"
89
- method = :'DELETE'
107
+ local_var_path = "/tracking/2025-07/trackings"
108
+ method = :'POST'
90
109
 
91
110
  # query parameters
92
111
  query_params = opts[:query_params] || {}
@@ -97,24 +116,26 @@ module AftershipAPI
97
116
  post_body = opts[:body]
98
117
 
99
118
  # return_type
100
- return_type = 'DeleteTrackingByIdResponse'
101
-
119
+ return_type = 'Tracking'
120
+
102
121
  new_options = opts.merge(
103
- :operation => :"TrackingApi.delete_tracking_by_id",
122
+ :operation => :"TrackingApi.create_tracking",
104
123
  :header_params => header_params,
105
124
  :query_params => query_params,
106
125
  :body => post_body,
107
- :return_type => return_type,
108
- :response_legacy_tag => "",
109
- :is_paging => false
126
+ :return_type => return_type
110
127
  )
111
128
 
112
- data, status_code, headers = @api_client.call_api(method, local_var_path, new_options)
129
+ data, _status_code, headers = @api_client.call_api(method, local_var_path, new_options)
113
130
  if @api_client.config.debugging
114
- @api_client.config.logger.debug "API called: TrackingApi#delete_tracking_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
131
+ @api_client.config.logger.debug "API called: TrackingApi#create_tracking\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
115
132
  end
116
- return data, status_code, headers
117
- end
133
+
134
+ resp = Model::CreateTrackingResponse.new
135
+ resp.data = data
136
+ resp.response_header = headers
137
+ resp
138
+ end
118
139
 
119
140
  # get_tracking_by_id
120
141
  # Get tracking results of a single tracking.
@@ -122,24 +143,18 @@ module AftershipAPI
122
143
  # @param [Hash] opts the optional parameters
123
144
  # @option opts [String] :fields List of fields to include in the response. Use comma for multiple values. Fields to include: `destination_postal_code`, `tracking_ship_date`, `tracking_account_number`, `tracking_key`, `origin_country_region`, `destination_country_region`, `destination_state`, `title`, `order_id`, `tag`, `checkpoints`
124
145
  # @option opts [String] :lang Translate checkpoint messages from the carrier’s provided language to the target language. Supported target languages include:</br>&nbsp;&nbsp;&nbsp;&nbsp;- English (en)</br>&nbsp;&nbsp;&nbsp;&nbsp;- French (fr)</br>&nbsp;&nbsp;&nbsp;&nbsp;- French Canadian (fr-CA)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Arabic (ar)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Bulgarian (bg)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Catalan (ca)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Croatian (hr)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Czech (cs)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Danish (da)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Dutch (nl)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Estonian (et)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Filipino (tl)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Finnish (fi)</br>&nbsp;&nbsp;&nbsp;&nbsp;- German (de)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Greek (el)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Hebrew (he)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Hindi (hi)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Hungarian (hu)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Indonesian (id)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Italian (it)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Japanese (ja)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Korean (ko)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Latvian (lv)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Lithuanian (lt)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Malay (ms)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Polish (pl)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Portuguese (pt)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Romanian (ro)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Russian (ru)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Serbian (sr)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Slovak (sk)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Slovenian (sl)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Spanish (es)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Swedish (sv)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Thai (th)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Turkish (tr)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Ukrainian (uk)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Vietnamese (vi)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Simplified Chinese (zh-Hans)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Traditional Chinese (zh-Hant)</br>&nbsp;&nbsp;&nbsp;&nbsp;- Norwegian (nb)</br>
125
- # @return [Model::GetTrackingByIdResponse]
146
+ # @return [Model::GetTrackingByIdResponse]
126
147
  def get_tracking_by_id(id:, opts: {})
127
- data, _status_code, _headers = get_tracking_by_id_with_http_info(id:id, opts: opts)
128
- data
129
- end
130
-
131
- def get_tracking_by_id_with_http_info(id:, opts: {})
132
148
  if @api_client.config.debugging
133
149
  @api_client.config.logger.debug 'Calling API: TrackingApi.get_tracking_by_id ...'
134
150
  end
135
-
136
151
  if id.nil? or id.to_s == ''
137
- raise InvalidParamError.new "id cannot be nil or empty"
152
+ raise ApiError.new(:error_code => BAD_REQUEST, :message => "id cannot be nil or empty")
138
153
  end
139
154
 
140
155
 
141
156
  # resource path
142
- local_var_path = "/tracking/2025-07/trackings/#{id}"
157
+ local_var_path = "/tracking/2025-07/trackings/#{id}"
143
158
  method = :'GET'
144
159
 
145
160
  # query parameters
@@ -153,83 +168,50 @@ module AftershipAPI
153
168
  post_body = opts[:body]
154
169
 
155
170
  # return_type
156
- return_type = 'GetTrackingByIdResponse'
157
-
171
+ return_type = 'Tracking'
172
+
158
173
  new_options = opts.merge(
159
174
  :operation => :"TrackingApi.get_tracking_by_id",
160
175
  :header_params => header_params,
161
176
  :query_params => query_params,
162
177
  :body => post_body,
163
- :return_type => return_type,
164
- :response_legacy_tag => "",
165
- :is_paging => false
178
+ :return_type => return_type
166
179
  )
167
180
 
168
- data, status_code, headers = @api_client.call_api(method, local_var_path, new_options)
181
+ data, _status_code, headers = @api_client.call_api(method, local_var_path, new_options)
169
182
  if @api_client.config.debugging
170
183
  @api_client.config.logger.debug "API called: TrackingApi#get_tracking_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
171
184
  end
172
- return data, status_code, headers
173
- end
174
185
 
175
- # get_trackings
176
- # Get tracking results of multiple trackings.<div style="visibility:hidden; height: 0"></div>
177
- # @param [Hash] opts the optional parameters
178
- # @option opts [String] :cursor A string representing the cursor value for the current page of results.
179
- # @option opts [Integer] :limit Number of trackings each page contain. (Default: 100, Max: 200)
180
- # @option opts [String] :keyword Search the content of the tracking record fields: `tracking_number`, `title`, `order_id`, `customers[x].name`, `custom_fields`, `customers[x].email`, `customers[x].phone_number`
181
- # @option opts [String] :tracking_numbers Tracking number of shipments. Use comma to separate multiple values (Example: RA123456789US,LE123456789US). Supports up to 50 tracking numbers.
182
- # @option opts [String] :slug Unique courier code Use comma for multiple values. (Example: dhl,ups,usps)
183
- # @option opts [Integer] :transit_time Total delivery time in days.- When the shipment is delivered: Transit time = Delivered date - Picked up date- When the shipment is not delivered: Transit time = Current date - Picked up dateValue as `null` for the shipment without pickup date.
184
- # @option opts [String] :origin Origin country/region of trackings. Use ISO Alpha-3 (three letters). Use comma for multiple values. (Example: USA,HKG)
185
- # @option opts [String] :destination Destination country/region of trackings. Use ISO Alpha-3 (three letters). Use comma for multiple values. (Example: USA,HKG)
186
- # @option opts [String] :tag Current status of tracking. Values include `Pending`, `InfoReceived`, `InTransit`, `OutForDelivery`, `AttemptFail`, `Delivered`, `AvailableForPickup`, `Exception`, `Expired` (See tag definition)
187
- # @option opts [String] :created_at_min Start date and time of trackings created. AfterShip only stores data of 120 days. Please make sure the value of the parameter is properly escaped in
188
- # @option opts [String] :created_at_max End date and time of trackings created. Please make sure the value of the parameter is properly escaped in
189
- # @option opts [String] :updated_at_min Start date and time of trackings updated. Please make sure the value of the parameter is properly escaped in
190
- # @option opts [String] :updated_at_max End date and time of trackings updated. Please make sure the value of the parameter is properly escaped in
191
- # @option opts [String] :fields List of fields to include in the response. Use comma for multiple values. Available options: `title`, `order_id`, `tag`, `checkpoints`. Example: `title,order_id`
192
- # @option opts [String] :return_to_sender Select return to sender, the value should be `true` or `false`, with optional comma separated.
193
- # @option opts [String] :courier_destination_country_region Destination country/region of trackings returned by courier. Use ISO Alpha-3 (three letters). Use comma for multiple values. (Example: USA,HKG)
194
- # @option opts [String] :shipment_tags Tags you added to your shipments to help categorize and filter them easily. Use a comma to separate multiple values (Example: a,b)
195
- # @option opts [String] :order_id A globally-unique identifier for the order. Use comma for multiple values.(Example: 6845a095a27a4caeb27487806f058add,4845a095a27a4caeb27487806f058abc)
196
- # @return [Model::GetTrackingsResponse]
197
- def get_trackings(opts: {})
198
- data, _status_code, _headers = get_trackings_with_http_info(opts: opts)
199
- data
186
+ resp = Model::GetTrackingByIdResponse.new
187
+ resp.data = data
188
+ resp.response_header = headers
189
+ resp
200
190
  end
201
191
 
202
- def get_trackings_with_http_info(opts: {})
192
+ # update_tracking_by_id
193
+ # Update a tracking.
194
+ # @param id [String] tracking ID
195
+
196
+ # @param body [Model::UpdateTrackingByIdRequest]
197
+ # @param [Hash] opts the optional parameters
198
+ # @return [Model::UpdateTrackingByIdResponse]
199
+ def update_tracking_by_id(id:, body:, opts: {})
200
+ opts[:body] = body
203
201
  if @api_client.config.debugging
204
- @api_client.config.logger.debug 'Calling API: TrackingApi.get_trackings ...'
202
+ @api_client.config.logger.debug 'Calling API: TrackingApi.update_tracking_by_id ...'
203
+ end
204
+ if id.nil? or id.to_s == ''
205
+ raise ApiError.new(:error_code => BAD_REQUEST, :message => "id cannot be nil or empty")
205
206
  end
206
-
207
207
 
208
208
 
209
209
  # resource path
210
- local_var_path = "/tracking/2025-07/trackings"
211
- method = :'GET'
210
+ local_var_path = "/tracking/2025-07/trackings/#{id}"
211
+ method = :'PUT'
212
212
 
213
213
  # query parameters
214
214
  query_params = opts[:query_params] || {}
215
- query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
216
- query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
217
- query_params[:'keyword'] = opts[:'keyword'] if !opts[:'keyword'].nil?
218
- query_params[:'tracking_numbers'] = opts[:'tracking_numbers'] if !opts[:'tracking_numbers'].nil?
219
- query_params[:'slug'] = opts[:'slug'] if !opts[:'slug'].nil?
220
- query_params[:'transit_time'] = opts[:'transit_time'] if !opts[:'transit_time'].nil?
221
- query_params[:'origin'] = opts[:'origin'] if !opts[:'origin'].nil?
222
- query_params[:'destination'] = opts[:'destination'] if !opts[:'destination'].nil?
223
- query_params[:'tag'] = opts[:'tag'] if !opts[:'tag'].nil?
224
- query_params[:'created_at_min'] = opts[:'created_at_min'] if !opts[:'created_at_min'].nil?
225
- query_params[:'created_at_max'] = opts[:'created_at_max'] if !opts[:'created_at_max'].nil?
226
- query_params[:'updated_at_min'] = opts[:'updated_at_min'] if !opts[:'updated_at_min'].nil?
227
- query_params[:'updated_at_max'] = opts[:'updated_at_max'] if !opts[:'updated_at_max'].nil?
228
- query_params[:'fields'] = opts[:'fields'] if !opts[:'fields'].nil?
229
- query_params[:'return_to_sender'] = opts[:'return_to_sender'] if !opts[:'return_to_sender'].nil?
230
- query_params[:'courier_destination_country_region'] = opts[:'courier_destination_country_region'] if !opts[:'courier_destination_country_region'].nil?
231
- query_params[:'shipment_tags'] = opts[:'shipment_tags'] if !opts[:'shipment_tags'].nil?
232
- query_params[:'order_id'] = opts[:'order_id'] if !opts[:'order_id'].nil?
233
215
  # header parameters
234
216
  header_params = opts[:header_params] || {}
235
217
 
@@ -237,54 +219,44 @@ module AftershipAPI
237
219
  post_body = opts[:body]
238
220
 
239
221
  # return_type
240
- return_type = 'GetTrackingsResponse'
241
-
222
+ return_type = 'Tracking'
223
+
242
224
  new_options = opts.merge(
243
- :operation => :"TrackingApi.get_trackings",
225
+ :operation => :"TrackingApi.update_tracking_by_id",
244
226
  :header_params => header_params,
245
227
  :query_params => query_params,
246
228
  :body => post_body,
247
- :return_type => return_type,
248
- :response_legacy_tag => "trackings",
249
- :is_paging => true
229
+ :return_type => return_type
250
230
  )
251
231
 
252
- data, status_code, headers = @api_client.call_api(method, local_var_path, new_options)
232
+ data, _status_code, headers = @api_client.call_api(method, local_var_path, new_options)
253
233
  if @api_client.config.debugging
254
- @api_client.config.logger.debug "API called: TrackingApi#get_trackings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
234
+ @api_client.config.logger.debug "API called: TrackingApi#update_tracking_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
255
235
  end
256
- return data, status_code, headers
257
- end
258
-
259
- # mark_tracking_completed_by_id
260
- # Mark a tracking as completed. The tracking won't auto update until retrack it.
261
- # @param id [String] tracking id
262
236
 
263
- # @param body [Model::MarkTrackingCompletedByIdRequest]
264
- # @param [Hash] opts the optional parameters
265
- # @return [Model::MarkTrackingCompletedByIdResponse]
266
- def mark_tracking_completed_by_id(id:, body:,opts: {})
267
- if "" != ""
268
- body = {:'' => body}
269
- end
270
- opts[:body] = body
271
- data, _status_code, _headers = mark_tracking_completed_by_id_with_http_info(id:id, opts: opts)
272
- data
237
+ resp = Model::UpdateTrackingByIdResponse.new
238
+ resp.data = data
239
+ resp.response_header = headers
240
+ resp
273
241
  end
274
242
 
275
- def mark_tracking_completed_by_id_with_http_info(id:, opts: {})
243
+ # delete_tracking_by_id
244
+ # Delete a tracking.
245
+ # @param id [String] tracking ID
246
+ # @param [Hash] opts the optional parameters
247
+ # @return [Model::DeleteTrackingByIdResponse]
248
+ def delete_tracking_by_id(id:, opts: {})
276
249
  if @api_client.config.debugging
277
- @api_client.config.logger.debug 'Calling API: TrackingApi.mark_tracking_completed_by_id ...'
250
+ @api_client.config.logger.debug 'Calling API: TrackingApi.delete_tracking_by_id ...'
278
251
  end
279
-
280
252
  if id.nil? or id.to_s == ''
281
- raise InvalidParamError.new "id cannot be nil or empty"
253
+ raise ApiError.new(:error_code => BAD_REQUEST, :message => "id cannot be nil or empty")
282
254
  end
283
255
 
284
256
 
285
257
  # resource path
286
- local_var_path = "/tracking/2025-07/trackings/#{id}/mark-as-completed"
287
- method = :'POST'
258
+ local_var_path = "/tracking/2025-07/trackings/#{id}"
259
+ method = :'DELETE'
288
260
 
289
261
  # query parameters
290
262
  query_params = opts[:query_params] || {}
@@ -295,47 +267,43 @@ module AftershipAPI
295
267
  post_body = opts[:body]
296
268
 
297
269
  # return_type
298
- return_type = 'MarkTrackingCompletedByIdResponse'
299
-
270
+ return_type = 'Tracking'
271
+
300
272
  new_options = opts.merge(
301
- :operation => :"TrackingApi.mark_tracking_completed_by_id",
273
+ :operation => :"TrackingApi.delete_tracking_by_id",
302
274
  :header_params => header_params,
303
275
  :query_params => query_params,
304
276
  :body => post_body,
305
- :return_type => return_type,
306
- :response_legacy_tag => "",
307
- :is_paging => false
277
+ :return_type => return_type
308
278
  )
309
279
 
310
- data, status_code, headers = @api_client.call_api(method, local_var_path, new_options)
280
+ data, _status_code, headers = @api_client.call_api(method, local_var_path, new_options)
311
281
  if @api_client.config.debugging
312
- @api_client.config.logger.debug "API called: TrackingApi#mark_tracking_completed_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
282
+ @api_client.config.logger.debug "API called: TrackingApi#delete_tracking_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
313
283
  end
314
- return data, status_code, headers
315
- end
284
+
285
+ resp = Model::DeleteTrackingByIdResponse.new
286
+ resp.data = data
287
+ resp.response_header = headers
288
+ resp
289
+ end
316
290
 
317
291
  # retrack_tracking_by_id
318
292
  # Retrack an expired tracking. Max 3 times per tracking.
319
293
  # @param id [String] tracking id
320
294
  # @param [Hash] opts the optional parameters
321
- # @return [Model::RetrackTrackingByIdResponse]
295
+ # @return [Model::RetrackTrackingByIdResponse]
322
296
  def retrack_tracking_by_id(id:, opts: {})
323
- data, _status_code, _headers = retrack_tracking_by_id_with_http_info(id:id, opts: opts)
324
- data
325
- end
326
-
327
- def retrack_tracking_by_id_with_http_info(id:, opts: {})
328
297
  if @api_client.config.debugging
329
298
  @api_client.config.logger.debug 'Calling API: TrackingApi.retrack_tracking_by_id ...'
330
299
  end
331
-
332
300
  if id.nil? or id.to_s == ''
333
- raise InvalidParamError.new "id cannot be nil or empty"
301
+ raise ApiError.new(:error_code => BAD_REQUEST, :message => "id cannot be nil or empty")
334
302
  end
335
303
 
336
304
 
337
305
  # resource path
338
- local_var_path = "/tracking/2025-07/trackings/#{id}/retrack"
306
+ local_var_path = "/tracking/2025-07/trackings/#{id}/retrack"
339
307
  method = :'POST'
340
308
 
341
309
  # query parameters
@@ -347,54 +315,47 @@ module AftershipAPI
347
315
  post_body = opts[:body]
348
316
 
349
317
  # return_type
350
- return_type = 'RetrackTrackingByIdResponse'
351
-
318
+ return_type = 'Tracking'
319
+
352
320
  new_options = opts.merge(
353
321
  :operation => :"TrackingApi.retrack_tracking_by_id",
354
322
  :header_params => header_params,
355
323
  :query_params => query_params,
356
324
  :body => post_body,
357
- :return_type => return_type,
358
- :response_legacy_tag => "",
359
- :is_paging => false
325
+ :return_type => return_type
360
326
  )
361
327
 
362
- data, status_code, headers = @api_client.call_api(method, local_var_path, new_options)
328
+ data, _status_code, headers = @api_client.call_api(method, local_var_path, new_options)
363
329
  if @api_client.config.debugging
364
330
  @api_client.config.logger.debug "API called: TrackingApi#retrack_tracking_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
365
331
  end
366
- return data, status_code, headers
367
- end
368
332
 
369
- # update_tracking_by_id
370
- # Update a tracking.
371
- # @param id [String] tracking ID
333
+ resp = Model::RetrackTrackingByIdResponse.new
334
+ resp.data = data
335
+ resp.response_header = headers
336
+ resp
337
+ end
338
+
339
+ # mark_tracking_completed_by_id
340
+ # Mark a tracking as completed. The tracking won't auto update until retrack it.
341
+ # @param id [String] tracking id
372
342
 
373
- # @param body [Model::UpdateTrackingByIdRequest]
343
+ # @param body [Model::MarkTrackingCompletedByIdRequest]
374
344
  # @param [Hash] opts the optional parameters
375
- # @return [Model::UpdateTrackingByIdResponse]
376
- def update_tracking_by_id(id:, body:,opts: {})
377
- if "" != ""
378
- body = {:'' => body}
379
- end
345
+ # @return [Model::MarkTrackingCompletedByIdResponse]
346
+ def mark_tracking_completed_by_id(id:, body:, opts: {})
380
347
  opts[:body] = body
381
- data, _status_code, _headers = update_tracking_by_id_with_http_info(id:id, opts: opts)
382
- data
383
- end
384
-
385
- def update_tracking_by_id_with_http_info(id:, opts: {})
386
348
  if @api_client.config.debugging
387
- @api_client.config.logger.debug 'Calling API: TrackingApi.update_tracking_by_id ...'
349
+ @api_client.config.logger.debug 'Calling API: TrackingApi.mark_tracking_completed_by_id ...'
388
350
  end
389
-
390
351
  if id.nil? or id.to_s == ''
391
- raise InvalidParamError.new "id cannot be nil or empty"
352
+ raise ApiError.new(:error_code => BAD_REQUEST, :message => "id cannot be nil or empty")
392
353
  end
393
354
 
394
355
 
395
356
  # resource path
396
- local_var_path = "/tracking/2025-07/trackings/#{id}"
397
- method = :'PUT'
357
+ local_var_path = "/tracking/2025-07/trackings/#{id}/mark-as-completed"
358
+ method = :'POST'
398
359
 
399
360
  # query parameters
400
361
  query_params = opts[:query_params] || {}
@@ -405,23 +366,25 @@ module AftershipAPI
405
366
  post_body = opts[:body]
406
367
 
407
368
  # return_type
408
- return_type = 'UpdateTrackingByIdResponse'
409
-
369
+ return_type = 'Tracking'
370
+
410
371
  new_options = opts.merge(
411
- :operation => :"TrackingApi.update_tracking_by_id",
372
+ :operation => :"TrackingApi.mark_tracking_completed_by_id",
412
373
  :header_params => header_params,
413
374
  :query_params => query_params,
414
375
  :body => post_body,
415
- :return_type => return_type,
416
- :response_legacy_tag => "",
417
- :is_paging => false
376
+ :return_type => return_type
418
377
  )
419
378
 
420
- data, status_code, headers = @api_client.call_api(method, local_var_path, new_options)
379
+ data, _status_code, headers = @api_client.call_api(method, local_var_path, new_options)
421
380
  if @api_client.config.debugging
422
- @api_client.config.logger.debug "API called: TrackingApi#update_tracking_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
381
+ @api_client.config.logger.debug "API called: TrackingApi#mark_tracking_completed_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
423
382
  end
424
- return data, status_code, headers
425
- end
383
+
384
+ resp = Model::MarkTrackingCompletedByIdResponse.new
385
+ resp.data = data
386
+ resp.response_header = headers
387
+ resp
388
+ end
426
389
  end
427
- end
390
+ end