telnyx 5.166.0 → 5.168.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 (205) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +4 -0
  5. data/lib/telnyx/internal/default_flat_pagination.rb +7 -3
  6. data/lib/telnyx/internal/default_flat_pagination_for_inexplicit_number_orders.rb +7 -3
  7. data/lib/telnyx/internal/default_flat_pagination_top_level_array.rb +10 -8
  8. data/lib/telnyx/internal/default_pagination_for_log_messages.rb +7 -3
  9. data/lib/telnyx/internal/default_pagination_for_messaging_tollfree.rb +12 -3
  10. data/lib/telnyx/internal/default_pagination_for_queues.rb +12 -3
  11. data/lib/telnyx/internal/per_page_pagination.rb +8 -1
  12. data/lib/telnyx/internal/per_page_pagination_v2.rb +8 -1
  13. data/lib/telnyx/internal/type/converter.rb +2 -0
  14. data/lib/telnyx/models/ai/anthropic/v1_messages_params.rb +57 -1
  15. data/lib/telnyx/models/ai/assistant_a2_a_agent.rb +195 -0
  16. data/lib/telnyx/models/ai/assistant_create_params.rb +16 -1
  17. data/lib/telnyx/models/ai/assistant_update_params.rb +17 -1
  18. data/lib/telnyx/models/ai/assistants/update_assistant.rb +17 -1
  19. data/lib/telnyx/models/ai/chat_completion_request.rb +185 -48
  20. data/lib/telnyx/models/ai/inference_embedding.rb +16 -1
  21. data/lib/telnyx/models/ai/openai_create_response_params.rb +57 -1
  22. data/lib/telnyx/models/ai/telephony_settings.rb +15 -1
  23. data/lib/telnyx/models/compute/func_retrieve_logs_params.rb +66 -0
  24. data/lib/telnyx/models/compute/func_retrieve_logs_response.rb +161 -0
  25. data/lib/telnyx/models/compute/func_retrieve_metric_aggregates_params.rb +69 -0
  26. data/lib/telnyx/models/compute/func_retrieve_metric_aggregates_response.rb +137 -0
  27. data/lib/telnyx/models/compute/func_retrieve_revisions_params.rb +34 -0
  28. data/lib/telnyx/models/compute/func_retrieve_revisions_response.rb +101 -0
  29. data/lib/telnyx/models/compute/func_retrieve_ship_inspection_params.rb +22 -0
  30. data/lib/telnyx/models/compute/func_retrieve_ship_inspection_response.rb +94 -0
  31. data/lib/telnyx/models/compute/functions_observability_pagination_meta.rb +35 -0
  32. data/lib/telnyx/models/compute/logs_meta.rb +23 -0
  33. data/lib/telnyx/models/credential_connection.rb +4 -1
  34. data/lib/telnyx/models/email_inboxes/email_message.rb +12 -1
  35. data/lib/telnyx/models/email_message_batch_params.rb +4 -1
  36. data/lib/telnyx/models/email_message_batch_response.rb +1 -0
  37. data/lib/telnyx/models/fqdn_connection.rb +5 -2
  38. data/lib/telnyx/models/fqdn_connections/fqdn_authentication.rb +9 -2
  39. data/lib/telnyx/models/messaging_inbound_message_payload.rb +210 -67
  40. data/lib/telnyx/models/messaging_messaging_profile.rb +284 -0
  41. data/lib/telnyx/models/messaging_profile.rb +0 -1
  42. data/lib/telnyx/models/messaging_profile_create_params.rb +11 -1
  43. data/lib/telnyx/models/messaging_profile_create_response.rb +3 -3
  44. data/lib/telnyx/models/messaging_profile_delete_response.rb +3 -3
  45. data/lib/telnyx/models/messaging_profile_features.rb +26 -0
  46. data/lib/telnyx/models/messaging_profile_retrieve_response.rb +3 -3
  47. data/lib/telnyx/models/messaging_profile_update_params.rb +32 -1
  48. data/lib/telnyx/models/messaging_profile_update_response.rb +3 -3
  49. data/lib/telnyx/models/messaging_profiles/action_regenerate_secret_response.rb +3 -3
  50. data/lib/telnyx/models/uac_connection.rb +4 -1
  51. data/lib/telnyx/models/uac_external_settings.rb +6 -2
  52. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +5 -1
  53. data/lib/telnyx/models/unwrap_webhook_event.rb +5 -1
  54. data/lib/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rb +104 -1
  55. data/lib/telnyx/models/whatsapp/phone_number_get_response.rb +103 -1
  56. data/lib/telnyx/models/whatsapp/phone_number_list_response.rb +103 -1
  57. data/lib/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rb +22 -0
  58. data/lib/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rb +207 -0
  59. data/lib/telnyx/models/whatsapp_account_update.rb +112 -0
  60. data/lib/telnyx/models/whatsapp_message_echo.rb +340 -0
  61. data/lib/telnyx/models/x402/credit_account/payment_list_params.rb +34 -0
  62. data/lib/telnyx/models/x402/credit_account/payment_retrieve_params.rb +24 -0
  63. data/lib/telnyx/models/x402/credit_account/payment_retrieve_response.rb +21 -0
  64. data/lib/telnyx/models/x402/credit_account/x402_transaction_record.rb +113 -0
  65. data/lib/telnyx/models.rb +10 -0
  66. data/lib/telnyx/resources/ai/anthropic/v1.rb +5 -1
  67. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -1
  68. data/lib/telnyx/resources/ai/assistants.rb +6 -2
  69. data/lib/telnyx/resources/ai/openai/chat.rb +6 -8
  70. data/lib/telnyx/resources/ai/openai.rb +5 -1
  71. data/lib/telnyx/resources/compute/funcs.rb +141 -0
  72. data/lib/telnyx/resources/compute.rb +18 -0
  73. data/lib/telnyx/resources/email_messages.rb +4 -2
  74. data/lib/telnyx/resources/messaging_profiles.rb +12 -4
  75. data/lib/telnyx/resources/webhooks.rb +2 -2
  76. data/lib/telnyx/resources/whatsapp/phone_numbers.rb +22 -0
  77. data/lib/telnyx/resources/x402/credit_account/payments.rb +71 -0
  78. data/lib/telnyx/resources/x402/credit_account.rb +8 -2
  79. data/lib/telnyx/version.rb +1 -1
  80. data/lib/telnyx.rb +24 -0
  81. data/rbi/telnyx/client.rbi +3 -0
  82. data/rbi/telnyx/models/ai/anthropic/v1_messages_params.rbi +139 -0
  83. data/rbi/telnyx/models/ai/assistant_a2_a_agent.rbi +345 -0
  84. data/rbi/telnyx/models/ai/assistant_create_params.rbi +29 -0
  85. data/rbi/telnyx/models/ai/assistant_update_params.rbi +31 -0
  86. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +31 -0
  87. data/rbi/telnyx/models/ai/chat_completion_request.rbi +339 -91
  88. data/rbi/telnyx/models/ai/inference_embedding.rbi +29 -0
  89. data/rbi/telnyx/models/ai/openai_create_response_params.rbi +136 -0
  90. data/rbi/telnyx/models/ai/telephony_settings.rbi +23 -0
  91. data/rbi/telnyx/models/compute/func_retrieve_logs_params.rbi +130 -0
  92. data/rbi/telnyx/models/compute/func_retrieve_logs_response.rbi +410 -0
  93. data/rbi/telnyx/models/compute/func_retrieve_metric_aggregates_params.rbi +102 -0
  94. data/rbi/telnyx/models/compute/func_retrieve_metric_aggregates_response.rbi +231 -0
  95. data/rbi/telnyx/models/compute/func_retrieve_revisions_params.rbi +59 -0
  96. data/rbi/telnyx/models/compute/func_retrieve_revisions_response.rbi +213 -0
  97. data/rbi/telnyx/models/compute/func_retrieve_ship_inspection_params.rbi +40 -0
  98. data/rbi/telnyx/models/compute/func_retrieve_ship_inspection_response.rbi +252 -0
  99. data/rbi/telnyx/models/compute/functions_observability_pagination_meta.rbi +70 -0
  100. data/rbi/telnyx/models/compute/logs_meta.rbi +38 -0
  101. data/rbi/telnyx/models/credential_connection.rbi +8 -2
  102. data/rbi/telnyx/models/email_inboxes/email_message.rbi +22 -3
  103. data/rbi/telnyx/models/email_message_batch_params.rbi +6 -0
  104. data/rbi/telnyx/models/email_message_batch_response.rbi +5 -0
  105. data/rbi/telnyx/models/fqdn_connection.rbi +8 -2
  106. data/rbi/telnyx/models/fqdn_connections/fqdn_authentication.rbi +8 -2
  107. data/rbi/telnyx/models/messaging_inbound_message_payload.rbi +450 -193
  108. data/rbi/telnyx/models/messaging_messaging_profile.rbi +463 -0
  109. data/rbi/telnyx/models/messaging_profile.rbi +4 -6
  110. data/rbi/telnyx/models/messaging_profile_create_params.rbi +19 -0
  111. data/rbi/telnyx/models/messaging_profile_create_response.rbi +6 -4
  112. data/rbi/telnyx/models/messaging_profile_delete_response.rbi +6 -4
  113. data/rbi/telnyx/models/messaging_profile_features.rbi +43 -0
  114. data/rbi/telnyx/models/messaging_profile_retrieve_response.rbi +6 -4
  115. data/rbi/telnyx/models/messaging_profile_update_params.rbi +51 -0
  116. data/rbi/telnyx/models/messaging_profile_update_response.rbi +6 -4
  117. data/rbi/telnyx/models/messaging_profiles/action_regenerate_secret_response.rbi +4 -4
  118. data/rbi/telnyx/models/uac_connection.rbi +8 -2
  119. data/rbi/telnyx/models/uac_external_settings.rbi +10 -2
  120. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +3 -1
  121. data/rbi/telnyx/models/unwrap_webhook_event.rbi +3 -1
  122. data/rbi/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rbi +213 -0
  123. data/rbi/telnyx/models/whatsapp/phone_number_get_response.rbi +213 -0
  124. data/rbi/telnyx/models/whatsapp/phone_number_list_response.rbi +213 -0
  125. data/rbi/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rbi +40 -0
  126. data/rbi/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rbi +401 -0
  127. data/rbi/telnyx/models/whatsapp_account_update.rbi +236 -0
  128. data/rbi/telnyx/models/whatsapp_message_echo.rbi +611 -0
  129. data/rbi/telnyx/models/x402/credit_account/payment_list_params.rbi +64 -0
  130. data/rbi/telnyx/models/x402/credit_account/payment_retrieve_params.rbi +42 -0
  131. data/rbi/telnyx/models/x402/credit_account/payment_retrieve_response.rbi +53 -0
  132. data/rbi/telnyx/models/x402/credit_account/x402_transaction_record.rbi +219 -0
  133. data/rbi/telnyx/models.rbi +10 -0
  134. data/rbi/telnyx/resources/ai/anthropic/v1.rbi +14 -0
  135. data/rbi/telnyx/resources/ai/assistants/versions.rbi +12 -0
  136. data/rbi/telnyx/resources/ai/assistants.rbi +21 -0
  137. data/rbi/telnyx/resources/ai/openai/chat.rbi +23 -13
  138. data/rbi/telnyx/resources/ai/openai.rbi +14 -0
  139. data/rbi/telnyx/resources/compute/funcs.rbi +111 -0
  140. data/rbi/telnyx/resources/compute.rbi +15 -0
  141. data/rbi/telnyx/resources/email_messages.rbi +6 -2
  142. data/rbi/telnyx/resources/messaging_profiles.rbi +24 -1
  143. data/rbi/telnyx/resources/webhooks.rbi +6 -2
  144. data/rbi/telnyx/resources/whatsapp/phone_numbers.rbi +18 -0
  145. data/rbi/telnyx/resources/x402/credit_account/payments.rbi +60 -0
  146. data/rbi/telnyx/resources/x402/credit_account.rbi +5 -0
  147. data/sig/telnyx/client.rbs +2 -0
  148. data/sig/telnyx/models/ai/anthropic/v1_messages_params.rbs +42 -0
  149. data/sig/telnyx/models/ai/assistant_a2_a_agent.rbs +140 -0
  150. data/sig/telnyx/models/ai/assistant_create_params.rbs +9 -0
  151. data/sig/telnyx/models/ai/assistant_update_params.rbs +9 -0
  152. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +9 -0
  153. data/sig/telnyx/models/ai/chat_completion_request.rbs +128 -44
  154. data/sig/telnyx/models/ai/inference_embedding.rbs +9 -0
  155. data/sig/telnyx/models/ai/openai_create_response_params.rbs +42 -0
  156. data/sig/telnyx/models/ai/telephony_settings.rbs +7 -0
  157. data/sig/telnyx/models/compute/func_retrieve_logs_params.rbs +69 -0
  158. data/sig/telnyx/models/compute/func_retrieve_logs_response.rbs +210 -0
  159. data/sig/telnyx/models/compute/func_retrieve_metric_aggregates_params.rbs +66 -0
  160. data/sig/telnyx/models/compute/func_retrieve_metric_aggregates_response.rbs +149 -0
  161. data/sig/telnyx/models/compute/func_retrieve_revisions_params.rbs +38 -0
  162. data/sig/telnyx/models/compute/func_retrieve_revisions_response.rbs +131 -0
  163. data/sig/telnyx/models/compute/func_retrieve_ship_inspection_params.rbs +22 -0
  164. data/sig/telnyx/models/compute/func_retrieve_ship_inspection_response.rbs +117 -0
  165. data/sig/telnyx/models/compute/functions_observability_pagination_meta.rbs +45 -0
  166. data/sig/telnyx/models/compute/logs_meta.rbs +21 -0
  167. data/sig/telnyx/models/email_inboxes/email_message.rbs +12 -3
  168. data/sig/telnyx/models/email_message_batch_response.rbs +2 -0
  169. data/sig/telnyx/models/messaging_inbound_message_payload.rbs +207 -95
  170. data/sig/telnyx/models/messaging_messaging_profile.rbs +212 -0
  171. data/sig/telnyx/models/messaging_profile_create_params.rbs +5 -0
  172. data/sig/telnyx/models/messaging_profile_create_response.rbs +8 -5
  173. data/sig/telnyx/models/messaging_profile_delete_response.rbs +8 -5
  174. data/sig/telnyx/models/messaging_profile_features.rbs +15 -0
  175. data/sig/telnyx/models/messaging_profile_retrieve_response.rbs +7 -5
  176. data/sig/telnyx/models/messaging_profile_update_params.rbs +19 -0
  177. data/sig/telnyx/models/messaging_profile_update_response.rbs +8 -5
  178. data/sig/telnyx/models/messaging_profiles/action_regenerate_secret_response.rbs +7 -5
  179. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +2 -0
  180. data/sig/telnyx/models/unwrap_webhook_event.rbs +2 -0
  181. data/sig/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rbs +90 -0
  182. data/sig/telnyx/models/whatsapp/phone_number_get_response.rbs +90 -0
  183. data/sig/telnyx/models/whatsapp/phone_number_list_response.rbs +90 -0
  184. data/sig/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rbs +25 -0
  185. data/sig/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rbs +201 -0
  186. data/sig/telnyx/models/whatsapp_account_update.rbs +107 -0
  187. data/sig/telnyx/models/whatsapp_message_echo.rbs +291 -0
  188. data/sig/telnyx/models/x402/credit_account/payment_list_params.rbs +36 -0
  189. data/sig/telnyx/models/x402/credit_account/payment_retrieve_params.rbs +27 -0
  190. data/sig/telnyx/models/x402/credit_account/payment_retrieve_response.rbs +26 -0
  191. data/sig/telnyx/models/x402/credit_account/x402_transaction_record.rbs +104 -0
  192. data/sig/telnyx/models.rbs +10 -0
  193. data/sig/telnyx/resources/ai/anthropic/v1.rbs +2 -0
  194. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -0
  195. data/sig/telnyx/resources/ai/assistants.rbs +2 -0
  196. data/sig/telnyx/resources/ai/openai/chat.rbs +3 -4
  197. data/sig/telnyx/resources/ai/openai.rbs +2 -0
  198. data/sig/telnyx/resources/compute/funcs.rbs +41 -0
  199. data/sig/telnyx/resources/compute.rbs +9 -0
  200. data/sig/telnyx/resources/messaging_profiles.rbs +5 -1
  201. data/sig/telnyx/resources/webhooks.rbs +6 -2
  202. data/sig/telnyx/resources/whatsapp/phone_numbers.rbs +5 -0
  203. data/sig/telnyx/resources/x402/credit_account/payments.rbs +22 -0
  204. data/sig/telnyx/resources/x402/credit_account.rbs +2 -0
  205. metadata +74 -2
@@ -78,6 +78,17 @@ module Telnyx
78
78
  sig { params(calling_enabled: T::Boolean).void }
79
79
  attr_writer :calling_enabled
80
80
 
81
+ # Current lifecycle state for a coexistence number. This is null for a standard
82
+ # Cloud API number.
83
+ sig do
84
+ returns(
85
+ T.nilable(
86
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::CoexistenceState::TaggedSymbol
87
+ )
88
+ )
89
+ end
90
+ attr_accessor :coexistence_state
91
+
81
92
  sig { returns(T.nilable(Time)) }
82
93
  attr_reader :created_at
83
94
 
@@ -96,6 +107,14 @@ module Telnyx
96
107
  sig { params(enabled: T::Boolean).void }
97
108
  attr_writer :enabled
98
109
 
110
+ # Indicates whether the number is connected to both the WhatsApp Business app and
111
+ # Cloud API through WhatsApp Coexistence.
112
+ sig { returns(T.nilable(T::Boolean)) }
113
+ attr_reader :is_on_biz_app
114
+
115
+ sig { params(is_on_biz_app: T::Boolean).void }
116
+ attr_writer :is_on_biz_app
117
+
99
118
  # Phone number in E164 format
100
119
  sig { returns(T.nilable(String)) }
101
120
  attr_reader :phone_number
@@ -129,6 +148,32 @@ module Telnyx
129
148
  sig { params(status: String).void }
130
149
  attr_writer :status
131
150
 
151
+ # Deadline for initiating the current coexistence synchronization cycle. This is
152
+ # null when no deadline applies.
153
+ sig { returns(T.nilable(Time)) }
154
+ attr_accessor :sync_deadline
155
+
156
+ # Synchronization progress. This object is returned only while a coexistence
157
+ # number is synchronizing.
158
+ sig do
159
+ returns(
160
+ T.nilable(
161
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::SyncProgress
162
+ )
163
+ )
164
+ end
165
+ attr_reader :sync_progress
166
+
167
+ sig do
168
+ params(
169
+ sync_progress:
170
+ T.nilable(
171
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::SyncProgress::OrHash
172
+ )
173
+ ).void
174
+ end
175
+ attr_writer :sync_progress
176
+
132
177
  # User ID
133
178
  sig { returns(T.nilable(String)) }
134
179
  attr_reader :user_id
@@ -146,23 +191,39 @@ module Telnyx
146
191
  sig do
147
192
  params(
148
193
  calling_enabled: T::Boolean,
194
+ coexistence_state:
195
+ T.nilable(
196
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::CoexistenceState::OrSymbol
197
+ ),
149
198
  created_at: Time,
150
199
  display_name: String,
151
200
  enabled: T::Boolean,
201
+ is_on_biz_app: T::Boolean,
152
202
  phone_number: String,
153
203
  phone_number_id: String,
154
204
  quality_rating: String,
155
205
  record_type: String,
156
206
  status: String,
207
+ sync_deadline: T.nilable(Time),
208
+ sync_progress:
209
+ T.nilable(
210
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::SyncProgress::OrHash
211
+ ),
157
212
  user_id: String,
158
213
  waba_id: String
159
214
  ).returns(T.attached_class)
160
215
  end
161
216
  def self.new(
162
217
  calling_enabled: nil,
218
+ # Current lifecycle state for a coexistence number. This is null for a standard
219
+ # Cloud API number.
220
+ coexistence_state: nil,
163
221
  created_at: nil,
164
222
  display_name: nil,
165
223
  enabled: nil,
224
+ # Indicates whether the number is connected to both the WhatsApp Business app and
225
+ # Cloud API through WhatsApp Coexistence.
226
+ is_on_biz_app: nil,
166
227
  # Phone number in E164 format
167
228
  phone_number: nil,
168
229
  # Whatsapp phone number ID
@@ -171,6 +232,12 @@ module Telnyx
171
232
  quality_rating: nil,
172
233
  record_type: nil,
173
234
  status: nil,
235
+ # Deadline for initiating the current coexistence synchronization cycle. This is
236
+ # null when no deadline applies.
237
+ sync_deadline: nil,
238
+ # Synchronization progress. This object is returned only while a coexistence
239
+ # number is synchronizing.
240
+ sync_progress: nil,
174
241
  # User ID
175
242
  user_id: nil,
176
243
  # WABA ID of Whatsapp business account
@@ -182,14 +249,24 @@ module Telnyx
182
249
  override.returns(
183
250
  {
184
251
  calling_enabled: T::Boolean,
252
+ coexistence_state:
253
+ T.nilable(
254
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::CoexistenceState::TaggedSymbol
255
+ ),
185
256
  created_at: Time,
186
257
  display_name: String,
187
258
  enabled: T::Boolean,
259
+ is_on_biz_app: T::Boolean,
188
260
  phone_number: String,
189
261
  phone_number_id: String,
190
262
  quality_rating: String,
191
263
  record_type: String,
192
264
  status: String,
265
+ sync_deadline: T.nilable(Time),
266
+ sync_progress:
267
+ T.nilable(
268
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::SyncProgress
269
+ ),
193
270
  user_id: String,
194
271
  waba_id: String
195
272
  }
@@ -197,6 +274,142 @@ module Telnyx
197
274
  end
198
275
  def to_hash
199
276
  end
277
+
278
+ # Current lifecycle state for a coexistence number. This is null for a standard
279
+ # Cloud API number.
280
+ module CoexistenceState
281
+ extend Telnyx::Internal::Type::Enum
282
+
283
+ TaggedSymbol =
284
+ T.type_alias do
285
+ T.all(
286
+ Symbol,
287
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::CoexistenceState
288
+ )
289
+ end
290
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
291
+
292
+ PENDING_ONBOARDING =
293
+ T.let(
294
+ :pending_onboarding,
295
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::CoexistenceState::TaggedSymbol
296
+ )
297
+ SYNC_PENDING =
298
+ T.let(
299
+ :sync_pending,
300
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::CoexistenceState::TaggedSymbol
301
+ )
302
+ SYNCING =
303
+ T.let(
304
+ :syncing,
305
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::CoexistenceState::TaggedSymbol
306
+ )
307
+ SYNC_COMPLETE =
308
+ T.let(
309
+ :sync_complete,
310
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::CoexistenceState::TaggedSymbol
311
+ )
312
+ ACTIVE =
313
+ T.let(
314
+ :active,
315
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::CoexistenceState::TaggedSymbol
316
+ )
317
+ HISTORY_DECLINED =
318
+ T.let(
319
+ :history_declined,
320
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::CoexistenceState::TaggedSymbol
321
+ )
322
+ SYNC_DEADLINE_EXPIRED =
323
+ T.let(
324
+ :sync_deadline_expired,
325
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::CoexistenceState::TaggedSymbol
326
+ )
327
+ OFFBOARDED =
328
+ T.let(
329
+ :offboarded,
330
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::CoexistenceState::TaggedSymbol
331
+ )
332
+ DISCONNECTED =
333
+ T.let(
334
+ :disconnected,
335
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::CoexistenceState::TaggedSymbol
336
+ )
337
+
338
+ sig do
339
+ override.returns(
340
+ T::Array[
341
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::CoexistenceState::TaggedSymbol
342
+ ]
343
+ )
344
+ end
345
+ def self.values
346
+ end
347
+ end
348
+
349
+ class SyncProgress < Telnyx::Internal::Type::BaseModel
350
+ OrHash =
351
+ T.type_alias do
352
+ T.any(
353
+ Telnyx::Models::Whatsapp::PhoneNumberGetResponse::Data::SyncProgress,
354
+ Telnyx::Internal::AnyHash
355
+ )
356
+ end
357
+
358
+ sig { returns(T.nilable(String)) }
359
+ attr_reader :contacts_status
360
+
361
+ sig { params(contacts_status: String).void }
362
+ attr_writer :contacts_status
363
+
364
+ sig { returns(T.nilable(Integer)) }
365
+ attr_accessor :history_chunk_order
366
+
367
+ sig { returns(T.nilable(Integer)) }
368
+ attr_accessor :history_phase
369
+
370
+ sig { returns(T.nilable(Integer)) }
371
+ attr_accessor :history_progress
372
+
373
+ sig { returns(T.nilable(String)) }
374
+ attr_reader :history_status
375
+
376
+ sig { params(history_status: String).void }
377
+ attr_writer :history_status
378
+
379
+ # Synchronization progress. This object is returned only while a coexistence
380
+ # number is synchronizing.
381
+ sig do
382
+ params(
383
+ contacts_status: String,
384
+ history_chunk_order: T.nilable(Integer),
385
+ history_phase: T.nilable(Integer),
386
+ history_progress: T.nilable(Integer),
387
+ history_status: String
388
+ ).returns(T.attached_class)
389
+ end
390
+ def self.new(
391
+ contacts_status: nil,
392
+ history_chunk_order: nil,
393
+ history_phase: nil,
394
+ history_progress: nil,
395
+ history_status: nil
396
+ )
397
+ end
398
+
399
+ sig do
400
+ override.returns(
401
+ {
402
+ contacts_status: String,
403
+ history_chunk_order: T.nilable(Integer),
404
+ history_phase: T.nilable(Integer),
405
+ history_progress: T.nilable(Integer),
406
+ history_status: String
407
+ }
408
+ )
409
+ end
410
+ def to_hash
411
+ end
412
+ end
200
413
  end
201
414
  end
202
415
  end
@@ -18,6 +18,17 @@ module Telnyx
18
18
  sig { params(calling_enabled: T::Boolean).void }
19
19
  attr_writer :calling_enabled
20
20
 
21
+ # Current lifecycle state for a coexistence number. This is null for a standard
22
+ # Cloud API number.
23
+ sig do
24
+ returns(
25
+ T.nilable(
26
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
27
+ )
28
+ )
29
+ end
30
+ attr_accessor :coexistence_state
31
+
21
32
  sig { returns(T.nilable(Time)) }
22
33
  attr_reader :created_at
23
34
 
@@ -36,6 +47,14 @@ module Telnyx
36
47
  sig { params(enabled: T::Boolean).void }
37
48
  attr_writer :enabled
38
49
 
50
+ # Indicates whether the number is connected to both the WhatsApp Business app and
51
+ # Cloud API through WhatsApp Coexistence.
52
+ sig { returns(T.nilable(T::Boolean)) }
53
+ attr_reader :is_on_biz_app
54
+
55
+ sig { params(is_on_biz_app: T::Boolean).void }
56
+ attr_writer :is_on_biz_app
57
+
39
58
  # Phone number in E164 format
40
59
  sig { returns(T.nilable(String)) }
41
60
  attr_reader :phone_number
@@ -69,6 +88,32 @@ module Telnyx
69
88
  sig { params(status: String).void }
70
89
  attr_writer :status
71
90
 
91
+ # Deadline for initiating the current coexistence synchronization cycle. This is
92
+ # null when no deadline applies.
93
+ sig { returns(T.nilable(Time)) }
94
+ attr_accessor :sync_deadline
95
+
96
+ # Synchronization progress. This object is returned only while a coexistence
97
+ # number is synchronizing.
98
+ sig do
99
+ returns(
100
+ T.nilable(
101
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::SyncProgress
102
+ )
103
+ )
104
+ end
105
+ attr_reader :sync_progress
106
+
107
+ sig do
108
+ params(
109
+ sync_progress:
110
+ T.nilable(
111
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::SyncProgress::OrHash
112
+ )
113
+ ).void
114
+ end
115
+ attr_writer :sync_progress
116
+
72
117
  # User ID
73
118
  sig { returns(T.nilable(String)) }
74
119
  attr_reader :user_id
@@ -86,23 +131,39 @@ module Telnyx
86
131
  sig do
87
132
  params(
88
133
  calling_enabled: T::Boolean,
134
+ coexistence_state:
135
+ T.nilable(
136
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::CoexistenceState::OrSymbol
137
+ ),
89
138
  created_at: Time,
90
139
  display_name: String,
91
140
  enabled: T::Boolean,
141
+ is_on_biz_app: T::Boolean,
92
142
  phone_number: String,
93
143
  phone_number_id: String,
94
144
  quality_rating: String,
95
145
  record_type: String,
96
146
  status: String,
147
+ sync_deadline: T.nilable(Time),
148
+ sync_progress:
149
+ T.nilable(
150
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::SyncProgress::OrHash
151
+ ),
97
152
  user_id: String,
98
153
  waba_id: String
99
154
  ).returns(T.attached_class)
100
155
  end
101
156
  def self.new(
102
157
  calling_enabled: nil,
158
+ # Current lifecycle state for a coexistence number. This is null for a standard
159
+ # Cloud API number.
160
+ coexistence_state: nil,
103
161
  created_at: nil,
104
162
  display_name: nil,
105
163
  enabled: nil,
164
+ # Indicates whether the number is connected to both the WhatsApp Business app and
165
+ # Cloud API through WhatsApp Coexistence.
166
+ is_on_biz_app: nil,
106
167
  # Phone number in E164 format
107
168
  phone_number: nil,
108
169
  # Whatsapp phone number ID
@@ -111,6 +172,12 @@ module Telnyx
111
172
  quality_rating: nil,
112
173
  record_type: nil,
113
174
  status: nil,
175
+ # Deadline for initiating the current coexistence synchronization cycle. This is
176
+ # null when no deadline applies.
177
+ sync_deadline: nil,
178
+ # Synchronization progress. This object is returned only while a coexistence
179
+ # number is synchronizing.
180
+ sync_progress: nil,
114
181
  # User ID
115
182
  user_id: nil,
116
183
  # WABA ID of Whatsapp business account
@@ -122,14 +189,24 @@ module Telnyx
122
189
  override.returns(
123
190
  {
124
191
  calling_enabled: T::Boolean,
192
+ coexistence_state:
193
+ T.nilable(
194
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
195
+ ),
125
196
  created_at: Time,
126
197
  display_name: String,
127
198
  enabled: T::Boolean,
199
+ is_on_biz_app: T::Boolean,
128
200
  phone_number: String,
129
201
  phone_number_id: String,
130
202
  quality_rating: String,
131
203
  record_type: String,
132
204
  status: String,
205
+ sync_deadline: T.nilable(Time),
206
+ sync_progress:
207
+ T.nilable(
208
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::SyncProgress
209
+ ),
133
210
  user_id: String,
134
211
  waba_id: String
135
212
  }
@@ -137,6 +214,142 @@ module Telnyx
137
214
  end
138
215
  def to_hash
139
216
  end
217
+
218
+ # Current lifecycle state for a coexistence number. This is null for a standard
219
+ # Cloud API number.
220
+ module CoexistenceState
221
+ extend Telnyx::Internal::Type::Enum
222
+
223
+ TaggedSymbol =
224
+ T.type_alias do
225
+ T.all(
226
+ Symbol,
227
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::CoexistenceState
228
+ )
229
+ end
230
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
231
+
232
+ PENDING_ONBOARDING =
233
+ T.let(
234
+ :pending_onboarding,
235
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
236
+ )
237
+ SYNC_PENDING =
238
+ T.let(
239
+ :sync_pending,
240
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
241
+ )
242
+ SYNCING =
243
+ T.let(
244
+ :syncing,
245
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
246
+ )
247
+ SYNC_COMPLETE =
248
+ T.let(
249
+ :sync_complete,
250
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
251
+ )
252
+ ACTIVE =
253
+ T.let(
254
+ :active,
255
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
256
+ )
257
+ HISTORY_DECLINED =
258
+ T.let(
259
+ :history_declined,
260
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
261
+ )
262
+ SYNC_DEADLINE_EXPIRED =
263
+ T.let(
264
+ :sync_deadline_expired,
265
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
266
+ )
267
+ OFFBOARDED =
268
+ T.let(
269
+ :offboarded,
270
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
271
+ )
272
+ DISCONNECTED =
273
+ T.let(
274
+ :disconnected,
275
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
276
+ )
277
+
278
+ sig do
279
+ override.returns(
280
+ T::Array[
281
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::CoexistenceState::TaggedSymbol
282
+ ]
283
+ )
284
+ end
285
+ def self.values
286
+ end
287
+ end
288
+
289
+ class SyncProgress < Telnyx::Internal::Type::BaseModel
290
+ OrHash =
291
+ T.type_alias do
292
+ T.any(
293
+ Telnyx::Models::Whatsapp::PhoneNumberListResponse::SyncProgress,
294
+ Telnyx::Internal::AnyHash
295
+ )
296
+ end
297
+
298
+ sig { returns(T.nilable(String)) }
299
+ attr_reader :contacts_status
300
+
301
+ sig { params(contacts_status: String).void }
302
+ attr_writer :contacts_status
303
+
304
+ sig { returns(T.nilable(Integer)) }
305
+ attr_accessor :history_chunk_order
306
+
307
+ sig { returns(T.nilable(Integer)) }
308
+ attr_accessor :history_phase
309
+
310
+ sig { returns(T.nilable(Integer)) }
311
+ attr_accessor :history_progress
312
+
313
+ sig { returns(T.nilable(String)) }
314
+ attr_reader :history_status
315
+
316
+ sig { params(history_status: String).void }
317
+ attr_writer :history_status
318
+
319
+ # Synchronization progress. This object is returned only while a coexistence
320
+ # number is synchronizing.
321
+ sig do
322
+ params(
323
+ contacts_status: String,
324
+ history_chunk_order: T.nilable(Integer),
325
+ history_phase: T.nilable(Integer),
326
+ history_progress: T.nilable(Integer),
327
+ history_status: String
328
+ ).returns(T.attached_class)
329
+ end
330
+ def self.new(
331
+ contacts_status: nil,
332
+ history_chunk_order: nil,
333
+ history_phase: nil,
334
+ history_progress: nil,
335
+ history_status: nil
336
+ )
337
+ end
338
+
339
+ sig do
340
+ override.returns(
341
+ {
342
+ contacts_status: String,
343
+ history_chunk_order: T.nilable(Integer),
344
+ history_phase: T.nilable(Integer),
345
+ history_progress: T.nilable(Integer),
346
+ history_status: String
347
+ }
348
+ )
349
+ end
350
+ def to_hash
351
+ end
352
+ end
140
353
  end
141
354
  end
142
355
  end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module Whatsapp
6
+ class PhoneNumberRetrievePhoneNumberParams < Telnyx::Internal::Type::BaseModel
7
+ extend Telnyx::Internal::Type::RequestParameters::Converter
8
+ include Telnyx::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Telnyx::Whatsapp::PhoneNumberRetrievePhoneNumberParams,
14
+ Telnyx::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :phone_number
20
+
21
+ sig do
22
+ params(
23
+ phone_number: String,
24
+ request_options: Telnyx::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(phone_number:, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ { phone_number: String, request_options: Telnyx::RequestOptions }
33
+ )
34
+ end
35
+ def to_hash
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end