aftership-tracking-sdk 8.0.0 → 10.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 (176) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/LICENSE +1 -1
  4. data/README.md +16 -14
  5. data/lib/aftership-tracking-sdk/api/courier.rb +6 -6
  6. data/lib/aftership-tracking-sdk/api/estimated_delivery_date.rb +58 -4
  7. data/lib/aftership-tracking-sdk/api/tracking.rb +30 -396
  8. data/lib/aftership-tracking-sdk/api_client.rb +2 -2
  9. data/lib/aftership-tracking-sdk/configuration.rb +108 -108
  10. data/lib/aftership-tracking-sdk/models/additional_fields_v1.rb +3 -3
  11. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_create_tracking_response.rb +2 -0
  12. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_delete_tracking_by_id_response.rb +2 -0
  13. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_get_tracking_by_id_response.rb +2 -0
  14. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_mark_tracking_completed_by_id_response.rb +2 -0
  15. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_retrack_tracking_by_id_response.rb +2 -0
  16. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_tracking.rb +2 -0
  17. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_update_tracking_by_id_response.rb +2 -0
  18. data/lib/aftership-tracking-sdk/models/carbon_emissions_create_tracking_response.rb +2 -0
  19. data/lib/aftership-tracking-sdk/models/carbon_emissions_delete_tracking_by_id_response.rb +2 -0
  20. data/lib/aftership-tracking-sdk/models/carbon_emissions_get_tracking_by_id_response.rb +2 -0
  21. data/lib/aftership-tracking-sdk/models/carbon_emissions_mark_tracking_completed_by_id_response.rb +2 -0
  22. data/lib/aftership-tracking-sdk/models/carbon_emissions_retrack_tracking_by_id_response.rb +2 -0
  23. data/lib/aftership-tracking-sdk/models/carbon_emissions_tracking.rb +2 -0
  24. data/lib/aftership-tracking-sdk/models/carbon_emissions_update_tracking_by_id_response.rb +2 -0
  25. data/lib/aftership-tracking-sdk/models/checkpoint.rb +24 -12
  26. data/lib/aftership-tracking-sdk/models/coordinate_checkpoint.rb +2 -0
  27. data/lib/aftership-tracking-sdk/models/courier.rb +9 -7
  28. data/lib/aftership-tracking-sdk/models/{aftership_estimated_delivery_date_get_tracking_by_slug_tracking_number_response.rb → courier_estimated_delivery_date_create_tracking_response.rb} +7 -15
  29. data/lib/aftership-tracking-sdk/models/{aftership_estimated_delivery_date_retrack_tracking_by_slug_tracking_number_response.rb → courier_estimated_delivery_date_delete_tracking_by_id_response.rb} +7 -15
  30. data/lib/aftership-tracking-sdk/models/{aftership_estimated_delivery_date_mark_tracking_completed_by_slug_tracking_number_response.rb → courier_estimated_delivery_date_get_tracking_by_id_response.rb} +7 -15
  31. data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_mark_tracking_completed_by_id_response.rb +173 -0
  32. data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_retrack_tracking_by_id_response.rb +173 -0
  33. data/lib/aftership-tracking-sdk/models/{aftership_estimated_delivery_date_delete_tracking_by_slug_tracking_number_response.rb → courier_estimated_delivery_date_tracking.rb} +7 -15
  34. data/lib/aftership-tracking-sdk/models/courier_estimated_delivery_date_update_tracking_by_id_response.rb +173 -0
  35. data/lib/aftership-tracking-sdk/models/courier_response_v1.rb +2 -0
  36. data/lib/aftership-tracking-sdk/models/create_tracking_request.rb +49 -67
  37. data/lib/aftership-tracking-sdk/models/create_tracking_response.rb +92 -90
  38. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_create_tracking_response.rb +2 -0
  39. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_delete_tracking_by_id_response.rb +2 -0
  40. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_get_tracking_by_id_response.rb +2 -0
  41. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_mark_tracking_completed_by_id_response.rb +2 -0
  42. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_retrack_tracking_by_id_response.rb +2 -0
  43. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_tracking.rb +2 -0
  44. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_update_tracking_by_id_response.rb +2 -0
  45. data/lib/aftership-tracking-sdk/models/{first_estimated_delivery_delete_tracking_by_slug_tracking_number_response.rb → customers_create_tracking_request.rb} +39 -37
  46. data/lib/aftership-tracking-sdk/models/{first_estimated_delivery_mark_tracking_completed_by_slug_tracking_number_response.rb → customers_create_tracking_response.rb} +39 -37
  47. data/lib/aftership-tracking-sdk/models/customers_delete_tracking_by_id_response.rb +193 -0
  48. data/lib/aftership-tracking-sdk/models/{first_estimated_delivery_retrack_tracking_by_slug_tracking_number_response.rb → customers_get_tracking_by_id_response.rb} +39 -37
  49. data/lib/aftership-tracking-sdk/models/customers_mark_tracking_completed_by_id_response.rb +193 -0
  50. data/lib/aftership-tracking-sdk/models/customers_retrack_tracking_by_id_response.rb +193 -0
  51. data/lib/aftership-tracking-sdk/models/{first_estimated_delivery_get_tracking_by_slug_tracking_number_response.rb → customers_tracking.rb} +39 -37
  52. data/lib/aftership-tracking-sdk/models/customers_update_tracking_by_id_request.rb +193 -0
  53. data/lib/aftership-tracking-sdk/models/customers_update_tracking_by_id_response.rb +193 -0
  54. data/lib/aftership-tracking-sdk/models/data_courier_response_v1.rb +2 -0
  55. data/lib/aftership-tracking-sdk/models/data_tracking_response_get_multiple_v1.rb +8 -126
  56. data/lib/aftership-tracking-sdk/models/delete_tracking_by_id_response.rb +92 -90
  57. data/lib/aftership-tracking-sdk/models/destination_address_estimated_delivery_date_request.rb +8 -6
  58. data/lib/aftership-tracking-sdk/models/destination_address_estimated_delivery_date_response.rb +8 -6
  59. data/lib/aftership-tracking-sdk/models/destination_address_predict_request.rb +193 -0
  60. data/lib/aftership-tracking-sdk/models/destination_address_predict_response.rb +193 -0
  61. data/lib/aftership-tracking-sdk/models/detect_courier_request.rb +26 -24
  62. data/lib/aftership-tracking-sdk/models/detect_courier_response.rb +2 -0
  63. data/lib/aftership-tracking-sdk/models/estimated_delivery_date_request.rb +2 -0
  64. data/lib/aftership-tracking-sdk/models/estimated_delivery_date_response.rb +2 -0
  65. data/lib/aftership-tracking-sdk/models/estimated_pickup_estimated_delivery_date_request.rb +2 -0
  66. data/lib/aftership-tracking-sdk/models/estimated_pickup_estimated_delivery_date_response.rb +2 -0
  67. data/lib/aftership-tracking-sdk/models/estimated_pickup_predict_request.rb +183 -0
  68. data/lib/aftership-tracking-sdk/models/estimated_pickup_predict_response.rb +193 -0
  69. data/lib/aftership-tracking-sdk/models/events_checkpoint.rb +2 -0
  70. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_create_tracking_response.rb +2 -0
  71. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_delete_tracking_by_id_response.rb +2 -0
  72. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_get_tracking_by_id_response.rb +2 -0
  73. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_mark_tracking_completed_by_id_response.rb +2 -0
  74. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_retrack_tracking_by_id_response.rb +2 -0
  75. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_tracking.rb +2 -0
  76. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_update_tracking_by_id_response.rb +2 -0
  77. data/lib/aftership-tracking-sdk/models/first_mile_create_tracking_response.rb +193 -0
  78. data/lib/aftership-tracking-sdk/models/first_mile_delete_tracking_by_id_response.rb +193 -0
  79. data/lib/aftership-tracking-sdk/models/first_mile_get_tracking_by_id_response.rb +193 -0
  80. data/lib/aftership-tracking-sdk/models/first_mile_mark_tracking_completed_by_id_response.rb +193 -0
  81. data/lib/aftership-tracking-sdk/models/first_mile_retrack_tracking_by_id_response.rb +193 -0
  82. data/lib/aftership-tracking-sdk/models/first_mile_tracking.rb +193 -0
  83. data/lib/aftership-tracking-sdk/models/first_mile_update_tracking_by_id_response.rb +193 -0
  84. data/lib/aftership-tracking-sdk/models/get_all_couriers_response.rb +2 -0
  85. data/lib/aftership-tracking-sdk/models/get_tracking_by_id_response.rb +92 -90
  86. data/lib/aftership-tracking-sdk/models/get_trackings_response.rb +5 -3
  87. data/lib/aftership-tracking-sdk/models/get_user_couriers_response.rb +2 -0
  88. data/lib/aftership-tracking-sdk/models/{next_couriers_tracking.rb → last_mile_create_tracking_request.rb} +11 -19
  89. data/lib/aftership-tracking-sdk/models/{next_couriers_delete_tracking_by_slug_tracking_number_response.rb → last_mile_create_tracking_response.rb} +44 -12
  90. data/lib/aftership-tracking-sdk/models/last_mile_delete_tracking_by_id_response.rb +203 -0
  91. data/lib/aftership-tracking-sdk/models/last_mile_get_tracking_by_id_response.rb +203 -0
  92. data/lib/aftership-tracking-sdk/models/last_mile_mark_tracking_completed_by_id_response.rb +203 -0
  93. data/lib/aftership-tracking-sdk/models/last_mile_retrack_tracking_by_id_response.rb +203 -0
  94. data/lib/aftership-tracking-sdk/models/{next_couriers_get_tracking_by_id_response.rb → last_mile_tracking.rb} +44 -12
  95. data/lib/aftership-tracking-sdk/models/last_mile_update_tracking_by_id_response.rb +203 -0
  96. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_create_tracking_response.rb +2 -0
  97. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_delete_tracking_by_id_response.rb +2 -0
  98. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_get_tracking_by_id_response.rb +2 -0
  99. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_mark_tracking_completed_by_id_response.rb +2 -0
  100. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_retrack_tracking_by_id_response.rb +2 -0
  101. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_tracking.rb +2 -0
  102. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_update_tracking_by_id_response.rb +2 -0
  103. data/lib/aftership-tracking-sdk/models/mark_tracking_completed_by_id_request.rb +2 -0
  104. data/lib/aftership-tracking-sdk/models/mark_tracking_completed_by_id_response.rb +92 -90
  105. data/lib/aftership-tracking-sdk/models/meta_v1.rb +2 -0
  106. data/lib/aftership-tracking-sdk/models/order_processing_time_estimated_pickup_estimated_delivery_date_request.rb +2 -0
  107. data/lib/aftership-tracking-sdk/models/order_processing_time_estimated_pickup_estimated_delivery_date_response.rb +2 -0
  108. data/lib/aftership-tracking-sdk/models/{shipment_weight_update_tracking_by_slug_tracking_number_response.rb → order_processing_time_estimated_pickup_predict_request.rb} +6 -4
  109. data/lib/aftership-tracking-sdk/models/{carbon_emissions_mark_tracking_completed_by_slug_tracking_number_response.rb → order_processing_time_estimated_pickup_predict_response.rb} +6 -4
  110. data/lib/aftership-tracking-sdk/models/origin_address_estimated_delivery_date_request.rb +8 -6
  111. data/lib/aftership-tracking-sdk/models/origin_address_estimated_delivery_date_response.rb +8 -6
  112. data/lib/aftership-tracking-sdk/models/origin_address_predict_request.rb +193 -0
  113. data/lib/aftership-tracking-sdk/models/origin_address_predict_response.rb +193 -0
  114. data/lib/aftership-tracking-sdk/models/pagination.rb +14 -6
  115. data/lib/aftership-tracking-sdk/models/{next_couriers_delete_tracking_by_id_response.rb → pagination_data_tracking_response_get_multiple_v1.rb} +25 -23
  116. data/lib/aftership-tracking-sdk/models/{next_couriers_create_tracking_response.rb → pagination_get_trackings_response.rb} +25 -23
  117. data/lib/aftership-tracking-sdk/models/predict_batch_request.rb +2 -0
  118. data/lib/aftership-tracking-sdk/models/predict_batch_response.rb +2 -0
  119. data/lib/aftership-tracking-sdk/models/predict_request.rb +223 -0
  120. data/lib/aftership-tracking-sdk/models/predict_response.rb +273 -0
  121. data/lib/aftership-tracking-sdk/models/reason_events_checkpoint.rb +2 -0
  122. data/lib/aftership-tracking-sdk/models/retrack_tracking_by_id_response.rb +92 -90
  123. data/lib/aftership-tracking-sdk/models/shipment_weight_create_tracking_response.rb +2 -0
  124. data/lib/aftership-tracking-sdk/models/shipment_weight_delete_tracking_by_id_response.rb +2 -0
  125. data/lib/aftership-tracking-sdk/models/shipment_weight_get_tracking_by_id_response.rb +2 -0
  126. data/lib/aftership-tracking-sdk/models/shipment_weight_mark_tracking_completed_by_id_response.rb +2 -0
  127. data/lib/aftership-tracking-sdk/models/shipment_weight_retrack_tracking_by_id_response.rb +2 -0
  128. data/lib/aftership-tracking-sdk/models/shipment_weight_tracking.rb +2 -0
  129. data/lib/aftership-tracking-sdk/models/shipment_weight_update_tracking_by_id_response.rb +2 -0
  130. data/lib/aftership-tracking-sdk/models/slug_group_v1.rb +1 -1
  131. data/lib/aftership-tracking-sdk/models/tag_v1.rb +1 -1
  132. data/lib/aftership-tracking-sdk/models/tracking.rb +92 -90
  133. data/lib/aftership-tracking-sdk/models/tracking_response_get_multiple_v1.rb +2 -0
  134. data/lib/aftership-tracking-sdk/models/tracking_response_v1.rb +2 -0
  135. data/lib/aftership-tracking-sdk/models/update_tracking_by_id_request.rb +38 -56
  136. data/lib/aftership-tracking-sdk/models/update_tracking_by_id_response.rb +92 -90
  137. data/lib/aftership-tracking-sdk/models/weight_estimated_delivery_date_request.rb +2 -0
  138. data/lib/aftership-tracking-sdk/models/weight_estimated_delivery_date_response.rb +2 -0
  139. data/lib/aftership-tracking-sdk/models/{shipment_weight_get_tracking_by_slug_tracking_number_response.rb → weight_predict_request.rb} +8 -6
  140. data/lib/aftership-tracking-sdk/models/{shipment_weight_delete_tracking_by_slug_tracking_number_response.rb → weight_predict_response.rb} +8 -6
  141. data/lib/aftership-tracking-sdk/version.rb +1 -1
  142. metadata +50 -56
  143. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_update_tracking_by_slug_tracking_number_response.rb +0 -181
  144. data/lib/aftership-tracking-sdk/models/carbon_emissions_delete_tracking_by_slug_tracking_number_response.rb +0 -161
  145. data/lib/aftership-tracking-sdk/models/carbon_emissions_get_tracking_by_slug_tracking_number_response.rb +0 -161
  146. data/lib/aftership-tracking-sdk/models/carbon_emissions_retrack_tracking_by_slug_tracking_number_response.rb +0 -161
  147. data/lib/aftership-tracking-sdk/models/carbon_emissions_update_tracking_by_slug_tracking_number_response.rb +0 -161
  148. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_delete_tracking_by_slug_tracking_number_response.rb +0 -181
  149. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_get_tracking_by_slug_tracking_number_response.rb +0 -181
  150. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_mark_tracking_completed_by_slug_tracking_number_response.rb +0 -181
  151. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_retrack_tracking_by_slug_tracking_number_response.rb +0 -181
  152. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_update_tracking_by_slug_tracking_number_response.rb +0 -181
  153. data/lib/aftership-tracking-sdk/models/custom_fields_update_tracking_by_slug_tracking_number_request.rb +0 -139
  154. data/lib/aftership-tracking-sdk/models/delete_tracking_by_slug_tracking_number_response.rb +0 -931
  155. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_update_tracking_by_slug_tracking_number_response.rb +0 -191
  156. data/lib/aftership-tracking-sdk/models/get_tracking_by_slug_tracking_number_response.rb +0 -931
  157. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_delete_tracking_by_slug_tracking_number_response.rb +0 -191
  158. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_get_tracking_by_slug_tracking_number_response.rb +0 -191
  159. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_mark_tracking_completed_by_slug_tracking_number_response.rb +0 -191
  160. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_retrack_tracking_by_slug_tracking_number_response.rb +0 -191
  161. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_update_tracking_by_slug_tracking_number_response.rb +0 -191
  162. data/lib/aftership-tracking-sdk/models/mark_tracking_completed_by_slug_tracking_number_request.rb +0 -151
  163. data/lib/aftership-tracking-sdk/models/mark_tracking_completed_by_slug_tracking_number_response.rb +0 -931
  164. data/lib/aftership-tracking-sdk/models/next_couriers_create_tracking_request.rb +0 -161
  165. data/lib/aftership-tracking-sdk/models/next_couriers_get_tracking_by_slug_tracking_number_response.rb +0 -171
  166. data/lib/aftership-tracking-sdk/models/next_couriers_mark_tracking_completed_by_id_response.rb +0 -171
  167. data/lib/aftership-tracking-sdk/models/next_couriers_mark_tracking_completed_by_slug_tracking_number_response.rb +0 -171
  168. data/lib/aftership-tracking-sdk/models/next_couriers_retrack_tracking_by_id_response.rb +0 -171
  169. data/lib/aftership-tracking-sdk/models/next_couriers_retrack_tracking_by_slug_tracking_number_response.rb +0 -171
  170. data/lib/aftership-tracking-sdk/models/next_couriers_update_tracking_by_id_response.rb +0 -171
  171. data/lib/aftership-tracking-sdk/models/next_couriers_update_tracking_by_slug_tracking_number_response.rb +0 -171
  172. data/lib/aftership-tracking-sdk/models/retrack_tracking_by_slug_tracking_number_response.rb +0 -931
  173. data/lib/aftership-tracking-sdk/models/shipment_weight_mark_tracking_completed_by_slug_tracking_number_response.rb +0 -161
  174. data/lib/aftership-tracking-sdk/models/shipment_weight_retrack_tracking_by_slug_tracking_number_response.rb +0 -161
  175. data/lib/aftership-tracking-sdk/models/update_tracking_by_slug_tracking_number_request.rb +0 -391
  176. data/lib/aftership-tracking-sdk/models/update_tracking_by_slug_tracking_number_response.rb +0 -931
@@ -0,0 +1,203 @@
1
+ # This code was auto generated by AfterShip SDK Generator.
2
+ # Do not edit the class manually.
3
+ module AftershipAPI::Model
4
+ class LastMileRetrackTrackingByIdResponse
5
+
6
+ # The tracking number of the last-mile carrier.
7
+ # tracking_number?: String;
8
+ attr_accessor :tracking_number
9
+
10
+ # The unique code of the carrier responsible for the last-mile of the shipment. Find all the courier slugs .
11
+ # slug?: String;
12
+ attr_accessor :slug
13
+
14
+ # The transit time for the last-mile of a shipment in days. This field is calculated based on whether the handed_over_to_last_mile_carrier or the received_by_last_mile_carrier event is detected by AfterShip. The handover event date is used to calculate the last-mile transit time.- Last mile transit time (in days)= Delivered date - Handover date
15
+ # transit_time?: String;
16
+ attr_accessor :transit_time
17
+
18
+ # The field contains the official tracking URL of the last-mile carrier, if available. The language parameter of this link is determined by the destination country/region and the language associated with the shipment. If the destination country/region and language data is unavailable, AfterShip will default the language parameter to "US".
19
+ # courier_tracking_link?: String;
20
+ attr_accessor :courier_tracking_link
21
+
22
+ # The field provides the link for modifying delivery instructions (such as delivery date and shipping address), if supported by the last-mile carrier. The language parameter of this link is determined by the destination country/region and the language associated with the shipment. If the destination country/region and language data is unavailable, AfterShip will default the language parameter to "US".
23
+ # courier_redirect_link?: String;
24
+ attr_accessor :courier_redirect_link
25
+
26
+ # The field indicates the source of last-mile carrier.
27
+ # source?: String;
28
+ attr_accessor :source
29
+
30
+ # Initializes the object
31
+ # @param [Hash] attributes Model attributes in the form of hash
32
+ def initialize(attributes = {})
33
+ if (!attributes.is_a?(Hash))
34
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::LastMileRetrackTrackingByIdResponse` initialize method"
35
+ end
36
+
37
+ attributes = attributes.each_with_object({}) { |(k, v), h|
38
+ h[k.to_sym] = v
39
+ }
40
+
41
+ if attributes.key?(:'tracking_number')
42
+ self.tracking_number = attributes[:'tracking_number']
43
+ end
44
+
45
+ if attributes.key?(:'slug')
46
+ self.slug = attributes[:'slug']
47
+ end
48
+
49
+ if attributes.key?(:'transit_time')
50
+ self.transit_time = attributes[:'transit_time']
51
+ end
52
+
53
+ if attributes.key?(:'courier_tracking_link')
54
+ self.courier_tracking_link = attributes[:'courier_tracking_link']
55
+ end
56
+
57
+ if attributes.key?(:'courier_redirect_link')
58
+ self.courier_redirect_link = attributes[:'courier_redirect_link']
59
+ end
60
+
61
+ if attributes.key?(:'source')
62
+ self.source = attributes[:'source']
63
+ end
64
+ end
65
+
66
+ # Attribute type mapping.
67
+ def self.openapi_types
68
+ {
69
+ :'tracking_number' => :'String',
70
+ :'slug' => :'String',
71
+ :'transit_time' => :'String',
72
+ :'courier_tracking_link' => :'String',
73
+ :'courier_redirect_link' => :'String',
74
+ :'source' => :'String',
75
+ }
76
+ end
77
+
78
+ # Attribute mapping from ruby-style variable name to JSON key.
79
+ def self.attribute_map
80
+ {
81
+ :'tracking_number' => :'tracking_number',
82
+ :'slug' => :'slug',
83
+ :'transit_time' => :'transit_time',
84
+ :'courier_tracking_link' => :'courier_tracking_link',
85
+ :'courier_redirect_link' => :'courier_redirect_link',
86
+ :'source' => :'source',
87
+ }
88
+ end
89
+
90
+ # Builds the object from hash
91
+ # @param attributes [Hash] Model attributes in the form of hash
92
+ # @return [Object] Returns the model itself
93
+ def self.build_from_hash(attributes)
94
+ return nil unless attributes.is_a?(Hash)
95
+ attributes = attributes.transform_keys(&:to_sym)
96
+ transformed_hash = {}
97
+ openapi_types.each_pair do |key, type|
98
+ if attributes.key?(key) && attributes[key].nil?
99
+ transformed_hash["#{key}"] = nil
100
+ elsif type =~ /\AArray<(.*)>/i
101
+ # check to ensure the input is an array given that the attribute
102
+ # is documented as an array but the input is not
103
+ if attributes[key].is_a?(Array)
104
+ transformed_hash["#{key}"] = attributes[key].map { |v| _deserialize($1, v) }
105
+ end
106
+ elsif !attributes[key].nil?
107
+ transformed_hash["#{key}"] = _deserialize(type, attributes[key])
108
+ end
109
+ end
110
+ new(transformed_hash)
111
+ end
112
+
113
+ # Deserializes the data based on type
114
+ # @param type [String] Data type
115
+ # @param value [String] Value to be deserialized
116
+ # @return [Object] Deserialized data
117
+ def self._deserialize(type, value)
118
+ case type.to_sym
119
+ when :Time
120
+ Time.parse(value)
121
+ when :Date
122
+ Date.parse(value)
123
+ when :String
124
+ value.to_s
125
+ when :Integer
126
+ value.to_i
127
+ when :Float
128
+ value.to_f
129
+ when :Boolean
130
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
131
+ true
132
+ else
133
+ false
134
+ end
135
+ when :Object
136
+ # generic object (usually a Hash), return directly
137
+ value
138
+ when /\AArray<(?<inner_type>.+)>\z/
139
+ inner_type = Regexp.last_match[:inner_type]
140
+ value.map { |v| _deserialize(inner_type, v) }
141
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
142
+ k_type = Regexp.last_match[:k_type]
143
+ v_type = Regexp.last_match[:v_type]
144
+ {}.tap do |hash|
145
+ value.each do |k, v|
146
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
147
+ end
148
+ end
149
+ else # model
150
+ klass = AftershipAPI::Model.const_get(type)
151
+ klass.build_from_hash(value)
152
+ end
153
+ end
154
+
155
+ # Returns the string representation of the object
156
+ # @return [String] String presentation of the object
157
+ def to_s
158
+ to_hash.to_s
159
+ end
160
+
161
+ # to_body is an alias to to_hash (backward compatibility)
162
+ # @return [Hash] Returns the object in the form of hash
163
+ def to_body
164
+ to_hash
165
+ end
166
+
167
+ # Returns the object in the form of hash
168
+ # @return [Hash] Returns the object in the form of hash
169
+ def to_hash
170
+ hash = {}
171
+ self.class.attribute_map.each_pair do |attr, param|
172
+ value = self.send(attr)
173
+ next if value.nil?
174
+
175
+ hash[param] = _to_hash(value)
176
+ end
177
+ hash
178
+ end
179
+
180
+ # Outputs non-array value in the form of hash
181
+ # For object, use to_hash. Otherwise, just return the value
182
+ # @param value [Object] Any valid value
183
+ # @return [Hash] Returns the value in the form of hash
184
+ def _to_hash(value)
185
+ if value.is_a?(Array)
186
+ value.compact.map { |v| _to_hash(v) }
187
+ elsif value.is_a?(Hash)
188
+ {}.tap do |hash|
189
+ value.each { |k, v| hash[k] = _to_hash(v) }
190
+ end
191
+ elsif value.respond_to? :to_hash
192
+ value.to_hash
193
+ else
194
+ value
195
+ end
196
+ end
197
+
198
+ def to_json(*a)
199
+ to_hash.to_json(*a)
200
+ end
201
+ end
202
+ end
203
+
@@ -1,16 +1,29 @@
1
1
  # This code was auto generated by AfterShip SDK Generator.
2
2
  # Do not edit the class manually.
3
3
  module AftershipAPI::Model
4
- class NextCouriersGetTrackingByIdResponse
5
- # Unique code of courier. Get courier
6
- # slug: String;
7
- attr_accessor :slug
4
+ class LastMileTracking
8
5
 
9
- # Tracking number.
10
- # tracking_number: String;
6
+ # The tracking number of the last-mile carrier.
7
+ # tracking_number?: String;
11
8
  attr_accessor :tracking_number
12
9
 
13
- # Source of next couriers.
10
+ # The unique code of the carrier responsible for the last-mile of the shipment. Find all the courier slugs .
11
+ # slug?: String;
12
+ attr_accessor :slug
13
+
14
+ # The transit time for the last-mile of a shipment in days. This field is calculated based on whether the handed_over_to_last_mile_carrier or the received_by_last_mile_carrier event is detected by AfterShip. The handover event date is used to calculate the last-mile transit time.- Last mile transit time (in days)= Delivered date - Handover date
15
+ # transit_time?: String;
16
+ attr_accessor :transit_time
17
+
18
+ # The field contains the official tracking URL of the last-mile carrier, if available. The language parameter of this link is determined by the destination country/region and the language associated with the shipment. If the destination country/region and language data is unavailable, AfterShip will default the language parameter to "US".
19
+ # courier_tracking_link?: String;
20
+ attr_accessor :courier_tracking_link
21
+
22
+ # The field provides the link for modifying delivery instructions (such as delivery date and shipping address), if supported by the last-mile carrier. The language parameter of this link is determined by the destination country/region and the language associated with the shipment. If the destination country/region and language data is unavailable, AfterShip will default the language parameter to "US".
23
+ # courier_redirect_link?: String;
24
+ attr_accessor :courier_redirect_link
25
+
26
+ # The field indicates the source of last-mile carrier.
14
27
  # source?: String;
15
28
  attr_accessor :source
16
29
 
@@ -18,19 +31,31 @@ module AftershipAPI::Model
18
31
  # @param [Hash] attributes Model attributes in the form of hash
19
32
  def initialize(attributes = {})
20
33
  if (!attributes.is_a?(Hash))
21
- fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::NextCouriersGetTrackingByIdResponse` initialize method"
34
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::LastMileTracking` initialize method"
22
35
  end
23
36
 
24
37
  attributes = attributes.each_with_object({}) { |(k, v), h|
25
38
  h[k.to_sym] = v
26
39
  }
27
40
 
41
+ if attributes.key?(:'tracking_number')
42
+ self.tracking_number = attributes[:'tracking_number']
43
+ end
44
+
28
45
  if attributes.key?(:'slug')
29
46
  self.slug = attributes[:'slug']
30
47
  end
31
48
 
32
- if attributes.key?(:'tracking_number')
33
- self.tracking_number = attributes[:'tracking_number']
49
+ if attributes.key?(:'transit_time')
50
+ self.transit_time = attributes[:'transit_time']
51
+ end
52
+
53
+ if attributes.key?(:'courier_tracking_link')
54
+ self.courier_tracking_link = attributes[:'courier_tracking_link']
55
+ end
56
+
57
+ if attributes.key?(:'courier_redirect_link')
58
+ self.courier_redirect_link = attributes[:'courier_redirect_link']
34
59
  end
35
60
 
36
61
  if attributes.key?(:'source')
@@ -41,8 +66,11 @@ module AftershipAPI::Model
41
66
  # Attribute type mapping.
42
67
  def self.openapi_types
43
68
  {
44
- :'slug' => :'String',
45
69
  :'tracking_number' => :'String',
70
+ :'slug' => :'String',
71
+ :'transit_time' => :'String',
72
+ :'courier_tracking_link' => :'String',
73
+ :'courier_redirect_link' => :'String',
46
74
  :'source' => :'String',
47
75
  }
48
76
  end
@@ -50,8 +78,11 @@ module AftershipAPI::Model
50
78
  # Attribute mapping from ruby-style variable name to JSON key.
51
79
  def self.attribute_map
52
80
  {
53
- :'slug' => :'slug',
54
81
  :'tracking_number' => :'tracking_number',
82
+ :'slug' => :'slug',
83
+ :'transit_time' => :'transit_time',
84
+ :'courier_tracking_link' => :'courier_tracking_link',
85
+ :'courier_redirect_link' => :'courier_redirect_link',
55
86
  :'source' => :'source',
56
87
  }
57
88
  end
@@ -169,3 +200,4 @@ module AftershipAPI::Model
169
200
  end
170
201
  end
171
202
  end
203
+
@@ -0,0 +1,203 @@
1
+ # This code was auto generated by AfterShip SDK Generator.
2
+ # Do not edit the class manually.
3
+ module AftershipAPI::Model
4
+ class LastMileUpdateTrackingByIdResponse
5
+
6
+ # The tracking number of the last-mile carrier.
7
+ # tracking_number?: String;
8
+ attr_accessor :tracking_number
9
+
10
+ # The unique code of the carrier responsible for the last-mile of the shipment. Find all the courier slugs .
11
+ # slug?: String;
12
+ attr_accessor :slug
13
+
14
+ # The transit time for the last-mile of a shipment in days. This field is calculated based on whether the handed_over_to_last_mile_carrier or the received_by_last_mile_carrier event is detected by AfterShip. The handover event date is used to calculate the last-mile transit time.- Last mile transit time (in days)= Delivered date - Handover date
15
+ # transit_time?: String;
16
+ attr_accessor :transit_time
17
+
18
+ # The field contains the official tracking URL of the last-mile carrier, if available. The language parameter of this link is determined by the destination country/region and the language associated with the shipment. If the destination country/region and language data is unavailable, AfterShip will default the language parameter to "US".
19
+ # courier_tracking_link?: String;
20
+ attr_accessor :courier_tracking_link
21
+
22
+ # The field provides the link for modifying delivery instructions (such as delivery date and shipping address), if supported by the last-mile carrier. The language parameter of this link is determined by the destination country/region and the language associated with the shipment. If the destination country/region and language data is unavailable, AfterShip will default the language parameter to "US".
23
+ # courier_redirect_link?: String;
24
+ attr_accessor :courier_redirect_link
25
+
26
+ # The field indicates the source of last-mile carrier.
27
+ # source?: String;
28
+ attr_accessor :source
29
+
30
+ # Initializes the object
31
+ # @param [Hash] attributes Model attributes in the form of hash
32
+ def initialize(attributes = {})
33
+ if (!attributes.is_a?(Hash))
34
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::LastMileUpdateTrackingByIdResponse` initialize method"
35
+ end
36
+
37
+ attributes = attributes.each_with_object({}) { |(k, v), h|
38
+ h[k.to_sym] = v
39
+ }
40
+
41
+ if attributes.key?(:'tracking_number')
42
+ self.tracking_number = attributes[:'tracking_number']
43
+ end
44
+
45
+ if attributes.key?(:'slug')
46
+ self.slug = attributes[:'slug']
47
+ end
48
+
49
+ if attributes.key?(:'transit_time')
50
+ self.transit_time = attributes[:'transit_time']
51
+ end
52
+
53
+ if attributes.key?(:'courier_tracking_link')
54
+ self.courier_tracking_link = attributes[:'courier_tracking_link']
55
+ end
56
+
57
+ if attributes.key?(:'courier_redirect_link')
58
+ self.courier_redirect_link = attributes[:'courier_redirect_link']
59
+ end
60
+
61
+ if attributes.key?(:'source')
62
+ self.source = attributes[:'source']
63
+ end
64
+ end
65
+
66
+ # Attribute type mapping.
67
+ def self.openapi_types
68
+ {
69
+ :'tracking_number' => :'String',
70
+ :'slug' => :'String',
71
+ :'transit_time' => :'String',
72
+ :'courier_tracking_link' => :'String',
73
+ :'courier_redirect_link' => :'String',
74
+ :'source' => :'String',
75
+ }
76
+ end
77
+
78
+ # Attribute mapping from ruby-style variable name to JSON key.
79
+ def self.attribute_map
80
+ {
81
+ :'tracking_number' => :'tracking_number',
82
+ :'slug' => :'slug',
83
+ :'transit_time' => :'transit_time',
84
+ :'courier_tracking_link' => :'courier_tracking_link',
85
+ :'courier_redirect_link' => :'courier_redirect_link',
86
+ :'source' => :'source',
87
+ }
88
+ end
89
+
90
+ # Builds the object from hash
91
+ # @param attributes [Hash] Model attributes in the form of hash
92
+ # @return [Object] Returns the model itself
93
+ def self.build_from_hash(attributes)
94
+ return nil unless attributes.is_a?(Hash)
95
+ attributes = attributes.transform_keys(&:to_sym)
96
+ transformed_hash = {}
97
+ openapi_types.each_pair do |key, type|
98
+ if attributes.key?(key) && attributes[key].nil?
99
+ transformed_hash["#{key}"] = nil
100
+ elsif type =~ /\AArray<(.*)>/i
101
+ # check to ensure the input is an array given that the attribute
102
+ # is documented as an array but the input is not
103
+ if attributes[key].is_a?(Array)
104
+ transformed_hash["#{key}"] = attributes[key].map { |v| _deserialize($1, v) }
105
+ end
106
+ elsif !attributes[key].nil?
107
+ transformed_hash["#{key}"] = _deserialize(type, attributes[key])
108
+ end
109
+ end
110
+ new(transformed_hash)
111
+ end
112
+
113
+ # Deserializes the data based on type
114
+ # @param type [String] Data type
115
+ # @param value [String] Value to be deserialized
116
+ # @return [Object] Deserialized data
117
+ def self._deserialize(type, value)
118
+ case type.to_sym
119
+ when :Time
120
+ Time.parse(value)
121
+ when :Date
122
+ Date.parse(value)
123
+ when :String
124
+ value.to_s
125
+ when :Integer
126
+ value.to_i
127
+ when :Float
128
+ value.to_f
129
+ when :Boolean
130
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
131
+ true
132
+ else
133
+ false
134
+ end
135
+ when :Object
136
+ # generic object (usually a Hash), return directly
137
+ value
138
+ when /\AArray<(?<inner_type>.+)>\z/
139
+ inner_type = Regexp.last_match[:inner_type]
140
+ value.map { |v| _deserialize(inner_type, v) }
141
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
142
+ k_type = Regexp.last_match[:k_type]
143
+ v_type = Regexp.last_match[:v_type]
144
+ {}.tap do |hash|
145
+ value.each do |k, v|
146
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
147
+ end
148
+ end
149
+ else # model
150
+ klass = AftershipAPI::Model.const_get(type)
151
+ klass.build_from_hash(value)
152
+ end
153
+ end
154
+
155
+ # Returns the string representation of the object
156
+ # @return [String] String presentation of the object
157
+ def to_s
158
+ to_hash.to_s
159
+ end
160
+
161
+ # to_body is an alias to to_hash (backward compatibility)
162
+ # @return [Hash] Returns the object in the form of hash
163
+ def to_body
164
+ to_hash
165
+ end
166
+
167
+ # Returns the object in the form of hash
168
+ # @return [Hash] Returns the object in the form of hash
169
+ def to_hash
170
+ hash = {}
171
+ self.class.attribute_map.each_pair do |attr, param|
172
+ value = self.send(attr)
173
+ next if value.nil?
174
+
175
+ hash[param] = _to_hash(value)
176
+ end
177
+ hash
178
+ end
179
+
180
+ # Outputs non-array value in the form of hash
181
+ # For object, use to_hash. Otherwise, just return the value
182
+ # @param value [Object] Any valid value
183
+ # @return [Hash] Returns the value in the form of hash
184
+ def _to_hash(value)
185
+ if value.is_a?(Array)
186
+ value.compact.map { |v| _to_hash(v) }
187
+ elsif value.is_a?(Hash)
188
+ {}.tap do |hash|
189
+ value.each { |k, v| hash[k] = _to_hash(v) }
190
+ end
191
+ elsif value.respond_to? :to_hash
192
+ value.to_hash
193
+ else
194
+ value
195
+ end
196
+ end
197
+
198
+ def to_json(*a)
199
+ to_hash.to_json(*a)
200
+ end
201
+ end
202
+ end
203
+
@@ -2,6 +2,7 @@
2
2
  # Do not edit the class manually.
3
3
  module AftershipAPI::Model
4
4
  class LatestEstimatedDeliveryCreateTrackingResponse
5
+
5
6
  # The format of the EDD. Either a single date or a date range.
6
7
  # type?: String;
7
8
  attr_accessor :type
@@ -189,3 +190,4 @@ module AftershipAPI::Model
189
190
  end
190
191
  end
191
192
  end
193
+
@@ -2,6 +2,7 @@
2
2
  # Do not edit the class manually.
3
3
  module AftershipAPI::Model
4
4
  class LatestEstimatedDeliveryDeleteTrackingByIdResponse
5
+
5
6
  # The format of the EDD. Either a single date or a date range.
6
7
  # type?: String;
7
8
  attr_accessor :type
@@ -189,3 +190,4 @@ module AftershipAPI::Model
189
190
  end
190
191
  end
191
192
  end
193
+
@@ -2,6 +2,7 @@
2
2
  # Do not edit the class manually.
3
3
  module AftershipAPI::Model
4
4
  class LatestEstimatedDeliveryGetTrackingByIdResponse
5
+
5
6
  # The format of the EDD. Either a single date or a date range.
6
7
  # type?: String;
7
8
  attr_accessor :type
@@ -189,3 +190,4 @@ module AftershipAPI::Model
189
190
  end
190
191
  end
191
192
  end
193
+
@@ -2,6 +2,7 @@
2
2
  # Do not edit the class manually.
3
3
  module AftershipAPI::Model
4
4
  class LatestEstimatedDeliveryMarkTrackingCompletedByIdResponse
5
+
5
6
  # The format of the EDD. Either a single date or a date range.
6
7
  # type?: String;
7
8
  attr_accessor :type
@@ -189,3 +190,4 @@ module AftershipAPI::Model
189
190
  end
190
191
  end
191
192
  end
193
+
@@ -2,6 +2,7 @@
2
2
  # Do not edit the class manually.
3
3
  module AftershipAPI::Model
4
4
  class LatestEstimatedDeliveryRetrackTrackingByIdResponse
5
+
5
6
  # The format of the EDD. Either a single date or a date range.
6
7
  # type?: String;
7
8
  attr_accessor :type
@@ -189,3 +190,4 @@ module AftershipAPI::Model
189
190
  end
190
191
  end
191
192
  end
193
+
@@ -2,6 +2,7 @@
2
2
  # Do not edit the class manually.
3
3
  module AftershipAPI::Model
4
4
  class LatestEstimatedDeliveryTracking
5
+
5
6
  # The format of the EDD. Either a single date or a date range.
6
7
  # type?: String;
7
8
  attr_accessor :type
@@ -189,3 +190,4 @@ module AftershipAPI::Model
189
190
  end
190
191
  end
191
192
  end
193
+
@@ -2,6 +2,7 @@
2
2
  # Do not edit the class manually.
3
3
  module AftershipAPI::Model
4
4
  class LatestEstimatedDeliveryUpdateTrackingByIdResponse
5
+
5
6
  # The format of the EDD. Either a single date or a date range.
6
7
  # type?: String;
7
8
  attr_accessor :type
@@ -189,3 +190,4 @@ module AftershipAPI::Model
189
190
  end
190
191
  end
191
192
  end
193
+
@@ -2,6 +2,7 @@
2
2
  # Do not edit the class manually.
3
3
  module AftershipAPI::Model
4
4
  class MarkTrackingCompletedByIdRequest
5
+
5
6
  # One of `DELIVERED`, `LOST` or `RETURNED_TO_SENDER`.- Mark the tracking as completed with `DELIVERED`. The tag of the tracking will be updated to `Delivered` and the subtag will be updated to `Delivered_001`.- Mark the tracking as completed with `LOST`. The tag of the tracking will be updated to `Exception` and the subtag will be updated to `Exception_013`.- Mark the tracking as completed with `RETURNED_TO_SENDER`. The tag of the tracking will be updated to `Exception` and the subtag will be updated to `Exception_011`.
6
7
  # reason: String;
7
8
  attr_accessor :reason
@@ -149,3 +150,4 @@ module AftershipAPI::Model
149
150
  end
150
151
  end
151
152
  end
153
+