aftership-tracking-sdk 7.0.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +66 -82
  3. data/lib/aftership-tracking-sdk/api/courier.rb +6 -6
  4. data/lib/aftership-tracking-sdk/api/estimated_delivery_date.rb +1 -1
  5. data/lib/aftership-tracking-sdk/api/tracking.rb +74 -74
  6. data/lib/aftership-tracking-sdk/configuration.rb +1 -1
  7. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_create_tracking_response.rb +181 -0
  8. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_delete_tracking_by_id_response.rb +181 -0
  9. data/lib/aftership-tracking-sdk/models/{get_checkpoint_by_tracking_id_response.rb → aftership_estimated_delivery_date_delete_tracking_by_slug_tracking_number_response.rb} +30 -60
  10. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_get_tracking_by_id_response.rb +181 -0
  11. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_get_tracking_by_slug_tracking_number_response.rb +181 -0
  12. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_mark_tracking_completed_by_id_response.rb +181 -0
  13. data/lib/aftership-tracking-sdk/models/{get_checkpoint_by_slug_tracking_number_response.rb → aftership_estimated_delivery_date_mark_tracking_completed_by_slug_tracking_number_response.rb} +30 -60
  14. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_retrack_tracking_by_id_response.rb +181 -0
  15. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_retrack_tracking_by_slug_tracking_number_response.rb +181 -0
  16. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_update_tracking_by_id_response.rb +181 -0
  17. data/lib/aftership-tracking-sdk/models/aftership_estimated_delivery_date_update_tracking_by_slug_tracking_number_response.rb +181 -0
  18. data/lib/aftership-tracking-sdk/models/carbon_emissions_create_tracking_response.rb +161 -0
  19. data/lib/aftership-tracking-sdk/models/carbon_emissions_delete_tracking_by_id_response.rb +161 -0
  20. data/lib/aftership-tracking-sdk/models/carbon_emissions_delete_tracking_by_slug_tracking_number_response.rb +161 -0
  21. data/lib/aftership-tracking-sdk/models/carbon_emissions_get_tracking_by_id_response.rb +161 -0
  22. data/lib/aftership-tracking-sdk/models/carbon_emissions_get_tracking_by_slug_tracking_number_response.rb +161 -0
  23. data/lib/aftership-tracking-sdk/models/carbon_emissions_mark_tracking_completed_by_id_response.rb +161 -0
  24. data/lib/aftership-tracking-sdk/models/carbon_emissions_mark_tracking_completed_by_slug_tracking_number_response.rb +161 -0
  25. data/lib/aftership-tracking-sdk/models/carbon_emissions_retrack_tracking_by_id_response.rb +161 -0
  26. data/lib/aftership-tracking-sdk/models/carbon_emissions_retrack_tracking_by_slug_tracking_number_response.rb +161 -0
  27. data/lib/aftership-tracking-sdk/models/carbon_emissions_update_tracking_by_id_response.rb +161 -0
  28. data/lib/aftership-tracking-sdk/models/carbon_emissions_update_tracking_by_slug_tracking_number_response.rb +161 -0
  29. data/lib/aftership-tracking-sdk/models/{tracking_create_tracking_request.rb → create_tracking_request.rb} +7 -7
  30. data/lib/aftership-tracking-sdk/models/create_tracking_response.rb +931 -0
  31. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_create_tracking_response.rb +181 -0
  32. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_delete_tracking_by_id_response.rb +181 -0
  33. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_delete_tracking_by_slug_tracking_number_response.rb +181 -0
  34. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_get_tracking_by_id_response.rb +181 -0
  35. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_get_tracking_by_slug_tracking_number_response.rb +181 -0
  36. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_mark_tracking_completed_by_id_response.rb +181 -0
  37. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_mark_tracking_completed_by_slug_tracking_number_response.rb +181 -0
  38. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_retrack_tracking_by_id_response.rb +181 -0
  39. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_retrack_tracking_by_slug_tracking_number_response.rb +181 -0
  40. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_update_tracking_by_id_response.rb +181 -0
  41. data/lib/aftership-tracking-sdk/models/custom_estimated_delivery_date_update_tracking_by_slug_tracking_number_response.rb +181 -0
  42. data/lib/aftership-tracking-sdk/models/{custom_fields_tracking_update_tracking_by_slug_tracking_number_request.rb → custom_fields_update_tracking_by_slug_tracking_number_request.rb} +2 -2
  43. data/lib/aftership-tracking-sdk/models/delete_tracking_by_id_response.rb +931 -0
  44. data/lib/aftership-tracking-sdk/models/delete_tracking_by_slug_tracking_number_response.rb +931 -0
  45. data/lib/aftership-tracking-sdk/models/{tracking_detect_courier_request.rb → detect_courier_request.rb} +3 -3
  46. data/lib/aftership-tracking-sdk/models/estimated_delivery_date_response.rb +10 -0
  47. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_create_tracking_response.rb +191 -0
  48. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_delete_tracking_by_id_response.rb +191 -0
  49. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_delete_tracking_by_slug_tracking_number_response.rb +191 -0
  50. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_get_tracking_by_id_response.rb +191 -0
  51. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_get_tracking_by_slug_tracking_number_response.rb +191 -0
  52. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_mark_tracking_completed_by_id_response.rb +191 -0
  53. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_mark_tracking_completed_by_slug_tracking_number_response.rb +191 -0
  54. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_retrack_tracking_by_id_response.rb +191 -0
  55. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_retrack_tracking_by_slug_tracking_number_response.rb +191 -0
  56. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_update_tracking_by_id_response.rb +191 -0
  57. data/lib/aftership-tracking-sdk/models/first_estimated_delivery_update_tracking_by_slug_tracking_number_response.rb +191 -0
  58. data/lib/aftership-tracking-sdk/models/get_tracking_by_id_response.rb +931 -0
  59. data/lib/aftership-tracking-sdk/models/get_tracking_by_slug_tracking_number_response.rb +931 -0
  60. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_create_tracking_response.rb +191 -0
  61. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_delete_tracking_by_id_response.rb +191 -0
  62. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_delete_tracking_by_slug_tracking_number_response.rb +191 -0
  63. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_get_tracking_by_id_response.rb +191 -0
  64. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_get_tracking_by_slug_tracking_number_response.rb +191 -0
  65. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_mark_tracking_completed_by_id_response.rb +191 -0
  66. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_mark_tracking_completed_by_slug_tracking_number_response.rb +191 -0
  67. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_retrack_tracking_by_id_response.rb +191 -0
  68. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_retrack_tracking_by_slug_tracking_number_response.rb +191 -0
  69. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_update_tracking_by_id_response.rb +191 -0
  70. data/lib/aftership-tracking-sdk/models/latest_estimated_delivery_update_tracking_by_slug_tracking_number_response.rb +191 -0
  71. data/lib/aftership-tracking-sdk/models/mark_tracking_completed_by_id_response.rb +931 -0
  72. data/lib/aftership-tracking-sdk/models/mark_tracking_completed_by_slug_tracking_number_response.rb +931 -0
  73. data/lib/aftership-tracking-sdk/models/{next_couriers_tracking_create_tracking_request.rb → next_couriers_create_tracking_request.rb} +2 -2
  74. data/lib/aftership-tracking-sdk/models/{notification_request_v1.rb → next_couriers_create_tracking_response.rb} +26 -16
  75. data/lib/aftership-tracking-sdk/models/next_couriers_delete_tracking_by_id_response.rb +171 -0
  76. data/lib/aftership-tracking-sdk/models/next_couriers_delete_tracking_by_slug_tracking_number_response.rb +171 -0
  77. data/lib/aftership-tracking-sdk/models/next_couriers_get_tracking_by_id_response.rb +171 -0
  78. data/lib/aftership-tracking-sdk/models/next_couriers_get_tracking_by_slug_tracking_number_response.rb +171 -0
  79. data/lib/aftership-tracking-sdk/models/next_couriers_mark_tracking_completed_by_id_response.rb +171 -0
  80. data/lib/aftership-tracking-sdk/models/next_couriers_mark_tracking_completed_by_slug_tracking_number_response.rb +171 -0
  81. data/lib/aftership-tracking-sdk/models/next_couriers_retrack_tracking_by_id_response.rb +171 -0
  82. data/lib/aftership-tracking-sdk/models/next_couriers_retrack_tracking_by_slug_tracking_number_response.rb +171 -0
  83. data/lib/aftership-tracking-sdk/models/next_couriers_update_tracking_by_id_response.rb +171 -0
  84. data/lib/aftership-tracking-sdk/models/next_couriers_update_tracking_by_slug_tracking_number_response.rb +171 -0
  85. data/lib/aftership-tracking-sdk/models/retrack_tracking_by_id_response.rb +931 -0
  86. data/lib/aftership-tracking-sdk/models/retrack_tracking_by_slug_tracking_number_response.rb +931 -0
  87. data/lib/aftership-tracking-sdk/models/{tracking_delete_response_v1.rb → shipment_weight_create_tracking_response.rb} +16 -16
  88. data/lib/aftership-tracking-sdk/models/{data_notification_response_v1.rb → shipment_weight_delete_tracking_by_id_response.rb} +19 -9
  89. data/lib/aftership-tracking-sdk/models/shipment_weight_delete_tracking_by_slug_tracking_number_response.rb +161 -0
  90. data/lib/aftership-tracking-sdk/models/{notification.rb → shipment_weight_get_tracking_by_id_response.rb} +16 -16
  91. data/lib/aftership-tracking-sdk/models/shipment_weight_get_tracking_by_slug_tracking_number_response.rb +161 -0
  92. data/lib/aftership-tracking-sdk/models/shipment_weight_mark_tracking_completed_by_id_response.rb +161 -0
  93. data/lib/aftership-tracking-sdk/models/shipment_weight_mark_tracking_completed_by_slug_tracking_number_response.rb +161 -0
  94. data/lib/aftership-tracking-sdk/models/shipment_weight_retrack_tracking_by_id_response.rb +161 -0
  95. data/lib/aftership-tracking-sdk/models/shipment_weight_retrack_tracking_by_slug_tracking_number_response.rb +161 -0
  96. data/lib/aftership-tracking-sdk/models/{notification_response_v1.rb → shipment_weight_tracking.rb} +16 -16
  97. data/lib/aftership-tracking-sdk/models/shipment_weight_update_tracking_by_id_response.rb +161 -0
  98. data/lib/aftership-tracking-sdk/models/shipment_weight_update_tracking_by_slug_tracking_number_response.rb +161 -0
  99. data/lib/aftership-tracking-sdk/models/tracking.rb +27 -17
  100. data/lib/aftership-tracking-sdk/models/tracking_response_v1.rb +3 -3
  101. data/lib/aftership-tracking-sdk/models/{tracking_update_tracking_by_id_request.rb → update_tracking_by_id_request.rb} +3 -3
  102. data/lib/aftership-tracking-sdk/models/update_tracking_by_id_response.rb +931 -0
  103. data/lib/aftership-tracking-sdk/models/{tracking_update_tracking_by_slug_tracking_number_request.rb → update_tracking_by_slug_tracking_number_request.rb} +5 -5
  104. data/lib/aftership-tracking-sdk/models/update_tracking_by_slug_tracking_number_response.rb +931 -0
  105. data/lib/aftership-tracking-sdk/version.rb +1 -1
  106. metadata +97 -21
  107. data/lib/aftership-tracking-sdk/api/last_checkpoint.rb +0 -143
  108. data/lib/aftership-tracking-sdk/api/notification.rb +0 -403
  109. data/lib/aftership-tracking-sdk/models/data_tracking_delete_response_v1.rb +0 -151
  110. data/lib/aftership-tracking-sdk/models/data_tracking_response_v1.rb +0 -151
  111. data/lib/aftership-tracking-sdk/models/partial_delete_tracking.rb +0 -241
  112. data/lib/aftership-tracking-sdk/models/partial_update_tracking.rb +0 -251
@@ -0,0 +1,181 @@
1
+ # This code was auto generated by AfterShip SDK Generator.
2
+ # Do not edit the class manually.
3
+ module AftershipAPI::Model
4
+ class AftershipEstimatedDeliveryDateGetTrackingBySlugTrackingNumberResponse
5
+ # The estimated arrival date of the shipment.
6
+ # estimated_delivery_date?: String;
7
+ attr_accessor :estimated_delivery_date
8
+
9
+ # Indicates the confidence level and associated reason for an AI EDD prediction request. For a comprehensive list of confidence codes, refer to .
10
+ # confidence_code?: Float;
11
+ attr_accessor :confidence_code
12
+
13
+ # Earliest estimated delivery date of the shipment.
14
+ # estimated_delivery_date_min?: String;
15
+ attr_accessor :estimated_delivery_date_min
16
+
17
+ # Latest estimated delivery date of the shipment.
18
+ # estimated_delivery_date_max?: String;
19
+ attr_accessor :estimated_delivery_date_max
20
+
21
+ # Initializes the object
22
+ # @param [Hash] attributes Model attributes in the form of hash
23
+ def initialize(attributes = {})
24
+ if (!attributes.is_a?(Hash))
25
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::AftershipEstimatedDeliveryDateGetTrackingBySlugTrackingNumberResponse` initialize method"
26
+ end
27
+
28
+ attributes = attributes.each_with_object({}) { |(k, v), h|
29
+ h[k.to_sym] = v
30
+ }
31
+
32
+ if attributes.key?(:'estimated_delivery_date')
33
+ self.estimated_delivery_date = attributes[:'estimated_delivery_date']
34
+ end
35
+
36
+ if attributes.key?(:'confidence_code')
37
+ self.confidence_code = attributes[:'confidence_code']
38
+ end
39
+
40
+ if attributes.key?(:'estimated_delivery_date_min')
41
+ self.estimated_delivery_date_min = attributes[:'estimated_delivery_date_min']
42
+ end
43
+
44
+ if attributes.key?(:'estimated_delivery_date_max')
45
+ self.estimated_delivery_date_max = attributes[:'estimated_delivery_date_max']
46
+ end
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ def self.openapi_types
51
+ {
52
+ :'estimated_delivery_date' => :'String',
53
+ :'confidence_code' => :'Float',
54
+ :'estimated_delivery_date_min' => :'String',
55
+ :'estimated_delivery_date_max' => :'String',
56
+ }
57
+ end
58
+
59
+ # Attribute mapping from ruby-style variable name to JSON key.
60
+ def self.attribute_map
61
+ {
62
+ :'estimated_delivery_date' => :'estimated_delivery_date',
63
+ :'confidence_code' => :'confidence_code',
64
+ :'estimated_delivery_date_min' => :'estimated_delivery_date_min',
65
+ :'estimated_delivery_date_max' => :'estimated_delivery_date_max',
66
+ }
67
+ end
68
+
69
+ # Builds the object from hash
70
+ # @param attributes [Hash] Model attributes in the form of hash
71
+ # @return [Object] Returns the model itself
72
+ def self.build_from_hash(attributes)
73
+ return nil unless attributes.is_a?(Hash)
74
+ attributes = attributes.transform_keys(&:to_sym)
75
+ transformed_hash = {}
76
+ openapi_types.each_pair do |key, type|
77
+ if attributes.key?(key) && attributes[key].nil?
78
+ transformed_hash["#{key}"] = nil
79
+ elsif type =~ /\AArray<(.*)>/i
80
+ # check to ensure the input is an array given that the attribute
81
+ # is documented as an array but the input is not
82
+ if attributes[key].is_a?(Array)
83
+ transformed_hash["#{key}"] = attributes[key].map { |v| _deserialize($1, v) }
84
+ end
85
+ elsif !attributes[key].nil?
86
+ transformed_hash["#{key}"] = _deserialize(type, attributes[key])
87
+ end
88
+ end
89
+ new(transformed_hash)
90
+ end
91
+
92
+ # Deserializes the data based on type
93
+ # @param type [String] Data type
94
+ # @param value [String] Value to be deserialized
95
+ # @return [Object] Deserialized data
96
+ def self._deserialize(type, value)
97
+ case type.to_sym
98
+ when :Time
99
+ Time.parse(value)
100
+ when :Date
101
+ Date.parse(value)
102
+ when :String
103
+ value.to_s
104
+ when :Integer
105
+ value.to_i
106
+ when :Float
107
+ value.to_f
108
+ when :Boolean
109
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
110
+ true
111
+ else
112
+ false
113
+ end
114
+ when :Object
115
+ # generic object (usually a Hash), return directly
116
+ value
117
+ when /\AArray<(?<inner_type>.+)>\z/
118
+ inner_type = Regexp.last_match[:inner_type]
119
+ value.map { |v| _deserialize(inner_type, v) }
120
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
121
+ k_type = Regexp.last_match[:k_type]
122
+ v_type = Regexp.last_match[:v_type]
123
+ {}.tap do |hash|
124
+ value.each do |k, v|
125
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
126
+ end
127
+ end
128
+ else # model
129
+ klass = AftershipAPI::Model.const_get(type)
130
+ klass.build_from_hash(value)
131
+ end
132
+ end
133
+
134
+ # Returns the string representation of the object
135
+ # @return [String] String presentation of the object
136
+ def to_s
137
+ to_hash.to_s
138
+ end
139
+
140
+ # to_body is an alias to to_hash (backward compatibility)
141
+ # @return [Hash] Returns the object in the form of hash
142
+ def to_body
143
+ to_hash
144
+ end
145
+
146
+ # Returns the object in the form of hash
147
+ # @return [Hash] Returns the object in the form of hash
148
+ def to_hash
149
+ hash = {}
150
+ self.class.attribute_map.each_pair do |attr, param|
151
+ value = self.send(attr)
152
+ next if value.nil?
153
+
154
+ hash[param] = _to_hash(value)
155
+ end
156
+ hash
157
+ end
158
+
159
+ # Outputs non-array value in the form of hash
160
+ # For object, use to_hash. Otherwise, just return the value
161
+ # @param value [Object] Any valid value
162
+ # @return [Hash] Returns the value in the form of hash
163
+ def _to_hash(value)
164
+ if value.is_a?(Array)
165
+ value.compact.map { |v| _to_hash(v) }
166
+ elsif value.is_a?(Hash)
167
+ {}.tap do |hash|
168
+ value.each { |k, v| hash[k] = _to_hash(v) }
169
+ end
170
+ elsif value.respond_to? :to_hash
171
+ value.to_hash
172
+ else
173
+ value
174
+ end
175
+ end
176
+
177
+ def to_json(*a)
178
+ to_hash.to_json(*a)
179
+ end
180
+ end
181
+ end
@@ -0,0 +1,181 @@
1
+ # This code was auto generated by AfterShip SDK Generator.
2
+ # Do not edit the class manually.
3
+ module AftershipAPI::Model
4
+ class AftershipEstimatedDeliveryDateMarkTrackingCompletedByIdResponse
5
+ # The estimated arrival date of the shipment.
6
+ # estimated_delivery_date?: String;
7
+ attr_accessor :estimated_delivery_date
8
+
9
+ # Indicates the confidence level and associated reason for an AI EDD prediction request. For a comprehensive list of confidence codes, refer to .
10
+ # confidence_code?: Float;
11
+ attr_accessor :confidence_code
12
+
13
+ # Earliest estimated delivery date of the shipment.
14
+ # estimated_delivery_date_min?: String;
15
+ attr_accessor :estimated_delivery_date_min
16
+
17
+ # Latest estimated delivery date of the shipment.
18
+ # estimated_delivery_date_max?: String;
19
+ attr_accessor :estimated_delivery_date_max
20
+
21
+ # Initializes the object
22
+ # @param [Hash] attributes Model attributes in the form of hash
23
+ def initialize(attributes = {})
24
+ if (!attributes.is_a?(Hash))
25
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::AftershipEstimatedDeliveryDateMarkTrackingCompletedByIdResponse` initialize method"
26
+ end
27
+
28
+ attributes = attributes.each_with_object({}) { |(k, v), h|
29
+ h[k.to_sym] = v
30
+ }
31
+
32
+ if attributes.key?(:'estimated_delivery_date')
33
+ self.estimated_delivery_date = attributes[:'estimated_delivery_date']
34
+ end
35
+
36
+ if attributes.key?(:'confidence_code')
37
+ self.confidence_code = attributes[:'confidence_code']
38
+ end
39
+
40
+ if attributes.key?(:'estimated_delivery_date_min')
41
+ self.estimated_delivery_date_min = attributes[:'estimated_delivery_date_min']
42
+ end
43
+
44
+ if attributes.key?(:'estimated_delivery_date_max')
45
+ self.estimated_delivery_date_max = attributes[:'estimated_delivery_date_max']
46
+ end
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ def self.openapi_types
51
+ {
52
+ :'estimated_delivery_date' => :'String',
53
+ :'confidence_code' => :'Float',
54
+ :'estimated_delivery_date_min' => :'String',
55
+ :'estimated_delivery_date_max' => :'String',
56
+ }
57
+ end
58
+
59
+ # Attribute mapping from ruby-style variable name to JSON key.
60
+ def self.attribute_map
61
+ {
62
+ :'estimated_delivery_date' => :'estimated_delivery_date',
63
+ :'confidence_code' => :'confidence_code',
64
+ :'estimated_delivery_date_min' => :'estimated_delivery_date_min',
65
+ :'estimated_delivery_date_max' => :'estimated_delivery_date_max',
66
+ }
67
+ end
68
+
69
+ # Builds the object from hash
70
+ # @param attributes [Hash] Model attributes in the form of hash
71
+ # @return [Object] Returns the model itself
72
+ def self.build_from_hash(attributes)
73
+ return nil unless attributes.is_a?(Hash)
74
+ attributes = attributes.transform_keys(&:to_sym)
75
+ transformed_hash = {}
76
+ openapi_types.each_pair do |key, type|
77
+ if attributes.key?(key) && attributes[key].nil?
78
+ transformed_hash["#{key}"] = nil
79
+ elsif type =~ /\AArray<(.*)>/i
80
+ # check to ensure the input is an array given that the attribute
81
+ # is documented as an array but the input is not
82
+ if attributes[key].is_a?(Array)
83
+ transformed_hash["#{key}"] = attributes[key].map { |v| _deserialize($1, v) }
84
+ end
85
+ elsif !attributes[key].nil?
86
+ transformed_hash["#{key}"] = _deserialize(type, attributes[key])
87
+ end
88
+ end
89
+ new(transformed_hash)
90
+ end
91
+
92
+ # Deserializes the data based on type
93
+ # @param type [String] Data type
94
+ # @param value [String] Value to be deserialized
95
+ # @return [Object] Deserialized data
96
+ def self._deserialize(type, value)
97
+ case type.to_sym
98
+ when :Time
99
+ Time.parse(value)
100
+ when :Date
101
+ Date.parse(value)
102
+ when :String
103
+ value.to_s
104
+ when :Integer
105
+ value.to_i
106
+ when :Float
107
+ value.to_f
108
+ when :Boolean
109
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
110
+ true
111
+ else
112
+ false
113
+ end
114
+ when :Object
115
+ # generic object (usually a Hash), return directly
116
+ value
117
+ when /\AArray<(?<inner_type>.+)>\z/
118
+ inner_type = Regexp.last_match[:inner_type]
119
+ value.map { |v| _deserialize(inner_type, v) }
120
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
121
+ k_type = Regexp.last_match[:k_type]
122
+ v_type = Regexp.last_match[:v_type]
123
+ {}.tap do |hash|
124
+ value.each do |k, v|
125
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
126
+ end
127
+ end
128
+ else # model
129
+ klass = AftershipAPI::Model.const_get(type)
130
+ klass.build_from_hash(value)
131
+ end
132
+ end
133
+
134
+ # Returns the string representation of the object
135
+ # @return [String] String presentation of the object
136
+ def to_s
137
+ to_hash.to_s
138
+ end
139
+
140
+ # to_body is an alias to to_hash (backward compatibility)
141
+ # @return [Hash] Returns the object in the form of hash
142
+ def to_body
143
+ to_hash
144
+ end
145
+
146
+ # Returns the object in the form of hash
147
+ # @return [Hash] Returns the object in the form of hash
148
+ def to_hash
149
+ hash = {}
150
+ self.class.attribute_map.each_pair do |attr, param|
151
+ value = self.send(attr)
152
+ next if value.nil?
153
+
154
+ hash[param] = _to_hash(value)
155
+ end
156
+ hash
157
+ end
158
+
159
+ # Outputs non-array value in the form of hash
160
+ # For object, use to_hash. Otherwise, just return the value
161
+ # @param value [Object] Any valid value
162
+ # @return [Hash] Returns the value in the form of hash
163
+ def _to_hash(value)
164
+ if value.is_a?(Array)
165
+ value.compact.map { |v| _to_hash(v) }
166
+ elsif value.is_a?(Hash)
167
+ {}.tap do |hash|
168
+ value.each { |k, v| hash[k] = _to_hash(v) }
169
+ end
170
+ elsif value.respond_to? :to_hash
171
+ value.to_hash
172
+ else
173
+ value
174
+ end
175
+ end
176
+
177
+ def to_json(*a)
178
+ to_hash.to_json(*a)
179
+ end
180
+ end
181
+ end
@@ -1,98 +1,68 @@
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 GetCheckpointBySlugTrackingNumberResponse
5
- # Tracking id
6
- # id?: String;
7
- attr_accessor :id
4
+ class AftershipEstimatedDeliveryDateMarkTrackingCompletedBySlugTrackingNumberResponse
5
+ # The estimated arrival date of the shipment.
6
+ # estimated_delivery_date?: String;
7
+ attr_accessor :estimated_delivery_date
8
8
 
9
- # Tracking number.
10
- # tracking_number?: String;
11
- attr_accessor :tracking_number
9
+ # Indicates the confidence level and associated reason for an AI EDD prediction request. For a comprehensive list of confidence codes, refer to .
10
+ # confidence_code?: Float;
11
+ attr_accessor :confidence_code
12
12
 
13
- # Unique code of courier.
14
- # slug?: String;
15
- attr_accessor :slug
13
+ # Earliest estimated delivery date of the shipment.
14
+ # estimated_delivery_date_min?: String;
15
+ attr_accessor :estimated_delivery_date_min
16
16
 
17
- # Current status of tracking. (
18
- # tag?: TagV1;
19
- attr_accessor :tag
20
-
21
- # Current subtag of tracking. (
22
- # subtag?: String;
23
- attr_accessor :subtag
24
-
25
- # Normalized tracking message. (
26
- # subtag_message?: String;
27
- attr_accessor :subtag_message
28
-
29
- # Object describes checkpoint information.
30
- # checkpoint?: Checkpoint;
31
- attr_accessor :checkpoint
17
+ # Latest estimated delivery date of the shipment.
18
+ # estimated_delivery_date_max?: String;
19
+ attr_accessor :estimated_delivery_date_max
32
20
 
33
21
  # Initializes the object
34
22
  # @param [Hash] attributes Model attributes in the form of hash
35
23
  def initialize(attributes = {})
36
24
  if (!attributes.is_a?(Hash))
37
- fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::GetCheckpointBySlugTrackingNumberResponse` initialize method"
25
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::AftershipEstimatedDeliveryDateMarkTrackingCompletedBySlugTrackingNumberResponse` initialize method"
38
26
  end
39
27
 
40
28
  attributes = attributes.each_with_object({}) { |(k, v), h|
41
29
  h[k.to_sym] = v
42
30
  }
43
31
 
44
- if attributes.key?(:'id')
45
- self.id = attributes[:'id']
46
- end
47
-
48
- if attributes.key?(:'tracking_number')
49
- self.tracking_number = attributes[:'tracking_number']
50
- end
51
-
52
- if attributes.key?(:'slug')
53
- self.slug = attributes[:'slug']
54
- end
55
-
56
- if attributes.key?(:'tag')
57
- self.tag = attributes[:'tag']
32
+ if attributes.key?(:'estimated_delivery_date')
33
+ self.estimated_delivery_date = attributes[:'estimated_delivery_date']
58
34
  end
59
35
 
60
- if attributes.key?(:'subtag')
61
- self.subtag = attributes[:'subtag']
36
+ if attributes.key?(:'confidence_code')
37
+ self.confidence_code = attributes[:'confidence_code']
62
38
  end
63
39
 
64
- if attributes.key?(:'subtag_message')
65
- self.subtag_message = attributes[:'subtag_message']
40
+ if attributes.key?(:'estimated_delivery_date_min')
41
+ self.estimated_delivery_date_min = attributes[:'estimated_delivery_date_min']
66
42
  end
67
43
 
68
- if attributes.key?(:'checkpoint')
69
- self.checkpoint = attributes[:'checkpoint']
44
+ if attributes.key?(:'estimated_delivery_date_max')
45
+ self.estimated_delivery_date_max = attributes[:'estimated_delivery_date_max']
70
46
  end
71
47
  end
72
48
 
73
49
  # Attribute type mapping.
74
50
  def self.openapi_types
75
51
  {
76
- :'id' => :'String',
77
- :'tracking_number' => :'String',
78
- :'slug' => :'String',
79
- :'tag' => :'TagV1',
80
- :'subtag' => :'String',
81
- :'subtag_message' => :'String',
82
- :'checkpoint' => :'Checkpoint',
52
+ :'estimated_delivery_date' => :'String',
53
+ :'confidence_code' => :'Float',
54
+ :'estimated_delivery_date_min' => :'String',
55
+ :'estimated_delivery_date_max' => :'String',
83
56
  }
84
57
  end
85
58
 
86
59
  # Attribute mapping from ruby-style variable name to JSON key.
87
60
  def self.attribute_map
88
61
  {
89
- :'id' => :'id',
90
- :'tracking_number' => :'tracking_number',
91
- :'slug' => :'slug',
92
- :'tag' => :'tag',
93
- :'subtag' => :'subtag',
94
- :'subtag_message' => :'subtag_message',
95
- :'checkpoint' => :'checkpoint',
62
+ :'estimated_delivery_date' => :'estimated_delivery_date',
63
+ :'confidence_code' => :'confidence_code',
64
+ :'estimated_delivery_date_min' => :'estimated_delivery_date_min',
65
+ :'estimated_delivery_date_max' => :'estimated_delivery_date_max',
96
66
  }
97
67
  end
98
68
 
@@ -0,0 +1,181 @@
1
+ # This code was auto generated by AfterShip SDK Generator.
2
+ # Do not edit the class manually.
3
+ module AftershipAPI::Model
4
+ class AftershipEstimatedDeliveryDateRetrackTrackingByIdResponse
5
+ # The estimated arrival date of the shipment.
6
+ # estimated_delivery_date?: String;
7
+ attr_accessor :estimated_delivery_date
8
+
9
+ # Indicates the confidence level and associated reason for an AI EDD prediction request. For a comprehensive list of confidence codes, refer to .
10
+ # confidence_code?: Float;
11
+ attr_accessor :confidence_code
12
+
13
+ # Earliest estimated delivery date of the shipment.
14
+ # estimated_delivery_date_min?: String;
15
+ attr_accessor :estimated_delivery_date_min
16
+
17
+ # Latest estimated delivery date of the shipment.
18
+ # estimated_delivery_date_max?: String;
19
+ attr_accessor :estimated_delivery_date_max
20
+
21
+ # Initializes the object
22
+ # @param [Hash] attributes Model attributes in the form of hash
23
+ def initialize(attributes = {})
24
+ if (!attributes.is_a?(Hash))
25
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::AftershipEstimatedDeliveryDateRetrackTrackingByIdResponse` initialize method"
26
+ end
27
+
28
+ attributes = attributes.each_with_object({}) { |(k, v), h|
29
+ h[k.to_sym] = v
30
+ }
31
+
32
+ if attributes.key?(:'estimated_delivery_date')
33
+ self.estimated_delivery_date = attributes[:'estimated_delivery_date']
34
+ end
35
+
36
+ if attributes.key?(:'confidence_code')
37
+ self.confidence_code = attributes[:'confidence_code']
38
+ end
39
+
40
+ if attributes.key?(:'estimated_delivery_date_min')
41
+ self.estimated_delivery_date_min = attributes[:'estimated_delivery_date_min']
42
+ end
43
+
44
+ if attributes.key?(:'estimated_delivery_date_max')
45
+ self.estimated_delivery_date_max = attributes[:'estimated_delivery_date_max']
46
+ end
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ def self.openapi_types
51
+ {
52
+ :'estimated_delivery_date' => :'String',
53
+ :'confidence_code' => :'Float',
54
+ :'estimated_delivery_date_min' => :'String',
55
+ :'estimated_delivery_date_max' => :'String',
56
+ }
57
+ end
58
+
59
+ # Attribute mapping from ruby-style variable name to JSON key.
60
+ def self.attribute_map
61
+ {
62
+ :'estimated_delivery_date' => :'estimated_delivery_date',
63
+ :'confidence_code' => :'confidence_code',
64
+ :'estimated_delivery_date_min' => :'estimated_delivery_date_min',
65
+ :'estimated_delivery_date_max' => :'estimated_delivery_date_max',
66
+ }
67
+ end
68
+
69
+ # Builds the object from hash
70
+ # @param attributes [Hash] Model attributes in the form of hash
71
+ # @return [Object] Returns the model itself
72
+ def self.build_from_hash(attributes)
73
+ return nil unless attributes.is_a?(Hash)
74
+ attributes = attributes.transform_keys(&:to_sym)
75
+ transformed_hash = {}
76
+ openapi_types.each_pair do |key, type|
77
+ if attributes.key?(key) && attributes[key].nil?
78
+ transformed_hash["#{key}"] = nil
79
+ elsif type =~ /\AArray<(.*)>/i
80
+ # check to ensure the input is an array given that the attribute
81
+ # is documented as an array but the input is not
82
+ if attributes[key].is_a?(Array)
83
+ transformed_hash["#{key}"] = attributes[key].map { |v| _deserialize($1, v) }
84
+ end
85
+ elsif !attributes[key].nil?
86
+ transformed_hash["#{key}"] = _deserialize(type, attributes[key])
87
+ end
88
+ end
89
+ new(transformed_hash)
90
+ end
91
+
92
+ # Deserializes the data based on type
93
+ # @param type [String] Data type
94
+ # @param value [String] Value to be deserialized
95
+ # @return [Object] Deserialized data
96
+ def self._deserialize(type, value)
97
+ case type.to_sym
98
+ when :Time
99
+ Time.parse(value)
100
+ when :Date
101
+ Date.parse(value)
102
+ when :String
103
+ value.to_s
104
+ when :Integer
105
+ value.to_i
106
+ when :Float
107
+ value.to_f
108
+ when :Boolean
109
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
110
+ true
111
+ else
112
+ false
113
+ end
114
+ when :Object
115
+ # generic object (usually a Hash), return directly
116
+ value
117
+ when /\AArray<(?<inner_type>.+)>\z/
118
+ inner_type = Regexp.last_match[:inner_type]
119
+ value.map { |v| _deserialize(inner_type, v) }
120
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
121
+ k_type = Regexp.last_match[:k_type]
122
+ v_type = Regexp.last_match[:v_type]
123
+ {}.tap do |hash|
124
+ value.each do |k, v|
125
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
126
+ end
127
+ end
128
+ else # model
129
+ klass = AftershipAPI::Model.const_get(type)
130
+ klass.build_from_hash(value)
131
+ end
132
+ end
133
+
134
+ # Returns the string representation of the object
135
+ # @return [String] String presentation of the object
136
+ def to_s
137
+ to_hash.to_s
138
+ end
139
+
140
+ # to_body is an alias to to_hash (backward compatibility)
141
+ # @return [Hash] Returns the object in the form of hash
142
+ def to_body
143
+ to_hash
144
+ end
145
+
146
+ # Returns the object in the form of hash
147
+ # @return [Hash] Returns the object in the form of hash
148
+ def to_hash
149
+ hash = {}
150
+ self.class.attribute_map.each_pair do |attr, param|
151
+ value = self.send(attr)
152
+ next if value.nil?
153
+
154
+ hash[param] = _to_hash(value)
155
+ end
156
+ hash
157
+ end
158
+
159
+ # Outputs non-array value in the form of hash
160
+ # For object, use to_hash. Otherwise, just return the value
161
+ # @param value [Object] Any valid value
162
+ # @return [Hash] Returns the value in the form of hash
163
+ def _to_hash(value)
164
+ if value.is_a?(Array)
165
+ value.compact.map { |v| _to_hash(v) }
166
+ elsif value.is_a?(Hash)
167
+ {}.tap do |hash|
168
+ value.each { |k, v| hash[k] = _to_hash(v) }
169
+ end
170
+ elsif value.respond_to? :to_hash
171
+ value.to_hash
172
+ else
173
+ value
174
+ end
175
+ end
176
+
177
+ def to_json(*a)
178
+ to_hash.to_json(*a)
179
+ end
180
+ end
181
+ end