twilio-ruby 5.10.7 → 7.6.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 (1049) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/pr-lint.yml +21 -0
  5. data/.github/workflows/test-and-deploy.yml +147 -0
  6. data/.gitignore +11 -1
  7. data/.rubocop.yml +23 -6
  8. data/.rubocop_todo.yml +147 -73
  9. data/CHANGES.md +3392 -0
  10. data/CODE_OF_CONDUCT.md +73 -0
  11. data/CONTRIBUTING.md +14 -10
  12. data/Dockerfile +4 -3
  13. data/Gemfile +5 -8
  14. data/ISSUE_TEMPLATE.md +17 -13
  15. data/{LICENSE.md → LICENSE} +2 -2
  16. data/Makefile +22 -22
  17. data/PULL_REQUEST_TEMPLATE.md +30 -3
  18. data/README.md +219 -57
  19. data/Rakefile +0 -54
  20. data/UPGRADE.md +21 -0
  21. data/VERSIONS.md +9 -10
  22. data/advanced-examples/custom-http-client.md +170 -0
  23. data/cluster/cluster_oauth_spec.rb +19 -0
  24. data/cluster/cluster_orgs_spec.rb +40 -0
  25. data/cluster/cluster_spec.rb +75 -0
  26. data/examples/examples.rb +1 -1
  27. data/examples/public_oauth.rb +13 -0
  28. data/githooks/pre-commit +0 -0
  29. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  30. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  31. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  32. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  33. data/lib/twilio-ruby/base/client_base.rb +131 -0
  34. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  35. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  36. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  37. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  38. data/lib/twilio-ruby/framework/request.rb +8 -1
  39. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +1 -2
  40. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +3 -15
  41. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +1 -0
  42. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +7 -11
  43. data/lib/twilio-ruby/http/client_token_manager.rb +28 -0
  44. data/lib/twilio-ruby/http/http_client.rb +53 -17
  45. data/lib/twilio-ruby/http/org_token_manager.rb +28 -0
  46. data/lib/twilio-ruby/http.rb +5 -0
  47. data/lib/twilio-ruby/jwt/access_token.rb +20 -61
  48. data/lib/twilio-ruby/jwt/jwt.rb +6 -0
  49. data/lib/twilio-ruby/jwt/task_router.rb +2 -2
  50. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +213 -0
  51. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +137 -0
  52. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +137 -0
  53. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +398 -334
  54. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +398 -341
  55. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +123 -114
  56. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +186 -0
  57. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +233 -0
  58. data/lib/twilio-ruby/rest/accounts/v1.rb +64 -29
  59. data/lib/twilio-ruby/rest/accounts.rb +10 -28
  60. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +375 -364
  62. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +584 -521
  63. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +642 -606
  64. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +324 -318
  65. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +398 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +398 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +398 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +398 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +398 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +398 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +398 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +442 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +150 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +213 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +411 -413
  76. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +335 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +521 -485
  78. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +885 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +885 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +318 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +170 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +250 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +973 -827
  84. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +686 -576
  85. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +472 -450
  86. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +506 -477
  87. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +447 -399
  88. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +331 -346
  89. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +417 -420
  90. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +547 -503
  91. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +547 -503
  92. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +547 -503
  93. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +868 -865
  94. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +356 -304
  95. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +175 -162
  96. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +355 -347
  97. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +645 -601
  98. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +165 -143
  99. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +165 -143
  100. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +411 -408
  101. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +389 -364
  102. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +357 -324
  103. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +453 -390
  104. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +204 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +386 -366
  106. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +383 -380
  107. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +379 -360
  108. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +522 -478
  109. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +434 -410
  110. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +356 -312
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +402 -375
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +426 -383
  113. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +366 -0
  114. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +366 -0
  115. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +141 -0
  116. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +366 -0
  117. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +127 -0
  118. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +127 -0
  119. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +360 -340
  120. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +360 -340
  121. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +677 -539
  122. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +439 -410
  123. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +426 -383
  124. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +143 -150
  125. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +179 -158
  126. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +379 -348
  127. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -320
  128. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -320
  129. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -323
  130. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -320
  131. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -320
  132. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -320
  133. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -320
  134. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -320
  135. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -397
  136. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +512 -492
  137. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +114 -104
  138. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +180 -167
  139. data/lib/twilio-ruby/rest/api/v2010/account.rb +1002 -934
  140. data/lib/twilio-ruby/rest/api/v2010.rb +127 -144
  141. data/lib/twilio-ruby/rest/api.rb +62 -60
  142. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  143. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +371 -0
  144. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +371 -0
  145. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +311 -0
  146. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +206 -0
  147. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +687 -0
  148. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +232 -0
  149. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +213 -0
  150. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +629 -0
  151. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +267 -0
  152. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +267 -0
  153. data/lib/twilio-ruby/rest/assistants/v1/session.rb +335 -0
  154. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +605 -0
  155. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  156. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  157. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  158. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +316 -0
  159. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +315 -0
  160. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +289 -0
  161. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +261 -0
  162. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +266 -0
  163. data/lib/twilio-ruby/rest/bulkexports/v1.rb +64 -0
  164. data/lib/twilio-ruby/rest/bulkexports.rb +25 -0
  165. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  166. data/lib/twilio-ruby/rest/chat/v1/credential.rb +446 -393
  167. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +395 -386
  168. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +449 -444
  169. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +465 -430
  170. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +561 -508
  171. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +423 -368
  172. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +249 -238
  173. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +492 -448
  174. data/lib/twilio-ruby/rest/chat/v1/service.rb +888 -914
  175. data/lib/twilio-ruby/rest/chat/v1.rb +58 -52
  176. data/lib/twilio-ruby/rest/chat/v2/credential.rb +446 -409
  177. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +386 -361
  178. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +395 -389
  179. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +510 -492
  180. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +537 -514
  181. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +467 -422
  182. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +630 -576
  183. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +423 -365
  184. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +379 -377
  185. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +428 -240
  186. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +534 -477
  187. data/lib/twilio-ruby/rest/chat/v2/service.rb +791 -740
  188. data/lib/twilio-ruby/rest/chat/v2.rb +58 -52
  189. data/lib/twilio-ruby/rest/chat/v3/channel.rb +303 -0
  190. data/lib/twilio-ruby/rest/chat/v3.rb +71 -0
  191. data/lib/twilio-ruby/rest/chat.rb +12 -40
  192. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  193. data/lib/twilio-ruby/rest/client.rb +344 -400
  194. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +190 -0
  195. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +213 -0
  196. data/lib/twilio-ruby/rest/content/v1/content.rb +974 -0
  197. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +255 -0
  198. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +269 -0
  199. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  200. data/lib/twilio-ruby/rest/content/v2/content.rb +319 -0
  201. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +312 -0
  202. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  203. data/lib/twilio-ruby/rest/content.rb +15 -0
  204. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  205. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +508 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +294 -0
  207. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +300 -0
  208. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
  209. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +567 -0
  210. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +528 -0
  211. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +458 -0
  212. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +653 -0
  213. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +263 -0
  214. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +461 -0
  215. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +316 -0
  216. data/lib/twilio-ruby/rest/conversations/v1/role.rb +420 -0
  217. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +385 -0
  218. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +347 -0
  219. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +293 -0
  220. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +327 -0
  221. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +366 -0
  222. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +580 -0
  223. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
  224. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +471 -0
  225. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +662 -0
  226. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +269 -0
  227. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +321 -0
  228. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +429 -0
  229. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +477 -0
  230. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +514 -0
  231. data/lib/twilio-ruby/rest/conversations/v1/service.rb +525 -0
  232. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +472 -0
  233. data/lib/twilio-ruby/rest/conversations/v1/user.rb +505 -0
  234. data/lib/twilio-ruby/rest/conversations/v1.rb +142 -0
  235. data/lib/twilio-ruby/rest/conversations.rb +79 -0
  236. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  237. data/lib/twilio-ruby/rest/events/v1/event_type.rb +336 -0
  238. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +309 -0
  239. data/lib/twilio-ruby/rest/events/v1/schema.rb +242 -0
  240. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +136 -0
  241. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +143 -0
  242. data/lib/twilio-ruby/rest/events/v1/sink.rb +470 -0
  243. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +398 -0
  244. data/lib/twilio-ruby/rest/events/v1/subscription.rb +452 -0
  245. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  246. data/lib/twilio-ruby/rest/events.rb +43 -0
  247. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  248. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +460 -0
  249. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +395 -0
  250. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +563 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +599 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +336 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +232 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +462 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +373 -0
  256. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +458 -0
  257. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +365 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +221 -0
  259. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +161 -0
  260. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +147 -0
  261. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +200 -0
  262. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +261 -0
  263. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +365 -0
  264. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +352 -0
  265. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +449 -0
  266. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +329 -0
  267. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +408 -0
  268. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +461 -0
  269. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +251 -0
  270. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +400 -0
  271. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +397 -0
  272. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +237 -0
  273. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +343 -0
  274. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +260 -0
  275. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +192 -0
  276. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +414 -0
  277. data/lib/twilio-ruby/rest/flex_api/v1.rb +320 -0
  278. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +339 -0
  279. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +155 -0
  280. data/lib/twilio-ruby/rest/flex_api/v2.rb +77 -0
  281. data/lib/twilio-ruby/rest/flex_api.rb +73 -0
  282. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  283. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +286 -0
  284. data/lib/twilio-ruby/rest/frontline_api/v1.rb +49 -0
  285. data/lib/twilio-ruby/rest/frontline_api.rb +15 -0
  286. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  287. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +280 -0
  288. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +226 -0
  289. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +181 -0
  290. data/lib/twilio-ruby/rest/iam/v1/token.rb +186 -0
  291. data/lib/twilio-ruby/rest/iam/v1.rb +67 -0
  292. data/lib/twilio-ruby/rest/iam.rb +6 -0
  293. data/lib/twilio-ruby/rest/iam_base.rb +38 -0
  294. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +330 -0
  295. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +357 -0
  296. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +280 -0
  297. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +272 -0
  298. data/lib/twilio-ruby/rest/insights/v1/call.rb +275 -0
  299. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +545 -0
  300. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +498 -0
  301. data/lib/twilio-ruby/rest/insights/v1/conference.rb +515 -0
  302. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +393 -0
  303. data/lib/twilio-ruby/rest/insights/v1/room.rb +508 -0
  304. data/lib/twilio-ruby/rest/insights/v1/setting.rb +267 -0
  305. data/lib/twilio-ruby/rest/insights/v1.rb +91 -0
  306. data/lib/twilio-ruby/rest/insights.rb +46 -0
  307. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  308. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +464 -0
  309. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +363 -0
  310. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +223 -0
  311. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +201 -0
  312. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +365 -0
  313. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +363 -0
  314. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +534 -0
  315. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +231 -0
  316. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +403 -0
  317. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +265 -0
  318. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +538 -0
  319. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  320. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  321. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  322. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +446 -393
  323. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +395 -386
  324. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +449 -444
  325. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +465 -430
  326. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +561 -508
  327. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +423 -368
  328. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +249 -238
  329. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +492 -448
  330. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +888 -914
  331. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +58 -52
  332. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +446 -409
  333. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +386 -361
  334. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +395 -389
  335. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +510 -492
  336. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +537 -514
  337. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +467 -422
  338. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +630 -576
  339. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +423 -365
  340. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +379 -377
  341. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +420 -240
  342. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +534 -477
  343. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +791 -740
  344. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +58 -52
  345. data/lib/twilio-ruby/rest/ip_messaging.rb +9 -49
  346. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  347. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +232 -0
  348. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +213 -0
  349. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +617 -0
  350. data/lib/twilio-ruby/rest/knowledge/v1.rb +49 -0
  351. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  352. data/lib/twilio-ruby/rest/knowledge_base.rb +38 -0
  353. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +249 -231
  354. data/lib/twilio-ruby/rest/lookups/v1.rb +43 -37
  355. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +394 -0
  356. data/lib/twilio-ruby/rest/lookups/v2.rb +49 -0
  357. data/lib/twilio-ruby/rest/lookups.rb +5 -37
  358. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  359. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +316 -0
  360. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +343 -0
  361. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +363 -0
  362. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +162 -0
  363. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +482 -0
  364. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +221 -0
  365. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +325 -0
  366. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +146 -0
  367. data/lib/twilio-ruby/rest/marketplace/v1.rb +91 -0
  368. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  369. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  370. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +143 -0
  371. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +379 -0
  372. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +524 -0
  373. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +196 -0
  374. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +295 -0
  375. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +300 -0
  376. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +243 -0
  377. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +171 -0
  378. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +223 -0
  379. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +201 -0
  380. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +243 -0
  381. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +370 -338
  382. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +383 -0
  383. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +386 -0
  384. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +377 -342
  385. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +377 -337
  386. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +637 -0
  387. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +142 -0
  388. data/lib/twilio-ruby/rest/messaging/v1/service.rb +819 -620
  389. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +820 -0
  390. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +130 -0
  391. data/lib/twilio-ruby/rest/messaging/v1.rb +203 -37
  392. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +492 -0
  393. data/lib/twilio-ruby/rest/messaging/v2.rb +49 -0
  394. data/lib/twilio-ruby/rest/messaging.rb +53 -25
  395. data/lib/twilio-ruby/rest/messaging_base.rb +43 -0
  396. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +382 -0
  397. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +375 -0
  398. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +213 -0
  399. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +361 -0
  400. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +398 -0
  401. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +391 -0
  402. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +441 -0
  403. data/lib/twilio-ruby/rest/microvisor/v1.rb +94 -0
  404. data/lib/twilio-ruby/rest/microvisor.rb +24 -0
  405. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  406. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +409 -409
  407. data/lib/twilio-ruby/rest/monitor/v1/event.rb +392 -365
  408. data/lib/twilio-ruby/rest/monitor/v1.rb +58 -52
  409. data/lib/twilio-ruby/rest/monitor.rb +7 -36
  410. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  411. data/lib/twilio-ruby/rest/notify/v1/credential.rb +446 -408
  412. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +456 -447
  413. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +321 -361
  414. data/lib/twilio-ruby/rest/notify/v1/service.rb +651 -635
  415. data/lib/twilio-ruby/rest/notify/v1.rb +58 -52
  416. data/lib/twilio-ruby/rest/notify.rb +7 -36
  417. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  418. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +249 -0
  419. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +132 -0
  420. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +304 -0
  421. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +328 -0
  422. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +260 -0
  423. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +153 -0
  424. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +170 -0
  425. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +280 -0
  426. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +165 -0
  427. data/lib/twilio-ruby/rest/numbers/v1.rb +155 -0
  428. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +347 -0
  429. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +421 -0
  430. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +274 -0
  431. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +281 -0
  432. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +613 -0
  433. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +295 -0
  434. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +351 -0
  435. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +364 -0
  436. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +208 -0
  437. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +637 -0
  438. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +424 -0
  439. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +307 -0
  440. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +356 -0
  441. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +452 -0
  442. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +307 -0
  443. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +186 -0
  444. data/lib/twilio-ruby/rest/numbers/v2.rb +100 -0
  445. data/lib/twilio-ruby/rest/numbers.rb +12 -0
  446. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  447. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +148 -0
  448. data/lib/twilio-ruby/rest/oauth/v1/token.rb +186 -0
  449. data/lib/twilio-ruby/rest/oauth/v1.rb +46 -0
  450. data/lib/twilio-ruby/rest/oauth.rb +6 -0
  451. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  452. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +375 -396
  453. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +467 -452
  454. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +635 -636
  455. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +58 -54
  456. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +310 -297
  457. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +334 -313
  458. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +357 -333
  459. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +454 -412
  460. data/lib/twilio-ruby/rest/preview/marketplace.rb +58 -54
  461. data/lib/twilio-ruby/rest/preview/wireless/command.rb +402 -371
  462. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +473 -409
  463. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +241 -206
  464. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +589 -529
  465. data/lib/twilio-ruby/rest/preview/wireless.rb +73 -67
  466. data/lib/twilio-ruby/rest/preview.rb +15 -143
  467. data/lib/twilio-ruby/rest/preview_base.rb +48 -0
  468. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +148 -0
  469. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +186 -0
  470. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  471. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +309 -0
  472. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +375 -0
  473. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +530 -0
  474. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +277 -0
  475. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  476. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  477. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  478. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +308 -273
  479. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +109 -118
  480. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +301 -266
  481. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +109 -118
  482. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +308 -273
  483. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +228 -197
  484. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +123 -134
  485. data/lib/twilio-ruby/rest/pricing/v1.rb +46 -43
  486. data/lib/twilio-ruby/rest/pricing/v2/country.rb +309 -0
  487. data/lib/twilio-ruby/rest/pricing/v2/number.rb +247 -0
  488. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +314 -0
  489. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +252 -0
  490. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +130 -0
  491. data/lib/twilio-ruby/rest/pricing/v2.rb +70 -0
  492. data/lib/twilio-ruby/rest/pricing.rb +24 -33
  493. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  494. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +444 -357
  495. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +421 -441
  496. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +445 -449
  497. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +440 -449
  498. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +547 -528
  499. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +424 -339
  500. data/lib/twilio-ruby/rest/proxy/v1/service.rb +584 -535
  501. data/lib/twilio-ruby/rest/proxy/v1.rb +43 -37
  502. data/lib/twilio-ruby/rest/proxy.rb +4 -35
  503. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  504. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +281 -0
  505. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +281 -0
  506. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +281 -0
  507. data/lib/twilio-ruby/rest/routes/v2.rb +79 -0
  508. data/lib/twilio-ruby/rest/routes.rb +32 -0
  509. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  510. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  511. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +443 -0
  512. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +224 -0
  513. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +432 -0
  514. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +364 -0
  515. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +380 -0
  516. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +438 -0
  517. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +481 -0
  518. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +235 -0
  519. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +361 -0
  520. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +443 -0
  521. data/lib/twilio-ruby/rest/serverless/v1/service.rb +557 -0
  522. data/lib/twilio-ruby/rest/serverless/v1.rb +49 -0
  523. data/lib/twilio-ruby/rest/serverless.rb +15 -0
  524. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  525. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +214 -207
  526. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +229 -226
  527. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +379 -365
  528. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +443 -400
  529. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +214 -207
  530. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +229 -226
  531. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +379 -370
  532. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +495 -404
  533. data/lib/twilio-ruby/rest/studio/v1/flow.rb +395 -365
  534. data/lib/twilio-ruby/rest/studio/v1.rb +43 -37
  535. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +224 -0
  536. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +235 -0
  537. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +389 -0
  538. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +494 -0
  539. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +358 -0
  540. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +245 -0
  541. data/lib/twilio-ruby/rest/studio/v2/flow.rb +555 -0
  542. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +146 -0
  543. data/lib/twilio-ruby/rest/studio/v2.rb +55 -0
  544. data/lib/twilio-ruby/rest/studio.rb +11 -35
  545. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  546. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +417 -0
  547. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +502 -0
  548. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +422 -0
  549. data/lib/twilio-ruby/rest/supersim/v1/network.rb +320 -0
  550. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +362 -0
  551. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +410 -0
  552. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +260 -0
  553. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +253 -0
  554. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +211 -0
  555. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +490 -0
  556. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +382 -0
  557. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +317 -0
  558. data/lib/twilio-ruby/rest/supersim/v1.rb +151 -0
  559. data/lib/twilio-ruby/rest/supersim.rb +88 -0
  560. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  561. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +397 -381
  562. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +482 -428
  563. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +491 -443
  564. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +397 -381
  565. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +497 -442
  566. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +494 -444
  567. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +397 -381
  568. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +497 -442
  569. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +147 -142
  570. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +446 -411
  571. data/lib/twilio-ruby/rest/sync/v1/service.rb +602 -514
  572. data/lib/twilio-ruby/rest/sync/v1.rb +43 -37
  573. data/lib/twilio-ruby/rest/sync.rb +4 -35
  574. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  575. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +432 -390
  576. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +453 -419
  577. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +721 -577
  578. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +677 -621
  579. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +436 -295
  580. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +168 -0
  581. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +367 -356
  582. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +270 -229
  583. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +238 -234
  584. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +244 -268
  585. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +601 -570
  586. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +703 -575
  587. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +406 -392
  588. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +243 -231
  589. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +289 -262
  590. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +223 -186
  591. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +259 -232
  592. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +648 -606
  593. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +367 -363
  594. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +253 -226
  595. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +238 -234
  596. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +550 -510
  597. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +361 -350
  598. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +242 -200
  599. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +249 -230
  600. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +747 -719
  601. data/lib/twilio-ruby/rest/taskrouter/v1.rb +43 -37
  602. data/lib/twilio-ruby/rest/taskrouter.rb +4 -35
  603. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  604. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +363 -322
  605. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +363 -323
  606. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +467 -429
  607. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +496 -449
  608. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +244 -0
  609. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +650 -600
  610. data/lib/twilio-ruby/rest/trunking/v1.rb +43 -37
  611. data/lib/twilio-ruby/rest/trunking.rb +4 -36
  612. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  613. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +257 -0
  614. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +365 -0
  615. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +224 -0
  616. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +384 -0
  617. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +368 -0
  618. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +356 -0
  619. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +568 -0
  620. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +419 -0
  621. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +302 -0
  622. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +295 -0
  623. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +433 -0
  624. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +302 -0
  625. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +384 -0
  626. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +368 -0
  627. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +356 -0
  628. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +568 -0
  629. data/lib/twilio-ruby/rest/trusthub/v1.rb +175 -0
  630. data/lib/twilio-ruby/rest/trusthub.rb +74 -0
  631. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  632. data/lib/twilio-ruby/rest/verify/v2/form.rb +208 -0
  633. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +246 -0
  634. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +292 -0
  635. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +205 -0
  636. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +530 -0
  637. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +478 -0
  638. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +276 -0
  639. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +449 -0
  640. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +412 -0
  641. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +438 -0
  642. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +453 -0
  643. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +409 -0
  644. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +235 -0
  645. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +480 -0
  646. data/lib/twilio-ruby/rest/verify/v2/service.rb +843 -0
  647. data/lib/twilio-ruby/rest/verify/v2/template.rb +233 -0
  648. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +392 -0
  649. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +254 -0
  650. data/lib/twilio-ruby/rest/verify/v2.rb +106 -0
  651. data/lib/twilio-ruby/rest/verify.rb +58 -0
  652. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  653. data/lib/twilio-ruby/rest/video/v1/composition.rb +498 -491
  654. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +561 -0
  655. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +295 -271
  656. data/lib/twilio-ruby/rest/video/v1/recording.rb +441 -387
  657. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +295 -271
  658. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +266 -0
  659. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +341 -0
  660. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +194 -0
  661. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +348 -0
  662. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +514 -0
  663. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +183 -0
  664. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +437 -0
  665. data/lib/twilio-ruby/rest/video/v1/room.rb +635 -512
  666. data/lib/twilio-ruby/rest/video/v1.rb +100 -83
  667. data/lib/twilio-ruby/rest/video.rb +22 -40
  668. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  669. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +171 -0
  670. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +537 -0
  671. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +473 -0
  672. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +427 -0
  673. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +149 -0
  674. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +206 -0
  675. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +390 -0
  676. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +235 -0
  677. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +131 -0
  678. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +413 -0
  679. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +396 -0
  680. data/lib/twilio-ruby/rest/voice/v1.rb +137 -0
  681. data/lib/twilio-ruby/rest/voice.rb +61 -0
  682. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  683. data/lib/twilio-ruby/rest/wireless/v1/command.rb +429 -361
  684. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +493 -439
  685. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +303 -288
  686. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +244 -240
  687. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +655 -611
  688. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +238 -0
  689. data/lib/twilio-ruby/rest/wireless/v1.rb +79 -67
  690. data/lib/twilio-ruby/rest/wireless.rb +11 -34
  691. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  692. data/lib/twilio-ruby/rest.rb +14 -0
  693. data/lib/twilio-ruby/security/request_validator.rb +102 -8
  694. data/lib/twilio-ruby/twiml/fax_response.rb +6 -3
  695. data/lib/twilio-ruby/twiml/messaging_response.rb +2 -2
  696. data/lib/twilio-ruby/twiml/twiml.rb +12 -1
  697. data/lib/twilio-ruby/twiml/voice_response.rb +1705 -81
  698. data/lib/twilio-ruby/util/configuration.rb +22 -5
  699. data/lib/twilio-ruby/version.rb +1 -1
  700. data/lib/twilio-ruby.rb +9 -25
  701. data/sonar-project.properties +13 -0
  702. data/twilio-ruby.gemspec +15 -10
  703. metadata +542 -646
  704. data/.travis.yml +0 -31
  705. data/conf/cacert.pem +0 -3376
  706. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  707. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -509
  708. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -398
  709. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -506
  710. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -398
  711. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -398
  712. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -506
  713. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -398
  714. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -459
  715. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -296
  716. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  717. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -315
  718. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -530
  719. data/lib/twilio-ruby/rest/fax/v1.rb +0 -43
  720. data/lib/twilio-ruby/rest/fax.rb +0 -46
  721. data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +0 -225
  722. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +0 -262
  723. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +0 -438
  724. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +0 -438
  725. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -185
  726. data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +0 -182
  727. data/lib/twilio-ruby/rest/preview/acc_security/service.rb +0 -388
  728. data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -43
  729. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -211
  730. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -203
  731. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -227
  732. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -58
  733. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -392
  734. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -375
  735. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -435
  736. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -386
  737. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -479
  738. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -44
  739. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +0 -347
  740. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +0 -437
  741. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +0 -455
  742. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +0 -514
  743. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +0 -497
  744. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +0 -342
  745. data/lib/twilio-ruby/rest/preview/proxy/service.rb +0 -464
  746. data/lib/twilio-ruby/rest/preview/proxy.rb +0 -43
  747. data/lib/twilio-ruby/rest/preview/studio/flow/engagement/step.rb +0 -350
  748. data/lib/twilio-ruby/rest/preview/studio/flow/engagement.rb +0 -372
  749. data/lib/twilio-ruby/rest/preview/studio/flow.rb +0 -355
  750. data/lib/twilio-ruby/rest/preview/studio.rb +0 -43
  751. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -390
  752. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -413
  753. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -421
  754. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -390
  755. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -411
  756. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -418
  757. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -390
  758. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -411
  759. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -472
  760. data/lib/twilio-ruby/rest/preview/sync.rb +0 -43
  761. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -392
  762. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -417
  763. data/lib/twilio-ruby/rest/preview/understand/assistant/intent/field.rb +0 -379
  764. data/lib/twilio-ruby/rest/preview/understand/assistant/intent/sample.rb +0 -438
  765. data/lib/twilio-ruby/rest/preview/understand/assistant/intent.rb +0 -447
  766. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -390
  767. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -443
  768. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -562
  769. data/lib/twilio-ruby/rest/preview/understand.rb +0 -43
  770. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -388
  771. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -333
  772. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -313
  773. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -456
  774. data/spec/framework/request_spec.rb +0 -36
  775. data/spec/framework/serialize_spec.rb +0 -80
  776. data/spec/holodeck/holodeck.rb +0 -61
  777. data/spec/holodeck/hologram.rb +0 -4
  778. data/spec/http/http_client_spec.rb +0 -122
  779. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -226
  780. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -226
  781. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  782. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -107
  783. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  784. data/spec/integration/api/v2010/account/application_spec.rb +0 -280
  785. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -139
  786. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -103
  787. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -103
  788. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -102
  789. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -103
  790. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -103
  791. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -102
  792. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -103
  793. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -130
  794. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -139
  795. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -151
  796. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -181
  797. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -291
  798. data/spec/integration/api/v2010/account/call_spec.rb +0 -314
  799. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -282
  800. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -240
  801. data/spec/integration/api/v2010/account/conference_spec.rb +0 -179
  802. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -179
  803. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -137
  804. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  805. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -185
  806. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -185
  807. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -185
  808. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -341
  809. data/spec/integration/api/v2010/account/key_spec.rb +0 -180
  810. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -50
  811. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -164
  812. data/spec/integration/api/v2010/account/message_spec.rb +0 -290
  813. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -47
  814. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -47
  815. data/spec/integration/api/v2010/account/notification_spec.rb +0 -174
  816. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -195
  817. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -169
  818. data/spec/integration/api/v2010/account/queue_spec.rb +0 -242
  819. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -177
  820. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -168
  821. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -176
  822. data/spec/integration/api/v2010/account/recording_spec.rb +0 -189
  823. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -182
  824. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -180
  825. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -256
  826. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -244
  827. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -210
  828. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -220
  829. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -287
  830. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -258
  831. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -254
  832. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  833. data/spec/integration/api/v2010/account/token_spec.rb +0 -58
  834. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -169
  835. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  836. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  837. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  838. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  839. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  840. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  841. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  842. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  843. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  844. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -285
  845. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  846. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  847. data/spec/integration/api/v2010/account_spec.rb +0 -272
  848. data/spec/integration/chat/v1/credential_spec.rb +0 -223
  849. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -210
  850. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -284
  851. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -294
  852. data/spec/integration/chat/v1/service/channel_spec.rb +0 -277
  853. data/spec/integration/chat/v1/service/role_spec.rb +0 -263
  854. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -94
  855. data/spec/integration/chat/v1/service/user_spec.rb +0 -266
  856. data/spec/integration/chat/v1/service_spec.rb +0 -299
  857. data/spec/integration/chat/v2/credential_spec.rb +0 -223
  858. data/spec/integration/chat/v2/service/binding_spec.rb +0 -177
  859. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -210
  860. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -257
  861. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -405
  862. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -307
  863. data/spec/integration/chat/v2/service/channel_spec.rb +0 -281
  864. data/spec/integration/chat/v2/service/role_spec.rb +0 -263
  865. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -180
  866. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -94
  867. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  868. data/spec/integration/chat/v2/service_spec.rb +0 -354
  869. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -128
  870. data/spec/integration/fax/v1/fax_spec.rb +0 -271
  871. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -223
  872. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -210
  873. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -284
  874. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -294
  875. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -277
  876. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -263
  877. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -94
  878. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -266
  879. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -299
  880. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -223
  881. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -177
  882. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -210
  883. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -257
  884. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -405
  885. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -307
  886. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -281
  887. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -263
  888. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -180
  889. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -94
  890. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  891. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -354
  892. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -71
  893. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  894. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  895. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  896. data/spec/integration/messaging/v1/service_spec.rb +0 -263
  897. data/spec/integration/monitor/v1/alert_spec.rb +0 -163
  898. data/spec/integration/monitor/v1/event_spec.rb +0 -150
  899. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  900. data/spec/integration/notify/v1/service/binding_spec.rb +0 -225
  901. data/spec/integration/notify/v1/service/notification_spec.rb +0 -99
  902. data/spec/integration/notify/v1/service/segment_spec.rb +0 -86
  903. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +0 -118
  904. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +0 -268
  905. data/spec/integration/notify/v1/service/user_spec.rb +0 -213
  906. data/spec/integration/notify/v1/service_spec.rb +0 -286
  907. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -52
  908. data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -52
  909. data/spec/integration/preview/acc_security/service_spec.rb +0 -185
  910. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -58
  911. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  912. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -45
  913. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -238
  914. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -233
  915. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -249
  916. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -237
  917. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -246
  918. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -111
  919. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -227
  920. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -393
  921. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -123
  922. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -144
  923. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  924. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -254
  925. data/spec/integration/preview/proxy/service/phone_number_spec.rb +0 -173
  926. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +0 -106
  927. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +0 -166
  928. data/spec/integration/preview/proxy/service/session/participant_spec.rb +0 -226
  929. data/spec/integration/preview/proxy/service/session_spec.rb +0 -218
  930. data/spec/integration/preview/proxy/service/short_code_spec.rb +0 -173
  931. data/spec/integration/preview/proxy/service_spec.rb +0 -202
  932. data/spec/integration/preview/studio/flow/engagement/step_spec.rb +0 -98
  933. data/spec/integration/preview/studio/flow/engagement_spec.rb +0 -145
  934. data/spec/integration/preview/studio/flow_spec.rb +0 -117
  935. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -204
  936. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  937. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -254
  938. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -204
  939. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -209
  940. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -254
  941. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -204
  942. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -209
  943. data/spec/integration/preview/sync/service_spec.rb +0 -246
  944. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -210
  945. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -246
  946. data/spec/integration/preview/understand/assistant/intent/field_spec.rb +0 -207
  947. data/spec/integration/preview/understand/assistant/intent/sample_spec.rb +0 -253
  948. data/spec/integration/preview/understand/assistant/intent_spec.rb +0 -250
  949. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -241
  950. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -306
  951. data/spec/integration/preview/understand/assistant_spec.rb +0 -266
  952. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  953. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -262
  954. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -51
  955. data/spec/integration/preview/wireless/sim_spec.rb +0 -210
  956. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -139
  957. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  958. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -130
  959. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  960. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -140
  961. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -56
  962. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  963. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -184
  964. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -136
  965. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -166
  966. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -181
  967. data/spec/integration/proxy/v1/service/session_spec.rb +0 -230
  968. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -182
  969. data/spec/integration/proxy/v1/service_spec.rb +0 -215
  970. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -51
  971. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -54
  972. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -101
  973. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -171
  974. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -51
  975. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -54
  976. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -101
  977. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -171
  978. data/spec/integration/studio/v1/flow_spec.rb +0 -117
  979. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -204
  980. data/spec/integration/sync/v1/service/document_spec.rb +0 -257
  981. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  982. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -204
  983. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -257
  984. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  985. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -204
  986. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -257
  987. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  988. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -249
  989. data/spec/integration/sync/v1/service_spec.rb +0 -254
  990. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -236
  991. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -159
  992. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -194
  993. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -129
  994. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -96
  995. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -81
  996. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -108
  997. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -146
  998. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -298
  999. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -326
  1000. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -194
  1001. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -188
  1002. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -92
  1003. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -89
  1004. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -70
  1005. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -116
  1006. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -294
  1007. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -97
  1008. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  1009. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -71
  1010. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -272
  1011. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -94
  1012. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  1013. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -105
  1014. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -295
  1015. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -192
  1016. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -192
  1017. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -252
  1018. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -267
  1019. data/spec/integration/trunking/v1/trunk_spec.rb +0 -282
  1020. data/spec/integration/video/v1/composition_settings_spec.rb +0 -86
  1021. data/spec/integration/video/v1/composition_spec.rb +0 -325
  1022. data/spec/integration/video/v1/recording_settings_spec.rb +0 -86
  1023. data/spec/integration/video/v1/recording_spec.rb +0 -177
  1024. data/spec/integration/video/v1/room/recording_spec.rb +0 -186
  1025. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -96
  1026. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -134
  1027. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  1028. data/spec/integration/video/v1/room_spec.rb +0 -257
  1029. data/spec/integration/wireless/v1/command_spec.rb +0 -166
  1030. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -270
  1031. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -87
  1032. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -67
  1033. data/spec/integration/wireless/v1/sim_spec.rb +0 -216
  1034. data/spec/jwt/access_token_spec.rb +0 -151
  1035. data/spec/jwt/client_capability_spec.rb +0 -104
  1036. data/spec/jwt/task_router_spec.rb +0 -172
  1037. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  1038. data/spec/rest/client_spec.rb +0 -61
  1039. data/spec/security/request_validator_spec.rb +0 -113
  1040. data/spec/spec_helper.rb +0 -38
  1041. data/spec/support/fakeweb.rb +0 -2
  1042. data/spec/twilio_spec.rb +0 -15
  1043. data/spec/twiml/messaging_response_spec.rb +0 -235
  1044. data/spec/twiml/voice_response_spec.rb +0 -807
  1045. data/spec/util/configuration_spec.rb +0 -15
  1046. data/spec/util/url_encode_spec.rb +0 -12
  1047. /data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  1048. /data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  1049. /data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
@@ -1,833 +1,979 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
6
- #
7
- # frozen_string_literal: true
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Api
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
8
14
 
9
- module Twilio
10
- module REST
11
- class Api < Domain
12
- class V2010 < Version
13
- class AccountContext < InstanceContext
14
- class CallList < ListResource
15
- ##
16
- # Initialize the CallList
17
- # @param [Version] version Version that contains the resource
18
- # @param [String] account_sid The unique id of the
19
- # [Account](https://www.twilio.com/docs/api/rest/account) responsible for creating
20
- # this Call.
21
- # @return [CallList] CallList
22
- def initialize(version, account_sid: nil)
23
- super(version)
24
-
25
- # Path Solution
26
- @solution = {account_sid: account_sid}
27
- @uri = "/Accounts/#{@solution[:account_sid]}/Calls.json"
28
-
29
- # Components
30
- @feedback_summaries = nil
31
- end
32
-
33
- ##
34
- # Retrieve a single page of CallInstance records from the API.
35
- # Request is executed immediately.
36
- # @param [String] to The phone number, SIP address, or client identifier to call.
37
- # @param [String] from The phone number or client identifier to use as the caller
38
- # id. If using a phone number, it must be a Twilio number or a Verified [outgoing
39
- # caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your
40
- # account. If the `To` parameter is a phone number, `From` must also be a phone
41
- # number.
42
- # @param [String] method The HTTP method Twilio should use when making its request
43
- # to the `Url` parameter's value. Defaults to `POST`. If an `ApplicationSid`
44
- # parameter is present, this parameter is ignored.
45
- # @param [String] fallback_url A URL that Twilio will request if an error occurs
46
- # requesting or executing the TwiML at `Url`. If an `ApplicationSid` parameter is
47
- # present, this parameter is ignored.
48
- # @param [String] fallback_method The HTTP method that Twilio should use to
49
- # request the `FallbackUrl`. Must be either `GET` or `POST`. Defaults to `POST`.
50
- # If an `ApplicationSid` parameter is present, this parameter is ignored.
51
- # @param [String] status_callback A URL that Twilio will send asynchronous webhook
52
- # requests to on every call event specified in the `StatusCallbackEvent`
53
- # parameter. If no event is specified, Twilio will send `completed` by default. If
54
- # an `ApplicationSid` parameter is present, this parameter is ignored. URLs must
55
- # contain a valid hostname (underscores are not permitted).
56
- # @param [String] status_callback_event The call progress events that will trigger
57
- # a webhook from Twilio. Available values are `initiated`, `ringing`, `answered`,
58
- # and `completed`. If no event is specified, defaults to `completed`. If you want
59
- # to receive multiple events, please provide multiple `StatusCallbackEvent` values
60
- # as individual parameters in the `POST` request. See the code sample for
61
- # [monitoring call
62
- # progress](https://www.twilio.com/docs/voice/api/call?code-sample=code-create-a-call-and-specify-a-statuscallbackevent). If an `ApplicationSid` is present, this parameter is ignored.
63
- # @param [String] status_callback_method The HTTP method Twilio should use when
64
- # requesting the `StatusCallback` URL. Defaults to `POST`. If an `ApplicationSid`
65
- # parameter is present, this parameter is ignored.
66
- # @param [String] send_digits A string of keys to dial after connecting to the
67
- # number, maximum of 32 digits. Valid digits in the string include: any digit
68
- # (`0`-`9`), '`#`', '`*`' and '`w`' (to insert a half second pause). For example,
69
- # if you connected to a company phone number and wanted to pause for one second,
70
- # dial extension 1234, and then the pound key, use `SendDigits=ww1234#`. Remember
71
- # to URL-encode this string, since the '`#`' character has special meaning in a
72
- # URL. If both `SendDigits` and `MachineDetection` parameters are provided, then
73
- # `MachineDetection` will be ignored.
74
- # @param [String] if_machine The if_machine
75
- # @param [String] timeout The integer number of seconds that Twilio should allow
76
- # the phone to ring before assuming there is no answer. Default is `60` seconds,
77
- # the maximum is `600` seconds. For some call flows, Twilio will add a 5-second
78
- # buffer to the timeout value provided, so if you enter a timeout value of 10
79
- # seconds, you could see actual timeout closer to 15 seconds. Note, you could set
80
- # this to a low value like `15` to hang up before reaching an answering machine or
81
- # voicemail.
82
- # @param [Boolean] record Set this parameter to `true` to record the entirety of a
83
- # phone call. The `RecordingUrl` will be sent to the `StatusCallback` URL.
84
- # Defaults to false.
85
- # @param [String] recording_channels `mono` or `dual` – defaults to `mono`. Set
86
- # this parameter to specify the number of channels in the final recording. In a
87
- # mono-channel recording, both legs of the call are mixed down into a single
88
- # channel within a single recording file. With dual-channel recording, both legs
89
- # use separate channels within a single recording file. In dual-channel
90
- # recordings, the parent call will always be in the first channel, and the child
91
- # call will always be in the second channel.
92
- # @param [String] recording_status_callback A URL that Twilio will send a webhook
93
- # request to when the recording is available for access.
94
- # @param [String] recording_status_callback_method The HTTP method Twilio should
95
- # use when requesting the `RecordingStatusCallback` URL. Defaults to `POST`.
96
- # @param [String] sip_auth_username The sip_auth_username
97
- # @param [String] sip_auth_password The sip_auth_password
98
- # @param [String] machine_detection Detect if a human, answering machine, or fax
99
- # has picked up the call. Use `Enable` if you would like Twilio to return an
100
- # `AnsweredBy` value as soon as it identifies the called party. If you would like
101
- # to leave a message on an answering machine, specify `DetectMessageEnd`. If both
102
- # `SendDigits` and `MachineDetection` parameters are provided, then
103
- # MachineDetection will be ignored. [Detailed documentation is
104
- # here](https://www.twilio.com/docs/voice/answering-machine-detection).
105
- # @param [String] machine_detection_timeout The number of seconds that Twilio
106
- # should attempt to perform answering machine detection before timing out and
107
- # firing a voice request with `AnsweredBy` of `unknown`. Defaults to 30 seconds.
108
- # @param [String] recording_status_callback_event The recording status events that
109
- # will trigger Twilio to send webhooks on to the URL specified in
110
- # `RecordingStatusCallback`. The available values are `in-progress`, `completed`,
111
- # and `failed`. Defaults are `completed` and `failed`. To specify multiple values,
112
- # separate them with a space. If any values are specified, the defaults are no
113
- # longer applicable.
114
- # @param [String] trim `trim-silence` or `do-not-trim`. Set this parameter to
115
- # define whether leading and trailing silence is trimmed from the recording.
116
- # Defaults to `trim-silence`.
117
- # @param [String] caller_id The phone number, SIP address, or Client identifier
118
- # that made this Call. Phone numbers are in [E.164
119
- # format](https://www.twilio.com/docs/glossary/what-e164) (e.g., +16175551212).
120
- # SIP addresses are formatted as `name@company.com`.
121
- # @param [String] url The fully qualified URL that hosts instructions for the
122
- # call. Twilio will consult this URL when the call connects. See the [Url
123
- # Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) details in [Making Calls](https://www.twilio.com/docs/voice/make-calls) for more details.
124
- # @param [String] application_sid The 34-character SID of the application Twilio
125
- # should use to handle this phone call. If this parameter is present, Twilio will
126
- # ignore all of the voice URLs passed and use the URLs set on the application. See
127
- # the [ApplicationSid
128
- # Parameter](https://www.twilio.com/docs/voice/make-calls#specify-an-applicationsid-parameter) section in [Making Calls](https://www.twilio.com/docs/voice/make-calls) for more details.
129
- # @return [CallInstance] Newly created CallInstance
130
- def create(to: nil, from: nil, method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_event: :unset, status_callback_method: :unset, send_digits: :unset, if_machine: :unset, timeout: :unset, record: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, machine_detection: :unset, machine_detection_timeout: :unset, recording_status_callback_event: :unset, trim: :unset, caller_id: :unset, url: :unset, application_sid: :unset)
131
- data = Twilio::Values.of({
132
- 'To' => to,
133
- 'From' => from,
134
- 'Url' => url,
135
- 'ApplicationSid' => application_sid,
136
- 'Method' => method,
137
- 'FallbackUrl' => fallback_url,
138
- 'FallbackMethod' => fallback_method,
139
- 'StatusCallback' => status_callback,
140
- 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
141
- 'StatusCallbackMethod' => status_callback_method,
142
- 'SendDigits' => send_digits,
143
- 'IfMachine' => if_machine,
144
- 'Timeout' => timeout,
145
- 'Record' => record,
146
- 'RecordingChannels' => recording_channels,
147
- 'RecordingStatusCallback' => recording_status_callback,
148
- 'RecordingStatusCallbackMethod' => recording_status_callback_method,
149
- 'SipAuthUsername' => sip_auth_username,
150
- 'SipAuthPassword' => sip_auth_password,
151
- 'MachineDetection' => machine_detection,
152
- 'MachineDetectionTimeout' => machine_detection_timeout,
153
- 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
154
- 'Trim' => trim,
155
- 'CallerId' => caller_id,
156
- })
157
-
158
- payload = @version.create(
159
- 'POST',
160
- @uri,
161
- data: data
162
- )
163
-
164
- CallInstance.new(@version, payload, account_sid: @solution[:account_sid], )
165
- end
166
-
167
- ##
168
- # Lists CallInstance records from the API as a list.
169
- # Unlike stream(), this operation is eager and will load `limit` records into
170
- # memory before returning.
171
- # @param [String] to Only show calls to this phone number, SIP address, Client
172
- # identifier or SIM SID.
173
- # @param [String] from Only show calls from this phone number, SIP address, Client
174
- # identifier or SIM SID.
175
- # @param [String] parent_call_sid Only show calls spawned by the Call with this
176
- # SID.
177
- # @param [call.Status] status Only show calls currently in the specified status.
178
- # May be `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`,
179
- # `busy`, or `no-answer`.
180
- # @param [Time] start_time_before StartTime to filter on
181
- # @param [Time] start_time StartTime to filter on
182
- # @param [Time] start_time_after StartTime to filter on
183
- # @param [Time] end_time_before EndTime to filter on
184
- # @param [Time] end_time EndTime to filter on
185
- # @param [Time] end_time_after EndTime to filter on
186
- # @param [Integer] limit Upper limit for the number of records to return. stream()
187
- # guarantees to never return more than limit. Default is no limit
188
- # @param [Integer] page_size Number of records to fetch per request, when
189
- # not set will use the default value of 50 records. If no page_size is defined
190
- # but a limit is defined, stream() will attempt to read the limit with the most
191
- # efficient page size, i.e. min(limit, 1000)
192
- # @return [Array] Array of up to limit results
193
- def list(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, limit: nil, page_size: nil)
194
- self.stream(
195
- to: to,
196
- from: from,
197
- parent_call_sid: parent_call_sid,
198
- status: status,
199
- start_time_before: start_time_before,
200
- start_time: start_time,
201
- start_time_after: start_time_after,
202
- end_time_before: end_time_before,
203
- end_time: end_time,
204
- end_time_after: end_time_after,
205
- limit: limit,
206
- page_size: page_size
207
- ).entries
208
- end
209
-
210
- ##
211
- # Streams CallInstance records from the API as an Enumerable.
212
- # This operation lazily loads records as efficiently as possible until the limit
213
- # is reached.
214
- # @param [String] to Only show calls to this phone number, SIP address, Client
215
- # identifier or SIM SID.
216
- # @param [String] from Only show calls from this phone number, SIP address, Client
217
- # identifier or SIM SID.
218
- # @param [String] parent_call_sid Only show calls spawned by the Call with this
219
- # SID.
220
- # @param [call.Status] status Only show calls currently in the specified status.
221
- # May be `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`,
222
- # `busy`, or `no-answer`.
223
- # @param [Time] start_time_before StartTime to filter on
224
- # @param [Time] start_time StartTime to filter on
225
- # @param [Time] start_time_after StartTime to filter on
226
- # @param [Time] end_time_before EndTime to filter on
227
- # @param [Time] end_time EndTime to filter on
228
- # @param [Time] end_time_after EndTime to filter on
229
- # @param [Integer] limit Upper limit for the number of records to return. stream()
230
- # guarantees to never return more than limit. Default is no limit.
231
- # @param [Integer] page_size Number of records to fetch per request, when
232
- # not set will use the default value of 50 records. If no page_size is defined
233
- # but a limit is defined, stream() will attempt to read the limit with the most
234
- # efficient page size, i.e. min(limit, 1000)
235
- # @return [Enumerable] Enumerable that will yield up to limit results
236
- def stream(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, limit: nil, page_size: nil)
237
- limits = @version.read_limits(limit, page_size)
238
-
239
- page = self.page(
240
- to: to,
241
- from: from,
242
- parent_call_sid: parent_call_sid,
243
- status: status,
244
- start_time_before: start_time_before,
245
- start_time: start_time,
246
- start_time_after: start_time_after,
247
- end_time_before: end_time_before,
248
- end_time: end_time,
249
- end_time_after: end_time_after,
250
- page_size: limits[:page_size],
251
- )
252
-
253
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
254
- end
255
-
256
- ##
257
- # When passed a block, yields CallInstance records from the API.
258
- # This operation lazily loads records as efficiently as possible until the limit
259
- # is reached.
260
- def each
261
- limits = @version.read_limits
262
-
263
- page = self.page(page_size: limits[:page_size], )
264
-
265
- @version.stream(page,
266
- limit: limits[:limit],
267
- page_limit: limits[:page_limit]).each {|x| yield x}
268
- end
269
-
270
- ##
271
- # Retrieve a single page of CallInstance records from the API.
272
- # Request is executed immediately.
273
- # @param [String] to Only show calls to this phone number, SIP address, Client
274
- # identifier or SIM SID.
275
- # @param [String] from Only show calls from this phone number, SIP address, Client
276
- # identifier or SIM SID.
277
- # @param [String] parent_call_sid Only show calls spawned by the Call with this
278
- # SID.
279
- # @param [call.Status] status Only show calls currently in the specified status.
280
- # May be `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`,
281
- # `busy`, or `no-answer`.
282
- # @param [Time] start_time_before StartTime to filter on
283
- # @param [Time] start_time StartTime to filter on
284
- # @param [Time] start_time_after StartTime to filter on
285
- # @param [Time] end_time_before EndTime to filter on
286
- # @param [Time] end_time EndTime to filter on
287
- # @param [Time] end_time_after EndTime to filter on
288
- # @param [String] page_token PageToken provided by the API
289
- # @param [Integer] page_number Page Number, this value is simply for client state
290
- # @param [Integer] page_size Number of records to return, defaults to 50
291
- # @return [Page] Page of CallInstance
292
- def page(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
293
- params = Twilio::Values.of({
294
- 'To' => to,
295
- 'From' => from,
296
- 'ParentCallSid' => parent_call_sid,
297
- 'Status' => status,
298
- 'StartTime<' => Twilio.serialize_iso8601_datetime(start_time_before),
299
- 'StartTime' => Twilio.serialize_iso8601_datetime(start_time),
300
- 'StartTime>' => Twilio.serialize_iso8601_datetime(start_time_after),
301
- 'EndTime<' => Twilio.serialize_iso8601_datetime(end_time_before),
302
- 'EndTime' => Twilio.serialize_iso8601_datetime(end_time),
303
- 'EndTime>' => Twilio.serialize_iso8601_datetime(end_time_after),
304
- 'PageToken' => page_token,
305
- 'Page' => page_number,
306
- 'PageSize' => page_size,
307
- })
308
- response = @version.page(
309
- 'GET',
310
- @uri,
311
- params
312
- )
313
- CallPage.new(@version, response, @solution)
314
- end
315
-
316
- ##
317
- # Retrieve a single page of CallInstance records from the API.
318
- # Request is executed immediately.
319
- # @param [String] target_url API-generated URL for the requested results page
320
- # @return [Page] Page of CallInstance
321
- def get_page(target_url)
322
- response = @version.domain.request(
323
- 'GET',
324
- target_url
325
- )
326
- CallPage.new(@version, response, @solution)
327
- end
328
-
329
- ##
330
- # Access the feedback_summaries
331
- # @param [String] sid The sid
332
- # @return [FeedbackSummaryList]
333
- # @return [FeedbackSummaryContext] if sid was passed.
334
- def feedback_summaries(sid=:unset)
335
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
336
-
337
- if sid != :unset
338
- return FeedbackSummaryContext.new(@version, @solution[:account_sid], sid, )
339
- end
340
-
341
- @feedback_summaries ||= FeedbackSummaryList.new(@version, account_sid: @solution[:account_sid], )
342
- end
343
-
344
- ##
345
- # Provide a user friendly representation
346
- def to_s
347
- '#<Twilio.Api.V2010.CallList>'
348
- end
349
- end
350
-
351
- class CallPage < Page
352
- ##
353
- # Initialize the CallPage
354
- # @param [Version] version Version that contains the resource
355
- # @param [Response] response Response from the API
356
- # @param [Hash] solution Path solution for the resource
357
- # @return [CallPage] CallPage
358
- def initialize(version, response, solution)
359
- super(version, response)
360
-
361
- # Path Solution
362
- @solution = solution
363
- end
364
-
365
- ##
366
- # Build an instance of CallInstance
367
- # @param [Hash] payload Payload response from the API
368
- # @return [CallInstance] CallInstance
369
- def get_instance(payload)
370
- CallInstance.new(@version, payload, account_sid: @solution[:account_sid], )
371
- end
372
-
373
- ##
374
- # Provide a user friendly representation
375
- def to_s
376
- '<Twilio.Api.V2010.CallPage>'
377
- end
378
- end
379
-
380
- class CallContext < InstanceContext
381
- ##
382
- # Initialize the CallContext
383
- # @param [Version] version Version that contains the resource
384
- # @param [String] account_sid The account_sid
385
- # @param [String] sid The Call Sid that uniquely identifies the Call to fetch
386
- # @return [CallContext] CallContext
387
- def initialize(version, account_sid, sid)
388
- super(version)
389
-
390
- # Path Solution
391
- @solution = {account_sid: account_sid, sid: sid, }
392
- @uri = "/Accounts/#{@solution[:account_sid]}/Calls/#{@solution[:sid]}.json"
393
-
394
- # Dependents
395
- @recordings = nil
396
- @notifications = nil
397
- @feedback = nil
398
- end
399
-
400
- ##
401
- # Deletes the CallInstance
402
- # @return [Boolean] true if delete succeeds, true otherwise
403
- def delete
404
- @version.delete('delete', @uri)
405
- end
406
-
407
- ##
408
- # Fetch a CallInstance
409
- # @return [CallInstance] Fetched CallInstance
410
- def fetch
411
- params = Twilio::Values.of({})
412
-
413
- payload = @version.fetch(
414
- 'GET',
415
- @uri,
416
- params,
417
- )
418
-
419
- CallInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
420
- end
421
-
422
- ##
423
- # Update the CallInstance
424
- # @param [String] url that hosts instructions for the call. Twilio will consult
425
- # this URL when the call connects. See the [Url
426
- # Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter)
427
- # section in [Making Calls](https://www.twilio.com/docs/voice/make-calls) for more
428
- # details.
429
- # @param [String] method The HTTP method Twilio should use when making its request
430
- # to the `Url` parameter's value. Defaults to `POST`. If an `ApplicationSid`
431
- # parameter is present, this parameter is ignored.
432
- # @param [call.UpdateStatus] status Either `canceled` or `completed`.
433
- # Specifying `canceled` will attempt to hang up calls that are queued or ringing,
434
- # but will not affect calls already in progress. Specifying `completed` will
435
- # attempt to hang up a call even if it's already in progress.
436
- # @param [String] fallback_url A URL that Twilio will request if an error occurs
437
- # when requesting or executing the TwiML at `Url`. If an `ApplicationSid`
438
- # parameter is present, this parameter is ignored.
439
- # @param [String] fallback_method The HTTP method that Twilio should use to
440
- # request the `FallbackUrl`. Must be either `GET` or `POST`. Defaults to `POST`.
441
- # If an `ApplicationSid` parameter is present, this parameter is ignored.
442
- # @param [String] status_callback A URL that Twilio will send asynchronous webhook
443
- # requests to on every call event specified in the `StatusCallbackEvent`
444
- # parameter. If no event is specified, Twilio will send `completed` by default. If
445
- # an `ApplicationSid` parameter is present, this parameter is ignored. URLs must
446
- # contain a valid hostname (underscores are not permitted).
447
- # @param [String] status_callback_method The HTTP method Twilio should use when
448
- # requesting the `StatusCallback` URL. Defaults to `POST`. If an `ApplicationSid`
449
- # parameter is present, this parameter is ignored.
450
- # @return [CallInstance] Updated CallInstance
451
- def update(url: :unset, method: :unset, status: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_method: :unset)
452
- data = Twilio::Values.of({
453
- 'Url' => url,
454
- 'Method' => method,
455
- 'Status' => status,
456
- 'FallbackUrl' => fallback_url,
457
- 'FallbackMethod' => fallback_method,
458
- 'StatusCallback' => status_callback,
459
- 'StatusCallbackMethod' => status_callback_method,
460
- })
461
-
462
- payload = @version.update(
463
- 'POST',
464
- @uri,
465
- data: data,
466
- )
467
-
468
- CallInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
469
- end
470
-
471
- ##
472
- # Access the recordings
473
- # @return [RecordingList]
474
- # @return [RecordingContext] if sid was passed.
475
- def recordings(sid=:unset)
476
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
477
-
478
- if sid != :unset
479
- return RecordingContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
480
- end
481
-
482
- unless @recordings
483
- @recordings = RecordingList.new(
484
- @version,
485
- account_sid: @solution[:account_sid],
486
- call_sid: @solution[:sid],
487
- )
488
- end
489
-
490
- @recordings
491
- end
492
-
493
- ##
494
- # Access the notifications
495
- # @return [NotificationList]
496
- # @return [NotificationContext] if sid was passed.
497
- def notifications(sid=:unset)
498
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
499
-
500
- if sid != :unset
501
- return NotificationContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
502
- end
503
-
504
- unless @notifications
505
- @notifications = NotificationList.new(
506
- @version,
507
- account_sid: @solution[:account_sid],
508
- call_sid: @solution[:sid],
509
- )
510
- end
511
-
512
- @notifications
513
- end
514
-
515
- ##
516
- # Access the feedback
517
- # @return [FeedbackList]
518
- # @return [FeedbackContext]
519
- def feedback
520
- FeedbackContext.new(@version, @solution[:account_sid], @solution[:sid], )
521
- end
522
-
523
- ##
524
- # Provide a user friendly representation
525
- def to_s
526
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
527
- "#<Twilio.Api.V2010.CallContext #{context}>"
528
- end
529
- end
530
-
531
- class CallInstance < InstanceResource
532
- ##
533
- # Initialize the CallInstance
534
- # @param [Version] version Version that contains the resource
535
- # @param [Hash] payload payload that contains response from Twilio
536
- # @param [String] account_sid The unique id of the
537
- # [Account](https://www.twilio.com/docs/api/rest/account) responsible for creating
538
- # this Call.
539
- # @param [String] sid The Call Sid that uniquely identifies the Call to fetch
540
- # @return [CallInstance] CallInstance
541
- def initialize(version, payload, account_sid: nil, sid: nil)
542
- super(version)
543
-
544
- # Marshaled Properties
545
- @properties = {
546
- 'account_sid' => payload['account_sid'],
547
- 'annotation' => payload['annotation'],
548
- 'answered_by' => payload['answered_by'],
549
- 'api_version' => payload['api_version'],
550
- 'caller_name' => payload['caller_name'],
551
- 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
552
- 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
553
- 'direction' => payload['direction'],
554
- 'duration' => payload['duration'],
555
- 'end_time' => Twilio.deserialize_rfc2822(payload['end_time']),
556
- 'forwarded_from' => payload['forwarded_from'],
557
- 'from' => payload['from'],
558
- 'from_formatted' => payload['from_formatted'],
559
- 'group_sid' => payload['group_sid'],
560
- 'parent_call_sid' => payload['parent_call_sid'],
561
- 'phone_number_sid' => payload['phone_number_sid'],
562
- 'price' => payload['price'].to_f,
563
- 'price_unit' => payload['price_unit'],
564
- 'sid' => payload['sid'],
565
- 'start_time' => Twilio.deserialize_rfc2822(payload['start_time']),
566
- 'status' => payload['status'],
567
- 'subresource_uris' => payload['subresource_uris'],
568
- 'to' => payload['to'],
569
- 'to_formatted' => payload['to_formatted'],
570
- 'uri' => payload['uri'],
571
- }
572
-
573
- # Context
574
- @instance_context = nil
575
- @params = {'account_sid' => account_sid, 'sid' => sid || @properties['sid'], }
576
- end
577
-
578
- ##
579
- # Generate an instance context for the instance, the context is capable of
580
- # performing various actions. All instance actions are proxied to the context
581
- # @return [CallContext] CallContext for this CallInstance
582
- def context
583
- unless @instance_context
584
- @instance_context = CallContext.new(@version, @params['account_sid'], @params['sid'], )
585
- end
586
- @instance_context
587
- end
588
-
589
- ##
590
- # @return [String] The unique id of the Account responsible for creating this Call
591
- def account_sid
592
- @properties['account_sid']
593
- end
594
-
595
- ##
596
- # @return [String] The annotation provided for the Call
597
- def annotation
598
- @properties['annotation']
599
- end
600
-
601
- ##
602
- # @return [String] Either `human` or `machine` if this Call was initiated with answering machine detection. Empty otherwise.
603
- def answered_by
604
- @properties['answered_by']
605
- end
606
-
607
- ##
608
- # @return [String] The API Version used to create the Call
609
- def api_version
610
- @properties['api_version']
611
- end
612
-
613
- ##
614
- # @return [String] The caller's name if this Call was an incoming call to a phone number with Caller ID Lookup enabled. Empty otherwise.
615
- def caller_name
616
- @properties['caller_name']
617
- end
618
15
 
619
- ##
620
- # @return [Time] The date that this resource was created
621
- def date_created
622
- @properties['date_created']
623
- end
624
-
625
- ##
626
- # @return [Time] The date that this resource was last updated
627
- def date_updated
628
- @properties['date_updated']
629
- end
630
-
631
- ##
632
- # @return [String] A string describing the direction of the Call. `inbound` for inbound calls, `outbound-api` for calls initiated via the REST API or `outbound-dial` for calls initiated by a `Dial` verb.
633
- def direction
634
- @properties['direction']
635
- end
636
-
637
- ##
638
- # @return [String] The length of the Call in seconds.
639
- def duration
640
- @properties['duration']
641
- end
642
-
643
- ##
644
- # @return [Time] The end time of the Call. Null if the call did not complete successfully.
645
- def end_time
646
- @properties['end_time']
647
- end
648
-
649
- ##
650
- # @return [String] The forwarding phone number if this Call was an incoming call forwarded from another number (depends on carrier supporting forwarding). Empty otherwise.
651
- def forwarded_from
652
- @properties['forwarded_from']
653
- end
654
-
655
- ##
656
- # @return [String] The phone number, SIP address or Client identifier that made this Call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`.
657
- def from
658
- @properties['from']
659
- end
660
-
661
- ##
662
- # @return [String] The phone number, SIP address or Client identifier that made this Call. Formatted for display.
663
- def from_formatted
664
- @properties['from_formatted']
665
- end
666
-
667
- ##
668
- # @return [String] A 34-character Group Sid associated with this Call. Empty if no Group is associated with the Call.
669
- def group_sid
670
- @properties['group_sid']
671
- end
672
-
673
- ##
674
- # @return [String] A 34-character string that uniquely identifies the Call that created this leg.
675
- def parent_call_sid
676
- @properties['parent_call_sid']
677
- end
678
-
679
- ##
680
- # @return [String] If the call was inbound, this is the Sid of the `IncomingPhoneNumber` that received the call. If the call was outbound, it is the Sid of the `OutgoingCallerId` from which the call was placed.
681
- def phone_number_sid
682
- @properties['phone_number_sid']
683
- end
684
-
685
- ##
686
- # @return [String] The charge for this Call, in the currency associated with the account. Populated after the call is completed. May not be immediately available.
687
- def price
688
- @properties['price']
689
- end
690
-
691
- ##
692
- # @return [String] The currency in which `Price` is measured.
693
- def price_unit
694
- @properties['price_unit']
695
- end
696
-
697
- ##
698
- # @return [String] A 34-character string that uniquely identifies the Call resource.
699
- def sid
700
- @properties['sid']
701
- end
702
-
703
- ##
704
- # @return [Time] The start time of the Call. Null if the call has not yet been dialed.
705
- def start_time
706
- @properties['start_time']
707
- end
708
-
709
- ##
710
- # @return [call.Status] A string representing the status of the Call.
711
- def status
712
- @properties['status']
713
- end
714
-
715
- ##
716
- # @return [String] Call Instance Subresources
717
- def subresource_uris
718
- @properties['subresource_uris']
719
- end
720
-
721
- ##
722
- # @return [String] The phone number, SIP address or Client identifier that received this Call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`.
723
- def to
724
- @properties['to']
725
- end
726
-
727
- ##
728
- # @return [String] The phone number, SIP address or Client identifier that received this Call. Formatted for display.
729
- def to_formatted
730
- @properties['to_formatted']
731
- end
732
-
733
- ##
734
- # @return [String] The URI for this resource, relative to `https://api.twilio.com`
735
- def uri
736
- @properties['uri']
737
- end
738
-
739
- ##
740
- # Deletes the CallInstance
741
- # @return [Boolean] true if delete succeeds, true otherwise
742
- def delete
743
- context.delete
744
- end
745
-
746
- ##
747
- # Fetch a CallInstance
748
- # @return [CallInstance] Fetched CallInstance
749
- def fetch
750
- context.fetch
751
- end
752
-
753
- ##
754
- # Update the CallInstance
755
- # @param [String] url that hosts instructions for the call. Twilio will consult
756
- # this URL when the call connects. See the [Url
757
- # Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter)
758
- # section in [Making Calls](https://www.twilio.com/docs/voice/make-calls) for more
759
- # details.
760
- # @param [String] method The HTTP method Twilio should use when making its request
761
- # to the `Url` parameter's value. Defaults to `POST`. If an `ApplicationSid`
762
- # parameter is present, this parameter is ignored.
763
- # @param [call.UpdateStatus] status Either `canceled` or `completed`.
764
- # Specifying `canceled` will attempt to hang up calls that are queued or ringing,
765
- # but will not affect calls already in progress. Specifying `completed` will
766
- # attempt to hang up a call even if it's already in progress.
767
- # @param [String] fallback_url A URL that Twilio will request if an error occurs
768
- # when requesting or executing the TwiML at `Url`. If an `ApplicationSid`
769
- # parameter is present, this parameter is ignored.
770
- # @param [String] fallback_method The HTTP method that Twilio should use to
771
- # request the `FallbackUrl`. Must be either `GET` or `POST`. Defaults to `POST`.
772
- # If an `ApplicationSid` parameter is present, this parameter is ignored.
773
- # @param [String] status_callback A URL that Twilio will send asynchronous webhook
774
- # requests to on every call event specified in the `StatusCallbackEvent`
775
- # parameter. If no event is specified, Twilio will send `completed` by default. If
776
- # an `ApplicationSid` parameter is present, this parameter is ignored. URLs must
777
- # contain a valid hostname (underscores are not permitted).
778
- # @param [String] status_callback_method The HTTP method Twilio should use when
779
- # requesting the `StatusCallback` URL. Defaults to `POST`. If an `ApplicationSid`
780
- # parameter is present, this parameter is ignored.
781
- # @return [CallInstance] Updated CallInstance
782
- def update(url: :unset, method: :unset, status: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_method: :unset)
783
- context.update(
784
- url: url,
785
- method: method,
786
- status: status,
787
- fallback_url: fallback_url,
788
- fallback_method: fallback_method,
789
- status_callback: status_callback,
790
- status_callback_method: status_callback_method,
791
- )
792
- end
793
-
794
- ##
795
- # Access the recordings
796
- # @return [recordings] recordings
797
- def recordings
798
- context.recordings
799
- end
800
-
801
- ##
802
- # Access the notifications
803
- # @return [notifications] notifications
804
- def notifications
805
- context.notifications
806
- end
807
-
808
- ##
809
- # Access the feedback
810
- # @return [feedback] feedback
811
- def feedback
812
- context.feedback
813
- end
814
-
815
- ##
816
- # Provide a user friendly representation
817
- def to_s
818
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
819
- "<Twilio.Api.V2010.CallInstance #{values}>"
820
- end
821
-
822
- ##
823
- # Provide a detailed, user friendly representation
824
- def inspect
825
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
826
- "<Twilio.Api.V2010.CallInstance #{values}>"
16
+ module Twilio
17
+ module REST
18
+ class Api < ApiBase
19
+ class V2010 < Version
20
+ class AccountContext < InstanceContext
21
+
22
+ class CallList < ListResource
23
+
24
+ ##
25
+ # Initialize the CallList
26
+ # @param [Version] version Version that contains the resource
27
+ # @return [CallList] CallList
28
+ def initialize(version, account_sid: nil)
29
+ super(version)
30
+ # Path Solution
31
+ @solution = { account_sid: account_sid }
32
+ @uri = "/Accounts/#{@solution[:account_sid]}/Calls.json"
33
+
34
+ end
35
+ ##
36
+ # Create the CallInstance
37
+ # @param [String] to The phone number, SIP address, or client identifier to call.
38
+ # @param [String] from The phone number or client identifier to use as the caller id. If using a phone number, it must be a Twilio number or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your account. If the `to` parameter is a phone number, `From` must also be a phone number.
39
+ # @param [String] method The HTTP method we should use when calling the `url` parameter's value. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
40
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if an error occurs when requesting or executing the TwiML at `url`. If an `application_sid` parameter is present, this parameter is ignored.
41
+ # @param [String] fallback_method The HTTP method that we should use to request the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
42
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application. If no `status_callback_event` is specified, we will send the `completed` status. If an `application_sid` parameter is present, this parameter is ignored. URLs must contain a valid hostname (underscores are not permitted).
43
+ # @param [Array[String]] status_callback_event The call progress events that we will send to the `status_callback` URL. Can be: `initiated`, `ringing`, `answered`, and `completed`. If no event is specified, we send the `completed` status. If you want to receive multiple events, specify each one in a separate `status_callback_event` parameter. See the code sample for [monitoring call progress](https://www.twilio.com/docs/voice/api/call-resource?code-sample=code-create-a-call-resource-and-specify-a-statuscallbackevent&code-sdk-version=json). If an `application_sid` is present, this parameter is ignored.
44
+ # @param [String] status_callback_method The HTTP method we should use when calling the `status_callback` URL. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
45
+ # @param [String] send_digits The string of keys to dial after connecting to the number, with a maximum length of 32 digits. Valid digits in the string include any digit (`0`-`9`), '`A`', '`B`', '`C`', '`D`', '`#`', and '`*`'. You can also use '`w`' to insert a half-second pause and '`W`' to insert a one-second pause. For example, to pause for one second after connecting and then dial extension 1234 followed by the # key, set this parameter to `W1234#`. Be sure to URL-encode this string because the '`#`' character has special meaning in a URL. If both `SendDigits` and `MachineDetection` parameters are provided, then `MachineDetection` will be ignored.
46
+ # @param [String] timeout The integer number of seconds that we should allow the phone to ring before assuming there is no answer. The default is `60` seconds and the maximum is `600` seconds. For some call flows, we will add a 5-second buffer to the timeout value you provide. For this reason, a timeout value of 10 seconds could result in an actual timeout closer to 15 seconds. You can set this to a short time, such as `15` seconds, to hang up before reaching an answering machine or voicemail.
47
+ # @param [Boolean] record Whether to record the call. Can be `true` to record the phone call, or `false` to not. The default is `false`. The `recording_url` is sent to the `status_callback` URL.
48
+ # @param [String] recording_channels The number of channels in the final recording. Can be: `mono` or `dual`. The default is `mono`. `mono` records both legs of the call in a single channel of the recording file. `dual` records each leg to a separate channel of the recording file. The first channel of a dual-channel recording contains the parent call and the second channel contains the child call.
49
+ # @param [String] recording_status_callback The URL that we call when the recording is available to be accessed.
50
+ # @param [String] recording_status_callback_method The HTTP method we should use when calling the `recording_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
51
+ # @param [String] sip_auth_username The username used to authenticate the caller making a SIP call.
52
+ # @param [String] sip_auth_password The password required to authenticate the user account specified in `sip_auth_username`.
53
+ # @param [String] machine_detection Whether to detect if a human, answering machine, or fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`. Use `Enable` if you would like us to return `AnsweredBy` as soon as the called party is identified. Use `DetectMessageEnd`, if you would like to leave a message on an answering machine. If `send_digits` is provided, this parameter is ignored. For more information, see [Answering Machine Detection](https://www.twilio.com/docs/voice/answering-machine-detection).
54
+ # @param [String] machine_detection_timeout The number of seconds that we should attempt to detect an answering machine before timing out and sending a voice request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds.
55
+ # @param [Array[String]] recording_status_callback_event The recording status events that will trigger calls to the URL specified in `recording_status_callback`. Can be: `in-progress`, `completed` and `absent`. Defaults to `completed`. Separate multiple values with a space.
56
+ # @param [String] trim Whether to trim any leading and trailing silence from the recording. Can be: `trim-silence` or `do-not-trim` and the default is `trim-silence`.
57
+ # @param [String] caller_id The phone number, SIP address, or Client identifier that made this call. Phone numbers are in [E.164 format](https://wwnw.twilio.com/docs/glossary/what-e164) (e.g., +16175551212). SIP addresses are formatted as `name@company.com`.
58
+ # @param [String] machine_detection_speech_threshold The number of milliseconds that is used as the measuring stick for the length of the speech activity, where durations lower than this value will be interpreted as a human and longer than this value as a machine. Possible Values: 1000-6000. Default: 2400.
59
+ # @param [String] machine_detection_speech_end_threshold The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Possible Values: 500-5000. Default: 1200.
60
+ # @param [String] machine_detection_silence_timeout The number of milliseconds of initial silence after which an `unknown` AnsweredBy result will be returned. Possible Values: 2000-10000. Default: 5000.
61
+ # @param [String] async_amd Select whether to perform answering machine detection in the background. Default, blocks the execution of the call until Answering Machine Detection is completed. Can be: `true` or `false`.
62
+ # @param [String] async_amd_status_callback The URL that we should call using the `async_amd_status_callback_method` to notify customer application whether the call was answered by human, machine or fax.
63
+ # @param [String] async_amd_status_callback_method The HTTP method we should use when calling the `async_amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
64
+ # @param [String] byoc The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note that `byoc` is only meaningful when `to` is a phone number; it will otherwise be ignored. (Beta)
65
+ # @param [String] call_reason The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)
66
+ # @param [String] call_token A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.
67
+ # @param [String] recording_track The audio track to record for the call. Can be: `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the audio that is received by Twilio. `outbound` records the audio that is generated from Twilio. `both` records the audio that is received and generated by Twilio.
68
+ # @param [String] time_limit The maximum duration of the call in seconds. Constraints depend on account and configuration.
69
+ # @param [String] url The absolute URL that returns the TwiML instructions for the call. We will call this URL using the `method` when the call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) section in [Making Calls](https://www.twilio.com/docs/voice/make-calls).
70
+ # @param [String] twiml TwiML instructions for the call Twilio will use without fetching Twiml from url parameter. If both `twiml` and `url` are provided then `twiml` parameter will be ignored. Max 4000 characters.
71
+ # @param [String] application_sid The SID of the Application resource that will handle the call, if the call will be handled by an application.
72
+ # @return [CallInstance] Created CallInstance
73
+ def create(
74
+ to: nil,
75
+ from: nil,
76
+ method: :unset,
77
+ fallback_url: :unset,
78
+ fallback_method: :unset,
79
+ status_callback: :unset,
80
+ status_callback_event: :unset,
81
+ status_callback_method: :unset,
82
+ send_digits: :unset,
83
+ timeout: :unset,
84
+ record: :unset,
85
+ recording_channels: :unset,
86
+ recording_status_callback: :unset,
87
+ recording_status_callback_method: :unset,
88
+ sip_auth_username: :unset,
89
+ sip_auth_password: :unset,
90
+ machine_detection: :unset,
91
+ machine_detection_timeout: :unset,
92
+ recording_status_callback_event: :unset,
93
+ trim: :unset,
94
+ caller_id: :unset,
95
+ machine_detection_speech_threshold: :unset,
96
+ machine_detection_speech_end_threshold: :unset,
97
+ machine_detection_silence_timeout: :unset,
98
+ async_amd: :unset,
99
+ async_amd_status_callback: :unset,
100
+ async_amd_status_callback_method: :unset,
101
+ byoc: :unset,
102
+ call_reason: :unset,
103
+ call_token: :unset,
104
+ recording_track: :unset,
105
+ time_limit: :unset,
106
+ url: :unset,
107
+ twiml: :unset,
108
+ application_sid: :unset
109
+ )
110
+
111
+ data = Twilio::Values.of({
112
+ 'To' => to,
113
+ 'From' => from,
114
+ 'Method' => method,
115
+ 'FallbackUrl' => fallback_url,
116
+ 'FallbackMethod' => fallback_method,
117
+ 'StatusCallback' => status_callback,
118
+ 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
119
+ 'StatusCallbackMethod' => status_callback_method,
120
+ 'SendDigits' => send_digits,
121
+ 'Timeout' => timeout,
122
+ 'Record' => record,
123
+ 'RecordingChannels' => recording_channels,
124
+ 'RecordingStatusCallback' => recording_status_callback,
125
+ 'RecordingStatusCallbackMethod' => recording_status_callback_method,
126
+ 'SipAuthUsername' => sip_auth_username,
127
+ 'SipAuthPassword' => sip_auth_password,
128
+ 'MachineDetection' => machine_detection,
129
+ 'MachineDetectionTimeout' => machine_detection_timeout,
130
+ 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
131
+ 'Trim' => trim,
132
+ 'CallerId' => caller_id,
133
+ 'MachineDetectionSpeechThreshold' => machine_detection_speech_threshold,
134
+ 'MachineDetectionSpeechEndThreshold' => machine_detection_speech_end_threshold,
135
+ 'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
136
+ 'AsyncAmd' => async_amd,
137
+ 'AsyncAmdStatusCallback' => async_amd_status_callback,
138
+ 'AsyncAmdStatusCallbackMethod' => async_amd_status_callback_method,
139
+ 'Byoc' => byoc,
140
+ 'CallReason' => call_reason,
141
+ 'CallToken' => call_token,
142
+ 'RecordingTrack' => recording_track,
143
+ 'TimeLimit' => time_limit,
144
+ 'Url' => url,
145
+ 'Twiml' => twiml,
146
+ 'ApplicationSid' => application_sid,
147
+ })
148
+
149
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
150
+
151
+
152
+
153
+
154
+
155
+ payload = @version.create('POST', @uri, data: data, headers: headers)
156
+ CallInstance.new(
157
+ @version,
158
+ payload,
159
+ account_sid: @solution[:account_sid],
160
+ )
161
+ end
162
+
163
+
164
+ ##
165
+ # Lists CallInstance records from the API as a list.
166
+ # Unlike stream(), this operation is eager and will load `limit` records into
167
+ # memory before returning.
168
+ # @param [String] to Only show calls made to this phone number, SIP address, Client identifier or SIM SID.
169
+ # @param [String] from Only include calls from this phone number, SIP address, Client identifier or SIM SID.
170
+ # @param [String] parent_call_sid Only include calls spawned by calls with this SID.
171
+ # @param [Status] status The status of the calls to include. Can be: `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`, or `no-answer`.
172
+ # @param [Time] start_time Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
173
+ # @param [Time] start_time_before Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
174
+ # @param [Time] start_time_after Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
175
+ # @param [Time] end_time Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
176
+ # @param [Time] end_time_before Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
177
+ # @param [Time] end_time_after Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
178
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
179
+ # guarantees to never return more than limit. Default is no limit
180
+ # @param [Integer] page_size Number of records to fetch per request, when
181
+ # not set will use the default value of 50 records. If no page_size is defined
182
+ # but a limit is defined, stream() will attempt to read the limit with the most
183
+ # efficient page size, i.e. min(limit, 1000)
184
+ # @return [Array] Array of up to limit results
185
+ def list(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time: :unset, start_time_before: :unset, start_time_after: :unset, end_time: :unset, end_time_before: :unset, end_time_after: :unset, limit: nil, page_size: nil)
186
+ self.stream(
187
+ to: to,
188
+ from: from,
189
+ parent_call_sid: parent_call_sid,
190
+ status: status,
191
+ start_time: start_time,
192
+ start_time_before: start_time_before,
193
+ start_time_after: start_time_after,
194
+ end_time: end_time,
195
+ end_time_before: end_time_before,
196
+ end_time_after: end_time_after,
197
+ limit: limit,
198
+ page_size: page_size
199
+ ).entries
200
+ end
201
+
202
+ ##
203
+ # Streams Instance records from the API as an Enumerable.
204
+ # This operation lazily loads records as efficiently as possible until the limit
205
+ # is reached.
206
+ # @param [String] to Only show calls made to this phone number, SIP address, Client identifier or SIM SID.
207
+ # @param [String] from Only include calls from this phone number, SIP address, Client identifier or SIM SID.
208
+ # @param [String] parent_call_sid Only include calls spawned by calls with this SID.
209
+ # @param [Status] status The status of the calls to include. Can be: `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`, or `no-answer`.
210
+ # @param [Time] start_time Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
211
+ # @param [Time] start_time_before Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
212
+ # @param [Time] start_time_after Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
213
+ # @param [Time] end_time Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
214
+ # @param [Time] end_time_before Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
215
+ # @param [Time] end_time_after Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
216
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
217
+ # guarantees to never return more than limit. Default is no limit
218
+ # @param [Integer] page_size Number of records to fetch per request, when
219
+ # not set will use the default value of 50 records. If no page_size is defined
220
+ # but a limit is defined, stream() will attempt to read the limit with the most
221
+ # efficient page size, i.e. min(limit, 1000)
222
+ # @return [Enumerable] Enumerable that will yield up to limit results
223
+ def stream(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time: :unset, start_time_before: :unset, start_time_after: :unset, end_time: :unset, end_time_before: :unset, end_time_after: :unset, limit: nil, page_size: nil)
224
+ limits = @version.read_limits(limit, page_size)
225
+
226
+ page = self.page(
227
+ to: to,
228
+ from: from,
229
+ parent_call_sid: parent_call_sid,
230
+ status: status,
231
+ start_time: start_time,
232
+ start_time_before: start_time_before,
233
+ start_time_after: start_time_after,
234
+ end_time: end_time,
235
+ end_time_before: end_time_before,
236
+ end_time_after: end_time_after,
237
+ page_size: limits[:page_size], )
238
+
239
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
240
+ end
241
+
242
+ ##
243
+ # When passed a block, yields CallInstance records from the API.
244
+ # This operation lazily loads records as efficiently as possible until the limit
245
+ # is reached.
246
+ def each
247
+ limits = @version.read_limits
248
+
249
+ page = self.page(page_size: limits[:page_size], )
250
+
251
+ @version.stream(page,
252
+ limit: limits[:limit],
253
+ page_limit: limits[:page_limit]).each {|x| yield x}
254
+ end
255
+
256
+ ##
257
+ # Retrieve a single page of CallInstance records from the API.
258
+ # Request is executed immediately.
259
+ # @param [String] to Only show calls made to this phone number, SIP address, Client identifier or SIM SID.
260
+ # @param [String] from Only include calls from this phone number, SIP address, Client identifier or SIM SID.
261
+ # @param [String] parent_call_sid Only include calls spawned by calls with this SID.
262
+ # @param [Status] status The status of the calls to include. Can be: `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`, or `no-answer`.
263
+ # @param [Time] start_time Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
264
+ # @param [Time] start_time_before Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
265
+ # @param [Time] start_time_after Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
266
+ # @param [Time] end_time Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
267
+ # @param [Time] end_time_before Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
268
+ # @param [Time] end_time_after Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
269
+ # @param [String] page_token PageToken provided by the API
270
+ # @param [Integer] page_number Page Number, this value is simply for client state
271
+ # @param [Integer] page_size Number of records to return, defaults to 50
272
+ # @return [Page] Page of CallInstance
273
+ def page(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time: :unset, start_time_before: :unset, start_time_after: :unset, end_time: :unset, end_time_before: :unset, end_time_after: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
274
+ params = Twilio::Values.of({
275
+ 'To' => to,
276
+ 'From' => from,
277
+ 'ParentCallSid' => parent_call_sid,
278
+ 'Status' => status,
279
+ 'StartTime' => Twilio.serialize_iso8601_datetime(start_time),
280
+ 'StartTime<' => Twilio.serialize_iso8601_datetime(start_time_before),
281
+ 'StartTime>' => Twilio.serialize_iso8601_datetime(start_time_after),
282
+ 'EndTime' => Twilio.serialize_iso8601_datetime(end_time),
283
+ 'EndTime<' => Twilio.serialize_iso8601_datetime(end_time_before),
284
+ 'EndTime>' => Twilio.serialize_iso8601_datetime(end_time_after),
285
+ 'PageToken' => page_token,
286
+ 'Page' => page_number,
287
+ 'PageSize' => page_size,
288
+ })
289
+ headers = Twilio::Values.of({})
290
+
291
+
292
+
293
+ response = @version.page('GET', @uri, params: params, headers: headers)
294
+
295
+ CallPage.new(@version, response, @solution)
296
+ end
297
+
298
+ ##
299
+ # Retrieve a single page of CallInstance records from the API.
300
+ # Request is executed immediately.
301
+ # @param [String] target_url API-generated URL for the requested results page
302
+ # @return [Page] Page of CallInstance
303
+ def get_page(target_url)
304
+ response = @version.domain.request(
305
+ 'GET',
306
+ target_url
307
+ )
308
+ CallPage.new(@version, response, @solution)
309
+ end
310
+
311
+
312
+
313
+ # Provide a user friendly representation
314
+ def to_s
315
+ '#<Twilio.Api.V2010.CallList>'
316
+ end
317
+ end
318
+
319
+
320
+ class CallContext < InstanceContext
321
+ ##
322
+ # Initialize the CallContext
323
+ # @param [Version] version Version that contains the resource
324
+ # @param [String] account_sid The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Call resource(s) to update.
325
+ # @param [String] sid The Twilio-provided string that uniquely identifies the Call resource to update
326
+ # @return [CallContext] CallContext
327
+ def initialize(version, account_sid, sid)
328
+ super(version)
329
+
330
+ # Path Solution
331
+ @solution = { account_sid: account_sid, sid: sid, }
332
+ @uri = "/Accounts/#{@solution[:account_sid]}/Calls/#{@solution[:sid]}.json"
333
+
334
+ # Dependents
335
+ @events = nil
336
+ @user_defined_messages = nil
337
+ @transcriptions = nil
338
+ @siprec = nil
339
+ @user_defined_message_subscriptions = nil
340
+ @payments = nil
341
+ @recordings = nil
342
+ @notifications = nil
343
+ @streams = nil
344
+ end
345
+ ##
346
+ # Delete the CallInstance
347
+ # @return [Boolean] True if delete succeeds, false otherwise
348
+ def delete
349
+
350
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
351
+
352
+
353
+
354
+ @version.delete('DELETE', @uri, headers: headers)
355
+ end
356
+
357
+ ##
358
+ # Fetch the CallInstance
359
+ # @return [CallInstance] Fetched CallInstance
360
+ def fetch
361
+
362
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
363
+
364
+
365
+
366
+
367
+
368
+ payload = @version.fetch('GET', @uri, headers: headers)
369
+ CallInstance.new(
370
+ @version,
371
+ payload,
372
+ account_sid: @solution[:account_sid],
373
+ sid: @solution[:sid],
374
+ )
375
+ end
376
+
377
+ ##
378
+ # Update the CallInstance
379
+ # @param [String] url The absolute URL that returns the TwiML instructions for the call. We will call this URL using the `method` when the call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) section in [Making Calls](https://www.twilio.com/docs/voice/make-calls).
380
+ # @param [String] method The HTTP method we should use when calling the `url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
381
+ # @param [UpdateStatus] status
382
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if an error occurs when requesting or executing the TwiML at `url`. If an `application_sid` parameter is present, this parameter is ignored.
383
+ # @param [String] fallback_method The HTTP method that we should use to request the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
384
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application. If no `status_callback_event` is specified, we will send the `completed` status. If an `application_sid` parameter is present, this parameter is ignored. URLs must contain a valid hostname (underscores are not permitted).
385
+ # @param [String] status_callback_method The HTTP method we should use when requesting the `status_callback` URL. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
386
+ # @param [String] twiml TwiML instructions for the call Twilio will use without fetching Twiml from url. Twiml and url parameters are mutually exclusive
387
+ # @param [String] time_limit The maximum duration of the call in seconds. Constraints depend on account and configuration.
388
+ # @return [CallInstance] Updated CallInstance
389
+ def update(
390
+ url: :unset,
391
+ method: :unset,
392
+ status: :unset,
393
+ fallback_url: :unset,
394
+ fallback_method: :unset,
395
+ status_callback: :unset,
396
+ status_callback_method: :unset,
397
+ twiml: :unset,
398
+ time_limit: :unset
399
+ )
400
+
401
+ data = Twilio::Values.of({
402
+ 'Url' => url,
403
+ 'Method' => method,
404
+ 'Status' => status,
405
+ 'FallbackUrl' => fallback_url,
406
+ 'FallbackMethod' => fallback_method,
407
+ 'StatusCallback' => status_callback,
408
+ 'StatusCallbackMethod' => status_callback_method,
409
+ 'Twiml' => twiml,
410
+ 'TimeLimit' => time_limit,
411
+ })
412
+
413
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
414
+
415
+
416
+
417
+
418
+
419
+ payload = @version.update('POST', @uri, data: data, headers: headers)
420
+ CallInstance.new(
421
+ @version,
422
+ payload,
423
+ account_sid: @solution[:account_sid],
424
+ sid: @solution[:sid],
425
+ )
426
+ end
427
+
428
+ ##
429
+ # Access the events
430
+ # @return [EventList]
431
+ # @return [EventContext]
432
+ def events
433
+ unless @events
434
+ @events = EventList.new(
435
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
436
+ end
437
+ @events
438
+ end
439
+ ##
440
+ # Access the user_defined_messages
441
+ # @return [UserDefinedMessageList]
442
+ # @return [UserDefinedMessageContext]
443
+ def user_defined_messages
444
+ unless @user_defined_messages
445
+ @user_defined_messages = UserDefinedMessageList.new(
446
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
447
+ end
448
+ @user_defined_messages
449
+ end
450
+ ##
451
+ # Access the transcriptions
452
+ # @return [TranscriptionList]
453
+ # @return [TranscriptionContext] if sid was passed.
454
+ def transcriptions(sid=:unset)
455
+
456
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
457
+
458
+ if sid != :unset
459
+ return TranscriptionContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
460
+ end
461
+
462
+ unless @transcriptions
463
+ @transcriptions = TranscriptionList.new(
464
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
465
+ end
466
+
467
+ @transcriptions
468
+ end
469
+ ##
470
+ # Access the siprec
471
+ # @return [SiprecList]
472
+ # @return [SiprecContext] if sid was passed.
473
+ def siprec(sid=:unset)
474
+
475
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
476
+
477
+ if sid != :unset
478
+ return SiprecContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
479
+ end
480
+
481
+ unless @siprec
482
+ @siprec = SiprecList.new(
483
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
484
+ end
485
+
486
+ @siprec
487
+ end
488
+ ##
489
+ # Access the user_defined_message_subscriptions
490
+ # @return [UserDefinedMessageSubscriptionList]
491
+ # @return [UserDefinedMessageSubscriptionContext] if sid was passed.
492
+ def user_defined_message_subscriptions(sid=:unset)
493
+
494
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
495
+
496
+ if sid != :unset
497
+ return UserDefinedMessageSubscriptionContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
498
+ end
499
+
500
+ unless @user_defined_message_subscriptions
501
+ @user_defined_message_subscriptions = UserDefinedMessageSubscriptionList.new(
502
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
503
+ end
504
+
505
+ @user_defined_message_subscriptions
506
+ end
507
+ ##
508
+ # Access the payments
509
+ # @return [PaymentList]
510
+ # @return [PaymentContext] if sid was passed.
511
+ def payments(sid=:unset)
512
+
513
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
514
+
515
+ if sid != :unset
516
+ return PaymentContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
517
+ end
518
+
519
+ unless @payments
520
+ @payments = PaymentList.new(
521
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
522
+ end
523
+
524
+ @payments
525
+ end
526
+ ##
527
+ # Access the recordings
528
+ # @return [RecordingList]
529
+ # @return [RecordingContext] if sid was passed.
530
+ def recordings(sid=:unset)
531
+
532
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
533
+
534
+ if sid != :unset
535
+ return RecordingContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
536
+ end
537
+
538
+ unless @recordings
539
+ @recordings = RecordingList.new(
540
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
541
+ end
542
+
543
+ @recordings
544
+ end
545
+ ##
546
+ # Access the notifications
547
+ # @return [NotificationList]
548
+ # @return [NotificationContext] if sid was passed.
549
+ def notifications(sid=:unset)
550
+
551
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
552
+
553
+ if sid != :unset
554
+ return NotificationContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
555
+ end
556
+
557
+ unless @notifications
558
+ @notifications = NotificationList.new(
559
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
560
+ end
561
+
562
+ @notifications
563
+ end
564
+ ##
565
+ # Access the streams
566
+ # @return [StreamList]
567
+ # @return [StreamContext] if sid was passed.
568
+ def streams(sid=:unset)
569
+
570
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
571
+
572
+ if sid != :unset
573
+ return StreamContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
574
+ end
575
+
576
+ unless @streams
577
+ @streams = StreamList.new(
578
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
579
+ end
580
+
581
+ @streams
582
+ end
583
+
584
+ ##
585
+ # Provide a user friendly representation
586
+ def to_s
587
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
588
+ "#<Twilio.Api.V2010.CallContext #{context}>"
589
+ end
590
+
591
+ ##
592
+ # Provide a detailed, user friendly representation
593
+ def inspect
594
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
595
+ "#<Twilio.Api.V2010.CallContext #{context}>"
596
+ end
597
+ end
598
+
599
+ class CallPage < Page
600
+ ##
601
+ # Initialize the CallPage
602
+ # @param [Version] version Version that contains the resource
603
+ # @param [Response] response Response from the API
604
+ # @param [Hash] solution Path solution for the resource
605
+ # @return [CallPage] CallPage
606
+ def initialize(version, response, solution)
607
+ super(version, response)
608
+
609
+ # Path Solution
610
+ @solution = solution
611
+ end
612
+
613
+ ##
614
+ # Build an instance of CallInstance
615
+ # @param [Hash] payload Payload response from the API
616
+ # @return [CallInstance] CallInstance
617
+ def get_instance(payload)
618
+ CallInstance.new(@version, payload, account_sid: @solution[:account_sid])
619
+ end
620
+
621
+ ##
622
+ # Provide a user friendly representation
623
+ def to_s
624
+ '<Twilio.Api.V2010.CallPage>'
625
+ end
626
+ end
627
+ class CallInstance < InstanceResource
628
+ ##
629
+ # Initialize the CallInstance
630
+ # @param [Version] version Version that contains the resource
631
+ # @param [Hash] payload payload that contains response from Twilio
632
+ # @param [String] account_sid The SID of the
633
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Call
634
+ # resource.
635
+ # @param [String] sid The SID of the Call resource to fetch.
636
+ # @return [CallInstance] CallInstance
637
+ def initialize(version, payload , account_sid: nil, sid: nil)
638
+ super(version)
639
+
640
+ # Marshaled Properties
641
+ @properties = {
642
+ 'sid' => payload['sid'],
643
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
644
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
645
+ 'parent_call_sid' => payload['parent_call_sid'],
646
+ 'account_sid' => payload['account_sid'],
647
+ 'to' => payload['to'],
648
+ 'to_formatted' => payload['to_formatted'],
649
+ 'from' => payload['from'],
650
+ 'from_formatted' => payload['from_formatted'],
651
+ 'phone_number_sid' => payload['phone_number_sid'],
652
+ 'status' => payload['status'],
653
+ 'start_time' => Twilio.deserialize_rfc2822(payload['start_time']),
654
+ 'end_time' => Twilio.deserialize_rfc2822(payload['end_time']),
655
+ 'duration' => payload['duration'],
656
+ 'price' => payload['price'],
657
+ 'price_unit' => payload['price_unit'],
658
+ 'direction' => payload['direction'],
659
+ 'answered_by' => payload['answered_by'],
660
+ 'api_version' => payload['api_version'],
661
+ 'forwarded_from' => payload['forwarded_from'],
662
+ 'group_sid' => payload['group_sid'],
663
+ 'caller_name' => payload['caller_name'],
664
+ 'queue_time' => payload['queue_time'],
665
+ 'trunk_sid' => payload['trunk_sid'],
666
+ 'uri' => payload['uri'],
667
+ 'subresource_uris' => payload['subresource_uris'],
668
+ }
669
+
670
+ # Context
671
+ @instance_context = nil
672
+ @params = { 'account_sid' => account_sid ,'sid' => sid || @properties['sid'] , }
673
+ end
674
+
675
+ ##
676
+ # Generate an instance context for the instance, the context is capable of
677
+ # performing various actions. All instance actions are proxied to the context
678
+ # @return [CallContext] CallContext for this CallInstance
679
+ def context
680
+ unless @instance_context
681
+ @instance_context = CallContext.new(@version , @params['account_sid'], @params['sid'])
682
+ end
683
+ @instance_context
684
+ end
685
+
686
+ ##
687
+ # @return [String] The unique string that we created to identify this Call resource.
688
+ def sid
689
+ @properties['sid']
690
+ end
691
+
692
+ ##
693
+ # @return [Time] The date and time in UTC that this resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
694
+ def date_created
695
+ @properties['date_created']
696
+ end
697
+
698
+ ##
699
+ # @return [Time] The date and time in UTC that this resource was last updated, specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
700
+ def date_updated
701
+ @properties['date_updated']
702
+ end
703
+
704
+ ##
705
+ # @return [String] The SID that identifies the call that created this leg.
706
+ def parent_call_sid
707
+ @properties['parent_call_sid']
708
+ end
709
+
710
+ ##
711
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created this Call resource.
712
+ def account_sid
713
+ @properties['account_sid']
714
+ end
715
+
716
+ ##
717
+ # @return [String] The phone number, SIP address, Client identifier or SIM SID that received this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`. SIM SIDs are formatted as `sim:sid`.
718
+ def to
719
+ @properties['to']
720
+ end
721
+
722
+ ##
723
+ # @return [String] The phone number, SIP address or Client identifier that received this call. Formatted for display. Non-North American phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +442071838750).
724
+ def to_formatted
725
+ @properties['to_formatted']
726
+ end
727
+
728
+ ##
729
+ # @return [String] The phone number, SIP address, Client identifier or SIM SID that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`. SIM SIDs are formatted as `sim:sid`.
730
+ def from
731
+ @properties['from']
732
+ end
733
+
734
+ ##
735
+ # @return [String] The calling phone number, SIP address, or Client identifier formatted for display. Non-North American phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +442071838750).
736
+ def from_formatted
737
+ @properties['from_formatted']
738
+ end
739
+
740
+ ##
741
+ # @return [String] If the call was inbound, this is the SID of the IncomingPhoneNumber resource that received the call. If the call was outbound, it is the SID of the OutgoingCallerId resource from which the call was placed.
742
+ def phone_number_sid
743
+ @properties['phone_number_sid']
744
+ end
745
+
746
+ ##
747
+ # @return [Status]
748
+ def status
749
+ @properties['status']
750
+ end
751
+
752
+ ##
753
+ # @return [Time] The start time of the call, given as UTC in [RFC 2822](https://www.php.net/manual/en/class.datetime.php#datetime.constants.rfc2822) format. Empty if the call has not yet been dialed.
754
+ def start_time
755
+ @properties['start_time']
756
+ end
757
+
758
+ ##
759
+ # @return [Time] The time the call ended, given as UTC in [RFC 2822](https://www.php.net/manual/en/class.datetime.php#datetime.constants.rfc2822) format. Empty if the call did not complete successfully.
760
+ def end_time
761
+ @properties['end_time']
762
+ end
763
+
764
+ ##
765
+ # @return [String] The length of the call in seconds. This value is empty for busy, failed, unanswered, or ongoing calls.
766
+ def duration
767
+ @properties['duration']
768
+ end
769
+
770
+ ##
771
+ # @return [String] The charge for this call, in the currency associated with the account. Populated after the call is completed. May not be immediately available. The price associated with a call only reflects the charge for connectivity. Charges for other call-related features such as Answering Machine Detection, Text-To-Speech, and SIP REFER are not included in this value.
772
+ def price
773
+ @properties['price']
774
+ end
775
+
776
+ ##
777
+ # @return [String] The currency in which `Price` is measured, in [ISO 4127](https://www.iso.org/iso/home/standards/currency_codes.htm) format (e.g., `USD`, `EUR`, `JPY`). Always capitalized for calls.
778
+ def price_unit
779
+ @properties['price_unit']
780
+ end
781
+
782
+ ##
783
+ # @return [String] A string describing the direction of the call. Can be: `inbound` for inbound calls, `outbound-api` for calls initiated via the REST API or `outbound-dial` for calls initiated by a `<Dial>` verb. Using [Elastic SIP Trunking](https://www.twilio.com/docs/sip-trunking), the values can be [`trunking-terminating`](https://www.twilio.com/docs/sip-trunking#termination) for outgoing calls from your communications infrastructure to the PSTN or [`trunking-originating`](https://www.twilio.com/docs/sip-trunking#origination) for incoming calls to your communications infrastructure from the PSTN.
784
+ def direction
785
+ @properties['direction']
786
+ end
787
+
788
+ ##
789
+ # @return [String] Either `human` or `machine` if this call was initiated with answering machine detection. Empty otherwise.
790
+ def answered_by
791
+ @properties['answered_by']
792
+ end
793
+
794
+ ##
795
+ # @return [String] The API version used to create the call.
796
+ def api_version
797
+ @properties['api_version']
798
+ end
799
+
800
+ ##
801
+ # @return [String] The forwarding phone number if this call was an incoming call forwarded from another number (depends on carrier supporting forwarding). Otherwise, empty.
802
+ def forwarded_from
803
+ @properties['forwarded_from']
804
+ end
805
+
806
+ ##
807
+ # @return [String] The Group SID associated with this call. If no Group is associated with the call, the field is empty.
808
+ def group_sid
809
+ @properties['group_sid']
810
+ end
811
+
812
+ ##
813
+ # @return [String] The caller's name if this call was an incoming call to a phone number with caller ID Lookup enabled. Otherwise, empty.
814
+ def caller_name
815
+ @properties['caller_name']
816
+ end
817
+
818
+ ##
819
+ # @return [String] The wait time in milliseconds before the call is placed.
820
+ def queue_time
821
+ @properties['queue_time']
822
+ end
823
+
824
+ ##
825
+ # @return [String] The unique identifier of the trunk resource that was used for this call. The field is empty if the call was not made using a SIP trunk or if the call is not terminated.
826
+ def trunk_sid
827
+ @properties['trunk_sid']
828
+ end
829
+
830
+ ##
831
+ # @return [String] The URI of this resource, relative to `https://api.twilio.com`.
832
+ def uri
833
+ @properties['uri']
834
+ end
835
+
836
+ ##
837
+ # @return [Hash] A list of subresources available to this call, identified by their URIs relative to `https://api.twilio.com`.
838
+ def subresource_uris
839
+ @properties['subresource_uris']
840
+ end
841
+
842
+ ##
843
+ # Delete the CallInstance
844
+ # @return [Boolean] True if delete succeeds, false otherwise
845
+ def delete
846
+
847
+ context.delete
848
+ end
849
+
850
+ ##
851
+ # Fetch the CallInstance
852
+ # @return [CallInstance] Fetched CallInstance
853
+ def fetch
854
+
855
+ context.fetch
856
+ end
857
+
858
+ ##
859
+ # Update the CallInstance
860
+ # @param [String] url The absolute URL that returns the TwiML instructions for the call. We will call this URL using the `method` when the call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) section in [Making Calls](https://www.twilio.com/docs/voice/make-calls).
861
+ # @param [String] method The HTTP method we should use when calling the `url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
862
+ # @param [UpdateStatus] status
863
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if an error occurs when requesting or executing the TwiML at `url`. If an `application_sid` parameter is present, this parameter is ignored.
864
+ # @param [String] fallback_method The HTTP method that we should use to request the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
865
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application. If no `status_callback_event` is specified, we will send the `completed` status. If an `application_sid` parameter is present, this parameter is ignored. URLs must contain a valid hostname (underscores are not permitted).
866
+ # @param [String] status_callback_method The HTTP method we should use when requesting the `status_callback` URL. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
867
+ # @param [String] twiml TwiML instructions for the call Twilio will use without fetching Twiml from url. Twiml and url parameters are mutually exclusive
868
+ # @param [String] time_limit The maximum duration of the call in seconds. Constraints depend on account and configuration.
869
+ # @return [CallInstance] Updated CallInstance
870
+ def update(
871
+ url: :unset,
872
+ method: :unset,
873
+ status: :unset,
874
+ fallback_url: :unset,
875
+ fallback_method: :unset,
876
+ status_callback: :unset,
877
+ status_callback_method: :unset,
878
+ twiml: :unset,
879
+ time_limit: :unset
880
+ )
881
+
882
+ context.update(
883
+ url: url,
884
+ method: method,
885
+ status: status,
886
+ fallback_url: fallback_url,
887
+ fallback_method: fallback_method,
888
+ status_callback: status_callback,
889
+ status_callback_method: status_callback_method,
890
+ twiml: twiml,
891
+ time_limit: time_limit,
892
+ )
893
+ end
894
+
895
+ ##
896
+ # Access the events
897
+ # @return [events] events
898
+ def events
899
+ context.events
900
+ end
901
+
902
+ ##
903
+ # Access the user_defined_messages
904
+ # @return [user_defined_messages] user_defined_messages
905
+ def user_defined_messages
906
+ context.user_defined_messages
907
+ end
908
+
909
+ ##
910
+ # Access the transcriptions
911
+ # @return [transcriptions] transcriptions
912
+ def transcriptions
913
+ context.transcriptions
914
+ end
915
+
916
+ ##
917
+ # Access the siprec
918
+ # @return [siprec] siprec
919
+ def siprec
920
+ context.siprec
921
+ end
922
+
923
+ ##
924
+ # Access the user_defined_message_subscriptions
925
+ # @return [user_defined_message_subscriptions] user_defined_message_subscriptions
926
+ def user_defined_message_subscriptions
927
+ context.user_defined_message_subscriptions
928
+ end
929
+
930
+ ##
931
+ # Access the payments
932
+ # @return [payments] payments
933
+ def payments
934
+ context.payments
935
+ end
936
+
937
+ ##
938
+ # Access the recordings
939
+ # @return [recordings] recordings
940
+ def recordings
941
+ context.recordings
942
+ end
943
+
944
+ ##
945
+ # Access the notifications
946
+ # @return [notifications] notifications
947
+ def notifications
948
+ context.notifications
949
+ end
950
+
951
+ ##
952
+ # Access the streams
953
+ # @return [streams] streams
954
+ def streams
955
+ context.streams
956
+ end
957
+
958
+ ##
959
+ # Provide a user friendly representation
960
+ def to_s
961
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
962
+ "<Twilio.Api.V2010.CallInstance #{values}>"
963
+ end
964
+
965
+ ##
966
+ # Provide a detailed, user friendly representation
967
+ def inspect
968
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
969
+ "<Twilio.Api.V2010.CallInstance #{values}>"
970
+ end
971
+ end
972
+
973
+ end
827
974
  end
828
- end
829
975
  end
830
- end
831
976
  end
832
- end
833
- end
977
+ end
978
+
979
+