twilio-ruby 7.10.7 → 7.11.2

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 (298) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +43 -67
  3. data/.gitignore +0 -1
  4. data/CHANGES.md +267 -0
  5. data/Gemfile +2 -0
  6. data/Gemfile.lock +154 -0
  7. data/README.md +3 -3
  8. data/Rakefile +1 -1
  9. data/lib/rack/twilio_webhook_authentication.rb +45 -2
  10. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +25 -65
  11. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +0 -59
  12. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +0 -59
  13. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +0 -59
  14. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +0 -59
  15. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +0 -59
  16. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +48 -71
  17. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +0 -59
  18. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +0 -59
  19. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +0 -59
  20. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +0 -59
  21. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +0 -59
  22. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +0 -59
  23. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +0 -59
  24. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +6 -0
  25. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +56 -2
  26. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +0 -59
  27. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +6 -0
  28. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +0 -59
  29. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +0 -59
  30. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +0 -59
  31. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +0 -59
  32. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +0 -59
  33. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +0 -59
  34. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +0 -59
  35. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +0 -59
  36. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +0 -59
  37. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +0 -59
  38. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +0 -59
  39. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +0 -59
  40. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +0 -59
  41. data/lib/twilio-ruby/rest/chat/v3/channel.rb +0 -59
  42. data/lib/twilio-ruby/rest/client.rb +0 -5
  43. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +11 -60
  44. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +0 -59
  45. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +0 -59
  46. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +0 -59
  47. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +10 -10
  48. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +0 -59
  49. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +0 -59
  50. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +0 -59
  51. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +0 -59
  52. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +10 -10
  53. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +0 -59
  54. data/lib/twilio-ruby/rest/conversations/v2/action.rb +2 -61
  55. data/lib/twilio-ruby/rest/conversations/v2/communication.rb +43 -21
  56. data/lib/twilio-ruby/rest/conversations/v2/configuration.rb +584 -21
  57. data/lib/twilio-ruby/rest/conversations/v2/conversation.rb +28 -28
  58. data/lib/twilio-ruby/rest/conversations/v2/operation.rb +10 -69
  59. data/lib/twilio-ruby/rest/conversations/v2/participant.rb +58 -58
  60. data/lib/twilio-ruby/rest/conversations/v2.rb +55 -49
  61. data/lib/twilio-ruby/rest/events/v1/schema.rb +0 -59
  62. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +0 -59
  63. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +0 -59
  64. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +12 -14
  65. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +0 -59
  66. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +12 -14
  67. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +12 -14
  68. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +12 -14
  69. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +2 -4
  70. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +12 -14
  71. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +12 -14
  72. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +0 -59
  73. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +0 -59
  74. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +0 -59
  75. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +0 -59
  76. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +0 -59
  77. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +0 -59
  78. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +2 -4
  79. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +2 -4
  80. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +0 -59
  81. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +2 -4
  82. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +2 -4
  83. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +0 -59
  84. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +2 -4
  85. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +0 -59
  86. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +0 -59
  87. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +0 -59
  88. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +0 -59
  89. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +0 -59
  90. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +0 -59
  91. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +2 -61
  92. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +15 -61
  93. data/lib/twilio-ruby/rest/iam/v1/token.rb +0 -59
  94. data/lib/twilio-ruby/rest/iam_base.rb +6 -1
  95. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +0 -59
  96. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +7 -59
  97. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +7 -0
  98. data/lib/twilio-ruby/rest/insights/v1/call.rb +0 -59
  99. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +7 -0
  100. data/lib/twilio-ruby/rest/insights/v1/setting.rb +0 -59
  101. data/lib/twilio-ruby/rest/insights/v2/inbound.rb +2 -261
  102. data/lib/twilio-ruby/rest/insights/v2/inbound_report.rb +258 -0
  103. data/lib/twilio-ruby/rest/insights/v2/outbound.rb +18 -299
  104. data/lib/twilio-ruby/rest/insights/v2/outbound_report.rb +258 -0
  105. data/lib/twilio-ruby/rest/insights/v2/report.rb +27 -184
  106. data/lib/twilio-ruby/rest/insights/v2.rb +14 -4
  107. data/lib/twilio-ruby/rest/insights/v3/metadata.rb +1 -60
  108. data/lib/twilio-ruby/rest/insights/v3/query.rb +1 -60
  109. data/lib/twilio-ruby/rest/insights/v3/query_job.rb +654 -0
  110. data/lib/twilio-ruby/rest/insights/v3/result.rb +195 -0
  111. data/lib/twilio-ruby/rest/insights/v3.rb +17 -1
  112. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +0 -59
  113. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +0 -59
  114. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +0 -59
  115. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +0 -59
  116. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +0 -59
  117. data/lib/twilio-ruby/rest/intelligence/v3/conversation.rb +8 -8
  118. data/lib/twilio-ruby/rest/intelligence/v3/rule_execution.rb +443 -0
  119. data/lib/twilio-ruby/rest/intelligence/v3.rb +6 -0
  120. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +0 -59
  121. data/lib/twilio-ruby/rest/knowledge/v2/chunk.rb +28 -0
  122. data/lib/twilio-ruby/rest/knowledge/v2/knowledge.rb +38 -0
  123. data/lib/twilio-ruby/rest/knowledge/v2/operation.rb +0 -59
  124. data/lib/twilio-ruby/rest/knowledge/v2/search.rb +8 -176
  125. data/lib/twilio-ruby/rest/knowledge/v2.rb +1 -2
  126. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +0 -59
  127. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +0 -59
  128. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +0 -59
  129. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +0 -59
  130. data/lib/twilio-ruby/rest/lookups/v2/query.rb +0 -59
  131. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +0 -59
  132. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +0 -59
  133. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +0 -59
  134. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +0 -59
  135. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +0 -59
  136. data/lib/twilio-ruby/rest/memory/v1/bulk.rb +9 -177
  137. data/lib/twilio-ruby/rest/memory/v1/conversation_summary.rb +15 -9
  138. data/lib/twilio-ruby/rest/memory/v1/data_mapping.rb +6 -12
  139. data/lib/twilio-ruby/rest/memory/v1/identifier.rb +1 -81
  140. data/lib/twilio-ruby/rest/memory/v1/identity_resolution_setting.rb +11 -191
  141. data/lib/twilio-ruby/rest/memory/v1/import.rb +28 -5
  142. data/lib/twilio-ruby/rest/memory/v1/lookup.rb +1 -60
  143. data/lib/twilio-ruby/rest/memory/v1/observation.rb +72 -22
  144. data/lib/twilio-ruby/rest/memory/v1/operation.rb +1 -60
  145. data/lib/twilio-ruby/rest/memory/v1/profile.rb +2 -2
  146. data/lib/twilio-ruby/rest/memory/v1/recall.rb +1 -60
  147. data/lib/twilio-ruby/rest/memory/v1/revision.rb +3 -5
  148. data/lib/twilio-ruby/rest/memory/v1/store.rb +1 -1
  149. data/lib/twilio-ruby/rest/memory/v1/trait.rb +1 -1
  150. data/lib/twilio-ruby/rest/memory/v1/trait_group.rb +56 -6
  151. data/lib/twilio-ruby/rest/memory/v1.rb +3 -46
  152. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +0 -59
  153. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +0 -18
  154. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +0 -59
  155. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +0 -59
  156. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +0 -59
  157. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +0 -59
  158. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +0 -59
  159. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +0 -59
  160. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +0 -59
  161. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +0 -59
  162. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +0 -59
  163. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +2 -4
  164. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +0 -59
  165. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +0 -59
  166. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +23 -4
  167. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +0 -59
  168. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +0 -59
  169. data/lib/twilio-ruby/rest/messaging/v3/typing_indicator.rb +4 -63
  170. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +0 -59
  171. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +0 -59
  172. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +0 -59
  173. data/lib/twilio-ruby/rest/numbers/v1/embedded_session.rb +0 -59
  174. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +0 -59
  175. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +0 -59
  176. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +0 -59
  177. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +0 -59
  178. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +0 -59
  179. data/lib/twilio-ruby/rest/numbers/v1/sender_id_registration.rb +0 -59
  180. data/lib/twilio-ruby/rest/numbers/v1/sms_verification.rb +172 -0
  181. data/lib/twilio-ruby/rest/numbers/v1/sms_verification_check.rb +179 -0
  182. data/lib/twilio-ruby/rest/numbers/v1/voice_verification.rb +186 -0
  183. data/lib/twilio-ruby/rest/numbers/v1/voice_verification_check.rb +165 -0
  184. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +0 -59
  185. data/lib/twilio-ruby/rest/numbers/v1.rb +24 -0
  186. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +0 -59
  187. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +0 -59
  188. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +0 -59
  189. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +0 -59
  190. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +0 -59
  191. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +0 -59
  192. data/lib/twilio-ruby/rest/oauth/v1/token.rb +0 -59
  193. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +14 -61
  194. data/lib/twilio-ruby/rest/oauth/v2/oauth_authorization_server.rb +200 -0
  195. data/lib/twilio-ruby/rest/oauth/v2/token.rb +10 -63
  196. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +0 -59
  197. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +0 -59
  198. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +0 -59
  199. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +0 -78
  200. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +0 -59
  201. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +0 -59
  202. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +0 -59
  203. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +0 -59
  204. data/lib/twilio-ruby/rest/pricing/v2/number.rb +0 -59
  205. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +0 -59
  206. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +0 -59
  207. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +0 -59
  208. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +0 -59
  209. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +0 -59
  210. data/lib/twilio-ruby/rest/routes/v3/phone_number.rb +406 -0
  211. data/lib/twilio-ruby/rest/routes/v3.rb +50 -0
  212. data/lib/twilio-ruby/rest/routes_base.rb +6 -1
  213. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +0 -59
  214. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +0 -59
  215. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +0 -59
  216. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +0 -59
  217. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +0 -59
  218. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +0 -59
  219. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +0 -59
  220. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +0 -59
  221. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +0 -59
  222. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +0 -59
  223. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +0 -59
  224. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +0 -59
  225. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +0 -59
  226. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +0 -59
  227. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +0 -59
  228. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +0 -59
  229. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +0 -59
  230. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +0 -59
  231. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +0 -59
  232. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +0 -59
  233. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +0 -59
  234. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +0 -59
  235. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +0 -59
  236. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +0 -59
  237. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +0 -59
  238. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +0 -59
  239. data/lib/twilio-ruby/rest/trusthub/v1/a2p_brand_registration.rb +271 -0
  240. data/lib/twilio-ruby/rest/trusthub/v1/a2p_brand_registration_embedded_session.rb +174 -0
  241. data/lib/twilio-ruby/rest/trusthub/v1/a2p_campaign_registration.rb +262 -0
  242. data/lib/twilio-ruby/rest/trusthub/v1/a2p_campaign_registration_embedded_session.rb +174 -0
  243. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +0 -59
  244. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +0 -59
  245. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +0 -59
  246. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles_provisional_copy.rb +386 -0
  247. data/lib/twilio-ruby/rest/trusthub/v1/trust_products_provisional_copy.rb +386 -0
  248. data/lib/twilio-ruby/rest/trusthub/v1.rb +74 -0
  249. data/lib/twilio-ruby/rest/verify/v2/form.rb +0 -59
  250. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +0 -59
  251. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +0 -59
  252. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +0 -59
  253. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +0 -59
  254. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +0 -59
  255. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +3 -62
  256. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +0 -59
  257. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +0 -59
  258. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +8 -61
  259. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +0 -59
  260. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +0 -59
  261. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +0 -59
  262. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +0 -59
  263. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +0 -59
  264. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +0 -59
  265. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +0 -59
  266. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +0 -59
  267. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +0 -59
  268. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +0 -59
  269. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +0 -59
  270. data/lib/twilio-ruby/rest/voice/v2/account_default_configuration.rb +497 -0
  271. data/lib/twilio-ruby/rest/voice/v2/configuration/default.rb +297 -0
  272. data/lib/twilio-ruby/rest/voice/v2/configuration.rb +353 -0
  273. data/lib/twilio-ruby/rest/voice/v2/recording.rb +557 -0
  274. data/lib/twilio-ruby/rest/voice/v2/transcription.rb +532 -0
  275. data/lib/twilio-ruby/rest/voice/v2/type.rb +459 -0
  276. data/lib/twilio-ruby/rest/voice/v2.rb +141 -0
  277. data/lib/twilio-ruby/rest/voice/v3/transcription.rb +259 -50
  278. data/lib/twilio-ruby/rest/voice_base.rb +5 -0
  279. data/lib/twilio-ruby/twiml/voice_response.rb +6 -68
  280. data/lib/twilio-ruby/version.rb +1 -1
  281. data/twilio-ruby.gemspec +1 -1
  282. metadata +36 -22
  283. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +0 -558
  284. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +0 -558
  285. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +0 -431
  286. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +0 -296
  287. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +0 -927
  288. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +0 -325
  289. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +0 -349
  290. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +0 -871
  291. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +0 -364
  292. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +0 -360
  293. data/lib/twilio-ruby/rest/assistants/v1/session.rb +0 -501
  294. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +0 -847
  295. data/lib/twilio-ruby/rest/assistants/v1.rb +0 -104
  296. data/lib/twilio-ruby/rest/assistants.rb +0 -6
  297. data/lib/twilio-ruby/rest/assistants_base.rb +0 -38
  298. data/lib/twilio-ruby/rest/memory/v1/event.rb +0 -320
@@ -0,0 +1,258 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Sample/reference Twilio API.
8
+ # This is the reference API for the rest-proxy server.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
14
+
15
+
16
+ module Twilio
17
+ module REST
18
+ class Insights < InsightsBase
19
+ class V2 < Version
20
+ class OutboundReportList < ListResource
21
+
22
+ class InsightsV2CreatePhoneNumbersReportRequest
23
+ # @param [time_range]: [InboundReportList.InsightsV2CreatePhoneNumbersReportRequestTimeRange]
24
+ # @param [filters]: [Array<InboundReportList.PhoneNumberReportFilter>]
25
+ # @param [size]: [String] The number of max available top Phone Numbers to generate.
26
+ attr_accessor :time_range, :filters, :size
27
+ def initialize(payload)
28
+ @time_range = payload["time_range"]
29
+ @filters = payload["filters"]
30
+ @size = payload["size"]
31
+ end
32
+ def to_json(options = {})
33
+ {
34
+ "time_range": @time_range,
35
+ "filters": @filters,
36
+ "size": @size,
37
+ }.to_json(options)
38
+ end
39
+ end
40
+
41
+ class InsightsV2CreatePhoneNumbersReportRequestTimeRange
42
+ # @param [start_datetime]: [Time] Start date time of the report
43
+ # @param [end_datetime]: [Time] End date time of the report
44
+ attr_accessor :start_datetime, :end_datetime
45
+ def initialize(payload)
46
+ @start_datetime = payload["start_datetime"]
47
+ @end_datetime = payload["end_datetime"]
48
+ end
49
+ def to_json(options = {})
50
+ {
51
+ "start_datetime": @start_datetime,
52
+ "end_datetime": @end_datetime,
53
+ }.to_json(options)
54
+ end
55
+ end
56
+
57
+ class PhoneNumberReportFilter
58
+ # @param [key]: [String] The name of the filter
59
+ # @param [values]: [Array<String>] List of supported filter values for the field name
60
+ attr_accessor :key, :values
61
+ def initialize(payload)
62
+ @key = payload["key"]
63
+ @values = payload["values"]
64
+ end
65
+ def to_json(options = {})
66
+ {
67
+ "key": @key,
68
+ "values": @values,
69
+ }.to_json(options)
70
+ end
71
+ end
72
+
73
+ class ReportFilter
74
+ # @param [key]: [String] The name of the filter 'call_state', 'call_direction', 'call_type', 'twilio_regions', 'caller_country_code', 'callee_country_code', 'silent'
75
+ # @param [values]: [Array<String>] List of supported filter values for the field name
76
+ attr_accessor :key, :values
77
+ def initialize(payload)
78
+ @key = payload["key"]
79
+ @values = payload["values"]
80
+ end
81
+ def to_json(options = {})
82
+ {
83
+ "key": @key,
84
+ "values": @values,
85
+ }.to_json(options)
86
+ end
87
+ end
88
+
89
+
90
+ ##
91
+ # Initialize the OutboundReportList
92
+ # @param [Version] version Version that contains the resource
93
+ # @return [OutboundReportList] OutboundReportList
94
+ def initialize(version)
95
+ super(version)
96
+
97
+ # Path Solution
98
+ @solution = { }
99
+ @uri = "/Voice/Reports/PhoneNumbers/Outbound"
100
+
101
+ end
102
+ ##
103
+ # Create the OutboundReportInstance
104
+ # @param [InsightsV2CreatePhoneNumbersReportRequest] insights_v2_create_phone_numbers_report_request
105
+ # @return [OutboundReportInstance] Created OutboundReportInstance
106
+ def create(insights_v2_create_phone_numbers_report_request: :unset
107
+ )
108
+
109
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
110
+ headers['Content-Type'] = 'application/json'
111
+
112
+
113
+
114
+
115
+ payload = @version.create('POST', @uri, headers: headers, data: insights_v2_create_phone_numbers_report_request.to_json)
116
+ OutboundReportInstance.new(
117
+ @version,
118
+ payload,
119
+ )
120
+ end
121
+
122
+ ##
123
+ # Create the OutboundReportInstanceMetadata
124
+ # @param [InsightsV2CreatePhoneNumbersReportRequest] insights_v2_create_phone_numbers_report_request
125
+ # @return [OutboundReportInstance] Created OutboundReportInstance
126
+ def create_with_metadata(insights_v2_create_phone_numbers_report_request: :unset
127
+ )
128
+
129
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
130
+ headers['Content-Type'] = 'application/json'
131
+
132
+
133
+
134
+
135
+ response = @version.create_with_metadata('POST', @uri, headers: headers, data: insights_v2_create_phone_numbers_report_request.to_json)
136
+ outbound_report_instance = OutboundReportInstance.new(
137
+ @version,
138
+ response.body,
139
+ )
140
+ OutboundReportInstanceMetadata.new(
141
+ @version,
142
+ outbound_report_instance,
143
+ response.headers,
144
+ response.status_code
145
+ )
146
+ end
147
+
148
+
149
+
150
+
151
+ # Provide a user friendly representation
152
+ def to_s
153
+ '#<Twilio.Insights.V2.OutboundReportList>'
154
+ end
155
+ end
156
+
157
+ class OutboundReportPage < Page
158
+ ##
159
+ # Initialize the OutboundReportPage
160
+ # @param [Version] version Version that contains the resource
161
+ # @param [Response] response Response from the API
162
+ # @param [Hash] solution Path solution for the resource
163
+ # @return [OutboundReportPage] OutboundReportPage
164
+ def initialize(version, response, solution)
165
+ super(version, response)
166
+
167
+
168
+ # Path Solution
169
+ @solution = solution
170
+ end
171
+
172
+ ##
173
+ # Build an instance of OutboundReportInstance
174
+ # @param [Hash] payload Payload response from the API
175
+ # @return [OutboundReportInstance] OutboundReportInstance
176
+ def get_instance(payload)
177
+ OutboundReportInstance.new(@version, payload)
178
+ end
179
+
180
+ ##
181
+ # Provide a user friendly representation
182
+ def to_s
183
+ '<Twilio.Insights.V2.OutboundReportPage>'
184
+ end
185
+ end
186
+
187
+ class OutboundReportInstance < InstanceResource
188
+ ##
189
+ # Initialize the OutboundReportInstance
190
+ # @param [Version] version Version that contains the resource
191
+ # @param [Hash] payload payload that contains response from Twilio
192
+ # @param [String] account_sid The SID of the
193
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this OutboundReport
194
+ # resource.
195
+ # @param [String] sid The SID of the Call resource to fetch.
196
+ # @return [OutboundReportInstance] OutboundReportInstance
197
+ def initialize(version, payload )
198
+ super(version)
199
+
200
+
201
+ # Marshaled Properties
202
+ @properties = {
203
+ 'account_sid' => payload['account_sid'],
204
+ 'report_id' => payload['report_id'],
205
+ 'status' => payload['status'],
206
+ 'request_meta' => payload['request_meta'],
207
+ 'url' => payload['url'],
208
+ }
209
+ end
210
+
211
+
212
+ ##
213
+ # @return [String] The unique SID identifier of the Account.
214
+ def account_sid
215
+ @properties['account_sid']
216
+ end
217
+
218
+ ##
219
+ # @return [String] The report identifier as Voice Insights Report TTID.
220
+ def report_id
221
+ @properties['report_id']
222
+ end
223
+
224
+ ##
225
+ # @return [ReportStatus]
226
+ def status
227
+ @properties['status']
228
+ end
229
+
230
+ ##
231
+ # @return [ReportMetadata]
232
+ def request_meta
233
+ @properties['request_meta']
234
+ end
235
+
236
+ ##
237
+ # @return [String] The URL of this resource.
238
+ def url
239
+ @properties['url']
240
+ end
241
+
242
+ ##
243
+ # Provide a user friendly representation
244
+ def to_s
245
+ "<Twilio.Insights.V2.OutboundReportInstance>"
246
+ end
247
+
248
+ ##
249
+ # Provide a detailed, user friendly representation
250
+ def inspect
251
+ "<Twilio.Insights.V2.OutboundReportInstance>"
252
+ end
253
+ end
254
+
255
+ end
256
+ end
257
+ end
258
+ end
@@ -467,33 +467,7 @@ module Twilio
467
467
 
468
468
  # Path Solution
469
469
  @solution = { }
470
-
471
-
472
- end
473
-
474
-
475
-
476
- # Provide a user friendly representation
477
- def to_s
478
- '#<Twilio.Insights.V2.ReportList>'
479
- end
480
- end
481
-
482
-
483
- class ReportContext < InstanceContext
484
- ##
485
- # Initialize the ReportContext
486
- # @param [Version] version Version that contains the resource
487
- # @param [String] report_id A unique request id.
488
- # @return [ReportContext] ReportContext
489
- def initialize(version, report_id)
490
- super(version)
491
-
492
-
493
- # Path Solution
494
- @solution = { report_id: report_id, }
495
- @uri = "/Voice/Reports/#{@solution[:report_id]}"
496
-
470
+ @uri = "/Voice/Reports"
497
471
 
498
472
  end
499
473
  ##
@@ -513,7 +487,6 @@ module Twilio
513
487
  ReportInstance.new(
514
488
  @version,
515
489
  payload,
516
- report_id: @solution[:report_id],
517
490
  )
518
491
  end
519
492
 
@@ -534,7 +507,6 @@ module Twilio
534
507
  report_instance = ReportInstance.new(
535
508
  @version,
536
509
  response.body,
537
- report_id: @solution[:report_id],
538
510
  )
539
511
  ReportInstanceMetadata.new(
540
512
  @version,
@@ -544,6 +516,32 @@ module Twilio
544
516
  )
545
517
  end
546
518
 
519
+
520
+
521
+
522
+ # Provide a user friendly representation
523
+ def to_s
524
+ '#<Twilio.Insights.V2.ReportList>'
525
+ end
526
+ end
527
+
528
+
529
+ class ReportContext < InstanceContext
530
+ ##
531
+ # Initialize the ReportContext
532
+ # @param [Version] version Version that contains the resource
533
+ # @param [String] report_id A unique request id.
534
+ # @return [ReportContext] ReportContext
535
+ def initialize(version, report_id)
536
+ super(version)
537
+
538
+
539
+ # Path Solution
540
+ @solution = { report_id: report_id, }
541
+ @uri = "/Voice/Reports/#{@solution[:report_id]}"
542
+
543
+
544
+ end
547
545
  ##
548
546
  # Fetch the ReportInstance
549
547
  # @return [ReportInstance] Fetched ReportInstance
@@ -681,65 +679,6 @@ module Twilio
681
679
  end
682
680
  end
683
681
 
684
- class ReportPageMetadata < PageMetadata
685
- attr_reader :report_page
686
-
687
- def initialize(version, response, solution, limit)
688
- super(version, response)
689
- @report_page = []
690
- @limit = limit
691
- key = get_key(response.body)
692
- records = 0
693
- while( limit != :unset && records < limit )
694
- @report_page << ReportListResponse.new(version, @payload, key, limit - records)
695
- @payload = self.next_page
696
- break unless @payload
697
- records += (@payload.body[key] || []).size
698
- end
699
- # Path Solution
700
- @solution = solution
701
- end
702
-
703
- def each
704
- @report_page.each do |record|
705
- yield record
706
- end
707
- end
708
-
709
- def to_s
710
- '<Twilio::REST::Insights::V2PageMetadata>';
711
- end
712
- end
713
- class ReportListResponse < InstanceListResource
714
-
715
- # @param [Array<ReportInstance>] instance
716
- # @param [Hash{String => Object}] headers
717
- # @param [Integer] status_code
718
- def initialize(version, payload, key, limit = :unset)
719
- data_list = payload.body[key] || []
720
- if limit != :unset
721
- data_list = data_list[0, limit]
722
- end
723
- @report = data_list.map do |data|
724
- ReportInstance.new(version, data)
725
- end
726
- @headers = payload.headers
727
- @status_code = payload.status_code
728
- end
729
-
730
- def report
731
- @report
732
- end
733
-
734
- def headers
735
- @headers
736
- end
737
-
738
- def status_code
739
- @status_code
740
- end
741
- end
742
-
743
682
  class ReportInstance < InstanceResource
744
683
  ##
745
684
  # Initialize the ReportInstance
@@ -761,18 +700,6 @@ module Twilio
761
700
  'status' => payload['status'],
762
701
  'request_meta' => payload['request_meta'],
763
702
  'url' => payload['url'],
764
- 'handle' => payload['handle'],
765
- 'total_calls' => payload['total_calls'] == nil ? payload['total_calls'] : payload['total_calls'].to_i,
766
- 'call_answer_score' => payload['call_answer_score'],
767
- 'call_state_percentage' => payload['call_state_percentage'],
768
- 'silent_calls_percentage' => payload['silent_calls_percentage'],
769
- 'calls_by_device_type' => payload['calls_by_device_type'],
770
- 'answer_rate_device_type' => payload['answer_rate_device_type'],
771
- 'blocked_calls_by_carrier' => payload['blocked_calls_by_carrier'],
772
- 'short_duration_calls_percentage' => payload['short_duration_calls_percentage'],
773
- 'long_duration_calls_percentage' => payload['long_duration_calls_percentage'],
774
- 'potential_robocalls_percentage' => payload['potential_robocalls_percentage'],
775
- 'answering_machine_detection' => payload['answering_machine_detection'],
776
703
  'report' => payload['report'],
777
704
  }
778
705
 
@@ -822,96 +749,12 @@ module Twilio
822
749
  @properties['url']
823
750
  end
824
751
 
825
- ##
826
- # @return [String] Inbound phone number handle represented in the report.
827
- def handle
828
- @properties['handle']
829
- end
830
-
831
- ##
832
- # @return [String] Total number of calls made with the given handle during the report period.
833
- def total_calls
834
- @properties['total_calls']
835
- end
836
-
837
- ##
838
- # @return [Float] The call answer score measures customers behavior to the delivered calls. The score is a value between 0 and 100, where 100 indicates that all calls were successfully answered.
839
- def call_answer_score
840
- @properties['call_answer_score']
841
- end
842
-
843
- ##
844
- # @return [InsightsV2InboundPhoneNumberReportCallStatePercentage]
845
- def call_state_percentage
846
- @properties['call_state_percentage']
847
- end
848
-
849
- ##
850
- # @return [Float] Percentage of inbound calls with silence tags over total outbound calls. A silent tag is indicative of a connectivity issue or muted audio.
851
- def silent_calls_percentage
852
- @properties['silent_calls_percentage']
853
- end
854
-
855
- ##
856
- # @return [Hash<String, Integer>] Number of calls made with each device type. `voip`, `mobile`, `landline`, `unknown`
857
- def calls_by_device_type
858
- @properties['calls_by_device_type']
859
- end
860
-
861
- ##
862
- # @return [Hash<String, Float>] Answer rate for each device type. `voip`, `mobile`, `landline`, `unknown`
863
- def answer_rate_device_type
864
- @properties['answer_rate_device_type']
865
- end
866
-
867
- ##
868
- # @return [Array<CountyCarrierValue>] Percentage of blocked calls by carrier per country.
869
- def blocked_calls_by_carrier
870
- @properties['blocked_calls_by_carrier']
871
- end
872
-
873
- ##
874
- # @return [Float] Percentage of completed outbound calls under 10 seconds (PSTN Short call tags); More than 15% is typically low trust measured.
875
- def short_duration_calls_percentage
876
- @properties['short_duration_calls_percentage']
877
- end
878
-
879
- ##
880
- # @return [Float] Percentage of long duration calls ( >= 60 seconds)
881
- def long_duration_calls_percentage
882
- @properties['long_duration_calls_percentage']
883
- end
884
-
885
- ##
886
- # @return [Float] Percentage of completed outbound calls to unassigned or unallocated phone numbers.
887
- def potential_robocalls_percentage
888
- @properties['potential_robocalls_percentage']
889
- end
890
-
891
- ##
892
- # @return [InsightsV2OutboundPhoneNumberReportAnsweringMachineDetection]
893
- def answering_machine_detection
894
- @properties['answering_machine_detection']
895
- end
896
-
897
752
  ##
898
753
  # @return [AccountReport]
899
754
  def report
900
755
  @properties['report']
901
756
  end
902
757
 
903
- ##
904
- # Create the ReportInstance
905
- # @param [InsightsV2CreateAccountReportRequest] insights_v2_create_account_report_request
906
- # @return [ReportInstance] Created ReportInstance
907
- def create(insights_v2_create_account_report_request: :unset
908
- )
909
-
910
- context.create(
911
- insights_v2_create_account_report_request: insights_v2_create_account_report_request,
912
- )
913
- end
914
-
915
758
  ##
916
759
  # Fetch the ReportInstance
917
760
  # @return [ReportInstance] Fetched ReportInstance
@@ -22,13 +22,14 @@ module Twilio
22
22
  super
23
23
  @version = 'v2'
24
24
  @inbound = nil
25
+ @inbound_reports = nil
25
26
  @outbound = nil
27
+ @outbound_reports = nil
26
28
  @reports = nil
27
29
  end
28
30
 
29
31
  ##
30
32
  # @param [String] report_id A unique Report Id.
31
- # @return [Twilio::REST::Insights::V2::InboundContext] if reportId was passed.
32
33
  # @return [Twilio::REST::Insights::V2::InboundList]
33
34
  def inbound(report_id=:unset)
34
35
  if report_id.nil?
@@ -38,12 +39,16 @@ module Twilio
38
39
  if report_id == :unset
39
40
  @inbound ||= InboundList.new self
40
41
  else
41
- InboundContext.new(self, report_id)
42
+ InboundList.new(self, report_id: report_id)
42
43
  end
43
44
  end
44
45
  ##
46
+ # @return [Twilio::REST::Insights::V2::InboundReportList]
47
+ def inbound_reports
48
+ @inbound_reports ||= InboundReportList.new self
49
+ end
50
+ ##
45
51
  # @param [String] report_id A unique Report Id.
46
- # @return [Twilio::REST::Insights::V2::OutboundContext] if reportId was passed.
47
52
  # @return [Twilio::REST::Insights::V2::OutboundList]
48
53
  def outbound(report_id=:unset)
49
54
  if report_id.nil?
@@ -53,10 +58,15 @@ module Twilio
53
58
  if report_id == :unset
54
59
  @outbound ||= OutboundList.new self
55
60
  else
56
- OutboundContext.new(self, report_id)
61
+ OutboundList.new(self, report_id: report_id)
57
62
  end
58
63
  end
59
64
  ##
65
+ # @return [Twilio::REST::Insights::V2::OutboundReportList]
66
+ def outbound_reports
67
+ @outbound_reports ||= OutboundReportList.new self
68
+ end
69
+ ##
60
70
  # @param [String] report_id A unique request id.
61
71
  # @return [Twilio::REST::Insights::V2::ReportContext] if reportId was passed.
62
72
  # @return [Twilio::REST::Insights::V2::ReportList]
@@ -5,7 +5,7 @@
5
5
  # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
6
  #
7
7
  # Twilio - Insights
8
- # Insights Domain V3 API.
8
+ # The Twilio Insights v3 API provides semantic query access to Conversations analytics data. Resources include synchronous Query, Metadata, and asynchronous QueryJobs for long-running queries.
9
9
  #
10
10
  # NOTE: This class is auto generated by OpenAPI Generator.
11
11
  # https://openapi-generator.tech
@@ -114,65 +114,6 @@ module Twilio
114
114
  end
115
115
  end
116
116
 
117
- class MetadataPageMetadata < PageMetadata
118
- attr_reader :metadata_page
119
-
120
- def initialize(version, response, solution, limit)
121
- super(version, response)
122
- @metadata_page = []
123
- @limit = limit
124
- key = get_key(response.body)
125
- records = 0
126
- while( limit != :unset && records < limit )
127
- @metadata_page << MetadataListResponse.new(version, @payload, key, limit - records)
128
- @payload = self.next_page
129
- break unless @payload
130
- records += (@payload.body[key] || []).size
131
- end
132
- # Path Solution
133
- @solution = solution
134
- end
135
-
136
- def each
137
- @metadata_page.each do |record|
138
- yield record
139
- end
140
- end
141
-
142
- def to_s
143
- '<Twilio::REST::Insights::V3PageMetadata>';
144
- end
145
- end
146
- class MetadataListResponse < InstanceListResource
147
-
148
- # @param [Array<MetadataInstance>] instance
149
- # @param [Hash{String => Object}] headers
150
- # @param [Integer] status_code
151
- def initialize(version, payload, key, limit = :unset)
152
- data_list = payload.body[key] || []
153
- if limit != :unset
154
- data_list = data_list[0, limit]
155
- end
156
- @metadata = data_list.map do |data|
157
- MetadataInstance.new(version, data)
158
- end
159
- @headers = payload.headers
160
- @status_code = payload.status_code
161
- end
162
-
163
- def metadata
164
- @metadata
165
- end
166
-
167
- def headers
168
- @headers
169
- end
170
-
171
- def status_code
172
- @status_code
173
- end
174
- end
175
-
176
117
  class MetadataInstance < InstanceResource
177
118
  ##
178
119
  # Initialize the MetadataInstance