late-sdk 0.0.622 → 0.0.623

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: 56e0ec79860152e25e20c1e75edfefa1700524e8f9b0a7e165001c073c7b8f79
4
- data.tar.gz: 655d812e9c4a3ec4b68b688b1c194d3ea23d6d3f94b287b9904e5eda0ed74308
3
+ metadata.gz: 95e18dcebabfe1ab2b83cc8835ae1f218c4bfed13a7a91ad57cbefd95a1b9bfe
4
+ data.tar.gz: a3bcbcdf57b309f3c4eb74bfe84ed441905ac33510434fbd199045e20b7a89fb
5
5
  SHA512:
6
- metadata.gz: 2d4ad726c8d98d525f8d1487dcda9ccb138d5ca5495674012b4354617ac7860af2064c28c32ad4bd7bf49b4a173e96ad87e874090b4b95d56a414a371cccb8dd
7
- data.tar.gz: b0e856e1870b9350833edadf9f492898dac3a2fe00cee1b2539b6a4b355bf3e7ab2b3a7d9aa8015b0c31d390cd54791843ede918b4f9056d0e021762c82a1d5e
6
+ metadata.gz: 6754317e7ebbd65c85f50666f016156195693929fc7a6dfab01b4cd7055372929961ed6626e9669c9ca9a1de4bc3809c599d7eba3e8e235d1dbadda2a25b5a4f
7
+ data.tar.gz: 7bf496c5bdddef61579bdfe3e8988c100844d8a82fbc29d2f93a018f35c7722760ba2c67631d288f83363a65e621e3fdbd016ec0e8df87b34a879af75bc764e6
@@ -10,6 +10,8 @@
10
10
  | **sip_auth_password** | **String** | Stored encrypted, never returned by any endpoint. | [optional] |
11
11
  | **recording_enabled** | **Boolean** | | [optional][default to false] |
12
12
  | **call_icon_countries** | **Array<String>** | | [optional] |
13
+ | **max_call_duration_seconds** | **Integer** | Hard cap (seconds) on a forwarded call; the carrier hangs up both legs when it fires. Safety valve against dead-air billing when a destination hangs up but the signal is lost. | [optional] |
14
+ | **forward_caller_id** | **String** | Caller ID presented to the forward destination. caller = the WhatsApp user's number (sip: destinations only; ignored on tel: forwards). Fixes AI-agent trunks that reject seeing the business number call itself. | [optional][default to 'business'] |
13
15
 
14
16
  ## Example
15
17
 
@@ -22,7 +24,9 @@ instance = Zernio::EnableWhatsAppCallingLegacyRequest.new(
22
24
  sip_auth_username: null,
23
25
  sip_auth_password: null,
24
26
  recording_enabled: null,
25
- call_icon_countries: null
27
+ call_icon_countries: null,
28
+ max_call_duration_seconds: null,
29
+ forward_caller_id: null
26
30
  )
27
31
  ```
28
32
 
@@ -15,6 +15,8 @@
15
15
  | **outbound_disabled** | **Boolean** | True when the number's country blocks business-initiated (outbound) WhatsApp calling; inbound still works. | [optional] |
16
16
  | **caller_id_mode** | **String** | Caller ID the forward-leg callee sees on tel: forwards. business = this WhatsApp number; platform = a Zernio number (used when the number was brought by the customer and its caller ID is not verified for PSTN origination). | [optional] |
17
17
  | **caller_id_verified** | **Boolean** | True once the number completed caller-ID verification, making tel: forwards display the business number itself. | [optional] |
18
+ | **max_call_duration_seconds** | **Integer** | Hard cap (seconds) on forwarded calls; null = no cap. | [optional] |
19
+ | **forward_caller_id** | **String** | | [optional] |
18
20
 
19
21
  ## Example
20
22
 
@@ -32,7 +34,9 @@ instance = Zernio::GetWhatsAppCalling200Response.new(
32
34
  call_icon_countries: null,
33
35
  outbound_disabled: null,
34
36
  caller_id_mode: null,
35
- caller_id_verified: null
37
+ caller_id_verified: null,
38
+ max_call_duration_seconds: null,
39
+ forward_caller_id: null
36
40
  )
37
41
  ```
38
42
 
@@ -15,6 +15,8 @@
15
15
  | **call_icon_countries** | **Array<String>** | | [optional] |
16
16
  | **caller_id_mode** | **String** | Caller ID the forward-leg callee sees on tel: forwards. business = this WhatsApp number; platform = a Zernio number (customer-brought number without verified caller ID; verify via /v1/phone-numbers/{id}/whatsapp/caller-id-verification). | [optional] |
17
17
  | **caller_id_verified** | **Boolean** | True once the number completed caller-ID verification. | [optional] |
18
+ | **max_call_duration_seconds** | **Integer** | Hard cap (seconds) on forwarded calls; null = no cap. | [optional] |
19
+ | **forward_caller_id** | **String** | | [optional] |
18
20
 
19
21
  ## Example
20
22
 
@@ -32,7 +34,9 @@ instance = Zernio::GetWhatsAppCallingConfig200Response.new(
32
34
  sip_auth_password_configured: null,
33
35
  call_icon_countries: null,
34
36
  caller_id_mode: null,
35
- caller_id_verified: null
37
+ caller_id_verified: null,
38
+ max_call_duration_seconds: null,
39
+ forward_caller_id: null
36
40
  )
37
41
  ```
38
42
 
@@ -10,6 +10,8 @@
10
10
  | **sip_auth_password** | **String** | | [optional] |
11
11
  | **recording_enabled** | **Boolean** | | [optional] |
12
12
  | **call_icon_countries** | **Array<String>** | | [optional] |
13
+ | **max_call_duration_seconds** | **Integer** | Hard cap (seconds) on forwarded calls; null clears the cap. | [optional] |
14
+ | **forward_caller_id** | **String** | caller = present the WhatsApp user's number to the forward destination (sip: only). | [optional] |
13
15
 
14
16
  ## Example
15
17
 
@@ -22,7 +24,9 @@ instance = Zernio::UpdateWhatsAppCallingLegacyRequest.new(
22
24
  sip_auth_username: null,
23
25
  sip_auth_password: null,
24
26
  recording_enabled: null,
25
- call_icon_countries: null
27
+ call_icon_countries: null,
28
+ max_call_duration_seconds: null,
29
+ forward_caller_id: null
26
30
  )
27
31
  ```
28
32
 
@@ -29,6 +29,34 @@ module Zernio
29
29
 
30
30
  attr_accessor :call_icon_countries
31
31
 
32
+ # Hard cap (seconds) on a forwarded call; the carrier hangs up both legs when it fires. Safety valve against dead-air billing when a destination hangs up but the signal is lost.
33
+ attr_accessor :max_call_duration_seconds
34
+
35
+ # Caller ID presented to the forward destination. caller = the WhatsApp user's number (sip: destinations only; ignored on tel: forwards). Fixes AI-agent trunks that reject seeing the business number call itself.
36
+ attr_accessor :forward_caller_id
37
+
38
+ class EnumAttributeValidator
39
+ attr_reader :datatype
40
+ attr_reader :allowable_values
41
+
42
+ def initialize(datatype, allowable_values)
43
+ @allowable_values = allowable_values.map do |value|
44
+ case datatype.to_s
45
+ when /Integer/i
46
+ value.to_i
47
+ when /Float/i
48
+ value.to_f
49
+ else
50
+ value
51
+ end
52
+ end
53
+ end
54
+
55
+ def valid?(value)
56
+ !value || allowable_values.include?(value)
57
+ end
58
+ end
59
+
32
60
  # Attribute mapping from ruby-style variable name to JSON key.
33
61
  def self.attribute_map
34
62
  {
@@ -37,7 +65,9 @@ module Zernio
37
65
  :'sip_auth_username' => :'sipAuthUsername',
38
66
  :'sip_auth_password' => :'sipAuthPassword',
39
67
  :'recording_enabled' => :'recordingEnabled',
40
- :'call_icon_countries' => :'callIconCountries'
68
+ :'call_icon_countries' => :'callIconCountries',
69
+ :'max_call_duration_seconds' => :'maxCallDurationSeconds',
70
+ :'forward_caller_id' => :'forwardCallerId'
41
71
  }
42
72
  end
43
73
 
@@ -59,7 +89,9 @@ module Zernio
59
89
  :'sip_auth_username' => :'String',
60
90
  :'sip_auth_password' => :'String',
61
91
  :'recording_enabled' => :'Boolean',
62
- :'call_icon_countries' => :'Array<String>'
92
+ :'call_icon_countries' => :'Array<String>',
93
+ :'max_call_duration_seconds' => :'Integer',
94
+ :'forward_caller_id' => :'String'
63
95
  }
64
96
  end
65
97
 
@@ -116,6 +148,16 @@ module Zernio
116
148
  self.call_icon_countries = value
117
149
  end
118
150
  end
151
+
152
+ if attributes.key?(:'max_call_duration_seconds')
153
+ self.max_call_duration_seconds = attributes[:'max_call_duration_seconds']
154
+ end
155
+
156
+ if attributes.key?(:'forward_caller_id')
157
+ self.forward_caller_id = attributes[:'forward_caller_id']
158
+ else
159
+ self.forward_caller_id = 'business'
160
+ end
119
161
  end
120
162
 
121
163
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -131,6 +173,14 @@ module Zernio
131
173
  invalid_properties.push('invalid value for "forward_to", forward_to cannot be nil.')
132
174
  end
133
175
 
176
+ if !@max_call_duration_seconds.nil? && @max_call_duration_seconds > 14400
177
+ invalid_properties.push('invalid value for "max_call_duration_seconds", must be smaller than or equal to 14400.')
178
+ end
179
+
180
+ if !@max_call_duration_seconds.nil? && @max_call_duration_seconds < 30
181
+ invalid_properties.push('invalid value for "max_call_duration_seconds", must be greater than or equal to 30.')
182
+ end
183
+
134
184
  invalid_properties
135
185
  end
136
186
 
@@ -140,6 +190,10 @@ module Zernio
140
190
  warn '[DEPRECATED] the `valid?` method is obsolete'
141
191
  return false if @account_id.nil?
142
192
  return false if @forward_to.nil?
193
+ return false if !@max_call_duration_seconds.nil? && @max_call_duration_seconds > 14400
194
+ return false if !@max_call_duration_seconds.nil? && @max_call_duration_seconds < 30
195
+ forward_caller_id_validator = EnumAttributeValidator.new('String', ["business", "caller"])
196
+ return false unless forward_caller_id_validator.valid?(@forward_caller_id)
143
197
  true
144
198
  end
145
199
 
@@ -163,6 +217,34 @@ module Zernio
163
217
  @forward_to = forward_to
164
218
  end
165
219
 
220
+ # Custom attribute writer method with validation
221
+ # @param [Object] max_call_duration_seconds Value to be assigned
222
+ def max_call_duration_seconds=(max_call_duration_seconds)
223
+ if max_call_duration_seconds.nil?
224
+ fail ArgumentError, 'max_call_duration_seconds cannot be nil'
225
+ end
226
+
227
+ if max_call_duration_seconds > 14400
228
+ fail ArgumentError, 'invalid value for "max_call_duration_seconds", must be smaller than or equal to 14400.'
229
+ end
230
+
231
+ if max_call_duration_seconds < 30
232
+ fail ArgumentError, 'invalid value for "max_call_duration_seconds", must be greater than or equal to 30.'
233
+ end
234
+
235
+ @max_call_duration_seconds = max_call_duration_seconds
236
+ end
237
+
238
+ # Custom attribute writer method checking allowed values (enum).
239
+ # @param [Object] forward_caller_id Object to be assigned
240
+ def forward_caller_id=(forward_caller_id)
241
+ validator = EnumAttributeValidator.new('String', ["business", "caller"])
242
+ unless validator.valid?(forward_caller_id)
243
+ fail ArgumentError, "invalid value for \"forward_caller_id\", must be one of #{validator.allowable_values}."
244
+ end
245
+ @forward_caller_id = forward_caller_id
246
+ end
247
+
166
248
  # Checks equality by comparing each attribute.
167
249
  # @param [Object] Object to be compared
168
250
  def ==(o)
@@ -173,7 +255,9 @@ module Zernio
173
255
  sip_auth_username == o.sip_auth_username &&
174
256
  sip_auth_password == o.sip_auth_password &&
175
257
  recording_enabled == o.recording_enabled &&
176
- call_icon_countries == o.call_icon_countries
258
+ call_icon_countries == o.call_icon_countries &&
259
+ max_call_duration_seconds == o.max_call_duration_seconds &&
260
+ forward_caller_id == o.forward_caller_id
177
261
  end
178
262
 
179
263
  # @see the `==` method
@@ -185,7 +269,7 @@ module Zernio
185
269
  # Calculates hash code according to all attributes.
186
270
  # @return [Integer] Hash code
187
271
  def hash
188
- [account_id, forward_to, sip_auth_username, sip_auth_password, recording_enabled, call_icon_countries].hash
272
+ [account_id, forward_to, sip_auth_username, sip_auth_password, recording_enabled, call_icon_countries, max_call_duration_seconds, forward_caller_id].hash
189
273
  end
190
274
 
191
275
  # Builds the object from hash
@@ -43,6 +43,11 @@ module Zernio
43
43
  # True once the number completed caller-ID verification, making tel: forwards display the business number itself.
44
44
  attr_accessor :caller_id_verified
45
45
 
46
+ # Hard cap (seconds) on forwarded calls; null = no cap.
47
+ attr_accessor :max_call_duration_seconds
48
+
49
+ attr_accessor :forward_caller_id
50
+
46
51
  class EnumAttributeValidator
47
52
  attr_reader :datatype
48
53
  attr_reader :allowable_values
@@ -78,7 +83,9 @@ module Zernio
78
83
  :'call_icon_countries' => :'callIconCountries',
79
84
  :'outbound_disabled' => :'outboundDisabled',
80
85
  :'caller_id_mode' => :'callerIdMode',
81
- :'caller_id_verified' => :'callerIdVerified'
86
+ :'caller_id_verified' => :'callerIdVerified',
87
+ :'max_call_duration_seconds' => :'maxCallDurationSeconds',
88
+ :'forward_caller_id' => :'forwardCallerId'
82
89
  }
83
90
  end
84
91
 
@@ -105,7 +112,9 @@ module Zernio
105
112
  :'call_icon_countries' => :'Array<String>',
106
113
  :'outbound_disabled' => :'Boolean',
107
114
  :'caller_id_mode' => :'String',
108
- :'caller_id_verified' => :'Boolean'
115
+ :'caller_id_verified' => :'Boolean',
116
+ :'max_call_duration_seconds' => :'Integer',
117
+ :'forward_caller_id' => :'String'
109
118
  }
110
119
  end
111
120
 
@@ -116,6 +125,7 @@ module Zernio
116
125
  :'forward_to',
117
126
  :'sip_auth_username',
118
127
  :'call_icon_countries',
128
+ :'max_call_duration_seconds',
119
129
  ])
120
130
  end
121
131
 
@@ -180,6 +190,14 @@ module Zernio
180
190
  if attributes.key?(:'caller_id_verified')
181
191
  self.caller_id_verified = attributes[:'caller_id_verified']
182
192
  end
193
+
194
+ if attributes.key?(:'max_call_duration_seconds')
195
+ self.max_call_duration_seconds = attributes[:'max_call_duration_seconds']
196
+ end
197
+
198
+ if attributes.key?(:'forward_caller_id')
199
+ self.forward_caller_id = attributes[:'forward_caller_id']
200
+ end
183
201
  end
184
202
 
185
203
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -196,6 +214,8 @@ module Zernio
196
214
  warn '[DEPRECATED] the `valid?` method is obsolete'
197
215
  caller_id_mode_validator = EnumAttributeValidator.new('String', ["business", "platform"])
198
216
  return false unless caller_id_mode_validator.valid?(@caller_id_mode)
217
+ forward_caller_id_validator = EnumAttributeValidator.new('String', ["business", "caller"])
218
+ return false unless forward_caller_id_validator.valid?(@forward_caller_id)
199
219
  true
200
220
  end
201
221
 
@@ -209,6 +229,16 @@ module Zernio
209
229
  @caller_id_mode = caller_id_mode
210
230
  end
211
231
 
232
+ # Custom attribute writer method checking allowed values (enum).
233
+ # @param [Object] forward_caller_id Object to be assigned
234
+ def forward_caller_id=(forward_caller_id)
235
+ validator = EnumAttributeValidator.new('String', ["business", "caller"])
236
+ unless validator.valid?(forward_caller_id)
237
+ fail ArgumentError, "invalid value for \"forward_caller_id\", must be one of #{validator.allowable_values}."
238
+ end
239
+ @forward_caller_id = forward_caller_id
240
+ end
241
+
212
242
  # Checks equality by comparing each attribute.
213
243
  # @param [Object] Object to be compared
214
244
  def ==(o)
@@ -224,7 +254,9 @@ module Zernio
224
254
  call_icon_countries == o.call_icon_countries &&
225
255
  outbound_disabled == o.outbound_disabled &&
226
256
  caller_id_mode == o.caller_id_mode &&
227
- caller_id_verified == o.caller_id_verified
257
+ caller_id_verified == o.caller_id_verified &&
258
+ max_call_duration_seconds == o.max_call_duration_seconds &&
259
+ forward_caller_id == o.forward_caller_id
228
260
  end
229
261
 
230
262
  # @see the `==` method
@@ -236,7 +268,7 @@ module Zernio
236
268
  # Calculates hash code according to all attributes.
237
269
  # @return [Integer] Hash code
238
270
  def hash
239
- [phone_number, calling_enabled, call_deep_link, forward_to, recording_enabled, sip_auth_username, sip_auth_password_configured, call_icon_countries, outbound_disabled, caller_id_mode, caller_id_verified].hash
271
+ [phone_number, calling_enabled, call_deep_link, forward_to, recording_enabled, sip_auth_username, sip_auth_password_configured, call_icon_countries, outbound_disabled, caller_id_mode, caller_id_verified, max_call_duration_seconds, forward_caller_id].hash
240
272
  end
241
273
 
242
274
  # Builds the object from hash
@@ -43,6 +43,11 @@ module Zernio
43
43
  # True once the number completed caller-ID verification.
44
44
  attr_accessor :caller_id_verified
45
45
 
46
+ # Hard cap (seconds) on forwarded calls; null = no cap.
47
+ attr_accessor :max_call_duration_seconds
48
+
49
+ attr_accessor :forward_caller_id
50
+
46
51
  class EnumAttributeValidator
47
52
  attr_reader :datatype
48
53
  attr_reader :allowable_values
@@ -78,7 +83,9 @@ module Zernio
78
83
  :'sip_auth_password_configured' => :'sipAuthPasswordConfigured',
79
84
  :'call_icon_countries' => :'callIconCountries',
80
85
  :'caller_id_mode' => :'callerIdMode',
81
- :'caller_id_verified' => :'callerIdVerified'
86
+ :'caller_id_verified' => :'callerIdVerified',
87
+ :'max_call_duration_seconds' => :'maxCallDurationSeconds',
88
+ :'forward_caller_id' => :'forwardCallerId'
82
89
  }
83
90
  end
84
91
 
@@ -105,7 +112,9 @@ module Zernio
105
112
  :'sip_auth_password_configured' => :'Boolean',
106
113
  :'call_icon_countries' => :'Array<String>',
107
114
  :'caller_id_mode' => :'String',
108
- :'caller_id_verified' => :'Boolean'
115
+ :'caller_id_verified' => :'Boolean',
116
+ :'max_call_duration_seconds' => :'Integer',
117
+ :'forward_caller_id' => :'String'
109
118
  }
110
119
  end
111
120
 
@@ -116,6 +125,7 @@ module Zernio
116
125
  :'forward_to',
117
126
  :'sip_auth_username',
118
127
  :'call_icon_countries',
128
+ :'max_call_duration_seconds',
119
129
  ])
120
130
  end
121
131
 
@@ -180,6 +190,14 @@ module Zernio
180
190
  if attributes.key?(:'caller_id_verified')
181
191
  self.caller_id_verified = attributes[:'caller_id_verified']
182
192
  end
193
+
194
+ if attributes.key?(:'max_call_duration_seconds')
195
+ self.max_call_duration_seconds = attributes[:'max_call_duration_seconds']
196
+ end
197
+
198
+ if attributes.key?(:'forward_caller_id')
199
+ self.forward_caller_id = attributes[:'forward_caller_id']
200
+ end
183
201
  end
184
202
 
185
203
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -196,6 +214,8 @@ module Zernio
196
214
  warn '[DEPRECATED] the `valid?` method is obsolete'
197
215
  caller_id_mode_validator = EnumAttributeValidator.new('String', ["business", "platform"])
198
216
  return false unless caller_id_mode_validator.valid?(@caller_id_mode)
217
+ forward_caller_id_validator = EnumAttributeValidator.new('String', ["business", "caller"])
218
+ return false unless forward_caller_id_validator.valid?(@forward_caller_id)
199
219
  true
200
220
  end
201
221
 
@@ -209,6 +229,16 @@ module Zernio
209
229
  @caller_id_mode = caller_id_mode
210
230
  end
211
231
 
232
+ # Custom attribute writer method checking allowed values (enum).
233
+ # @param [Object] forward_caller_id Object to be assigned
234
+ def forward_caller_id=(forward_caller_id)
235
+ validator = EnumAttributeValidator.new('String', ["business", "caller"])
236
+ unless validator.valid?(forward_caller_id)
237
+ fail ArgumentError, "invalid value for \"forward_caller_id\", must be one of #{validator.allowable_values}."
238
+ end
239
+ @forward_caller_id = forward_caller_id
240
+ end
241
+
212
242
  # Checks equality by comparing each attribute.
213
243
  # @param [Object] Object to be compared
214
244
  def ==(o)
@@ -224,7 +254,9 @@ module Zernio
224
254
  sip_auth_password_configured == o.sip_auth_password_configured &&
225
255
  call_icon_countries == o.call_icon_countries &&
226
256
  caller_id_mode == o.caller_id_mode &&
227
- caller_id_verified == o.caller_id_verified
257
+ caller_id_verified == o.caller_id_verified &&
258
+ max_call_duration_seconds == o.max_call_duration_seconds &&
259
+ forward_caller_id == o.forward_caller_id
228
260
  end
229
261
 
230
262
  # @see the `==` method
@@ -236,7 +268,7 @@ module Zernio
236
268
  # Calculates hash code according to all attributes.
237
269
  # @return [Integer] Hash code
238
270
  def hash
239
- [phone_number_doc_id, phone_number, calling_enabled, call_deep_link, forward_to, recording_enabled, sip_auth_username, sip_auth_password_configured, call_icon_countries, caller_id_mode, caller_id_verified].hash
271
+ [phone_number_doc_id, phone_number, calling_enabled, call_deep_link, forward_to, recording_enabled, sip_auth_username, sip_auth_password_configured, call_icon_countries, caller_id_mode, caller_id_verified, max_call_duration_seconds, forward_caller_id].hash
240
272
  end
241
273
 
242
274
  # Builds the object from hash
@@ -27,6 +27,34 @@ module Zernio
27
27
 
28
28
  attr_accessor :call_icon_countries
29
29
 
30
+ # Hard cap (seconds) on forwarded calls; null clears the cap.
31
+ attr_accessor :max_call_duration_seconds
32
+
33
+ # caller = present the WhatsApp user's number to the forward destination (sip: only).
34
+ attr_accessor :forward_caller_id
35
+
36
+ class EnumAttributeValidator
37
+ attr_reader :datatype
38
+ attr_reader :allowable_values
39
+
40
+ def initialize(datatype, allowable_values)
41
+ @allowable_values = allowable_values.map do |value|
42
+ case datatype.to_s
43
+ when /Integer/i
44
+ value.to_i
45
+ when /Float/i
46
+ value.to_f
47
+ else
48
+ value
49
+ end
50
+ end
51
+ end
52
+
53
+ def valid?(value)
54
+ !value || allowable_values.include?(value)
55
+ end
56
+ end
57
+
30
58
  # Attribute mapping from ruby-style variable name to JSON key.
31
59
  def self.attribute_map
32
60
  {
@@ -35,7 +63,9 @@ module Zernio
35
63
  :'sip_auth_username' => :'sipAuthUsername',
36
64
  :'sip_auth_password' => :'sipAuthPassword',
37
65
  :'recording_enabled' => :'recordingEnabled',
38
- :'call_icon_countries' => :'callIconCountries'
66
+ :'call_icon_countries' => :'callIconCountries',
67
+ :'max_call_duration_seconds' => :'maxCallDurationSeconds',
68
+ :'forward_caller_id' => :'forwardCallerId'
39
69
  }
40
70
  end
41
71
 
@@ -57,7 +87,9 @@ module Zernio
57
87
  :'sip_auth_username' => :'String',
58
88
  :'sip_auth_password' => :'String',
59
89
  :'recording_enabled' => :'Boolean',
60
- :'call_icon_countries' => :'Array<String>'
90
+ :'call_icon_countries' => :'Array<String>',
91
+ :'max_call_duration_seconds' => :'Integer',
92
+ :'forward_caller_id' => :'String'
61
93
  }
62
94
  end
63
95
 
@@ -66,7 +98,8 @@ module Zernio
66
98
  Set.new([
67
99
  :'sip_auth_username',
68
100
  :'sip_auth_password',
69
- :'call_icon_countries'
101
+ :'call_icon_countries',
102
+ :'max_call_duration_seconds',
70
103
  ])
71
104
  end
72
105
 
@@ -113,6 +146,14 @@ module Zernio
113
146
  self.call_icon_countries = value
114
147
  end
115
148
  end
149
+
150
+ if attributes.key?(:'max_call_duration_seconds')
151
+ self.max_call_duration_seconds = attributes[:'max_call_duration_seconds']
152
+ end
153
+
154
+ if attributes.key?(:'forward_caller_id')
155
+ self.forward_caller_id = attributes[:'forward_caller_id']
156
+ end
116
157
  end
117
158
 
118
159
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -124,6 +165,14 @@ module Zernio
124
165
  invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
125
166
  end
126
167
 
168
+ if !@max_call_duration_seconds.nil? && @max_call_duration_seconds > 14400
169
+ invalid_properties.push('invalid value for "max_call_duration_seconds", must be smaller than or equal to 14400.')
170
+ end
171
+
172
+ if !@max_call_duration_seconds.nil? && @max_call_duration_seconds < 30
173
+ invalid_properties.push('invalid value for "max_call_duration_seconds", must be greater than or equal to 30.')
174
+ end
175
+
127
176
  invalid_properties
128
177
  end
129
178
 
@@ -132,6 +181,10 @@ module Zernio
132
181
  def valid?
133
182
  warn '[DEPRECATED] the `valid?` method is obsolete'
134
183
  return false if @account_id.nil?
184
+ return false if !@max_call_duration_seconds.nil? && @max_call_duration_seconds > 14400
185
+ return false if !@max_call_duration_seconds.nil? && @max_call_duration_seconds < 30
186
+ forward_caller_id_validator = EnumAttributeValidator.new('String', ["business", "caller"])
187
+ return false unless forward_caller_id_validator.valid?(@forward_caller_id)
135
188
  true
136
189
  end
137
190
 
@@ -145,6 +198,30 @@ module Zernio
145
198
  @account_id = account_id
146
199
  end
147
200
 
201
+ # Custom attribute writer method with validation
202
+ # @param [Object] max_call_duration_seconds Value to be assigned
203
+ def max_call_duration_seconds=(max_call_duration_seconds)
204
+ if !max_call_duration_seconds.nil? && max_call_duration_seconds > 14400
205
+ fail ArgumentError, 'invalid value for "max_call_duration_seconds", must be smaller than or equal to 14400.'
206
+ end
207
+
208
+ if !max_call_duration_seconds.nil? && max_call_duration_seconds < 30
209
+ fail ArgumentError, 'invalid value for "max_call_duration_seconds", must be greater than or equal to 30.'
210
+ end
211
+
212
+ @max_call_duration_seconds = max_call_duration_seconds
213
+ end
214
+
215
+ # Custom attribute writer method checking allowed values (enum).
216
+ # @param [Object] forward_caller_id Object to be assigned
217
+ def forward_caller_id=(forward_caller_id)
218
+ validator = EnumAttributeValidator.new('String', ["business", "caller"])
219
+ unless validator.valid?(forward_caller_id)
220
+ fail ArgumentError, "invalid value for \"forward_caller_id\", must be one of #{validator.allowable_values}."
221
+ end
222
+ @forward_caller_id = forward_caller_id
223
+ end
224
+
148
225
  # Checks equality by comparing each attribute.
149
226
  # @param [Object] Object to be compared
150
227
  def ==(o)
@@ -155,7 +232,9 @@ module Zernio
155
232
  sip_auth_username == o.sip_auth_username &&
156
233
  sip_auth_password == o.sip_auth_password &&
157
234
  recording_enabled == o.recording_enabled &&
158
- call_icon_countries == o.call_icon_countries
235
+ call_icon_countries == o.call_icon_countries &&
236
+ max_call_duration_seconds == o.max_call_duration_seconds &&
237
+ forward_caller_id == o.forward_caller_id
159
238
  end
160
239
 
161
240
  # @see the `==` method
@@ -167,7 +246,7 @@ module Zernio
167
246
  # Calculates hash code according to all attributes.
168
247
  # @return [Integer] Hash code
169
248
  def hash
170
- [account_id, forward_to, sip_auth_username, sip_auth_password, recording_enabled, call_icon_countries].hash
249
+ [account_id, forward_to, sip_auth_username, sip_auth_password, recording_enabled, call_icon_countries, max_call_duration_seconds, forward_caller_id].hash
171
250
  end
172
251
 
173
252
  # Builds the object from hash
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.622'
14
+ VERSION = '0.0.623'
15
15
  end
data/openapi.yaml CHANGED
@@ -25959,6 +25959,8 @@ paths:
25959
25959
  enum: [business, platform]
25960
25960
  description: 'Caller ID the forward-leg callee sees on tel: forwards. business = this WhatsApp number; platform = a Zernio number (customer-brought number without verified caller ID; verify via /v1/phone-numbers/{id}/whatsapp/caller-id-verification).'
25961
25961
  callerIdVerified: { type: boolean, description: 'True once the number completed caller-ID verification.' }
25962
+ maxCallDurationSeconds: { type: [integer, "null"], description: 'Hard cap (seconds) on forwarded calls; null = no cap.' }
25963
+ forwardCallerId: { type: string, enum: [business, caller] }
25962
25964
  '401': { $ref: '#/components/responses/Unauthorized' }
25963
25965
  '404': { description: WhatsApp phone number not found for this account }
25964
25966
 
@@ -25996,6 +25998,8 @@ paths:
25996
25998
  callIconCountries:
25997
25999
  type: array
25998
26000
  items: { type: string, minLength: 2, maxLength: 2 }
26001
+ maxCallDurationSeconds: { type: integer, minimum: 30, maximum: 14400, description: 'Hard cap (seconds) on a forwarded call; the carrier hangs up both legs when it fires. Safety valve against dead-air billing when a destination hangs up but the signal is lost.' }
26002
+ forwardCallerId: { type: string, enum: [business, caller], default: business, description: 'Caller ID presented to the forward destination. caller = the WhatsApp user''s number (sip: destinations only; ignored on tel: forwards). Fixes AI-agent trunks that reject seeing the business number call itself.' }
25999
26003
  responses:
26000
26004
  '200':
26001
26005
  description: Calling enabled
@@ -26050,6 +26054,8 @@ paths:
26050
26054
  callIconCountries:
26051
26055
  type: [array, "null"]
26052
26056
  items: { type: string, minLength: 2, maxLength: 2 }
26057
+ maxCallDurationSeconds: { type: [integer, "null"], minimum: 30, maximum: 14400, description: 'Hard cap (seconds) on forwarded calls; null clears the cap.' }
26058
+ forwardCallerId: { type: string, enum: [business, caller], description: 'caller = present the WhatsApp user''s number to the forward destination (sip: only).' }
26053
26059
  responses:
26054
26060
  '200': { description: Updated }
26055
26061
  '400': { description: Invalid request }
@@ -31018,6 +31024,8 @@ paths:
31018
31024
  enum: [business, platform]
31019
31025
  description: 'Caller ID the forward-leg callee sees on tel: forwards. business = this WhatsApp number; platform = a Zernio number (used when the number was brought by the customer and its caller ID is not verified for PSTN origination).'
31020
31026
  callerIdVerified: { type: boolean, description: 'True once the number completed caller-ID verification, making tel: forwards display the business number itself.' }
31027
+ maxCallDurationSeconds: { type: [integer, "null"], description: 'Hard cap (seconds) on forwarded calls; null = no cap.' }
31028
+ forwardCallerId: { type: string, enum: [business, caller] }
31021
31029
  '400': { description: Invalid request }
31022
31030
  '401': { $ref: '#/components/responses/Unauthorized' }
31023
31031
  '404': { description: Number not found }
@@ -31050,6 +31058,8 @@ paths:
31050
31058
  callIconCountries:
31051
31059
  type: array
31052
31060
  items: { type: string, minLength: 2, maxLength: 2 }
31061
+ maxCallDurationSeconds: { type: integer, minimum: 30, maximum: 14400, description: 'Hard cap (seconds) on a forwarded call; the carrier hangs up both legs when it fires. Safety valve against dead-air billing when a destination hangs up but the signal is lost.' }
31062
+ forwardCallerId: { type: string, enum: [business, caller], default: business, description: 'Caller ID presented to the forward destination. caller = the WhatsApp user''s number (sip: destinations only; ignored on tel: forwards). Fixes AI-agent trunks that reject seeing the business number call itself.' }
31053
31063
  responses:
31054
31064
  '200':
31055
31065
  description: Calling enabled
@@ -31100,6 +31110,8 @@ paths:
31100
31110
  callIconCountries:
31101
31111
  type: [array, "null"]
31102
31112
  items: { type: string, minLength: 2, maxLength: 2 }
31113
+ maxCallDurationSeconds: { type: [integer, "null"], minimum: 30, maximum: 14400, description: 'Hard cap (seconds) on forwarded calls; null clears the cap.' }
31114
+ forwardCallerId: { type: string, enum: [business, caller], description: 'caller = present the WhatsApp user''s number to the forward destination (sip: only).' }
31103
31115
  responses:
31104
31116
  '200': { description: Updated }
31105
31117
  '400': { description: Invalid request }
@@ -63,4 +63,20 @@ describe Zernio::EnableWhatsAppCallingLegacyRequest do
63
63
  end
64
64
  end
65
65
 
66
+ describe 'test attribute "max_call_duration_seconds"' do
67
+ it 'should work' do
68
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
69
+ end
70
+ end
71
+
72
+ describe 'test attribute "forward_caller_id"' do
73
+ it 'should work' do
74
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
75
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["business", "caller"])
76
+ # validator.allowable_values.each do |value|
77
+ # expect { instance.forward_caller_id = value }.not_to raise_error
78
+ # end
79
+ end
80
+ end
81
+
66
82
  end
@@ -97,4 +97,20 @@ describe Zernio::GetWhatsAppCalling200Response do
97
97
  end
98
98
  end
99
99
 
100
+ describe 'test attribute "max_call_duration_seconds"' do
101
+ it 'should work' do
102
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
103
+ end
104
+ end
105
+
106
+ describe 'test attribute "forward_caller_id"' do
107
+ it 'should work' do
108
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
109
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["business", "caller"])
110
+ # validator.allowable_values.each do |value|
111
+ # expect { instance.forward_caller_id = value }.not_to raise_error
112
+ # end
113
+ end
114
+ end
115
+
100
116
  end
@@ -97,4 +97,20 @@ describe Zernio::GetWhatsAppCallingConfig200Response do
97
97
  end
98
98
  end
99
99
 
100
+ describe 'test attribute "max_call_duration_seconds"' do
101
+ it 'should work' do
102
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
103
+ end
104
+ end
105
+
106
+ describe 'test attribute "forward_caller_id"' do
107
+ it 'should work' do
108
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
109
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["business", "caller"])
110
+ # validator.allowable_values.each do |value|
111
+ # expect { instance.forward_caller_id = value }.not_to raise_error
112
+ # end
113
+ end
114
+ end
115
+
100
116
  end
@@ -63,4 +63,20 @@ describe Zernio::UpdateWhatsAppCallingLegacyRequest do
63
63
  end
64
64
  end
65
65
 
66
+ describe 'test attribute "max_call_duration_seconds"' do
67
+ it 'should work' do
68
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
69
+ end
70
+ end
71
+
72
+ describe 'test attribute "forward_caller_id"' do
73
+ it 'should work' do
74
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
75
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["business", "caller"])
76
+ # validator.allowable_values.each do |value|
77
+ # expect { instance.forward_caller_id = value }.not_to raise_error
78
+ # end
79
+ end
80
+ end
81
+
66
82
  end
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: late-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.622
4
+ version: 0.0.623
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator
@@ -4895,7 +4895,7 @@ files:
4895
4895
  - spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
4896
4896
  - spec/models/you_tube_video_retention_response_spec.rb
4897
4897
  - spec/spec_helper.rb
4898
- - zernio-sdk-0.0.622.gem
4898
+ - zernio-sdk-0.0.623.gem
4899
4899
  - zernio-sdk.gemspec
4900
4900
  homepage: https://openapi-generator.tech
4901
4901
  licenses:
Binary file