pingram 1.0.12 → 1.0.13

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b67eb1c9e6d9d53ac5a1ba389352dc19a141198312988c47c6144538bdab045
4
- data.tar.gz: 3157d9e00b1c13f115e4da189ffb296b2805808dcf50798d9e6b7867802c7795
3
+ metadata.gz: cc0f817becd9705b1ebb50e8fcd710b93b8d3be965fff1a52d84f020679ad67e
4
+ data.tar.gz: 2a752eb8e38f74db65cdab431ca94994329777bfbafec3834a40aafdc8388336
5
5
  SHA512:
6
- metadata.gz: 3a928be5ebc9529874f755bf61c149a8918c01c0b9517b8da5c111854e2df475524c1c247a0f4eacaf2e0a69f39bd5c5fb9deb9047aaa3513b20719b2b37ae95
7
- data.tar.gz: dbfec3c3a37b080a54a95b11adae6af8ca838d6a2d12dd438d6fbcad78d47178c2730a5e342265dc077f9c3fe3dd0c6f164ee2501dd2d8f3918b1c5f1d1b3fd3
6
+ metadata.gz: 66ae5af2606968823cf5520930996b68c7eebf151ff988f863a7c524b0adea59787d077e270a1157f1e6efedcbe31e231b8eceffada53c8a17df9c44297d52a2
7
+ data.tar.gz: 9d0156592f907eb044f86002f987e3196e4bd89a161608cf765d9f66f316b42a39fa52bcee8d22b9ee176b0d4419986adbcfa9b0d4b297aeffd8234da1ae664e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pingram (1.0.12)
4
+ pingram (1.0.13)
5
5
  typhoeus (~> 1.0, >= 1.0.1)
6
6
 
7
7
  GEM
@@ -19,7 +19,7 @@ module Pingram
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
- # List all phone numbers registered for the account
22
+ # List active phone numbers registered for the account
23
23
  # @param [Hash] opts the optional parameters
24
24
  # @return [ListPhoneNumbersResponse]
25
25
  def numbers_list(opts = {})
@@ -27,7 +27,7 @@ module Pingram
27
27
  data
28
28
  end
29
29
 
30
- # List all phone numbers registered for the account
30
+ # List active phone numbers registered for the account
31
31
  # @param [Hash] opts the optional parameters
32
32
  # @return [Array<(ListPhoneNumbersResponse, Integer, Hash)>] ListPhoneNumbersResponse data, response status code and response headers
33
33
  def numbers_list_with_http_info(opts = {})
@@ -74,7 +74,62 @@ module Pingram
74
74
  return data, status_code, headers
75
75
  end
76
76
 
77
- # Purchase a phone number for the authenticated account
77
+ # List released phone numbers. Released numbers may be purchased again with 2 weeks of being released. Released numbers may be removed from released list after 2 weeks.
78
+ # @param [Hash] opts the optional parameters
79
+ # @return [ListReleasedPhoneNumbersResponse]
80
+ def numbers_list_released(opts = {})
81
+ data, _status_code, _headers = numbers_list_released_with_http_info(opts)
82
+ data
83
+ end
84
+
85
+ # List released phone numbers. Released numbers may be purchased again with 2 weeks of being released. Released numbers may be removed from released list after 2 weeks.
86
+ # @param [Hash] opts the optional parameters
87
+ # @return [Array<(ListReleasedPhoneNumbersResponse, Integer, Hash)>] ListReleasedPhoneNumbersResponse data, response status code and response headers
88
+ def numbers_list_released_with_http_info(opts = {})
89
+ if @api_client.config.debugging
90
+ @api_client.config.logger.debug 'Calling API: NumbersApi.numbers_list_released ...'
91
+ end
92
+ # resource path
93
+ local_var_path = '/numbers/released'
94
+
95
+ # query parameters
96
+ query_params = opts[:query_params] || {}
97
+
98
+ # header parameters
99
+ header_params = opts[:header_params] || {}
100
+ # HTTP header 'Accept' (if needed)
101
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
102
+
103
+ # form parameters
104
+ form_params = opts[:form_params] || {}
105
+
106
+ # http body (model)
107
+ post_body = opts[:debug_body]
108
+
109
+ # return_type
110
+ return_type = opts[:debug_return_type] || 'ListReleasedPhoneNumbersResponse'
111
+
112
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
113
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
114
+
115
+ new_options = opts.merge(
116
+ :operation => :"NumbersApi.numbers_list_released",
117
+ :header_params => header_params,
118
+ :query_params => query_params,
119
+ :form_params => form_params,
120
+ :body => post_body,
121
+ :auth_names => auth_names,
122
+ :return_type => return_type
123
+ )
124
+
125
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
126
+ if @api_client.config.debugging
127
+ @api_client.config.logger.debug "API called: NumbersApi#numbers_list_released\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
128
+ end
129
+ return data, status_code, headers
130
+ end
131
+
132
+ # Purchase a phone number for the authenticated account, or reactivate a released number owned by the account (preserves original createdAt).
78
133
  # @param order_phone_number_request [OrderPhoneNumberRequest]
79
134
  # @param [Hash] opts the optional parameters
80
135
  # @return [OrderPhoneNumberResponse]
@@ -83,7 +138,7 @@ module Pingram
83
138
  data
84
139
  end
85
140
 
86
- # Purchase a phone number for the authenticated account
141
+ # Purchase a phone number for the authenticated account, or reactivate a released number owned by the account (preserves original createdAt).
87
142
  # @param order_phone_number_request [OrderPhoneNumberRequest]
88
143
  # @param [Hash] opts the optional parameters
89
144
  # @return [Array<(OrderPhoneNumberResponse, Integer, Hash)>] OrderPhoneNumberResponse data, response status code and response headers
@@ -140,6 +195,67 @@ module Pingram
140
195
  return data, status_code, headers
141
196
  end
142
197
 
198
+ # Release a phone number from the account. No refund for the current billing month.
199
+ # @param phone_number [String] E.164 phone number to release
200
+ # @param [Hash] opts the optional parameters
201
+ # @return [ReleasePhoneNumberResponse]
202
+ def numbers_release_number(phone_number, opts = {})
203
+ data, _status_code, _headers = numbers_release_number_with_http_info(phone_number, opts)
204
+ data
205
+ end
206
+
207
+ # Release a phone number from the account. No refund for the current billing month.
208
+ # @param phone_number [String] E.164 phone number to release
209
+ # @param [Hash] opts the optional parameters
210
+ # @return [Array<(ReleasePhoneNumberResponse, Integer, Hash)>] ReleasePhoneNumberResponse data, response status code and response headers
211
+ def numbers_release_number_with_http_info(phone_number, opts = {})
212
+ if @api_client.config.debugging
213
+ @api_client.config.logger.debug 'Calling API: NumbersApi.numbers_release_number ...'
214
+ end
215
+ # verify the required parameter 'phone_number' is set
216
+ if @api_client.config.client_side_validation && phone_number.nil?
217
+ fail ArgumentError, "Missing the required parameter 'phone_number' when calling NumbersApi.numbers_release_number"
218
+ end
219
+ # resource path
220
+ local_var_path = '/numbers/{phoneNumber}'.sub('{' + 'phoneNumber' + '}', CGI.escape(phone_number.to_s))
221
+
222
+ # query parameters
223
+ query_params = opts[:query_params] || {}
224
+
225
+ # header parameters
226
+ header_params = opts[:header_params] || {}
227
+ # HTTP header 'Accept' (if needed)
228
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
229
+
230
+ # form parameters
231
+ form_params = opts[:form_params] || {}
232
+
233
+ # http body (model)
234
+ post_body = opts[:debug_body]
235
+
236
+ # return_type
237
+ return_type = opts[:debug_return_type] || 'ReleasePhoneNumberResponse'
238
+
239
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
240
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
241
+
242
+ new_options = opts.merge(
243
+ :operation => :"NumbersApi.numbers_release_number",
244
+ :header_params => header_params,
245
+ :query_params => query_params,
246
+ :form_params => form_params,
247
+ :body => post_body,
248
+ :auth_names => auth_names,
249
+ :return_type => return_type
250
+ )
251
+
252
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
253
+ if @api_client.config.debugging
254
+ @api_client.config.logger.debug "API called: NumbersApi#numbers_release_number\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
255
+ end
256
+ return data, status_code, headers
257
+ end
258
+
143
259
  # Search for available phone numbers
144
260
  # @param country_code [String] ISO 3166-1 alpha-2 country code (e.g., US, CA)
145
261
  # @param [Hash] opts the optional parameters
@@ -32,7 +32,7 @@ module Pingram
32
32
  # @option config [Configuration] Configuration for initializing the object, default to Configuration.default
33
33
  def initialize(config = Configuration.default)
34
34
  @config = config
35
- @user_agent = "pingram-ruby/1.0.12"
35
+ @user_agent = "pingram-ruby/1.0.13"
36
36
  @default_headers = {
37
37
  'Content-Type' => 'application/json',
38
38
  'User-Agent' => @user_agent
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Pingram
17
- # Public response type for A2P registration - excludes internal Telnyx IDs
17
+ # Public response type for A2P registration
18
18
  class A2pRegistration < ApiModelBase
19
19
  attr_accessor :account_id
20
20
 
@@ -14,7 +14,6 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Pingram
17
- # Response for GET /numbers/list
18
17
  class ListPhoneNumbersResponse < ApiModelBase
19
18
  attr_accessor :numbers
20
19
 
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Pingram
17
- # One phone number owned by the account
17
+ # Represents a phone number in the account
18
18
  class ListPhoneNumbersResponseNumbersInner < ApiModelBase
19
19
  # E.164
20
20
  attr_accessor :phone_number
@@ -24,12 +24,62 @@ module Pingram
24
24
  # ISO timestamp when the number was registered
25
25
  attr_accessor :created_at
26
26
 
27
+ # ISO 3166-1 alpha-2 country code
28
+ attr_accessor :country_code
29
+
30
+ # e.g. local, toll_free
31
+ attr_accessor :number_type
32
+
33
+ # active or released
34
+ attr_accessor :billing_status
35
+
36
+ # YYYY-MM-DD next monthly rent charge
37
+ attr_accessor :next_billing_date
38
+
39
+ # Monthly cost in USD
40
+ attr_accessor :monthly_price
41
+
42
+ # US 10DLC readiness derived from stored campaign assignment
43
+ attr_accessor :a2p_status
44
+
45
+ # ISO timestamp when the number was released (released numbers only)
46
+ attr_accessor :released_at
47
+
48
+ class EnumAttributeValidator
49
+ attr_reader :datatype
50
+ attr_reader :allowable_values
51
+
52
+ def initialize(datatype, allowable_values)
53
+ @allowable_values = allowable_values.map do |value|
54
+ case datatype.to_s
55
+ when /Integer/i
56
+ value.to_i
57
+ when /Float/i
58
+ value.to_f
59
+ else
60
+ value
61
+ end
62
+ end
63
+ end
64
+
65
+ def valid?(value)
66
+ !value || allowable_values.include?(value)
67
+ end
68
+ end
69
+
27
70
  # Attribute mapping from ruby-style variable name to JSON key.
28
71
  def self.attribute_map
29
72
  {
30
73
  :'phone_number' => :'phoneNumber',
31
74
  :'label' => :'label',
32
- :'created_at' => :'createdAt'
75
+ :'created_at' => :'createdAt',
76
+ :'country_code' => :'countryCode',
77
+ :'number_type' => :'numberType',
78
+ :'billing_status' => :'billingStatus',
79
+ :'next_billing_date' => :'nextBillingDate',
80
+ :'monthly_price' => :'monthlyPrice',
81
+ :'a2p_status' => :'a2pStatus',
82
+ :'released_at' => :'releasedAt'
33
83
  }
34
84
  end
35
85
 
@@ -48,7 +98,14 @@ module Pingram
48
98
  {
49
99
  :'phone_number' => :'String',
50
100
  :'label' => :'String',
51
- :'created_at' => :'String'
101
+ :'created_at' => :'String',
102
+ :'country_code' => :'String',
103
+ :'number_type' => :'String',
104
+ :'billing_status' => :'String',
105
+ :'next_billing_date' => :'String',
106
+ :'monthly_price' => :'Float',
107
+ :'a2p_status' => :'String',
108
+ :'released_at' => :'String'
52
109
  }
53
110
  end
54
111
 
@@ -89,6 +146,44 @@ module Pingram
89
146
  else
90
147
  self.created_at = nil
91
148
  end
149
+
150
+ if attributes.key?(:'country_code')
151
+ self.country_code = attributes[:'country_code']
152
+ else
153
+ self.country_code = nil
154
+ end
155
+
156
+ if attributes.key?(:'number_type')
157
+ self.number_type = attributes[:'number_type']
158
+ else
159
+ self.number_type = nil
160
+ end
161
+
162
+ if attributes.key?(:'billing_status')
163
+ self.billing_status = attributes[:'billing_status']
164
+ else
165
+ self.billing_status = nil
166
+ end
167
+
168
+ if attributes.key?(:'next_billing_date')
169
+ self.next_billing_date = attributes[:'next_billing_date']
170
+ else
171
+ self.next_billing_date = nil
172
+ end
173
+
174
+ if attributes.key?(:'monthly_price')
175
+ self.monthly_price = attributes[:'monthly_price']
176
+ else
177
+ self.monthly_price = nil
178
+ end
179
+
180
+ if attributes.key?(:'a2p_status')
181
+ self.a2p_status = attributes[:'a2p_status']
182
+ end
183
+
184
+ if attributes.key?(:'released_at')
185
+ self.released_at = attributes[:'released_at']
186
+ end
92
187
  end
93
188
 
94
189
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -104,6 +199,26 @@ module Pingram
104
199
  invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
105
200
  end
106
201
 
202
+ if @country_code.nil?
203
+ invalid_properties.push('invalid value for "country_code", country_code cannot be nil.')
204
+ end
205
+
206
+ if @number_type.nil?
207
+ invalid_properties.push('invalid value for "number_type", number_type cannot be nil.')
208
+ end
209
+
210
+ if @billing_status.nil?
211
+ invalid_properties.push('invalid value for "billing_status", billing_status cannot be nil.')
212
+ end
213
+
214
+ if @next_billing_date.nil?
215
+ invalid_properties.push('invalid value for "next_billing_date", next_billing_date cannot be nil.')
216
+ end
217
+
218
+ if @monthly_price.nil?
219
+ invalid_properties.push('invalid value for "monthly_price", monthly_price cannot be nil.')
220
+ end
221
+
107
222
  invalid_properties
108
223
  end
109
224
 
@@ -113,6 +228,15 @@ module Pingram
113
228
  warn '[DEPRECATED] the `valid?` method is obsolete'
114
229
  return false if @phone_number.nil?
115
230
  return false if @created_at.nil?
231
+ return false if @country_code.nil?
232
+ return false if @number_type.nil?
233
+ return false if @billing_status.nil?
234
+ billing_status_validator = EnumAttributeValidator.new('String', ["active", "released"])
235
+ return false unless billing_status_validator.valid?(@billing_status)
236
+ return false if @next_billing_date.nil?
237
+ return false if @monthly_price.nil?
238
+ a2p_status_validator = EnumAttributeValidator.new('String', ["pending", "testing", "approved"])
239
+ return false unless a2p_status_validator.valid?(@a2p_status)
116
240
  true
117
241
  end
118
242
 
@@ -136,6 +260,66 @@ module Pingram
136
260
  @created_at = created_at
137
261
  end
138
262
 
263
+ # Custom attribute writer method with validation
264
+ # @param [Object] country_code Value to be assigned
265
+ def country_code=(country_code)
266
+ if country_code.nil?
267
+ fail ArgumentError, 'country_code cannot be nil'
268
+ end
269
+
270
+ @country_code = country_code
271
+ end
272
+
273
+ # Custom attribute writer method with validation
274
+ # @param [Object] number_type Value to be assigned
275
+ def number_type=(number_type)
276
+ if number_type.nil?
277
+ fail ArgumentError, 'number_type cannot be nil'
278
+ end
279
+
280
+ @number_type = number_type
281
+ end
282
+
283
+ # Custom attribute writer method checking allowed values (enum).
284
+ # @param [Object] billing_status Object to be assigned
285
+ def billing_status=(billing_status)
286
+ validator = EnumAttributeValidator.new('String', ["active", "released"])
287
+ unless validator.valid?(billing_status)
288
+ fail ArgumentError, "invalid value for \"billing_status\", must be one of #{validator.allowable_values}."
289
+ end
290
+ @billing_status = billing_status
291
+ end
292
+
293
+ # Custom attribute writer method with validation
294
+ # @param [Object] next_billing_date Value to be assigned
295
+ def next_billing_date=(next_billing_date)
296
+ if next_billing_date.nil?
297
+ fail ArgumentError, 'next_billing_date cannot be nil'
298
+ end
299
+
300
+ @next_billing_date = next_billing_date
301
+ end
302
+
303
+ # Custom attribute writer method with validation
304
+ # @param [Object] monthly_price Value to be assigned
305
+ def monthly_price=(monthly_price)
306
+ if monthly_price.nil?
307
+ fail ArgumentError, 'monthly_price cannot be nil'
308
+ end
309
+
310
+ @monthly_price = monthly_price
311
+ end
312
+
313
+ # Custom attribute writer method checking allowed values (enum).
314
+ # @param [Object] a2p_status Object to be assigned
315
+ def a2p_status=(a2p_status)
316
+ validator = EnumAttributeValidator.new('String', ["pending", "testing", "approved"])
317
+ unless validator.valid?(a2p_status)
318
+ fail ArgumentError, "invalid value for \"a2p_status\", must be one of #{validator.allowable_values}."
319
+ end
320
+ @a2p_status = a2p_status
321
+ end
322
+
139
323
  # Checks equality by comparing each attribute.
140
324
  # @param [Object] Object to be compared
141
325
  def ==(o)
@@ -143,7 +327,14 @@ module Pingram
143
327
  self.class == o.class &&
144
328
  phone_number == o.phone_number &&
145
329
  label == o.label &&
146
- created_at == o.created_at
330
+ created_at == o.created_at &&
331
+ country_code == o.country_code &&
332
+ number_type == o.number_type &&
333
+ billing_status == o.billing_status &&
334
+ next_billing_date == o.next_billing_date &&
335
+ monthly_price == o.monthly_price &&
336
+ a2p_status == o.a2p_status &&
337
+ released_at == o.released_at
147
338
  end
148
339
 
149
340
  # @see the `==` method
@@ -155,7 +346,7 @@ module Pingram
155
346
  # Calculates hash code according to all attributes.
156
347
  # @return [Integer] Hash code
157
348
  def hash
158
- [phone_number, label, created_at].hash
349
+ [phone_number, label, created_at, country_code, number_type, billing_status, next_billing_date, monthly_price, a2p_status, released_at].hash
159
350
  end
160
351
 
161
352
  # Builds the object from hash
@@ -0,0 +1,166 @@
1
+ =begin
2
+ #Pingram
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Pingram
17
+ class ListReleasedPhoneNumbersResponse < ApiModelBase
18
+ attr_accessor :numbers
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'numbers' => :'numbers'
24
+ }
25
+ end
26
+
27
+ # Returns attribute mapping this model knows about
28
+ def self.acceptable_attribute_map
29
+ attribute_map
30
+ end
31
+
32
+ # Returns all the JSON keys this model knows about
33
+ def self.acceptable_attributes
34
+ acceptable_attribute_map.values
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.openapi_types
39
+ {
40
+ :'numbers' => :'Array<ListPhoneNumbersResponseNumbersInner>'
41
+ }
42
+ end
43
+
44
+ # List of attributes with nullable: true
45
+ def self.openapi_nullable
46
+ Set.new([
47
+ ])
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ if (!attributes.is_a?(Hash))
54
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::ListReleasedPhoneNumbersResponse` initialize method"
55
+ end
56
+
57
+ # check to see if the attribute exists and convert string to symbol for hash key
58
+ acceptable_attribute_map = self.class.acceptable_attribute_map
59
+ attributes = attributes.each_with_object({}) { |(k, v), h|
60
+ if (!acceptable_attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::ListReleasedPhoneNumbersResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
62
+ end
63
+ h[k.to_sym] = v
64
+ }
65
+
66
+ if attributes.key?(:'numbers')
67
+ if (value = attributes[:'numbers']).is_a?(Array)
68
+ self.numbers = value
69
+ end
70
+ else
71
+ self.numbers = nil
72
+ end
73
+ end
74
+
75
+ # Show invalid properties with the reasons. Usually used together with valid?
76
+ # @return Array for valid properties with the reasons
77
+ def list_invalid_properties
78
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
79
+ invalid_properties = Array.new
80
+ if @numbers.nil?
81
+ invalid_properties.push('invalid value for "numbers", numbers cannot be nil.')
82
+ end
83
+
84
+ invalid_properties
85
+ end
86
+
87
+ # Check to see if the all the properties in the model are valid
88
+ # @return true if the model is valid
89
+ def valid?
90
+ warn '[DEPRECATED] the `valid?` method is obsolete'
91
+ return false if @numbers.nil?
92
+ true
93
+ end
94
+
95
+ # Custom attribute writer method with validation
96
+ # @param [Object] numbers Value to be assigned
97
+ def numbers=(numbers)
98
+ if numbers.nil?
99
+ fail ArgumentError, 'numbers cannot be nil'
100
+ end
101
+
102
+ @numbers = numbers
103
+ end
104
+
105
+ # Checks equality by comparing each attribute.
106
+ # @param [Object] Object to be compared
107
+ def ==(o)
108
+ return true if self.equal?(o)
109
+ self.class == o.class &&
110
+ numbers == o.numbers
111
+ end
112
+
113
+ # @see the `==` method
114
+ # @param [Object] Object to be compared
115
+ def eql?(o)
116
+ self == o
117
+ end
118
+
119
+ # Calculates hash code according to all attributes.
120
+ # @return [Integer] Hash code
121
+ def hash
122
+ [numbers].hash
123
+ end
124
+
125
+ # Builds the object from hash
126
+ # @param [Hash] attributes Model attributes in the form of hash
127
+ # @return [Object] Returns the model itself
128
+ def self.build_from_hash(attributes)
129
+ return nil unless attributes.is_a?(Hash)
130
+ attributes = attributes.transform_keys(&:to_sym)
131
+ transformed_hash = {}
132
+ openapi_types.each_pair do |key, type|
133
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
134
+ transformed_hash["#{key}"] = nil
135
+ elsif type =~ /\AArray<(.*)>/i
136
+ # check to ensure the input is an array given that the attribute
137
+ # is documented as an array but the input is not
138
+ if attributes[attribute_map[key]].is_a?(Array)
139
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
140
+ end
141
+ elsif !attributes[attribute_map[key]].nil?
142
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
143
+ end
144
+ end
145
+ new(transformed_hash)
146
+ end
147
+
148
+ # Returns the object in the form of hash
149
+ # @return [Hash] Returns the object in the form of hash
150
+ def to_hash
151
+ hash = {}
152
+ self.class.attribute_map.each_pair do |attr, param|
153
+ value = self.send(attr)
154
+ if value.nil?
155
+ is_nullable = self.class.openapi_nullable.include?(attr)
156
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
157
+ end
158
+
159
+ hash[param] = _to_hash(value)
160
+ end
161
+ hash
162
+ end
163
+
164
+ end
165
+
166
+ end
@@ -14,7 +14,6 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Pingram
17
- # Request body for POST /numbers/order
18
17
  class OrderPhoneNumberRequest < ApiModelBase
19
18
  # E.164 from search results
20
19
  attr_accessor :phone_number
@@ -14,7 +14,6 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Pingram
17
- # Response for POST /numbers/order
18
17
  class OrderPhoneNumberResponse < ApiModelBase
19
18
  attr_accessor :order_id
20
19
 
@@ -19,7 +19,7 @@ module Pingram
19
19
  # Total message usage (EMAIL + INAPP_WEB + WEB_PUSH + PUSH + SLACK)
20
20
  attr_accessor :message_usage
21
21
 
22
- # Total budget usage in USD (cost_SMS + cost_CALL)
22
+ # Total budget usage in USD (cost_SMS + cost_CALL + cost_NUMBER)
23
23
  attr_accessor :budget_usage
24
24
 
25
25
  # SMS cost in USD
@@ -28,6 +28,9 @@ module Pingram
28
28
  # Call cost in USD
29
29
  attr_accessor :cost_call
30
30
 
31
+ # Phone number rent in USD
32
+ attr_accessor :cost_number
33
+
31
34
  # Per-channel usage breakdown
32
35
  attr_accessor :channel_usages
33
36
 
@@ -44,6 +47,7 @@ module Pingram
44
47
  :'budget_usage' => :'budgetUsage',
45
48
  :'cost_sms' => :'costSms',
46
49
  :'cost_call' => :'costCall',
50
+ :'cost_number' => :'costNumber',
47
51
  :'channel_usages' => :'channelUsages',
48
52
  :'billing_cycle_start' => :'billingCycleStart',
49
53
  :'billing_cycle_end' => :'billingCycleEnd'
@@ -67,6 +71,7 @@ module Pingram
67
71
  :'budget_usage' => :'Float',
68
72
  :'cost_sms' => :'Float',
69
73
  :'cost_call' => :'Float',
74
+ :'cost_number' => :'Float',
70
75
  :'channel_usages' => :'Hash<String, Float>',
71
76
  :'billing_cycle_start' => :'String',
72
77
  :'billing_cycle_end' => :'String'
@@ -119,6 +124,12 @@ module Pingram
119
124
  self.cost_call = nil
120
125
  end
121
126
 
127
+ if attributes.key?(:'cost_number')
128
+ self.cost_number = attributes[:'cost_number']
129
+ else
130
+ self.cost_number = nil
131
+ end
132
+
122
133
  if attributes.key?(:'channel_usages')
123
134
  if (value = attributes[:'channel_usages']).is_a?(Hash)
124
135
  self.channel_usages = value
@@ -161,6 +172,10 @@ module Pingram
161
172
  invalid_properties.push('invalid value for "cost_call", cost_call cannot be nil.')
162
173
  end
163
174
 
175
+ if @cost_number.nil?
176
+ invalid_properties.push('invalid value for "cost_number", cost_number cannot be nil.')
177
+ end
178
+
164
179
  if @channel_usages.nil?
165
180
  invalid_properties.push('invalid value for "channel_usages", channel_usages cannot be nil.')
166
181
  end
@@ -184,6 +199,7 @@ module Pingram
184
199
  return false if @budget_usage.nil?
185
200
  return false if @cost_sms.nil?
186
201
  return false if @cost_call.nil?
202
+ return false if @cost_number.nil?
187
203
  return false if @channel_usages.nil?
188
204
  return false if @billing_cycle_start.nil?
189
205
  return false if @billing_cycle_end.nil?
@@ -230,6 +246,16 @@ module Pingram
230
246
  @cost_call = cost_call
231
247
  end
232
248
 
249
+ # Custom attribute writer method with validation
250
+ # @param [Object] cost_number Value to be assigned
251
+ def cost_number=(cost_number)
252
+ if cost_number.nil?
253
+ fail ArgumentError, 'cost_number cannot be nil'
254
+ end
255
+
256
+ @cost_number = cost_number
257
+ end
258
+
233
259
  # Custom attribute writer method with validation
234
260
  # @param [Object] channel_usages Value to be assigned
235
261
  def channel_usages=(channel_usages)
@@ -269,6 +295,7 @@ module Pingram
269
295
  budget_usage == o.budget_usage &&
270
296
  cost_sms == o.cost_sms &&
271
297
  cost_call == o.cost_call &&
298
+ cost_number == o.cost_number &&
272
299
  channel_usages == o.channel_usages &&
273
300
  billing_cycle_start == o.billing_cycle_start &&
274
301
  billing_cycle_end == o.billing_cycle_end
@@ -283,7 +310,7 @@ module Pingram
283
310
  # Calculates hash code according to all attributes.
284
311
  # @return [Integer] Hash code
285
312
  def hash
286
- [message_usage, budget_usage, cost_sms, cost_call, channel_usages, billing_cycle_start, billing_cycle_end].hash
313
+ [message_usage, budget_usage, cost_sms, cost_call, cost_number, channel_usages, billing_cycle_start, billing_cycle_end].hash
287
314
  end
288
315
 
289
316
  # Builds the object from hash
@@ -22,7 +22,7 @@ module Pingram
22
22
  # Total message usage (EMAIL + INAPP_WEB + WEB_PUSH + PUSH + SLACK)
23
23
  attr_accessor :message_usage
24
24
 
25
- # Total budget usage in USD (cost_SMS + cost_CALL)
25
+ # Total budget usage in USD (cost_SMS + cost_CALL + cost_NUMBER)
26
26
  attr_accessor :budget_usage
27
27
 
28
28
  # SMS cost in USD
@@ -31,6 +31,9 @@ module Pingram
31
31
  # Call cost in USD
32
32
  attr_accessor :cost_call
33
33
 
34
+ # Phone number rent in USD
35
+ attr_accessor :cost_number
36
+
34
37
  # Per-channel usage breakdown
35
38
  attr_accessor :channel_usages
36
39
 
@@ -42,6 +45,7 @@ module Pingram
42
45
  :'budget_usage' => :'budgetUsage',
43
46
  :'cost_sms' => :'costSms',
44
47
  :'cost_call' => :'costCall',
48
+ :'cost_number' => :'costNumber',
45
49
  :'channel_usages' => :'channelUsages'
46
50
  }
47
51
  end
@@ -64,6 +68,7 @@ module Pingram
64
68
  :'budget_usage' => :'Float',
65
69
  :'cost_sms' => :'Float',
66
70
  :'cost_call' => :'Float',
71
+ :'cost_number' => :'Float',
67
72
  :'channel_usages' => :'Hash<String, Float>'
68
73
  }
69
74
  end
@@ -120,6 +125,12 @@ module Pingram
120
125
  self.cost_call = nil
121
126
  end
122
127
 
128
+ if attributes.key?(:'cost_number')
129
+ self.cost_number = attributes[:'cost_number']
130
+ else
131
+ self.cost_number = nil
132
+ end
133
+
123
134
  if attributes.key?(:'channel_usages')
124
135
  if (value = attributes[:'channel_usages']).is_a?(Hash)
125
136
  self.channel_usages = value
@@ -154,6 +165,10 @@ module Pingram
154
165
  invalid_properties.push('invalid value for "cost_call", cost_call cannot be nil.')
155
166
  end
156
167
 
168
+ if @cost_number.nil?
169
+ invalid_properties.push('invalid value for "cost_number", cost_number cannot be nil.')
170
+ end
171
+
157
172
  if @channel_usages.nil?
158
173
  invalid_properties.push('invalid value for "channel_usages", channel_usages cannot be nil.')
159
174
  end
@@ -170,6 +185,7 @@ module Pingram
170
185
  return false if @budget_usage.nil?
171
186
  return false if @cost_sms.nil?
172
187
  return false if @cost_call.nil?
188
+ return false if @cost_number.nil?
173
189
  return false if @channel_usages.nil?
174
190
  true
175
191
  end
@@ -224,6 +240,16 @@ module Pingram
224
240
  @cost_call = cost_call
225
241
  end
226
242
 
243
+ # Custom attribute writer method with validation
244
+ # @param [Object] cost_number Value to be assigned
245
+ def cost_number=(cost_number)
246
+ if cost_number.nil?
247
+ fail ArgumentError, 'cost_number cannot be nil'
248
+ end
249
+
250
+ @cost_number = cost_number
251
+ end
252
+
227
253
  # Custom attribute writer method with validation
228
254
  # @param [Object] channel_usages Value to be assigned
229
255
  def channel_usages=(channel_usages)
@@ -244,6 +270,7 @@ module Pingram
244
270
  budget_usage == o.budget_usage &&
245
271
  cost_sms == o.cost_sms &&
246
272
  cost_call == o.cost_call &&
273
+ cost_number == o.cost_number &&
247
274
  channel_usages == o.channel_usages
248
275
  end
249
276
 
@@ -256,7 +283,7 @@ module Pingram
256
283
  # Calculates hash code according to all attributes.
257
284
  # @return [Integer] Hash code
258
285
  def hash
259
- [year_month, message_usage, budget_usage, cost_sms, cost_call, channel_usages].hash
286
+ [year_month, message_usage, budget_usage, cost_sms, cost_call, cost_number, channel_usages].hash
260
287
  end
261
288
 
262
289
  # Builds the object from hash
@@ -0,0 +1,200 @@
1
+ =begin
2
+ #Pingram
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Pingram
17
+ class ReleasePhoneNumberResponse < ApiModelBase
18
+ attr_accessor :phone_number
19
+
20
+ attr_accessor :released
21
+
22
+ # ISO timestamp when the number was released
23
+ attr_accessor :released_at
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'phone_number' => :'phoneNumber',
29
+ :'released' => :'released',
30
+ :'released_at' => :'releasedAt'
31
+ }
32
+ end
33
+
34
+ # Returns attribute mapping this model knows about
35
+ def self.acceptable_attribute_map
36
+ attribute_map
37
+ end
38
+
39
+ # Returns all the JSON keys this model knows about
40
+ def self.acceptable_attributes
41
+ acceptable_attribute_map.values
42
+ end
43
+
44
+ # Attribute type mapping.
45
+ def self.openapi_types
46
+ {
47
+ :'phone_number' => :'String',
48
+ :'released' => :'Boolean',
49
+ :'released_at' => :'String'
50
+ }
51
+ end
52
+
53
+ # List of attributes with nullable: true
54
+ def self.openapi_nullable
55
+ Set.new([
56
+ ])
57
+ end
58
+
59
+ # Initializes the object
60
+ # @param [Hash] attributes Model attributes in the form of hash
61
+ def initialize(attributes = {})
62
+ if (!attributes.is_a?(Hash))
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::ReleasePhoneNumberResponse` initialize method"
64
+ end
65
+
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ acceptable_attribute_map = self.class.acceptable_attribute_map
68
+ attributes = attributes.each_with_object({}) { |(k, v), h|
69
+ if (!acceptable_attribute_map.key?(k.to_sym))
70
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::ReleasePhoneNumberResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
71
+ end
72
+ h[k.to_sym] = v
73
+ }
74
+
75
+ if attributes.key?(:'phone_number')
76
+ self.phone_number = attributes[:'phone_number']
77
+ else
78
+ self.phone_number = nil
79
+ end
80
+
81
+ if attributes.key?(:'released')
82
+ self.released = attributes[:'released']
83
+ else
84
+ self.released = nil
85
+ end
86
+
87
+ if attributes.key?(:'released_at')
88
+ self.released_at = attributes[:'released_at']
89
+ end
90
+ end
91
+
92
+ # Show invalid properties with the reasons. Usually used together with valid?
93
+ # @return Array for valid properties with the reasons
94
+ def list_invalid_properties
95
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
96
+ invalid_properties = Array.new
97
+ if @phone_number.nil?
98
+ invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.')
99
+ end
100
+
101
+ if @released.nil?
102
+ invalid_properties.push('invalid value for "released", released cannot be nil.')
103
+ end
104
+
105
+ invalid_properties
106
+ end
107
+
108
+ # Check to see if the all the properties in the model are valid
109
+ # @return true if the model is valid
110
+ def valid?
111
+ warn '[DEPRECATED] the `valid?` method is obsolete'
112
+ return false if @phone_number.nil?
113
+ return false if @released.nil?
114
+ true
115
+ end
116
+
117
+ # Custom attribute writer method with validation
118
+ # @param [Object] phone_number Value to be assigned
119
+ def phone_number=(phone_number)
120
+ if phone_number.nil?
121
+ fail ArgumentError, 'phone_number cannot be nil'
122
+ end
123
+
124
+ @phone_number = phone_number
125
+ end
126
+
127
+ # Custom attribute writer method with validation
128
+ # @param [Object] released Value to be assigned
129
+ def released=(released)
130
+ if released.nil?
131
+ fail ArgumentError, 'released cannot be nil'
132
+ end
133
+
134
+ @released = released
135
+ end
136
+
137
+ # Checks equality by comparing each attribute.
138
+ # @param [Object] Object to be compared
139
+ def ==(o)
140
+ return true if self.equal?(o)
141
+ self.class == o.class &&
142
+ phone_number == o.phone_number &&
143
+ released == o.released &&
144
+ released_at == o.released_at
145
+ end
146
+
147
+ # @see the `==` method
148
+ # @param [Object] Object to be compared
149
+ def eql?(o)
150
+ self == o
151
+ end
152
+
153
+ # Calculates hash code according to all attributes.
154
+ # @return [Integer] Hash code
155
+ def hash
156
+ [phone_number, released, released_at].hash
157
+ end
158
+
159
+ # Builds the object from hash
160
+ # @param [Hash] attributes Model attributes in the form of hash
161
+ # @return [Object] Returns the model itself
162
+ def self.build_from_hash(attributes)
163
+ return nil unless attributes.is_a?(Hash)
164
+ attributes = attributes.transform_keys(&:to_sym)
165
+ transformed_hash = {}
166
+ openapi_types.each_pair do |key, type|
167
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
168
+ transformed_hash["#{key}"] = nil
169
+ elsif type =~ /\AArray<(.*)>/i
170
+ # check to ensure the input is an array given that the attribute
171
+ # is documented as an array but the input is not
172
+ if attributes[attribute_map[key]].is_a?(Array)
173
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
174
+ end
175
+ elsif !attributes[attribute_map[key]].nil?
176
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
177
+ end
178
+ end
179
+ new(transformed_hash)
180
+ end
181
+
182
+ # Returns the object in the form of hash
183
+ # @return [Hash] Returns the object in the form of hash
184
+ def to_hash
185
+ hash = {}
186
+ self.class.attribute_map.each_pair do |attr, param|
187
+ value = self.send(attr)
188
+ if value.nil?
189
+ is_nullable = self.class.openapi_nullable.include?(attr)
190
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
191
+ end
192
+
193
+ hash[param] = _to_hash(value)
194
+ end
195
+ hash
196
+ end
197
+
198
+ end
199
+
200
+ end
@@ -14,7 +14,6 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Pingram
17
- # Response for GET /numbers/available
18
17
  class SearchAvailablePhoneNumbersResponse < ApiModelBase
19
18
  attr_accessor :numbers
20
19
 
@@ -29,6 +29,9 @@ module Pingram
29
29
  # e.g. sms, voice, mms
30
30
  attr_accessor :features
31
31
 
32
+ # Monthly cost in USD
33
+ attr_accessor :monthly_price
34
+
32
35
  # Attribute mapping from ruby-style variable name to JSON key.
33
36
  def self.attribute_map
34
37
  {
@@ -36,7 +39,8 @@ module Pingram
36
39
  :'locality' => :'locality',
37
40
  :'administrative_area' => :'administrativeArea',
38
41
  :'phone_number_type' => :'phoneNumberType',
39
- :'features' => :'features'
42
+ :'features' => :'features',
43
+ :'monthly_price' => :'monthlyPrice'
40
44
  }
41
45
  end
42
46
 
@@ -57,7 +61,8 @@ module Pingram
57
61
  :'locality' => :'String',
58
62
  :'administrative_area' => :'String',
59
63
  :'phone_number_type' => :'String',
60
- :'features' => :'Array<String>'
64
+ :'features' => :'Array<String>',
65
+ :'monthly_price' => :'Float'
61
66
  }
62
67
  end
63
68
 
@@ -106,6 +111,12 @@ module Pingram
106
111
  self.features = value
107
112
  end
108
113
  end
114
+
115
+ if attributes.key?(:'monthly_price')
116
+ self.monthly_price = attributes[:'monthly_price']
117
+ else
118
+ self.monthly_price = nil
119
+ end
109
120
  end
110
121
 
111
122
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -117,6 +128,10 @@ module Pingram
117
128
  invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.')
118
129
  end
119
130
 
131
+ if @monthly_price.nil?
132
+ invalid_properties.push('invalid value for "monthly_price", monthly_price cannot be nil.')
133
+ end
134
+
120
135
  invalid_properties
121
136
  end
122
137
 
@@ -125,6 +140,7 @@ module Pingram
125
140
  def valid?
126
141
  warn '[DEPRECATED] the `valid?` method is obsolete'
127
142
  return false if @phone_number.nil?
143
+ return false if @monthly_price.nil?
128
144
  true
129
145
  end
130
146
 
@@ -138,6 +154,16 @@ module Pingram
138
154
  @phone_number = phone_number
139
155
  end
140
156
 
157
+ # Custom attribute writer method with validation
158
+ # @param [Object] monthly_price Value to be assigned
159
+ def monthly_price=(monthly_price)
160
+ if monthly_price.nil?
161
+ fail ArgumentError, 'monthly_price cannot be nil'
162
+ end
163
+
164
+ @monthly_price = monthly_price
165
+ end
166
+
141
167
  # Checks equality by comparing each attribute.
142
168
  # @param [Object] Object to be compared
143
169
  def ==(o)
@@ -147,7 +173,8 @@ module Pingram
147
173
  locality == o.locality &&
148
174
  administrative_area == o.administrative_area &&
149
175
  phone_number_type == o.phone_number_type &&
150
- features == o.features
176
+ features == o.features &&
177
+ monthly_price == o.monthly_price
151
178
  end
152
179
 
153
180
  # @see the `==` method
@@ -159,7 +186,7 @@ module Pingram
159
186
  # Calculates hash code according to all attributes.
160
187
  # @return [Integer] Hash code
161
188
  def hash
162
- [phone_number, locality, administrative_area, phone_number_type, features].hash
189
+ [phone_number, locality, administrative_area, phone_number_type, features, monthly_price].hash
163
190
  end
164
191
 
165
192
  # Builds the object from hash
@@ -28,11 +28,9 @@ module Pingram
28
28
  # The ISO 8601 datetime to schedule the SMS notification.
29
29
  attr_accessor :schedule
30
30
 
31
- # Override the sender phone number. Must be a verified number in your Telnyx account.
31
+ # Override the sender phone number. Must be a dedicated number on your Pingram account.
32
32
  attr_accessor :from
33
33
 
34
- attr_accessor :auto_reply
35
-
36
34
  # Attribute mapping from ruby-style variable name to JSON key.
37
35
  def self.attribute_map
38
36
  {
@@ -40,8 +38,7 @@ module Pingram
40
38
  :'to' => :'to',
41
39
  :'message' => :'message',
42
40
  :'schedule' => :'schedule',
43
- :'from' => :'from',
44
- :'auto_reply' => :'autoReply'
41
+ :'from' => :'from'
45
42
  }
46
43
  end
47
44
 
@@ -62,8 +59,7 @@ module Pingram
62
59
  :'to' => :'String',
63
60
  :'message' => :'String',
64
61
  :'schedule' => :'String',
65
- :'from' => :'String',
66
- :'auto_reply' => :'SenderPostBodySmsAutoReply'
62
+ :'from' => :'String'
67
63
  }
68
64
  end
69
65
 
@@ -114,10 +110,6 @@ module Pingram
114
110
  if attributes.key?(:'from')
115
111
  self.from = attributes[:'from']
116
112
  end
117
-
118
- if attributes.key?(:'auto_reply')
119
- self.auto_reply = attributes[:'auto_reply']
120
- end
121
113
  end
122
114
 
123
115
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -189,8 +181,7 @@ module Pingram
189
181
  to == o.to &&
190
182
  message == o.message &&
191
183
  schedule == o.schedule &&
192
- from == o.from &&
193
- auto_reply == o.auto_reply
184
+ from == o.from
194
185
  end
195
186
 
196
187
  # @see the `==` method
@@ -202,7 +193,7 @@ module Pingram
202
193
  # Calculates hash code according to all attributes.
203
194
  # @return [Integer] Hash code
204
195
  def hash
205
- [type, to, message, schedule, from, auto_reply].hash
196
+ [type, to, message, schedule, from].hash
206
197
  end
207
198
 
208
199
  # Builds the object from hash
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Pingram
14
- VERSION = '1.0.12'
14
+ VERSION = '1.0.13'
15
15
  end
data/lib/pingram.rb CHANGED
@@ -140,6 +140,7 @@ require 'pingram/models/intercom_webhook_data_item_any_of_source_author'
140
140
  require 'pingram/models/invite_post_response'
141
141
  require 'pingram/models/list_phone_numbers_response'
142
142
  require 'pingram/models/list_phone_numbers_response_numbers_inner'
143
+ require 'pingram/models/list_released_phone_numbers_response'
143
144
  require 'pingram/models/log_query_post_body'
144
145
  require 'pingram/models/logs_bulk_request'
145
146
  require 'pingram/models/logs_get_response'
@@ -172,6 +173,7 @@ require 'pingram/models/post_senders_request_body'
172
173
  require 'pingram/models/post_user_request'
173
174
  require 'pingram/models/push_settings_fcm_put_request'
174
175
  require 'pingram/models/push_settings_fcm_response'
176
+ require 'pingram/models/release_phone_number_response'
175
177
  require 'pingram/models/search_available_phone_numbers_response'
176
178
  require 'pingram/models/search_available_phone_numbers_response_numbers_inner'
177
179
  require 'pingram/models/send_email_api_response'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pingram
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.12
4
+ version: 1.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pingram
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-12 00:00:00.000000000 Z
11
+ date: 2026-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -212,6 +212,7 @@ files:
212
212
  - lib/pingram/models/invite_post_response.rb
213
213
  - lib/pingram/models/list_phone_numbers_response.rb
214
214
  - lib/pingram/models/list_phone_numbers_response_numbers_inner.rb
215
+ - lib/pingram/models/list_released_phone_numbers_response.rb
215
216
  - lib/pingram/models/log_query_post_body.rb
216
217
  - lib/pingram/models/logs_bulk_request.rb
217
218
  - lib/pingram/models/logs_get_response.rb
@@ -244,6 +245,7 @@ files:
244
245
  - lib/pingram/models/post_user_request.rb
245
246
  - lib/pingram/models/push_settings_fcm_put_request.rb
246
247
  - lib/pingram/models/push_settings_fcm_response.rb
248
+ - lib/pingram/models/release_phone_number_response.rb
247
249
  - lib/pingram/models/search_available_phone_numbers_response.rb
248
250
  - lib/pingram/models/search_available_phone_numbers_response_numbers_inner.rb
249
251
  - lib/pingram/models/send_email_api_response.rb