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,193 @@
1
+ # This code was auto generated by AfterShip SDK Generator.
2
+ # Do not edit the class manually.
3
+ module AftershipAPI::Model
4
+ class OriginAddressPredictRequest
5
+
6
+ # The country/region of the origin location from where the package is picked up by the carrier to be delivered to the final destination. Use 3 letters of ISO 3166-1 country/region code.
7
+ # country_region: String;
8
+ attr_accessor :country_region
9
+
10
+ # State, province, or the equivalent location of the origin address. Use 3 letters of ISO 3166-1 country/region code for countries/regions without state. Either `origin_address.state` or `origin_address.postal_code` is required.
11
+ # state?: String;
12
+ attr_accessor :state
13
+
14
+ # City of the origin address. Use 3 letters of ISO 3166-1 country/region code for countries/regions without City.
15
+ # city?: String;
16
+ attr_accessor :city
17
+
18
+ # Postal code of the origin address. Use 3 letters of ISO 3166-1 country/region code for countries/regions without postal code. Either `origin_address.state` or `origin_address.postal_code` is required.
19
+ # postal_code?: String;
20
+ attr_accessor :postal_code
21
+
22
+ # Raw location of the origin address. A raw address will help AI to identify the accurate location of the origin address.
23
+ # raw_location?: String;
24
+ attr_accessor :raw_location
25
+
26
+ # Initializes the object
27
+ # @param [Hash] attributes Model attributes in the form of hash
28
+ def initialize(attributes = {})
29
+ if (!attributes.is_a?(Hash))
30
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::OriginAddressPredictRequest` initialize method"
31
+ end
32
+
33
+ attributes = attributes.each_with_object({}) { |(k, v), h|
34
+ h[k.to_sym] = v
35
+ }
36
+
37
+ if attributes.key?(:'country_region')
38
+ self.country_region = attributes[:'country_region']
39
+ end
40
+
41
+ if attributes.key?(:'state')
42
+ self.state = attributes[:'state']
43
+ end
44
+
45
+ if attributes.key?(:'city')
46
+ self.city = attributes[:'city']
47
+ end
48
+
49
+ if attributes.key?(:'postal_code')
50
+ self.postal_code = attributes[:'postal_code']
51
+ end
52
+
53
+ if attributes.key?(:'raw_location')
54
+ self.raw_location = attributes[:'raw_location']
55
+ end
56
+ end
57
+
58
+ # Attribute type mapping.
59
+ def self.openapi_types
60
+ {
61
+ :'country_region' => :'String',
62
+ :'state' => :'String',
63
+ :'city' => :'String',
64
+ :'postal_code' => :'String',
65
+ :'raw_location' => :'String',
66
+ }
67
+ end
68
+
69
+ # Attribute mapping from ruby-style variable name to JSON key.
70
+ def self.attribute_map
71
+ {
72
+ :'country_region' => :'country_region',
73
+ :'state' => :'state',
74
+ :'city' => :'city',
75
+ :'postal_code' => :'postal_code',
76
+ :'raw_location' => :'raw_location',
77
+ }
78
+ end
79
+
80
+ # Builds the object from hash
81
+ # @param attributes [Hash] Model attributes in the form of hash
82
+ # @return [Object] Returns the model itself
83
+ def self.build_from_hash(attributes)
84
+ return nil unless attributes.is_a?(Hash)
85
+ attributes = attributes.transform_keys(&:to_sym)
86
+ transformed_hash = {}
87
+ openapi_types.each_pair do |key, type|
88
+ if attributes.key?(key) && attributes[key].nil?
89
+ transformed_hash["#{key}"] = nil
90
+ elsif type =~ /\AArray<(.*)>/i
91
+ # check to ensure the input is an array given that the attribute
92
+ # is documented as an array but the input is not
93
+ if attributes[key].is_a?(Array)
94
+ transformed_hash["#{key}"] = attributes[key].map { |v| _deserialize($1, v) }
95
+ end
96
+ elsif !attributes[key].nil?
97
+ transformed_hash["#{key}"] = _deserialize(type, attributes[key])
98
+ end
99
+ end
100
+ new(transformed_hash)
101
+ end
102
+
103
+ # Deserializes the data based on type
104
+ # @param type [String] Data type
105
+ # @param value [String] Value to be deserialized
106
+ # @return [Object] Deserialized data
107
+ def self._deserialize(type, value)
108
+ case type.to_sym
109
+ when :Time
110
+ Time.parse(value)
111
+ when :Date
112
+ Date.parse(value)
113
+ when :String
114
+ value.to_s
115
+ when :Integer
116
+ value.to_i
117
+ when :Float
118
+ value.to_f
119
+ when :Boolean
120
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
121
+ true
122
+ else
123
+ false
124
+ end
125
+ when :Object
126
+ # generic object (usually a Hash), return directly
127
+ value
128
+ when /\AArray<(?<inner_type>.+)>\z/
129
+ inner_type = Regexp.last_match[:inner_type]
130
+ value.map { |v| _deserialize(inner_type, v) }
131
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
132
+ k_type = Regexp.last_match[:k_type]
133
+ v_type = Regexp.last_match[:v_type]
134
+ {}.tap do |hash|
135
+ value.each do |k, v|
136
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
137
+ end
138
+ end
139
+ else # model
140
+ klass = AftershipAPI::Model.const_get(type)
141
+ klass.build_from_hash(value)
142
+ end
143
+ end
144
+
145
+ # Returns the string representation of the object
146
+ # @return [String] String presentation of the object
147
+ def to_s
148
+ to_hash.to_s
149
+ end
150
+
151
+ # to_body is an alias to to_hash (backward compatibility)
152
+ # @return [Hash] Returns the object in the form of hash
153
+ def to_body
154
+ to_hash
155
+ end
156
+
157
+ # Returns the object in the form of hash
158
+ # @return [Hash] Returns the object in the form of hash
159
+ def to_hash
160
+ hash = {}
161
+ self.class.attribute_map.each_pair do |attr, param|
162
+ value = self.send(attr)
163
+ next if value.nil?
164
+
165
+ hash[param] = _to_hash(value)
166
+ end
167
+ hash
168
+ end
169
+
170
+ # Outputs non-array value in the form of hash
171
+ # For object, use to_hash. Otherwise, just return the value
172
+ # @param value [Object] Any valid value
173
+ # @return [Hash] Returns the value in the form of hash
174
+ def _to_hash(value)
175
+ if value.is_a?(Array)
176
+ value.compact.map { |v| _to_hash(v) }
177
+ elsif value.is_a?(Hash)
178
+ {}.tap do |hash|
179
+ value.each { |k, v| hash[k] = _to_hash(v) }
180
+ end
181
+ elsif value.respond_to? :to_hash
182
+ value.to_hash
183
+ else
184
+ value
185
+ end
186
+ end
187
+
188
+ def to_json(*a)
189
+ to_hash.to_json(*a)
190
+ end
191
+ end
192
+ end
193
+
@@ -0,0 +1,193 @@
1
+ # This code was auto generated by AfterShip SDK Generator.
2
+ # Do not edit the class manually.
3
+ module AftershipAPI::Model
4
+ class OriginAddressPredictResponse
5
+
6
+ # The country/region of the origin location from where the package is picked up by the carrier to be delivered to the final destination. Use 3 letters of ISO 3166-1 country/region code.
7
+ # country_region: String;
8
+ attr_accessor :country_region
9
+
10
+ # State, province, or the equivalent location of the origin address. Use 3 letters of ISO 3166-1 country/region code for countries/regions without state. Either `origin_address.state` or `origin_address.postal_code` is required.
11
+ # state?: String;
12
+ attr_accessor :state
13
+
14
+ # City of the origin address. Use 3 letters of ISO 3166-1 country/region code for countries/regions without City.
15
+ # city?: String;
16
+ attr_accessor :city
17
+
18
+ # Postal code of the origin address. Use 3 letters of ISO 3166-1 country/region code for countries/regions without postal code. Either `origin_address.state` or `origin_address.postal_code` is required.
19
+ # postal_code?: String;
20
+ attr_accessor :postal_code
21
+
22
+ # Raw location of the origin address. A raw address will help AI to identify the accurate location of the origin address.
23
+ # raw_location?: String;
24
+ attr_accessor :raw_location
25
+
26
+ # Initializes the object
27
+ # @param [Hash] attributes Model attributes in the form of hash
28
+ def initialize(attributes = {})
29
+ if (!attributes.is_a?(Hash))
30
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::OriginAddressPredictResponse` initialize method"
31
+ end
32
+
33
+ attributes = attributes.each_with_object({}) { |(k, v), h|
34
+ h[k.to_sym] = v
35
+ }
36
+
37
+ if attributes.key?(:'country_region')
38
+ self.country_region = attributes[:'country_region']
39
+ end
40
+
41
+ if attributes.key?(:'state')
42
+ self.state = attributes[:'state']
43
+ end
44
+
45
+ if attributes.key?(:'city')
46
+ self.city = attributes[:'city']
47
+ end
48
+
49
+ if attributes.key?(:'postal_code')
50
+ self.postal_code = attributes[:'postal_code']
51
+ end
52
+
53
+ if attributes.key?(:'raw_location')
54
+ self.raw_location = attributes[:'raw_location']
55
+ end
56
+ end
57
+
58
+ # Attribute type mapping.
59
+ def self.openapi_types
60
+ {
61
+ :'country_region' => :'String',
62
+ :'state' => :'String',
63
+ :'city' => :'String',
64
+ :'postal_code' => :'String',
65
+ :'raw_location' => :'String',
66
+ }
67
+ end
68
+
69
+ # Attribute mapping from ruby-style variable name to JSON key.
70
+ def self.attribute_map
71
+ {
72
+ :'country_region' => :'country_region',
73
+ :'state' => :'state',
74
+ :'city' => :'city',
75
+ :'postal_code' => :'postal_code',
76
+ :'raw_location' => :'raw_location',
77
+ }
78
+ end
79
+
80
+ # Builds the object from hash
81
+ # @param attributes [Hash] Model attributes in the form of hash
82
+ # @return [Object] Returns the model itself
83
+ def self.build_from_hash(attributes)
84
+ return nil unless attributes.is_a?(Hash)
85
+ attributes = attributes.transform_keys(&:to_sym)
86
+ transformed_hash = {}
87
+ openapi_types.each_pair do |key, type|
88
+ if attributes.key?(key) && attributes[key].nil?
89
+ transformed_hash["#{key}"] = nil
90
+ elsif type =~ /\AArray<(.*)>/i
91
+ # check to ensure the input is an array given that the attribute
92
+ # is documented as an array but the input is not
93
+ if attributes[key].is_a?(Array)
94
+ transformed_hash["#{key}"] = attributes[key].map { |v| _deserialize($1, v) }
95
+ end
96
+ elsif !attributes[key].nil?
97
+ transformed_hash["#{key}"] = _deserialize(type, attributes[key])
98
+ end
99
+ end
100
+ new(transformed_hash)
101
+ end
102
+
103
+ # Deserializes the data based on type
104
+ # @param type [String] Data type
105
+ # @param value [String] Value to be deserialized
106
+ # @return [Object] Deserialized data
107
+ def self._deserialize(type, value)
108
+ case type.to_sym
109
+ when :Time
110
+ Time.parse(value)
111
+ when :Date
112
+ Date.parse(value)
113
+ when :String
114
+ value.to_s
115
+ when :Integer
116
+ value.to_i
117
+ when :Float
118
+ value.to_f
119
+ when :Boolean
120
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
121
+ true
122
+ else
123
+ false
124
+ end
125
+ when :Object
126
+ # generic object (usually a Hash), return directly
127
+ value
128
+ when /\AArray<(?<inner_type>.+)>\z/
129
+ inner_type = Regexp.last_match[:inner_type]
130
+ value.map { |v| _deserialize(inner_type, v) }
131
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
132
+ k_type = Regexp.last_match[:k_type]
133
+ v_type = Regexp.last_match[:v_type]
134
+ {}.tap do |hash|
135
+ value.each do |k, v|
136
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
137
+ end
138
+ end
139
+ else # model
140
+ klass = AftershipAPI::Model.const_get(type)
141
+ klass.build_from_hash(value)
142
+ end
143
+ end
144
+
145
+ # Returns the string representation of the object
146
+ # @return [String] String presentation of the object
147
+ def to_s
148
+ to_hash.to_s
149
+ end
150
+
151
+ # to_body is an alias to to_hash (backward compatibility)
152
+ # @return [Hash] Returns the object in the form of hash
153
+ def to_body
154
+ to_hash
155
+ end
156
+
157
+ # Returns the object in the form of hash
158
+ # @return [Hash] Returns the object in the form of hash
159
+ def to_hash
160
+ hash = {}
161
+ self.class.attribute_map.each_pair do |attr, param|
162
+ value = self.send(attr)
163
+ next if value.nil?
164
+
165
+ hash[param] = _to_hash(value)
166
+ end
167
+ hash
168
+ end
169
+
170
+ # Outputs non-array value in the form of hash
171
+ # For object, use to_hash. Otherwise, just return the value
172
+ # @param value [Object] Any valid value
173
+ # @return [Hash] Returns the value in the form of hash
174
+ def _to_hash(value)
175
+ if value.is_a?(Array)
176
+ value.compact.map { |v| _to_hash(v) }
177
+ elsif value.is_a?(Hash)
178
+ {}.tap do |hash|
179
+ value.each { |k, v| hash[k] = _to_hash(v) }
180
+ end
181
+ elsif value.respond_to? :to_hash
182
+ value.to_hash
183
+ else
184
+ value
185
+ end
186
+ end
187
+
188
+ def to_json(*a)
189
+ to_hash.to_json(*a)
190
+ end
191
+ end
192
+ end
193
+
@@ -2,7 +2,8 @@
2
2
  # Do not edit the class manually.
3
3
  module AftershipAPI::Model
4
4
  class Pagination
5
- attr_accessor :total, :page, :limit, :has_next_page
5
+
6
+ attr_accessor :total, :page, :limit, :has_next_page, :next_cursor
6
7
  # Initializes the object
7
8
  # @param attributes [Hash] Model attributes in the form of hash
8
9
  def initialize(attributes = {})
@@ -22,22 +23,28 @@ module AftershipAPI::Model
22
23
  self.page = attributes[:'page']
23
24
  end
24
25
 
25
- if attributes.key?(:'limit')
26
+ if attributes.key?(:'limit')
26
27
  self.limit = attributes[:'limit']
27
28
  end
28
29
 
29
- if attributes.key?(:'has_next_page')
30
+ if attributes.key?(:'has_next_page')
30
31
  self.has_next_page = attributes[:'has_next_page']
31
32
  end
33
+
34
+ if attributes.key?(:'next_cursor')
35
+ self.next_cursor = attributes[:'next_cursor']
36
+ end
37
+
32
38
  end
33
39
 
34
40
  # Attribute type mapping.
35
41
  def self.openapi_types
36
42
  {
37
43
  :'total' => :'Integer',
38
- :'page' => :'Integer',
39
- :'limit' => :'Integer',
40
- :'has_next_page' => :'Boolean'
44
+ :'page' => :'Integer',
45
+ :'limit' => :'Integer',
46
+ :'has_next_page' => :'Boolean',
47
+ :'next_cursor' => :'String'
41
48
  }
42
49
  end
43
50
 
@@ -154,3 +161,4 @@ module AftershipAPI::Model
154
161
  end
155
162
  end
156
163
  end
164
+
@@ -1,58 +1,59 @@
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 NextCouriersDeleteTrackingByIdResponse
5
- # Unique code of courier. Get courier
6
- # slug: String;
7
- attr_accessor :slug
4
+ class PaginationDataTrackingResponseGetMultipleV1
8
5
 
9
- # Tracking number.
10
- # tracking_number: String;
11
- attr_accessor :tracking_number
6
+ # The total number of trackings.
7
+ # total?: Integer;
8
+ attr_accessor :total
12
9
 
13
- # Source of next couriers.
14
- # source?: String;
15
- attr_accessor :source
10
+ # A string representing the cursor value for the next page of results.
11
+ # next_cursor?: String;
12
+ attr_accessor :next_cursor
13
+
14
+ # To indicate if next page is available.
15
+ # has_next_page?: Boolean;
16
+ attr_accessor :has_next_page
16
17
 
17
18
  # Initializes the object
18
19
  # @param [Hash] attributes Model attributes in the form of hash
19
20
  def initialize(attributes = {})
20
21
  if (!attributes.is_a?(Hash))
21
- fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::NextCouriersDeleteTrackingByIdResponse` initialize method"
22
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::PaginationDataTrackingResponseGetMultipleV1` initialize method"
22
23
  end
23
24
 
24
25
  attributes = attributes.each_with_object({}) { |(k, v), h|
25
26
  h[k.to_sym] = v
26
27
  }
27
28
 
28
- if attributes.key?(:'slug')
29
- self.slug = attributes[:'slug']
29
+ if attributes.key?(:'total')
30
+ self.total = attributes[:'total']
30
31
  end
31
32
 
32
- if attributes.key?(:'tracking_number')
33
- self.tracking_number = attributes[:'tracking_number']
33
+ if attributes.key?(:'next_cursor')
34
+ self.next_cursor = attributes[:'next_cursor']
34
35
  end
35
36
 
36
- if attributes.key?(:'source')
37
- self.source = attributes[:'source']
37
+ if attributes.key?(:'has_next_page')
38
+ self.has_next_page = attributes[:'has_next_page']
38
39
  end
39
40
  end
40
41
 
41
42
  # Attribute type mapping.
42
43
  def self.openapi_types
43
44
  {
44
- :'slug' => :'String',
45
- :'tracking_number' => :'String',
46
- :'source' => :'String',
45
+ :'total' => :'Integer',
46
+ :'next_cursor' => :'String',
47
+ :'has_next_page' => :'Boolean',
47
48
  }
48
49
  end
49
50
 
50
51
  # Attribute mapping from ruby-style variable name to JSON key.
51
52
  def self.attribute_map
52
53
  {
53
- :'slug' => :'slug',
54
- :'tracking_number' => :'tracking_number',
55
- :'source' => :'source',
54
+ :'total' => :'total',
55
+ :'next_cursor' => :'next_cursor',
56
+ :'has_next_page' => :'has_next_page',
56
57
  }
57
58
  end
58
59
 
@@ -169,3 +170,4 @@ module AftershipAPI::Model
169
170
  end
170
171
  end
171
172
  end
173
+
@@ -1,58 +1,59 @@
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 NextCouriersCreateTrackingResponse
5
- # Unique code of courier. Get courier
6
- # slug: String;
7
- attr_accessor :slug
4
+ class PaginationGetTrackingsResponse
8
5
 
9
- # Tracking number.
10
- # tracking_number: String;
11
- attr_accessor :tracking_number
6
+ # The total number of trackings.
7
+ # total?: Integer;
8
+ attr_accessor :total
12
9
 
13
- # Source of next couriers.
14
- # source?: String;
15
- attr_accessor :source
10
+ # A string representing the cursor value for the next page of results.
11
+ # next_cursor?: String;
12
+ attr_accessor :next_cursor
13
+
14
+ # To indicate if next page is available.
15
+ # has_next_page?: Boolean;
16
+ attr_accessor :has_next_page
16
17
 
17
18
  # Initializes the object
18
19
  # @param [Hash] attributes Model attributes in the form of hash
19
20
  def initialize(attributes = {})
20
21
  if (!attributes.is_a?(Hash))
21
- fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::NextCouriersCreateTrackingResponse` initialize method"
22
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::PaginationGetTrackingsResponse` initialize method"
22
23
  end
23
24
 
24
25
  attributes = attributes.each_with_object({}) { |(k, v), h|
25
26
  h[k.to_sym] = v
26
27
  }
27
28
 
28
- if attributes.key?(:'slug')
29
- self.slug = attributes[:'slug']
29
+ if attributes.key?(:'total')
30
+ self.total = attributes[:'total']
30
31
  end
31
32
 
32
- if attributes.key?(:'tracking_number')
33
- self.tracking_number = attributes[:'tracking_number']
33
+ if attributes.key?(:'next_cursor')
34
+ self.next_cursor = attributes[:'next_cursor']
34
35
  end
35
36
 
36
- if attributes.key?(:'source')
37
- self.source = attributes[:'source']
37
+ if attributes.key?(:'has_next_page')
38
+ self.has_next_page = attributes[:'has_next_page']
38
39
  end
39
40
  end
40
41
 
41
42
  # Attribute type mapping.
42
43
  def self.openapi_types
43
44
  {
44
- :'slug' => :'String',
45
- :'tracking_number' => :'String',
46
- :'source' => :'String',
45
+ :'total' => :'Integer',
46
+ :'next_cursor' => :'String',
47
+ :'has_next_page' => :'Boolean',
47
48
  }
48
49
  end
49
50
 
50
51
  # Attribute mapping from ruby-style variable name to JSON key.
51
52
  def self.attribute_map
52
53
  {
53
- :'slug' => :'slug',
54
- :'tracking_number' => :'tracking_number',
55
- :'source' => :'source',
54
+ :'total' => :'total',
55
+ :'next_cursor' => :'next_cursor',
56
+ :'has_next_page' => :'has_next_page',
56
57
  }
57
58
  end
58
59
 
@@ -169,3 +170,4 @@ module AftershipAPI::Model
169
170
  end
170
171
  end
171
172
  end
173
+
@@ -2,6 +2,7 @@
2
2
  # Do not edit the class manually.
3
3
  module AftershipAPI::Model
4
4
  class PredictBatchRequest
5
+
5
6
  #
6
7
  # estimated_delivery_dates: EstimatedDeliveryDateRequest[];
7
8
  attr_accessor :estimated_delivery_dates
@@ -149,3 +150,4 @@ module AftershipAPI::Model
149
150
  end
150
151
  end
151
152
  end
153
+
@@ -2,6 +2,7 @@
2
2
  # Do not edit the class manually.
3
3
  module AftershipAPI::Model
4
4
  class PredictBatchResponse
5
+
5
6
  #
6
7
  # estimated_delivery_dates: EstimatedDeliveryDateResponse[];
7
8
  attr_accessor :estimated_delivery_dates
@@ -149,3 +150,4 @@ module AftershipAPI::Model
149
150
  end
150
151
  end
151
152
  end
153
+