messente_api 1.3.1 → 2.1.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 (150) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +33 -30
  3. data/docs/BlacklistApi.md +105 -37
  4. data/docs/BulkMessagingApi.md +76 -0
  5. data/docs/BulkOmniMessageCreateSuccessResponse.md +18 -0
  6. data/docs/BulkOmniMessageCreateSuccessResponseMessagesInner.md +49 -0
  7. data/docs/BulkOmnimessage.md +18 -0
  8. data/docs/Channel.md +4 -5
  9. data/docs/ContactEnvelope.md +8 -7
  10. data/docs/ContactFields.md +26 -25
  11. data/docs/ContactListEnvelope.md +8 -7
  12. data/docs/ContactResponseFields.md +28 -27
  13. data/docs/ContactUpdateFields.md +24 -23
  14. data/docs/ContactsApi.md +221 -86
  15. data/docs/DeliveryReportApi.md +29 -13
  16. data/docs/DeliveryReportResponse.md +12 -11
  17. data/docs/DeliveryResult.md +22 -17
  18. data/docs/ErrorCodeOmnichannel.md +4 -5
  19. data/docs/ErrorCodeOmnichannelMachine.md +4 -5
  20. data/docs/ErrorCodePhonebook.md +4 -5
  21. data/docs/ErrorCodeStatistics.md +4 -5
  22. data/docs/ErrorItemNumberLookup.md +8 -7
  23. data/docs/ErrorItemNumberLookupError.md +10 -9
  24. data/docs/ErrorItemOmnichannel.md +14 -13
  25. data/docs/ErrorItemPhonebook.md +12 -11
  26. data/docs/ErrorItemStatistics.md +12 -11
  27. data/docs/ErrorNumberLookup.md +8 -7
  28. data/docs/ErrorOmnichannel.md +8 -7
  29. data/docs/ErrorPhonebook.md +8 -7
  30. data/docs/ErrorStatistics.md +8 -7
  31. data/docs/ErrorTitleOmnichannel.md +4 -5
  32. data/docs/ErrorTitlePhonebook.md +4 -5
  33. data/docs/FetchBlacklistSuccess.md +8 -7
  34. data/docs/GroupEnvelope.md +8 -7
  35. data/docs/GroupListEnvelope.md +8 -7
  36. data/docs/GroupName.md +8 -7
  37. data/docs/GroupResponseFields.md +14 -13
  38. data/docs/GroupsApi.md +136 -51
  39. data/docs/MessageResult.md +12 -11
  40. data/docs/MobileNetwork.md +16 -15
  41. data/docs/NumberLookupApi.md +30 -14
  42. data/docs/NumberToBlacklist.md +8 -7
  43. data/docs/NumbersToInvestigate.md +8 -7
  44. data/docs/OmniMessageCreateSuccessResponse.md +12 -11
  45. data/docs/Omnimessage.md +18 -15
  46. data/docs/OmnimessageApi.md +56 -23
  47. data/docs/OmnimessageMessagesInner.md +53 -0
  48. data/docs/PriceInfo.md +22 -0
  49. data/docs/Priority.md +15 -0
  50. data/docs/SMS.md +20 -17
  51. data/docs/StatisticsApi.md +30 -14
  52. data/docs/StatisticsReport.md +12 -11
  53. data/docs/StatisticsReportSettings.md +12 -11
  54. data/docs/StatisticsReportSuccess.md +8 -7
  55. data/docs/Status.md +4 -5
  56. data/docs/SyncNumberLookupResult.md +24 -23
  57. data/docs/SyncNumberLookupSuccess.md +10 -9
  58. data/docs/Telegram.md +20 -19
  59. data/docs/TextStore.md +4 -5
  60. data/docs/Viber.md +22 -19
  61. data/docs/WhatsApp.md +16 -19
  62. data/docs/WhatsAppComponent.md +24 -0
  63. data/docs/WhatsAppCurrency.md +22 -0
  64. data/docs/WhatsAppDatetime.md +18 -0
  65. data/docs/WhatsAppLanguage.md +20 -0
  66. data/docs/WhatsAppMedia.md +24 -0
  67. data/docs/WhatsAppParameter.md +30 -0
  68. data/docs/WhatsAppTemplate.md +22 -0
  69. data/git_push.sh +3 -4
  70. data/lib/messente_api/api/blacklist_api.rb +22 -15
  71. data/lib/messente_api/api/bulk_messaging_api.rb +88 -0
  72. data/lib/messente_api/api/contacts_api.rb +42 -28
  73. data/lib/messente_api/api/delivery_report_api.rb +6 -5
  74. data/lib/messente_api/api/groups_api.rb +30 -19
  75. data/lib/messente_api/api/number_lookup_api.rb +10 -6
  76. data/lib/messente_api/api/omnimessage_api.rb +14 -9
  77. data/lib/messente_api/api/statistics_api.rb +10 -6
  78. data/lib/messente_api/api_client.rb +72 -66
  79. data/lib/messente_api/api_error.rb +3 -2
  80. data/lib/messente_api/configuration.rb +64 -14
  81. data/lib/messente_api/models/{whats_app_audio.rb → bulk_omni_message_create_success_response.rb} +50 -38
  82. data/lib/messente_api/models/bulk_omni_message_create_success_response_messages_inner.rb +105 -0
  83. data/lib/messente_api/models/{whats_app_text.rb → bulk_omnimessage.rb} +49 -49
  84. data/lib/messente_api/models/channel.rb +9 -5
  85. data/lib/messente_api/models/contact_envelope.rb +31 -23
  86. data/lib/messente_api/models/contact_fields.rb +33 -23
  87. data/lib/messente_api/models/contact_list_envelope.rb +41 -23
  88. data/lib/messente_api/models/contact_response_fields.rb +31 -23
  89. data/lib/messente_api/models/contact_update_fields.rb +31 -23
  90. data/lib/messente_api/models/delivery_report_response.rb +37 -23
  91. data/lib/messente_api/models/delivery_result.rb +77 -27
  92. data/lib/messente_api/models/error_code_omnichannel.rb +9 -5
  93. data/lib/messente_api/models/error_code_omnichannel_machine.rb +9 -5
  94. data/lib/messente_api/models/error_code_phonebook.rb +9 -5
  95. data/lib/messente_api/models/error_code_statistics.rb +9 -5
  96. data/lib/messente_api/models/error_item_number_lookup.rb +33 -23
  97. data/lib/messente_api/models/error_item_number_lookup_error.rb +35 -23
  98. data/lib/messente_api/models/error_item_omnichannel.rb +61 -23
  99. data/lib/messente_api/models/error_item_phonebook.rb +59 -23
  100. data/lib/messente_api/models/error_item_statistics.rb +59 -23
  101. data/lib/messente_api/models/error_number_lookup.rb +33 -23
  102. data/lib/messente_api/models/error_omnichannel.rb +33 -23
  103. data/lib/messente_api/models/error_phonebook.rb +33 -23
  104. data/lib/messente_api/models/error_statistics.rb +33 -23
  105. data/lib/messente_api/models/error_title_omnichannel.rb +9 -5
  106. data/lib/messente_api/models/error_title_phonebook.rb +9 -5
  107. data/lib/messente_api/models/fetch_blacklist_success.rb +41 -23
  108. data/lib/messente_api/models/group_envelope.rb +31 -23
  109. data/lib/messente_api/models/group_list_envelope.rb +41 -23
  110. data/lib/messente_api/models/group_name.rb +33 -23
  111. data/lib/messente_api/models/group_response_fields.rb +37 -23
  112. data/lib/messente_api/models/message_result.rb +59 -23
  113. data/lib/messente_api/models/mobile_network.rb +31 -23
  114. data/lib/messente_api/models/number_to_blacklist.rb +33 -23
  115. data/lib/messente_api/models/numbers_to_investigate.rb +62 -24
  116. data/lib/messente_api/models/omni_message_create_success_response.rb +37 -23
  117. data/lib/messente_api/models/omnimessage.rb +71 -28
  118. data/lib/messente_api/models/omnimessage_messages_inner.rb +107 -0
  119. data/lib/messente_api/models/price_info.rb +257 -0
  120. data/lib/messente_api/models/priority.rb +41 -0
  121. data/lib/messente_api/models/sms.rb +45 -25
  122. data/lib/messente_api/models/statistics_report.rb +37 -23
  123. data/lib/messente_api/models/statistics_report_settings.rb +35 -23
  124. data/lib/messente_api/models/statistics_report_success.rb +33 -23
  125. data/lib/messente_api/models/status.rb +9 -5
  126. data/lib/messente_api/models/sync_number_lookup_result.rb +35 -24
  127. data/lib/messente_api/models/sync_number_lookup_success.rb +35 -23
  128. data/lib/messente_api/models/telegram.rb +31 -23
  129. data/lib/messente_api/models/text_store.rb +9 -5
  130. data/lib/messente_api/models/viber.rb +43 -25
  131. data/lib/messente_api/models/whats_app.rb +45 -54
  132. data/lib/messente_api/models/whats_app_component.rb +255 -0
  133. data/lib/messente_api/models/whats_app_currency.rb +257 -0
  134. data/lib/messente_api/models/{whats_app_document.rb → whats_app_datetime.rb} +48 -48
  135. data/lib/messente_api/models/{whats_app_image.rb → whats_app_language.rb} +55 -45
  136. data/lib/messente_api/models/whats_app_media.rb +246 -0
  137. data/lib/messente_api/models/whats_app_parameter.rb +278 -0
  138. data/lib/messente_api/models/whats_app_template.rb +251 -0
  139. data/lib/messente_api/version.rb +3 -3
  140. data/lib/messente_api.rb +16 -6
  141. data/messente_api.gemspec +5 -5
  142. data/spec/spec_helper.rb +2 -2
  143. metadata +35 -40
  144. data/docs/WhatsAppAudio.md +0 -17
  145. data/docs/WhatsAppDocument.md +0 -19
  146. data/docs/WhatsAppImage.md +0 -19
  147. data/docs/WhatsAppText.md +0 -19
  148. data/messente_api-1.3.0.gem +0 -0
  149. data/spec/api_client_spec.rb +0 -226
  150. data/spec/configuration_spec.rb +0 -42
@@ -3,14 +3,15 @@
3
3
 
4
4
  #[Messente](https://messente.com) is a global provider of messaging and user verification services. * Send and receive SMS, Viber, WhatsApp and Telegram messages. * Manage contacts and groups. * Fetch detailed info about phone numbers. * Blacklist phone numbers to make sure you're not sending any unwanted messages. Messente builds [tools](https://messente.com/documentation) to help organizations connect their services to people anywhere in the world.
5
5
 
6
- The version of the OpenAPI document: 1.3.0
6
+ The version of the OpenAPI document: 2.0.0
7
7
  Contact: messente@messente.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ Generator version: 7.6.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module MessenteApi
16
17
  # A container for statistics report settings
@@ -33,6 +34,11 @@ module MessenteApi
33
34
  }
34
35
  end
35
36
 
37
+ # Returns all the JSON keys this model knows about
38
+ def self.acceptable_attributes
39
+ attribute_map.values
40
+ end
41
+
36
42
  # Attribute type mapping.
37
43
  def self.openapi_types
38
44
  {
@@ -65,10 +71,14 @@ module MessenteApi
65
71
 
66
72
  if attributes.key?(:'start_date')
67
73
  self.start_date = attributes[:'start_date']
74
+ else
75
+ self.start_date = nil
68
76
  end
69
77
 
70
78
  if attributes.key?(:'end_date')
71
79
  self.end_date = attributes[:'end_date']
80
+ else
81
+ self.end_date = nil
72
82
  end
73
83
 
74
84
  if attributes.key?(:'message_types')
@@ -81,6 +91,7 @@ module MessenteApi
81
91
  # Show invalid properties with the reasons. Usually used together with valid?
82
92
  # @return Array for valid properties with the reasons
83
93
  def list_invalid_properties
94
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
84
95
  invalid_properties = Array.new
85
96
  if @start_date.nil?
86
97
  invalid_properties.push('invalid value for "start_date", start_date cannot be nil.')
@@ -96,6 +107,7 @@ module MessenteApi
96
107
  # Check to see if the all the properties in the model are valid
97
108
  # @return true if the model is valid
98
109
  def valid?
110
+ warn '[DEPRECATED] the `valid?` method is obsolete'
99
111
  return false if @start_date.nil?
100
112
  return false if @end_date.nil?
101
113
  true
@@ -127,37 +139,33 @@ module MessenteApi
127
139
  # @param [Hash] attributes Model attributes in the form of hash
128
140
  # @return [Object] Returns the model itself
129
141
  def self.build_from_hash(attributes)
130
- new.build_from_hash(attributes)
131
- end
132
-
133
- # Builds the object from hash
134
- # @param [Hash] attributes Model attributes in the form of hash
135
- # @return [Object] Returns the model itself
136
- def build_from_hash(attributes)
137
142
  return nil unless attributes.is_a?(Hash)
138
- self.class.openapi_types.each_pair do |key, type|
139
- if type =~ /\AArray<(.*)>/i
143
+ attributes = attributes.transform_keys(&:to_sym)
144
+ transformed_hash = {}
145
+ openapi_types.each_pair do |key, type|
146
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
147
+ transformed_hash["#{key}"] = nil
148
+ elsif type =~ /\AArray<(.*)>/i
140
149
  # check to ensure the input is an array given that the attribute
141
150
  # is documented as an array but the input is not
142
- if attributes[self.class.attribute_map[key]].is_a?(Array)
143
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
151
+ if attributes[attribute_map[key]].is_a?(Array)
152
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
144
153
  end
145
- elsif !attributes[self.class.attribute_map[key]].nil?
146
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
147
- end # or else data not found in attributes(hash), not an issue as the data can be optional
154
+ elsif !attributes[attribute_map[key]].nil?
155
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
156
+ end
148
157
  end
149
-
150
- self
158
+ new(transformed_hash)
151
159
  end
152
160
 
153
161
  # Deserializes the data based on type
154
162
  # @param string type Data type
155
163
  # @param string value Value to be deserialized
156
164
  # @return [Object] Deserialized data
157
- def _deserialize(type, value)
165
+ def self._deserialize(type, value)
158
166
  case type.to_sym
159
- when :DateTime
160
- DateTime.parse(value)
167
+ when :Time
168
+ Time.parse(value)
161
169
  when :Date
162
170
  Date.parse(value)
163
171
  when :String
@@ -187,7 +195,9 @@ module MessenteApi
187
195
  end
188
196
  end
189
197
  else # model
190
- MessenteApi.const_get(type).build_from_hash(value)
198
+ # models (e.g. Pet) or oneOf
199
+ klass = MessenteApi.const_get(type)
200
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
191
201
  end
192
202
  end
193
203
 
@@ -213,7 +223,7 @@ module MessenteApi
213
223
  is_nullable = self.class.openapi_nullable.include?(attr)
214
224
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
215
225
  end
216
-
226
+
217
227
  hash[param] = _to_hash(value)
218
228
  end
219
229
  hash
@@ -236,5 +246,7 @@ module MessenteApi
236
246
  value
237
247
  end
238
248
  end
249
+
239
250
  end
251
+
240
252
  end
@@ -3,14 +3,15 @@
3
3
 
4
4
  #[Messente](https://messente.com) is a global provider of messaging and user verification services. * Send and receive SMS, Viber, WhatsApp and Telegram messages. * Manage contacts and groups. * Fetch detailed info about phone numbers. * Blacklist phone numbers to make sure you're not sending any unwanted messages. Messente builds [tools](https://messente.com/documentation) to help organizations connect their services to people anywhere in the world.
5
5
 
6
- The version of the OpenAPI document: 1.3.0
6
+ The version of the OpenAPI document: 2.0.0
7
7
  Contact: messente@messente.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ Generator version: 7.6.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module MessenteApi
16
17
  # A container for statistics reports
@@ -25,6 +26,11 @@ module MessenteApi
25
26
  }
26
27
  end
27
28
 
29
+ # Returns all the JSON keys this model knows about
30
+ def self.acceptable_attributes
31
+ attribute_map.values
32
+ end
33
+
28
34
  # Attribute type mapping.
29
35
  def self.openapi_types
30
36
  {
@@ -57,12 +63,15 @@ module MessenteApi
57
63
  if (value = attributes[:'reports']).is_a?(Array)
58
64
  self.reports = value
59
65
  end
66
+ else
67
+ self.reports = nil
60
68
  end
61
69
  end
62
70
 
63
71
  # Show invalid properties with the reasons. Usually used together with valid?
64
72
  # @return Array for valid properties with the reasons
65
73
  def list_invalid_properties
74
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
66
75
  invalid_properties = Array.new
67
76
  if @reports.nil?
68
77
  invalid_properties.push('invalid value for "reports", reports cannot be nil.')
@@ -74,6 +83,7 @@ module MessenteApi
74
83
  # Check to see if the all the properties in the model are valid
75
84
  # @return true if the model is valid
76
85
  def valid?
86
+ warn '[DEPRECATED] the `valid?` method is obsolete'
77
87
  return false if @reports.nil?
78
88
  true
79
89
  end
@@ -102,37 +112,33 @@ module MessenteApi
102
112
  # @param [Hash] attributes Model attributes in the form of hash
103
113
  # @return [Object] Returns the model itself
104
114
  def self.build_from_hash(attributes)
105
- new.build_from_hash(attributes)
106
- end
107
-
108
- # Builds the object from hash
109
- # @param [Hash] attributes Model attributes in the form of hash
110
- # @return [Object] Returns the model itself
111
- def build_from_hash(attributes)
112
115
  return nil unless attributes.is_a?(Hash)
113
- self.class.openapi_types.each_pair do |key, type|
114
- if type =~ /\AArray<(.*)>/i
116
+ attributes = attributes.transform_keys(&:to_sym)
117
+ transformed_hash = {}
118
+ openapi_types.each_pair do |key, type|
119
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
120
+ transformed_hash["#{key}"] = nil
121
+ elsif type =~ /\AArray<(.*)>/i
115
122
  # check to ensure the input is an array given that the attribute
116
123
  # is documented as an array but the input is not
117
- if attributes[self.class.attribute_map[key]].is_a?(Array)
118
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
124
+ if attributes[attribute_map[key]].is_a?(Array)
125
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
119
126
  end
120
- elsif !attributes[self.class.attribute_map[key]].nil?
121
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
122
- end # or else data not found in attributes(hash), not an issue as the data can be optional
127
+ elsif !attributes[attribute_map[key]].nil?
128
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
129
+ end
123
130
  end
124
-
125
- self
131
+ new(transformed_hash)
126
132
  end
127
133
 
128
134
  # Deserializes the data based on type
129
135
  # @param string type Data type
130
136
  # @param string value Value to be deserialized
131
137
  # @return [Object] Deserialized data
132
- def _deserialize(type, value)
138
+ def self._deserialize(type, value)
133
139
  case type.to_sym
134
- when :DateTime
135
- DateTime.parse(value)
140
+ when :Time
141
+ Time.parse(value)
136
142
  when :Date
137
143
  Date.parse(value)
138
144
  when :String
@@ -162,7 +168,9 @@ module MessenteApi
162
168
  end
163
169
  end
164
170
  else # model
165
- MessenteApi.const_get(type).build_from_hash(value)
171
+ # models (e.g. Pet) or oneOf
172
+ klass = MessenteApi.const_get(type)
173
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
166
174
  end
167
175
  end
168
176
 
@@ -188,7 +196,7 @@ module MessenteApi
188
196
  is_nullable = self.class.openapi_nullable.include?(attr)
189
197
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
190
198
  end
191
-
199
+
192
200
  hash[param] = _to_hash(value)
193
201
  end
194
202
  hash
@@ -211,5 +219,7 @@ module MessenteApi
211
219
  value
212
220
  end
213
221
  end
222
+
214
223
  end
224
+
215
225
  end
@@ -3,14 +3,15 @@
3
3
 
4
4
  #[Messente](https://messente.com) is a global provider of messaging and user verification services. * Send and receive SMS, Viber, WhatsApp and Telegram messages. * Manage contacts and groups. * Fetch detailed info about phone numbers. * Blacklist phone numbers to make sure you're not sending any unwanted messages. Messente builds [tools](https://messente.com/documentation) to help organizations connect their services to people anywhere in the world.
5
5
 
6
- The version of the OpenAPI document: 1.3.0
6
+ The version of the OpenAPI document: 2.0.0
7
7
  Contact: messente@messente.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ Generator version: 7.6.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module MessenteApi
16
17
  class Status
@@ -26,6 +27,10 @@ module MessenteApi
26
27
  NACK = "NACK".freeze
27
28
  SEEN = "SEEN".freeze
28
29
 
30
+ def self.all_vars
31
+ @all_vars ||= [ACK, DELIVRD, UNDELIV, FAILED, UNKNOWN, ACCEPTD, REJECTD, DELETED, EXPIRED, NACK, SEEN].freeze
32
+ end
33
+
29
34
  # Builds the enum from string
30
35
  # @param [String] The enum value in the form of the string
31
36
  # @return [String] The enum value
@@ -37,9 +42,8 @@ module MessenteApi
37
42
  # @param [String] The enum value in the form of the string
38
43
  # @return [String] The enum value
39
44
  def build_from_hash(value)
40
- constantValues = Status.constants.select { |c| Status::const_get(c) == value }
41
- raise "Invalid ENUM value #{value} for class #Status" if constantValues.empty?
42
- value
45
+ return value if Status.all_vars.include?(value)
46
+ raise "Invalid ENUM value #{value} for class #Status"
43
47
  end
44
48
  end
45
49
  end
@@ -3,14 +3,15 @@
3
3
 
4
4
  #[Messente](https://messente.com) is a global provider of messaging and user verification services. * Send and receive SMS, Viber, WhatsApp and Telegram messages. * Manage contacts and groups. * Fetch detailed info about phone numbers. * Blacklist phone numbers to make sure you're not sending any unwanted messages. Messente builds [tools](https://messente.com/documentation) to help organizations connect their services to people anywhere in the world.
5
5
 
6
- The version of the OpenAPI document: 1.3.0
6
+ The version of the OpenAPI document: 2.0.0
7
7
  Contact: messente@messente.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ Generator version: 7.6.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module MessenteApi
16
17
  # Info about a phone number
@@ -75,6 +76,11 @@ module MessenteApi
75
76
  }
76
77
  end
77
78
 
79
+ # Returns all the JSON keys this model knows about
80
+ def self.acceptable_attributes
81
+ attribute_map.values
82
+ end
83
+
78
84
  # Attribute type mapping.
79
85
  def self.openapi_types
80
86
  {
@@ -86,7 +92,7 @@ module MessenteApi
86
92
  :'original_network' => :'MobileNetwork',
87
93
  :'ported_network' => :'MobileNetwork',
88
94
  :'status' => :'String',
89
- :'error' => :'AnyType'
95
+ :'error' => :'Object'
90
96
  }
91
97
  end
92
98
 
@@ -99,6 +105,7 @@ module MessenteApi
99
105
  :'current_network',
100
106
  :'original_network',
101
107
  :'ported_network',
108
+ :'error'
102
109
  ])
103
110
  end
104
111
 
@@ -119,6 +126,8 @@ module MessenteApi
119
126
 
120
127
  if attributes.key?(:'number')
121
128
  self.number = attributes[:'number']
129
+ else
130
+ self.number = nil
122
131
  end
123
132
 
124
133
  if attributes.key?(:'roaming')
@@ -157,6 +166,7 @@ module MessenteApi
157
166
  # Show invalid properties with the reasons. Usually used together with valid?
158
167
  # @return Array for valid properties with the reasons
159
168
  def list_invalid_properties
169
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
160
170
  invalid_properties = Array.new
161
171
  if @number.nil?
162
172
  invalid_properties.push('invalid value for "number", number cannot be nil.')
@@ -168,6 +178,7 @@ module MessenteApi
168
178
  # Check to see if the all the properties in the model are valid
169
179
  # @return true if the model is valid
170
180
  def valid?
181
+ warn '[DEPRECATED] the `valid?` method is obsolete'
171
182
  return false if @number.nil?
172
183
  status_validator = EnumAttributeValidator.new('String', ["ON", "OFF", "INVALID", "UNKNOWN"])
173
184
  return false unless status_validator.valid?(@status)
@@ -216,37 +227,33 @@ module MessenteApi
216
227
  # @param [Hash] attributes Model attributes in the form of hash
217
228
  # @return [Object] Returns the model itself
218
229
  def self.build_from_hash(attributes)
219
- new.build_from_hash(attributes)
220
- end
221
-
222
- # Builds the object from hash
223
- # @param [Hash] attributes Model attributes in the form of hash
224
- # @return [Object] Returns the model itself
225
- def build_from_hash(attributes)
226
230
  return nil unless attributes.is_a?(Hash)
227
- self.class.openapi_types.each_pair do |key, type|
228
- if type =~ /\AArray<(.*)>/i
231
+ attributes = attributes.transform_keys(&:to_sym)
232
+ transformed_hash = {}
233
+ openapi_types.each_pair do |key, type|
234
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
235
+ transformed_hash["#{key}"] = nil
236
+ elsif type =~ /\AArray<(.*)>/i
229
237
  # check to ensure the input is an array given that the attribute
230
238
  # is documented as an array but the input is not
231
- if attributes[self.class.attribute_map[key]].is_a?(Array)
232
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
239
+ if attributes[attribute_map[key]].is_a?(Array)
240
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
233
241
  end
234
- elsif !attributes[self.class.attribute_map[key]].nil?
235
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
236
- end # or else data not found in attributes(hash), not an issue as the data can be optional
242
+ elsif !attributes[attribute_map[key]].nil?
243
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
244
+ end
237
245
  end
238
-
239
- self
246
+ new(transformed_hash)
240
247
  end
241
248
 
242
249
  # Deserializes the data based on type
243
250
  # @param string type Data type
244
251
  # @param string value Value to be deserialized
245
252
  # @return [Object] Deserialized data
246
- def _deserialize(type, value)
253
+ def self._deserialize(type, value)
247
254
  case type.to_sym
248
- when :DateTime
249
- DateTime.parse(value)
255
+ when :Time
256
+ Time.parse(value)
250
257
  when :Date
251
258
  Date.parse(value)
252
259
  when :String
@@ -276,7 +283,9 @@ module MessenteApi
276
283
  end
277
284
  end
278
285
  else # model
279
- MessenteApi.const_get(type).build_from_hash(value)
286
+ # models (e.g. Pet) or oneOf
287
+ klass = MessenteApi.const_get(type)
288
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
280
289
  end
281
290
  end
282
291
 
@@ -302,7 +311,7 @@ module MessenteApi
302
311
  is_nullable = self.class.openapi_nullable.include?(attr)
303
312
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
304
313
  end
305
-
314
+
306
315
  hash[param] = _to_hash(value)
307
316
  end
308
317
  hash
@@ -325,5 +334,7 @@ module MessenteApi
325
334
  value
326
335
  end
327
336
  end
337
+
328
338
  end
339
+
329
340
  end
@@ -3,14 +3,15 @@
3
3
 
4
4
  #[Messente](https://messente.com) is a global provider of messaging and user verification services. * Send and receive SMS, Viber, WhatsApp and Telegram messages. * Manage contacts and groups. * Fetch detailed info about phone numbers. * Blacklist phone numbers to make sure you're not sending any unwanted messages. Messente builds [tools](https://messente.com/documentation) to help organizations connect their services to people anywhere in the world.
5
5
 
6
- The version of the OpenAPI document: 1.3.0
6
+ The version of the OpenAPI document: 2.0.0
7
7
  Contact: messente@messente.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ Generator version: 7.6.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module MessenteApi
16
17
  # A container for number lookup response
@@ -29,6 +30,11 @@ module MessenteApi
29
30
  }
30
31
  end
31
32
 
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ attribute_map.values
36
+ end
37
+
32
38
  # Attribute type mapping.
33
39
  def self.openapi_types
34
40
  {
@@ -60,18 +66,23 @@ module MessenteApi
60
66
 
61
67
  if attributes.key?(:'request_id')
62
68
  self.request_id = attributes[:'request_id']
69
+ else
70
+ self.request_id = nil
63
71
  end
64
72
 
65
73
  if attributes.key?(:'result')
66
74
  if (value = attributes[:'result']).is_a?(Array)
67
75
  self.result = value
68
76
  end
77
+ else
78
+ self.result = nil
69
79
  end
70
80
  end
71
81
 
72
82
  # Show invalid properties with the reasons. Usually used together with valid?
73
83
  # @return Array for valid properties with the reasons
74
84
  def list_invalid_properties
85
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
75
86
  invalid_properties = Array.new
76
87
  if @request_id.nil?
77
88
  invalid_properties.push('invalid value for "request_id", request_id cannot be nil.')
@@ -87,6 +98,7 @@ module MessenteApi
87
98
  # Check to see if the all the properties in the model are valid
88
99
  # @return true if the model is valid
89
100
  def valid?
101
+ warn '[DEPRECATED] the `valid?` method is obsolete'
90
102
  return false if @request_id.nil?
91
103
  return false if @result.nil?
92
104
  true
@@ -117,37 +129,33 @@ module MessenteApi
117
129
  # @param [Hash] attributes Model attributes in the form of hash
118
130
  # @return [Object] Returns the model itself
119
131
  def self.build_from_hash(attributes)
120
- new.build_from_hash(attributes)
121
- end
122
-
123
- # Builds the object from hash
124
- # @param [Hash] attributes Model attributes in the form of hash
125
- # @return [Object] Returns the model itself
126
- def build_from_hash(attributes)
127
132
  return nil unless attributes.is_a?(Hash)
128
- self.class.openapi_types.each_pair do |key, type|
129
- if type =~ /\AArray<(.*)>/i
133
+ attributes = attributes.transform_keys(&:to_sym)
134
+ transformed_hash = {}
135
+ openapi_types.each_pair do |key, type|
136
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
137
+ transformed_hash["#{key}"] = nil
138
+ elsif type =~ /\AArray<(.*)>/i
130
139
  # check to ensure the input is an array given that the attribute
131
140
  # is documented as an array but the input is not
132
- if attributes[self.class.attribute_map[key]].is_a?(Array)
133
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
141
+ if attributes[attribute_map[key]].is_a?(Array)
142
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
134
143
  end
135
- elsif !attributes[self.class.attribute_map[key]].nil?
136
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
137
- end # or else data not found in attributes(hash), not an issue as the data can be optional
144
+ elsif !attributes[attribute_map[key]].nil?
145
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
146
+ end
138
147
  end
139
-
140
- self
148
+ new(transformed_hash)
141
149
  end
142
150
 
143
151
  # Deserializes the data based on type
144
152
  # @param string type Data type
145
153
  # @param string value Value to be deserialized
146
154
  # @return [Object] Deserialized data
147
- def _deserialize(type, value)
155
+ def self._deserialize(type, value)
148
156
  case type.to_sym
149
- when :DateTime
150
- DateTime.parse(value)
157
+ when :Time
158
+ Time.parse(value)
151
159
  when :Date
152
160
  Date.parse(value)
153
161
  when :String
@@ -177,7 +185,9 @@ module MessenteApi
177
185
  end
178
186
  end
179
187
  else # model
180
- MessenteApi.const_get(type).build_from_hash(value)
188
+ # models (e.g. Pet) or oneOf
189
+ klass = MessenteApi.const_get(type)
190
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
181
191
  end
182
192
  end
183
193
 
@@ -203,7 +213,7 @@ module MessenteApi
203
213
  is_nullable = self.class.openapi_nullable.include?(attr)
204
214
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
205
215
  end
206
-
216
+
207
217
  hash[param] = _to_hash(value)
208
218
  end
209
219
  hash
@@ -226,5 +236,7 @@ module MessenteApi
226
236
  value
227
237
  end
228
238
  end
239
+
229
240
  end
241
+
230
242
  end