twilio-ruby 4.13.0 → 5.40.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1049) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -0
  3. data/.gitignore +6 -0
  4. data/.rubocop.yml +59 -0
  5. data/.rubocop_todo.yml +198 -0
  6. data/.travis.yml +32 -19
  7. data/AUTHORS.md +46 -32
  8. data/CHANGES.md +1723 -62
  9. data/CODE_OF_CONDUCT.md +73 -0
  10. data/CONTRIBUTING.md +161 -0
  11. data/Dockerfile +9 -0
  12. data/Gemfile +0 -8
  13. data/ISSUE_TEMPLATE.md +30 -0
  14. data/LICENSE.md +12 -12
  15. data/Makefile +25 -7
  16. data/PULL_REQUEST_TEMPLATE.md +31 -0
  17. data/README.md +110 -151
  18. data/UPGRADE.md +30 -0
  19. data/VERSIONS.md +35 -0
  20. data/examples/examples.rb +46 -57
  21. data/examples/{print-call-log.rb → print_call_log.rb} +6 -6
  22. data/githooks/pre-commit +1 -0
  23. data/lib/rack/twilio_webhook_authentication.rb +7 -6
  24. data/lib/twilio-ruby/framework/domain.rb +36 -0
  25. data/lib/twilio-ruby/framework/error.rb +51 -0
  26. data/lib/twilio-ruby/framework/helper.rb +11 -0
  27. data/lib/twilio-ruby/framework/obsolete_client.rb +12 -0
  28. data/lib/twilio-ruby/framework/page.rb +103 -0
  29. data/lib/twilio-ruby/framework/request.rb +41 -0
  30. data/lib/twilio-ruby/framework/resource.rb +23 -0
  31. data/lib/twilio-ruby/framework/response.rb +18 -0
  32. data/lib/twilio-ruby/framework/serialize.rb +81 -0
  33. data/lib/twilio-ruby/framework/twilio_response.rb +19 -0
  34. data/lib/twilio-ruby/framework/values.rb +9 -0
  35. data/lib/twilio-ruby/framework/version.rb +157 -0
  36. data/lib/twilio-ruby/http/http_client.rb +63 -0
  37. data/lib/twilio-ruby/jwt/access_token.rb +267 -0
  38. data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
  39. data/lib/twilio-ruby/jwt/jwt.rb +59 -0
  40. data/lib/twilio-ruby/jwt/task_router.rb +172 -0
  41. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +339 -0
  42. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +339 -0
  43. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +122 -0
  44. data/lib/twilio-ruby/rest/accounts/v1.rb +35 -0
  45. data/lib/twilio-ruby/rest/accounts.rb +38 -10
  46. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +372 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +521 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +593 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +327 -0
  50. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +491 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +491 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +491 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +491 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +491 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +491 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +491 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +464 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +125 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +301 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +314 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +428 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +369 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +510 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +912 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +712 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +469 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +500 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +414 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +367 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +431 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +554 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +553 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +553 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +903 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +309 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +171 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +361 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +612 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +145 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +145 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +406 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +365 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +349 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +397 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +387 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +398 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +383 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +493 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +415 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +313 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +387 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +386 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +348 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +348 -0
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +163 -0
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +348 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +137 -0
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +135 -0
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +356 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +355 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +657 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +432 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +387 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +157 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +161 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +357 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +351 -0
  108. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +351 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +351 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +351 -0
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +351 -0
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +351 -0
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +351 -0
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +351 -0
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +423 -0
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +494 -0
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +120 -0
  118. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +168 -0
  119. data/lib/twilio-ruby/rest/api/v2010/account.rb +953 -0
  120. data/lib/twilio-ruby/rest/api/v2010.rb +153 -0
  121. data/lib/twilio-ruby/rest/api.rb +247 -0
  122. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +220 -0
  123. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +214 -0
  124. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +395 -0
  125. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +418 -0
  126. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +392 -0
  127. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +462 -0
  128. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +218 -0
  129. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +386 -0
  130. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +449 -0
  131. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +255 -0
  132. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +237 -0
  133. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +507 -0
  134. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
  135. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +650 -0
  136. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
  137. data/lib/twilio-ruby/rest/autopilot/v1.rb +51 -0
  138. data/lib/twilio-ruby/rest/autopilot.rb +53 -0
  139. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +308 -0
  140. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +291 -0
  141. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +247 -0
  142. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +248 -0
  143. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +232 -0
  144. data/lib/twilio-ruby/rest/bulkexports/v1.rb +58 -0
  145. data/lib/twilio-ruby/rest/bulkexports.rb +54 -0
  146. data/lib/twilio-ruby/rest/chat/v1/credential.rb +413 -0
  147. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +402 -0
  148. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +451 -0
  149. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +448 -0
  150. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +522 -0
  151. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +374 -0
  152. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +246 -0
  153. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +447 -0
  154. data/lib/twilio-ruby/rest/chat/v1/service.rb +904 -0
  155. data/lib/twilio-ruby/rest/chat/v1.rb +60 -0
  156. data/lib/twilio-ruby/rest/chat/v2/credential.rb +411 -0
  157. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +377 -0
  158. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +397 -0
  159. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +538 -0
  160. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +544 -0
  161. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +475 -0
  162. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +612 -0
  163. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +376 -0
  164. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +392 -0
  165. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +424 -0
  166. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +498 -0
  167. data/lib/twilio-ruby/rest/chat/v2/service.rb +788 -0
  168. data/lib/twilio-ruby/rest/chat/v2.rb +58 -0
  169. data/lib/twilio-ruby/rest/chat.rb +63 -0
  170. data/lib/twilio-ruby/rest/client.rb +519 -152
  171. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +348 -0
  172. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +500 -0
  173. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +474 -0
  174. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +415 -0
  175. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +544 -0
  176. data/lib/twilio-ruby/rest/conversations/v1/webhook.rb +262 -0
  177. data/lib/twilio-ruby/rest/conversations/v1.rb +51 -0
  178. data/lib/twilio-ruby/rest/conversations.rb +53 -0
  179. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  180. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +118 -0
  181. data/lib/twilio-ruby/rest/events/v1/sink.rb +379 -0
  182. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +322 -0
  183. data/lib/twilio-ruby/rest/events/v1/subscription.rb +358 -0
  184. data/lib/twilio-ruby/rest/events/v1.rb +58 -0
  185. data/lib/twilio-ruby/rest/events.rb +54 -0
  186. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +314 -0
  187. data/lib/twilio-ruby/rest/fax/v1/fax.rb +535 -0
  188. data/lib/twilio-ruby/rest/fax/v1.rb +44 -0
  189. data/lib/twilio-ruby/rest/fax.rb +47 -0
  190. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
  191. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +448 -0
  192. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +547 -0
  193. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
  194. data/lib/twilio-ruby/rest/flex_api/v1.rb +80 -0
  195. data/lib/twilio-ruby/rest/flex_api.rb +71 -0
  196. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
  197. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
  198. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +301 -0
  199. data/lib/twilio-ruby/rest/insights/v1/call.rb +236 -0
  200. data/lib/twilio-ruby/rest/insights/v1.rb +43 -0
  201. data/lib/twilio-ruby/rest/insights.rb +46 -0
  202. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +413 -0
  203. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +402 -0
  204. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +451 -0
  205. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +448 -0
  206. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +522 -0
  207. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +374 -0
  208. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +246 -0
  209. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +447 -0
  210. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +904 -0
  211. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +60 -0
  212. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +411 -0
  213. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +377 -0
  214. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +397 -0
  215. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +538 -0
  216. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +544 -0
  217. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +475 -0
  218. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +612 -0
  219. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +376 -0
  220. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +392 -0
  221. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +424 -0
  222. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +498 -0
  223. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +788 -0
  224. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +58 -0
  225. data/lib/twilio-ruby/rest/ip_messaging.rb +63 -0
  226. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +247 -0
  227. data/lib/twilio-ruby/rest/lookups/v1.rb +45 -0
  228. data/lib/twilio-ruby/rest/lookups.rb +48 -0
  229. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +342 -0
  230. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +348 -0
  231. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +343 -0
  232. data/lib/twilio-ruby/rest/messaging/v1/service.rb +652 -0
  233. data/lib/twilio-ruby/rest/messaging/v1.rb +43 -0
  234. data/lib/twilio-ruby/rest/messaging.rb +47 -0
  235. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +405 -0
  236. data/lib/twilio-ruby/rest/monitor/v1/event.rb +400 -0
  237. data/lib/twilio-ruby/rest/monitor/v1.rb +58 -0
  238. data/lib/twilio-ruby/rest/monitor.rb +56 -0
  239. data/lib/twilio-ruby/rest/notify/v1/credential.rb +412 -0
  240. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +458 -0
  241. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +361 -0
  242. data/lib/twilio-ruby/rest/notify/v1/service.rb +632 -0
  243. data/lib/twilio-ruby/rest/notify/v1.rb +60 -0
  244. data/lib/twilio-ruby/rest/notify.rb +56 -0
  245. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
  246. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
  247. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +512 -0
  248. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +344 -0
  249. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
  250. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
  251. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +357 -0
  252. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
  253. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  254. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  255. data/lib/twilio-ruby/rest/numbers.rb +44 -0
  256. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +308 -0
  257. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +291 -0
  258. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +247 -0
  259. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +248 -0
  260. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +232 -0
  261. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +58 -0
  262. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +382 -0
  263. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +365 -0
  264. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +425 -0
  265. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +376 -0
  266. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +469 -0
  267. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +44 -0
  268. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +400 -0
  269. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +451 -0
  270. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +635 -0
  271. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +60 -0
  272. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +305 -0
  273. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +319 -0
  274. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +337 -0
  275. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +408 -0
  276. data/lib/twilio-ruby/rest/preview/marketplace.rb +58 -0
  277. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +385 -0
  278. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +410 -0
  279. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +418 -0
  280. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +385 -0
  281. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +405 -0
  282. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +415 -0
  283. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +385 -0
  284. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +405 -0
  285. data/lib/twilio-ruby/rest/preview/sync/service.rb +462 -0
  286. data/lib/twilio-ruby/rest/preview/sync.rb +43 -0
  287. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +243 -0
  288. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +195 -0
  289. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel/channel.rb +189 -0
  290. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel.rb +260 -0
  291. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand.rb +233 -0
  292. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +260 -0
  293. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +111 -0
  294. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +239 -0
  295. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +186 -0
  296. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +277 -0
  297. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +342 -0
  298. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +79 -0
  299. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +212 -0
  300. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +212 -0
  301. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +206 -0
  302. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +386 -0
  303. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +407 -0
  304. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +380 -0
  305. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +437 -0
  306. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +212 -0
  307. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +373 -0
  308. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +428 -0
  309. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +241 -0
  310. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +225 -0
  311. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +495 -0
  312. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +629 -0
  313. data/lib/twilio-ruby/rest/preview/understand.rb +44 -0
  314. data/lib/twilio-ruby/rest/preview/wireless/command.rb +374 -0
  315. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +408 -0
  316. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +233 -0
  317. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +533 -0
  318. data/lib/twilio-ruby/rest/preview/wireless.rb +73 -0
  319. data/lib/twilio-ruby/rest/preview.rb +229 -0
  320. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +282 -0
  321. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +127 -0
  322. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +275 -0
  323. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +127 -0
  324. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +282 -0
  325. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +204 -0
  326. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +143 -0
  327. data/lib/twilio-ruby/rest/pricing/v1.rb +49 -0
  328. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +282 -0
  329. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +227 -0
  330. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +146 -0
  331. data/lib/twilio-ruby/rest/pricing/v2.rb +35 -0
  332. data/lib/twilio-ruby/rest/pricing.rb +59 -2
  333. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +408 -0
  334. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +429 -0
  335. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +458 -0
  336. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +467 -0
  337. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +551 -0
  338. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +377 -0
  339. data/lib/twilio-ruby/rest/proxy/v1/service.rb +606 -0
  340. data/lib/twilio-ruby/rest/proxy/v1.rb +44 -0
  341. data/lib/twilio-ruby/rest/proxy.rb +47 -0
  342. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  343. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
  344. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +356 -0
  345. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
  346. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
  347. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
  348. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +456 -0
  349. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
  350. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
  351. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
  352. data/lib/twilio-ruby/rest/serverless/v1/service.rb +496 -0
  353. data/lib/twilio-ruby/rest/serverless/v1.rb +43 -0
  354. data/lib/twilio-ruby/rest/serverless.rb +47 -0
  355. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +210 -0
  356. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +225 -0
  357. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +366 -0
  358. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +401 -0
  359. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +211 -0
  360. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +228 -0
  361. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +372 -0
  362. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +456 -0
  363. data/lib/twilio-ruby/rest/studio/v1/flow.rb +365 -0
  364. data/lib/twilio-ruby/rest/studio/v1.rb +43 -0
  365. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +219 -0
  366. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +236 -0
  367. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +380 -0
  368. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +457 -0
  369. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +335 -0
  370. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +205 -0
  371. data/lib/twilio-ruby/rest/studio/v2/flow.rb +490 -0
  372. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +122 -0
  373. data/lib/twilio-ruby/rest/studio/v2.rb +50 -0
  374. data/lib/twilio-ruby/rest/studio.rb +60 -0
  375. data/lib/twilio-ruby/rest/supersim/v1/command.rb +368 -0
  376. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +421 -0
  377. data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
  378. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
  379. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
  380. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +388 -0
  381. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +338 -0
  382. data/lib/twilio-ruby/rest/supersim/v1.rb +110 -0
  383. data/lib/twilio-ruby/rest/supersim.rb +88 -0
  384. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +390 -0
  385. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +447 -0
  386. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +508 -0
  387. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +389 -0
  388. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +464 -0
  389. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +515 -0
  390. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +387 -0
  391. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +463 -0
  392. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +145 -0
  393. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +421 -0
  394. data/lib/twilio-ruby/rest/sync/v1/service.rb +585 -0
  395. data/lib/twilio-ruby/rest/sync/v1.rb +43 -0
  396. data/lib/twilio-ruby/rest/sync.rb +47 -0
  397. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +394 -0
  398. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +471 -0
  399. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +739 -0
  400. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +641 -0
  401. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +389 -0
  402. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +377 -0
  403. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +287 -0
  404. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +265 -0
  405. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +285 -0
  406. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +573 -0
  407. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +735 -0
  408. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +399 -0
  409. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +250 -0
  410. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +277 -0
  411. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +204 -0
  412. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +245 -0
  413. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +629 -0
  414. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +385 -0
  415. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +252 -0
  416. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +273 -0
  417. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +517 -0
  418. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +361 -0
  419. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +234 -0
  420. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -0
  421. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +725 -0
  422. data/lib/twilio-ruby/rest/taskrouter/v1.rb +43 -0
  423. data/lib/twilio-ruby/rest/taskrouter.rb +47 -0
  424. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +327 -0
  425. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +323 -0
  426. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +426 -0
  427. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +457 -0
  428. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +609 -0
  429. data/lib/twilio-ruby/rest/trunking/v1.rb +44 -0
  430. data/lib/twilio-ruby/rest/trunking.rb +47 -0
  431. data/lib/twilio-ruby/rest/verify/v2/form.rb +191 -0
  432. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +124 -0
  433. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +485 -0
  434. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +466 -0
  435. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +413 -0
  436. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
  437. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
  438. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
  439. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +354 -0
  440. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +205 -0
  441. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +408 -0
  442. data/lib/twilio-ruby/rest/verify/v2/service.rb +682 -0
  443. data/lib/twilio-ruby/rest/verify/v2.rb +60 -0
  444. data/lib/twilio-ruby/rest/verify.rb +56 -0
  445. data/lib/twilio-ruby/rest/video/v1/composition.rb +499 -0
  446. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +656 -0
  447. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +269 -0
  448. data/lib/twilio-ruby/rest/video/v1/recording.rb +415 -0
  449. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +269 -0
  450. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +406 -0
  451. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +335 -0
  452. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
  453. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +340 -0
  454. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +483 -0
  455. data/lib/twilio-ruby/rest/video/v1/room.rb +527 -0
  456. data/lib/twilio-ruby/rest/video/v1.rb +102 -0
  457. data/lib/twilio-ruby/rest/video.rb +86 -0
  458. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
  459. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
  460. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
  461. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +128 -0
  462. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +190 -0
  463. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +404 -0
  464. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
  465. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +132 -0
  466. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
  467. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
  468. data/lib/twilio-ruby/rest/voice/v1.rb +99 -0
  469. data/lib/twilio-ruby/rest/voice.rb +80 -0
  470. data/lib/twilio-ruby/rest/wireless/v1/command.rb +416 -0
  471. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +445 -0
  472. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +291 -0
  473. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +250 -0
  474. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +667 -0
  475. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
  476. data/lib/twilio-ruby/rest/wireless/v1.rb +80 -0
  477. data/lib/twilio-ruby/rest/wireless.rb +71 -0
  478. data/lib/twilio-ruby/security/request_validator.rb +150 -0
  479. data/lib/twilio-ruby/twiml/fax_response.rb +45 -0
  480. data/lib/twilio-ruby/twiml/messaging_response.rb +107 -0
  481. data/lib/twilio-ruby/twiml/twiml.rb +126 -0
  482. data/lib/twilio-ruby/twiml/voice_response.rb +1174 -0
  483. data/lib/twilio-ruby/util/configuration.rb +23 -1
  484. data/lib/twilio-ruby/util.rb +5 -1
  485. data/lib/twilio-ruby/version.rb +1 -1
  486. data/lib/twilio-ruby.rb +28 -104
  487. data/spec/framework/request_spec.rb +36 -0
  488. data/spec/framework/serialize_spec.rb +80 -0
  489. data/spec/framework/version_spec.rb +166 -0
  490. data/spec/holodeck/holodeck.rb +66 -0
  491. data/spec/holodeck/hologram.rb +4 -0
  492. data/spec/http/http_client_spec.rb +122 -0
  493. data/spec/integration/accounts/v1/credential/aws_spec.rb +222 -0
  494. data/spec/integration/accounts/v1/credential/public_key_spec.rb +222 -0
  495. data/spec/integration/accounts/v1/credential_spec.rb +12 -0
  496. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +106 -0
  497. data/spec/integration/api/v2010/account/address_spec.rb +269 -0
  498. data/spec/integration/api/v2010/account/application_spec.rb +274 -0
  499. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +137 -0
  500. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +102 -0
  501. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +102 -0
  502. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +101 -0
  503. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +102 -0
  504. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +102 -0
  505. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +101 -0
  506. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +102 -0
  507. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +128 -0
  508. data/spec/integration/api/v2010/account/balance_spec.rb +44 -0
  509. data/spec/integration/api/v2010/account/call/feedback_spec.rb +138 -0
  510. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +149 -0
  511. data/spec/integration/api/v2010/account/call/notification_spec.rb +143 -0
  512. data/spec/integration/api/v2010/account/call/payment_spec.rb +135 -0
  513. data/spec/integration/api/v2010/account/call/recording_spec.rb +283 -0
  514. data/spec/integration/api/v2010/account/call_spec.rb +650 -0
  515. data/spec/integration/api/v2010/account/conference/participant_spec.rb +708 -0
  516. data/spec/integration/api/v2010/account/conference/recording_spec.rb +234 -0
  517. data/spec/integration/api/v2010/account/conference_spec.rb +458 -0
  518. data/spec/integration/api/v2010/account/connect_app_spec.rb +197 -0
  519. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +135 -0
  520. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +220 -0
  521. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +189 -0
  522. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +189 -0
  523. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +189 -0
  524. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +370 -0
  525. data/spec/integration/api/v2010/account/key_spec.rb +176 -0
  526. data/spec/integration/api/v2010/account/message/feedback_spec.rb +49 -0
  527. data/spec/integration/api/v2010/account/message/media_spec.rb +161 -0
  528. data/spec/integration/api/v2010/account/message_spec.rb +507 -0
  529. data/spec/integration/api/v2010/account/new_key_spec.rb +46 -0
  530. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +46 -0
  531. data/spec/integration/api/v2010/account/notification_spec.rb +138 -0
  532. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +185 -0
  533. data/spec/integration/api/v2010/account/queue/member_spec.rb +208 -0
  534. data/spec/integration/api/v2010/account/queue_spec.rb +244 -0
  535. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +174 -0
  536. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +165 -0
  537. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +173 -0
  538. data/spec/integration/api/v2010/account/recording_spec.rb +184 -0
  539. data/spec/integration/api/v2010/account/short_code_spec.rb +179 -0
  540. data/spec/integration/api/v2010/account/signing_key_spec.rb +176 -0
  541. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +252 -0
  542. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +241 -0
  543. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +217 -0
  544. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +217 -0
  545. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +12 -0
  546. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +217 -0
  547. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +12 -0
  548. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +12 -0
  549. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +207 -0
  550. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +217 -0
  551. data/spec/integration/api/v2010/account/sip/domain_spec.rb +303 -0
  552. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +254 -0
  553. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +251 -0
  554. data/spec/integration/api/v2010/account/sip_spec.rb +12 -0
  555. data/spec/integration/api/v2010/account/token_spec.rb +71 -0
  556. data/spec/integration/api/v2010/account/transcription_spec.rb +166 -0
  557. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +113 -0
  558. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +113 -0
  559. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +113 -0
  560. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +113 -0
  561. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +113 -0
  562. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +113 -0
  563. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +113 -0
  564. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +113 -0
  565. data/spec/integration/api/v2010/account/usage/record_spec.rb +110 -0
  566. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +281 -0
  567. data/spec/integration/api/v2010/account/usage_spec.rb +12 -0
  568. data/spec/integration/api/v2010/account/validation_request_spec.rb +48 -0
  569. data/spec/integration/api/v2010/account_spec.rb +327 -0
  570. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +79 -0
  571. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +46 -0
  572. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +207 -0
  573. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +242 -0
  574. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +236 -0
  575. data/spec/integration/autopilot/v1/assistant/query_spec.rb +290 -0
  576. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +79 -0
  577. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +204 -0
  578. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +249 -0
  579. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +85 -0
  580. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +49 -0
  581. data/spec/integration/autopilot/v1/assistant/task_spec.rb +258 -0
  582. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +242 -0
  583. data/spec/integration/autopilot/v1/assistant_spec.rb +277 -0
  584. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +53 -0
  585. data/spec/integration/bulkexports/v1/export/day_spec.rb +115 -0
  586. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +127 -0
  587. data/spec/integration/bulkexports/v1/export/job_spec.rb +78 -0
  588. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +77 -0
  589. data/spec/integration/bulkexports/v1/export_spec.rb +44 -0
  590. data/spec/integration/chat/v1/credential_spec.rb +219 -0
  591. data/spec/integration/chat/v1/service/channel/invite_spec.rb +207 -0
  592. data/spec/integration/chat/v1/service/channel/member_spec.rb +280 -0
  593. data/spec/integration/chat/v1/service/channel/message_spec.rb +290 -0
  594. data/spec/integration/chat/v1/service/channel_spec.rb +272 -0
  595. data/spec/integration/chat/v1/service/role_spec.rb +260 -0
  596. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +93 -0
  597. data/spec/integration/chat/v1/service/user_spec.rb +262 -0
  598. data/spec/integration/chat/v1/service_spec.rb +295 -0
  599. data/spec/integration/chat/v2/credential_spec.rb +219 -0
  600. data/spec/integration/chat/v2/service/binding_spec.rb +174 -0
  601. data/spec/integration/chat/v2/service/channel/invite_spec.rb +207 -0
  602. data/spec/integration/chat/v2/service/channel/member_spec.rb +263 -0
  603. data/spec/integration/chat/v2/service/channel/message_spec.rb +406 -0
  604. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +303 -0
  605. data/spec/integration/chat/v2/service/channel_spec.rb +282 -0
  606. data/spec/integration/chat/v2/service/role_spec.rb +260 -0
  607. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +177 -0
  608. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +247 -0
  609. data/spec/integration/chat/v2/service/user_spec.rb +270 -0
  610. data/spec/integration/chat/v2/service_spec.rb +350 -0
  611. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +132 -0
  612. data/spec/integration/conversations/v1/conversation/message_spec.rb +409 -0
  613. data/spec/integration/conversations/v1/conversation/participant_spec.rb +382 -0
  614. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +282 -0
  615. data/spec/integration/conversations/v1/conversation_spec.rb +273 -0
  616. data/spec/integration/conversations/v1/webhook_spec.rb +86 -0
  617. data/spec/integration/events/v1/sink/sink_test_spec.rb +42 -0
  618. data/spec/integration/events/v1/sink/sink_validate_spec.rb +44 -0
  619. data/spec/integration/events/v1/sink_spec.rb +217 -0
  620. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +212 -0
  621. data/spec/integration/events/v1/subscription_spec.rb +205 -0
  622. data/spec/integration/fax/v1/fax/fax_media_spec.rb +125 -0
  623. data/spec/integration/fax/v1/fax_spec.rb +267 -0
  624. data/spec/integration/flex_api/v1/channel_spec.rb +188 -0
  625. data/spec/integration/flex_api/v1/configuration_spec.rb +554 -0
  626. data/spec/integration/flex_api/v1/flex_flow_spec.rb +259 -0
  627. data/spec/integration/flex_api/v1/web_channel_spec.rb +216 -0
  628. data/spec/integration/insights/v1/call/event_spec.rb +166 -0
  629. data/spec/integration/insights/v1/call/metric_spec.rb +154 -0
  630. data/spec/integration/insights/v1/call/summary_spec.rb +62 -0
  631. data/spec/integration/insights/v1/call_spec.rb +46 -0
  632. data/spec/integration/ip_messaging/v1/credential_spec.rb +219 -0
  633. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +207 -0
  634. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +280 -0
  635. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +290 -0
  636. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +272 -0
  637. data/spec/integration/ip_messaging/v1/service/role_spec.rb +260 -0
  638. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +93 -0
  639. data/spec/integration/ip_messaging/v1/service/user_spec.rb +262 -0
  640. data/spec/integration/ip_messaging/v1/service_spec.rb +295 -0
  641. data/spec/integration/ip_messaging/v2/credential_spec.rb +219 -0
  642. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +174 -0
  643. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +207 -0
  644. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +263 -0
  645. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +406 -0
  646. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +303 -0
  647. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +282 -0
  648. data/spec/integration/ip_messaging/v2/service/role_spec.rb +260 -0
  649. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +177 -0
  650. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +247 -0
  651. data/spec/integration/ip_messaging/v2/service/user_spec.rb +270 -0
  652. data/spec/integration/ip_messaging/v2/service_spec.rb +350 -0
  653. data/spec/integration/lookups/v1/phone_number_spec.rb +336 -0
  654. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +173 -0
  655. data/spec/integration/messaging/v1/service/phone_number_spec.rb +198 -0
  656. data/spec/integration/messaging/v1/service/short_code_spec.rb +176 -0
  657. data/spec/integration/messaging/v1/service_spec.rb +267 -0
  658. data/spec/integration/monitor/v1/alert_spec.rb +138 -0
  659. data/spec/integration/monitor/v1/event_spec.rb +148 -0
  660. data/spec/integration/notify/v1/credential_spec.rb +219 -0
  661. data/spec/integration/notify/v1/service/binding_spec.rb +222 -0
  662. data/spec/integration/notify/v1/service/notification_spec.rb +98 -0
  663. data/spec/integration/notify/v1/service_spec.rb +289 -0
  664. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +620 -0
  665. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +195 -0
  666. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +258 -0
  667. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +211 -0
  668. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +141 -0
  669. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +181 -0
  670. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +223 -0
  671. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +131 -0
  672. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +12 -0
  673. data/spec/integration/preview/bulk_exports/export/day_spec.rb +115 -0
  674. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +127 -0
  675. data/spec/integration/preview/bulk_exports/export/job_spec.rb +78 -0
  676. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +77 -0
  677. data/spec/integration/preview/bulk_exports/export_spec.rb +44 -0
  678. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +234 -0
  679. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +228 -0
  680. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +244 -0
  681. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +232 -0
  682. data/spec/integration/preview/deployed_devices/fleet_spec.rb +241 -0
  683. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +110 -0
  684. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +224 -0
  685. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +389 -0
  686. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +121 -0
  687. data/spec/integration/preview/marketplace/available_add_on_spec.rb +142 -0
  688. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +162 -0
  689. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +250 -0
  690. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +201 -0
  691. data/spec/integration/preview/sync/service/document_spec.rb +254 -0
  692. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +255 -0
  693. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +201 -0
  694. data/spec/integration/preview/sync/service/sync_list_spec.rb +205 -0
  695. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +255 -0
  696. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +201 -0
  697. data/spec/integration/preview/sync/service/sync_map_spec.rb +205 -0
  698. data/spec/integration/preview/sync/service_spec.rb +241 -0
  699. data/spec/integration/preview/trusted_comms/branded_call_spec.rb +59 -0
  700. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +45 -0
  701. data/spec/integration/preview/trusted_comms/business/brand/branded_channel/channel_spec.rb +54 -0
  702. data/spec/integration/preview/trusted_comms/business/brand/branded_channel_spec.rb +51 -0
  703. data/spec/integration/preview/trusted_comms/business/brand_spec.rb +48 -0
  704. data/spec/integration/preview/trusted_comms/business/insights/impressions_rate_spec.rb +56 -0
  705. data/spec/integration/preview/trusted_comms/business/insights_spec.rb +12 -0
  706. data/spec/integration/preview/trusted_comms/business_spec.rb +46 -0
  707. data/spec/integration/preview/trusted_comms/cps_spec.rb +44 -0
  708. data/spec/integration/preview/trusted_comms/current_call_spec.rb +58 -0
  709. data/spec/integration/preview/trusted_comms/phone_call_spec.rb +59 -0
  710. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +79 -0
  711. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +79 -0
  712. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +46 -0
  713. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +207 -0
  714. data/spec/integration/preview/understand/assistant/field_type_spec.rb +242 -0
  715. data/spec/integration/preview/understand/assistant/model_build_spec.rb +236 -0
  716. data/spec/integration/preview/understand/assistant/query_spec.rb +302 -0
  717. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +79 -0
  718. data/spec/integration/preview/understand/assistant/task/field_spec.rb +204 -0
  719. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +249 -0
  720. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +85 -0
  721. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +49 -0
  722. data/spec/integration/preview/understand/assistant/task_spec.rb +258 -0
  723. data/spec/integration/preview/understand/assistant_spec.rb +269 -0
  724. data/spec/integration/preview/wireless/command_spec.rb +167 -0
  725. data/spec/integration/preview/wireless/rate_plan_spec.rb +257 -0
  726. data/spec/integration/preview/wireless/sim/usage_spec.rb +50 -0
  727. data/spec/integration/preview/wireless/sim_spec.rb +207 -0
  728. data/spec/integration/pricing/v1/messaging/country_spec.rb +137 -0
  729. data/spec/integration/pricing/v1/messaging_spec.rb +12 -0
  730. data/spec/integration/pricing/v1/phone_number/country_spec.rb +128 -0
  731. data/spec/integration/pricing/v1/phone_number_spec.rb +12 -0
  732. data/spec/integration/pricing/v1/voice/country_spec.rb +138 -0
  733. data/spec/integration/pricing/v1/voice/number_spec.rb +55 -0
  734. data/spec/integration/pricing/v1/voice_spec.rb +12 -0
  735. data/spec/integration/pricing/v2/voice/country_spec.rb +179 -0
  736. data/spec/integration/pricing/v2/voice/number_spec.rb +61 -0
  737. data/spec/integration/pricing/v2/voice_spec.rb +12 -0
  738. data/spec/integration/proxy/v1/service/phone_number_spec.rb +231 -0
  739. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +133 -0
  740. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +163 -0
  741. data/spec/integration/proxy/v1/service/session/participant_spec.rb +240 -0
  742. data/spec/integration/proxy/v1/service/session_spec.rb +225 -0
  743. data/spec/integration/proxy/v1/service/short_code_spec.rb +225 -0
  744. data/spec/integration/proxy/v1/service_spec.rb +214 -0
  745. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +93 -0
  746. data/spec/integration/serverless/v1/service/asset_spec.rb +202 -0
  747. data/spec/integration/serverless/v1/service/build_spec.rb +208 -0
  748. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +133 -0
  749. data/spec/integration/serverless/v1/service/environment/log_spec.rb +97 -0
  750. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +207 -0
  751. data/spec/integration/serverless/v1/service/environment_spec.rb +170 -0
  752. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +51 -0
  753. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +96 -0
  754. data/spec/integration/serverless/v1/service/function_spec.rb +202 -0
  755. data/spec/integration/serverless/v1/service_spec.rb +205 -0
  756. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +50 -0
  757. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +53 -0
  758. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +99 -0
  759. data/spec/integration/studio/v1/flow/engagement_spec.rb +168 -0
  760. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +50 -0
  761. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +53 -0
  762. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +99 -0
  763. data/spec/integration/studio/v1/flow/execution_spec.rb +214 -0
  764. data/spec/integration/studio/v1/flow_spec.rb +114 -0
  765. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +50 -0
  766. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +53 -0
  767. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +99 -0
  768. data/spec/integration/studio/v2/flow/execution_spec.rb +211 -0
  769. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +110 -0
  770. data/spec/integration/studio/v2/flow/test_user_spec.rb +85 -0
  771. data/spec/integration/studio/v2/flow_spec.rb +251 -0
  772. data/spec/integration/studio/v2/flow_validate_spec.rb +46 -0
  773. data/spec/integration/supersim/v1/command_spec.rb +184 -0
  774. data/spec/integration/supersim/v1/fleet_spec.rb +214 -0
  775. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +176 -0
  776. data/spec/integration/supersim/v1/network_access_profile_spec.rb +219 -0
  777. data/spec/integration/supersim/v1/network_spec.rb +137 -0
  778. data/spec/integration/supersim/v1/sim_spec.rb +300 -0
  779. data/spec/integration/supersim/v1/usage_record_spec.rb +647 -0
  780. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +201 -0
  781. data/spec/integration/sync/v1/service/document_spec.rb +256 -0
  782. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +257 -0
  783. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +201 -0
  784. data/spec/integration/sync/v1/service/sync_list_spec.rb +252 -0
  785. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +257 -0
  786. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +201 -0
  787. data/spec/integration/sync/v1/service/sync_map_spec.rb +252 -0
  788. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +47 -0
  789. data/spec/integration/sync/v1/service/sync_stream_spec.rb +244 -0
  790. data/spec/integration/sync/v1/service_spec.rb +261 -0
  791. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +232 -0
  792. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +163 -0
  793. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +222 -0
  794. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +312 -0
  795. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +101 -0
  796. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +83 -0
  797. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +107 -0
  798. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +145 -0
  799. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +290 -0
  800. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +325 -0
  801. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +191 -0
  802. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +185 -0
  803. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +91 -0
  804. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +88 -0
  805. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +69 -0
  806. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +115 -0
  807. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +290 -0
  808. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +96 -0
  809. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +57 -0
  810. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +70 -0
  811. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +266 -0
  812. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +93 -0
  813. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +72 -0
  814. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +104 -0
  815. data/spec/integration/taskrouter/v1/workspace_spec.rb +291 -0
  816. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +189 -0
  817. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +189 -0
  818. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +248 -0
  819. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +264 -0
  820. data/spec/integration/trunking/v1/trunk_spec.rb +277 -0
  821. data/spec/integration/verify/v2/form_spec.rb +47 -0
  822. data/spec/integration/verify/v2/service/access_token_spec.rb +44 -0
  823. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +252 -0
  824. data/spec/integration/verify/v2/service/entity/factor_spec.rb +292 -0
  825. data/spec/integration/verify/v2/service/entity_spec.rb +209 -0
  826. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +228 -0
  827. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +245 -0
  828. data/spec/integration/verify/v2/service/rate_limit_spec.rb +217 -0
  829. data/spec/integration/verify/v2/service/verification_check_spec.rb +80 -0
  830. data/spec/integration/verify/v2/service/verification_spec.rb +318 -0
  831. data/spec/integration/verify/v2/service/webhook_spec.rb +258 -0
  832. data/spec/integration/verify/v2/service_spec.rb +275 -0
  833. data/spec/integration/video/v1/composition_hook_spec.rb +407 -0
  834. data/spec/integration/video/v1/composition_settings_spec.rb +85 -0
  835. data/spec/integration/video/v1/composition_spec.rb +347 -0
  836. data/spec/integration/video/v1/recording_settings_spec.rb +85 -0
  837. data/spec/integration/video/v1/recording_spec.rb +176 -0
  838. data/spec/integration/video/v1/room/recording_spec.rb +185 -0
  839. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +94 -0
  840. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +103 -0
  841. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +95 -0
  842. data/spec/integration/video/v1/room/room_participant_spec.rb +187 -0
  843. data/spec/integration/video/v1/room_spec.rb +254 -0
  844. data/spec/integration/voice/v1/byoc_trunk_spec.rb +245 -0
  845. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +242 -0
  846. data/spec/integration/voice/v1/connection_policy_spec.rb +221 -0
  847. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +45 -0
  848. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +60 -0
  849. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +110 -0
  850. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +75 -0
  851. data/spec/integration/voice/v1/dialing_permissions_spec.rb +12 -0
  852. data/spec/integration/voice/v1/ip_record_spec.rb +219 -0
  853. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +216 -0
  854. data/spec/integration/wireless/v1/command_spec.rb +286 -0
  855. data/spec/integration/wireless/v1/rate_plan_spec.rb +277 -0
  856. data/spec/integration/wireless/v1/sim/data_session_spec.rb +88 -0
  857. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +114 -0
  858. data/spec/integration/wireless/v1/sim_spec.rb +325 -0
  859. data/spec/integration/wireless/v1/usage_record_spec.rb +110 -0
  860. data/spec/jwt/access_token_spec.rb +151 -0
  861. data/spec/jwt/client_capability_spec.rb +104 -0
  862. data/spec/jwt/task_router_spec.rb +172 -0
  863. data/spec/rack/twilio_webhook_authentication_spec.rb +19 -23
  864. data/spec/rest/client_spec.rb +189 -233
  865. data/spec/security/request_validator_spec.rb +125 -0
  866. data/spec/spec_helper.rb +24 -1
  867. data/spec/support/fakeweb.rb +1 -1
  868. data/spec/twilio_spec.rb +3 -1
  869. data/spec/twiml/messaging_response_spec.rb +235 -0
  870. data/spec/twiml/voice_response_spec.rb +847 -0
  871. data/spec/util/configuration_spec.rb +18 -0
  872. data/twilio-ruby.gemspec +20 -13
  873. metadata +1386 -252
  874. data/docs/Makefile +0 -130
  875. data/docs/_themes/LICENSE +0 -45
  876. data/docs/_themes/README.rst +0 -25
  877. data/docs/_themes/flask_theme_support.py +0 -86
  878. data/docs/_themes/kr/layout.html +0 -32
  879. data/docs/_themes/kr/relations.html +0 -19
  880. data/docs/_themes/kr/static/flasky.css_t +0 -469
  881. data/docs/_themes/kr/static/small_flask.css +0 -70
  882. data/docs/_themes/kr/theme.conf +0 -7
  883. data/docs/_themes/kr_small/layout.html +0 -22
  884. data/docs/_themes/kr_small/static/flasky.css_t +0 -287
  885. data/docs/_themes/kr_small/theme.conf +0 -10
  886. data/docs/changelog.rst +0 -1
  887. data/docs/conf.py +0 -266
  888. data/docs/faq.rst +0 -42
  889. data/docs/getting-started.rst +0 -117
  890. data/docs/index.rst +0 -135
  891. data/docs/make.bat +0 -170
  892. data/docs/src/pip-delete-this-directory.txt +0 -5
  893. data/docs/usage/accounts.rst +0 -89
  894. data/docs/usage/addresses.rst +0 -101
  895. data/docs/usage/applications.rst +0 -108
  896. data/docs/usage/basics.rst +0 -115
  897. data/docs/usage/caller-ids.rst +0 -47
  898. data/docs/usage/conferences.rst +0 -108
  899. data/docs/usage/errors.rst +0 -29
  900. data/docs/usage/lookups.rst +0 -62
  901. data/docs/usage/messages.rst +0 -137
  902. data/docs/usage/notifications.rst +0 -72
  903. data/docs/usage/phone-calls.rst +0 -185
  904. data/docs/usage/phone-numbers.rst +0 -189
  905. data/docs/usage/pricing.rst +0 -169
  906. data/docs/usage/queues.rst +0 -112
  907. data/docs/usage/recordings.rst +0 -98
  908. data/docs/usage/sip.rst +0 -104
  909. data/docs/usage/taskrouter-tokens.rst +0 -98
  910. data/docs/usage/taskrouter.rst +0 -440
  911. data/docs/usage/token-generation.rst +0 -115
  912. data/docs/usage/transcriptions.rst +0 -32
  913. data/docs/usage/twiml.rst +0 -69
  914. data/docs/usage/validation.rst +0 -107
  915. data/examples/taskrouter.examples.rb +0 -86
  916. data/issue_template.md +0 -25
  917. data/lib/twilio-ruby/rest/addresses/dependent_phone_numbers.rb +0 -6
  918. data/lib/twilio-ruby/rest/addresses.rb +0 -12
  919. data/lib/twilio-ruby/rest/applications.rb +0 -6
  920. data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
  921. data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
  922. data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
  923. data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
  924. data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
  925. data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
  926. data/lib/twilio-ruby/rest/base_client.rb +0 -131
  927. data/lib/twilio-ruby/rest/call_feedback.rb +0 -28
  928. data/lib/twilio-ruby/rest/call_feedback_summary.rb +0 -13
  929. data/lib/twilio-ruby/rest/calls.rb +0 -33
  930. data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
  931. data/lib/twilio-ruby/rest/conferences.rb +0 -12
  932. data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
  933. data/lib/twilio-ruby/rest/errors.rb +0 -14
  934. data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
  935. data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
  936. data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
  937. data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
  938. data/lib/twilio-ruby/rest/instance_resource.rb +0 -87
  939. data/lib/twilio-ruby/rest/ip-messaging/channels.rb +0 -15
  940. data/lib/twilio-ruby/rest/ip-messaging/credentials.rb +0 -19
  941. data/lib/twilio-ruby/rest/ip-messaging/members.rb +0 -8
  942. data/lib/twilio-ruby/rest/ip-messaging/messages.rb +0 -8
  943. data/lib/twilio-ruby/rest/ip-messaging/roles.rb +0 -8
  944. data/lib/twilio-ruby/rest/ip-messaging/services.rb +0 -17
  945. data/lib/twilio-ruby/rest/ip-messaging/users.rb +0 -8
  946. data/lib/twilio-ruby/rest/ip_messaging_client.rb +0 -100
  947. data/lib/twilio-ruby/rest/keys.rb +0 -6
  948. data/lib/twilio-ruby/rest/list_resource.rb +0 -100
  949. data/lib/twilio-ruby/rest/lookups/phone_numbers.rb +0 -17
  950. data/lib/twilio-ruby/rest/lookups_client.rb +0 -99
  951. data/lib/twilio-ruby/rest/media.rb +0 -14
  952. data/lib/twilio-ruby/rest/messages.rb +0 -22
  953. data/lib/twilio-ruby/rest/monitor/alerts.rb +0 -8
  954. data/lib/twilio-ruby/rest/monitor/events.rb +0 -8
  955. data/lib/twilio-ruby/rest/monitor_client.rb +0 -101
  956. data/lib/twilio-ruby/rest/next_gen_list_resource.rb +0 -36
  957. data/lib/twilio-ruby/rest/notifications.rb +0 -6
  958. data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
  959. data/lib/twilio-ruby/rest/pricing/countries.rb +0 -21
  960. data/lib/twilio-ruby/rest/pricing/messaging.rb +0 -15
  961. data/lib/twilio-ruby/rest/pricing/phone_numbers.rb +0 -14
  962. data/lib/twilio-ruby/rest/pricing/voice/numbers.rb +0 -19
  963. data/lib/twilio-ruby/rest/pricing/voice.rb +0 -15
  964. data/lib/twilio-ruby/rest/pricing_client.rb +0 -108
  965. data/lib/twilio-ruby/rest/queues/members.rb +0 -29
  966. data/lib/twilio-ruby/rest/queues.rb +0 -12
  967. data/lib/twilio-ruby/rest/recordings.rb +0 -35
  968. data/lib/twilio-ruby/rest/sandbox.rb +0 -5
  969. data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
  970. data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
  971. data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
  972. data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
  973. data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
  974. data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
  975. data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
  976. data/lib/twilio-ruby/rest/sip.rb +0 -10
  977. data/lib/twilio-ruby/rest/sms/messages.rb +0 -38
  978. data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
  979. data/lib/twilio-ruby/rest/sms.rb +0 -11
  980. data/lib/twilio-ruby/rest/task_router/activities.rb +0 -8
  981. data/lib/twilio-ruby/rest/task_router/events.rb +0 -8
  982. data/lib/twilio-ruby/rest/task_router/reservations.rb +0 -8
  983. data/lib/twilio-ruby/rest/task_router/statistics.rb +0 -26
  984. data/lib/twilio-ruby/rest/task_router/task_queues.rb +0 -17
  985. data/lib/twilio-ruby/rest/task_router/task_queues_statistics.rb +0 -15
  986. data/lib/twilio-ruby/rest/task_router/tasks.rb +0 -15
  987. data/lib/twilio-ruby/rest/task_router/workers.rb +0 -19
  988. data/lib/twilio-ruby/rest/task_router/workers_statistics.rb +0 -8
  989. data/lib/twilio-ruby/rest/task_router/workflow_statistics.rb +0 -7
  990. data/lib/twilio-ruby/rest/task_router/workflows.rb +0 -11
  991. data/lib/twilio-ruby/rest/task_router/workspace_statistics.rb +0 -7
  992. data/lib/twilio-ruby/rest/task_router/workspaces.rb +0 -17
  993. data/lib/twilio-ruby/rest/task_router_client.rb +0 -176
  994. data/lib/twilio-ruby/rest/tokens.rb +0 -7
  995. data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
  996. data/lib/twilio-ruby/rest/trunking/credential_lists.rb +0 -8
  997. data/lib/twilio-ruby/rest/trunking/ip_access_control_lists.rb +0 -8
  998. data/lib/twilio-ruby/rest/trunking/origination_urls.rb +0 -8
  999. data/lib/twilio-ruby/rest/trunking/phone_numbers.rb +0 -8
  1000. data/lib/twilio-ruby/rest/trunking/trunks.rb +0 -19
  1001. data/lib/twilio-ruby/rest/trunking_client.rb +0 -106
  1002. data/lib/twilio-ruby/rest/usage/records.rb +0 -21
  1003. data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
  1004. data/lib/twilio-ruby/rest/usage.rb +0 -10
  1005. data/lib/twilio-ruby/rest/utils.rb +0 -49
  1006. data/lib/twilio-ruby/task_router/capability.rb +0 -230
  1007. data/lib/twilio-ruby/task_router/workflow_builder.rb +0 -135
  1008. data/lib/twilio-ruby/task_router.rb +0 -0
  1009. data/lib/twilio-ruby/twiml/response.rb +0 -16
  1010. data/lib/twilio-ruby/util/access_token.rb +0 -158
  1011. data/lib/twilio-ruby/util/capability.rb +0 -64
  1012. data/lib/twilio-ruby/util/client_config.rb +0 -29
  1013. data/lib/twilio-ruby/util/request_validator.rb +0 -37
  1014. data/spec/rest/account_spec.rb +0 -89
  1015. data/spec/rest/address_spec.rb +0 -11
  1016. data/spec/rest/call_feedback_spec.rb +0 -12
  1017. data/spec/rest/call_feedback_summary_spec.rb +0 -9
  1018. data/spec/rest/call_spec.rb +0 -22
  1019. data/spec/rest/conference_spec.rb +0 -11
  1020. data/spec/rest/instance_resource_spec.rb +0 -15
  1021. data/spec/rest/ip-messaging/channel_spec.rb +0 -21
  1022. data/spec/rest/ip-messaging/service_spec.rb +0 -30
  1023. data/spec/rest/ip_messaging_client_spec.rb +0 -21
  1024. data/spec/rest/key_spec.rb +0 -11
  1025. data/spec/rest/lookups/phone_number_spec.rb +0 -28
  1026. data/spec/rest/message_spec.rb +0 -12
  1027. data/spec/rest/monitor_client_spec.rb +0 -17
  1028. data/spec/rest/numbers_spec.rb +0 -58
  1029. data/spec/rest/pricing_client_spec.rb +0 -60
  1030. data/spec/rest/queue_spec.rb +0 -11
  1031. data/spec/rest/recording_spec.rb +0 -11
  1032. data/spec/rest/sms/message_spec.rb +0 -37
  1033. data/spec/rest/sms/messages_spec.rb +0 -31
  1034. data/spec/rest/task_router/reservation_spec.rb +0 -14
  1035. data/spec/rest/task_router/statistics_spec.rb +0 -37
  1036. data/spec/rest/task_router/task_queue_spec.rb +0 -9
  1037. data/spec/rest/token_spec.rb +0 -7
  1038. data/spec/rest/trunking/trunk_spec.rb +0 -36
  1039. data/spec/rest/utils_spec.rb +0 -45
  1040. data/spec/task_router/workflow_builder_spec.rb +0 -501
  1041. data/spec/task_router_deprecated_spec.rb +0 -139
  1042. data/spec/task_router_spec.rb +0 -110
  1043. data/spec/task_router_taskqueue_spec.rb +0 -111
  1044. data/spec/task_router_worker_spec.rb +0 -146
  1045. data/spec/task_router_workspace_spec.rb +0 -110
  1046. data/spec/util/access_token_spec.rb +0 -161
  1047. data/spec/util/capability_spec.rb +0 -186
  1048. data/spec/util/client_config_spec.rb +0 -21
  1049. data/spec/util/request_validator_spec.rb +0 -113
@@ -0,0 +1,912 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
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 SID of the
19
+ # [Account](https://www.twilio.com/docs/iam/api/account) that created this Call
20
+ # resource.
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
+ # Create the CallInstance
35
+ # @param [String] to The phone number, SIP address, or client identifier to call.
36
+ # @param [String] from The phone number or client identifier to use as the caller
37
+ # id. If using a phone number, it must be a Twilio number or a Verified [outgoing
38
+ # caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your
39
+ # account. If the `to` parameter is a phone number, `From` must also be a phone
40
+ # number.
41
+ # @param [String] method The HTTP method we should use when calling the `url`
42
+ # parameter's value. Can be: `GET` or `POST` and the default is `POST`. If an
43
+ # `application_sid` parameter is present, this parameter is ignored.
44
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if
45
+ # an error occurs when requesting or executing the TwiML at `url`. If an
46
+ # `application_sid` parameter is present, this parameter is ignored.
47
+ # @param [String] fallback_method The HTTP method that we should use to request
48
+ # the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an
49
+ # `application_sid` parameter is present, this parameter is ignored.
50
+ # @param [String] status_callback The URL we should call using the
51
+ # `status_callback_method` to send status information to your application. If no
52
+ # `status_callback_event` is specified, we will send the `completed` status. If an
53
+ # `application_sid` parameter is present, this parameter is ignored. URLs must
54
+ # contain a valid hostname (underscores are not permitted).
55
+ # @param [String] status_callback_event The call progress events that we will send
56
+ # to the `status_callback` URL. Can be: `initiated`, `ringing`, `answered`, and
57
+ # `completed`. If no event is specified, we send the `completed` status. If you
58
+ # want to receive multiple events, specify each one in a separate
59
+ # `status_callback_event` parameter. See the code sample for [monitoring call
60
+ # 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.
61
+ # @param [String] status_callback_method The HTTP method we should use when
62
+ # calling the `status_callback` URL. Can be: `GET` or `POST` and the default is
63
+ # `POST`. If an `application_sid` parameter is present, this parameter is ignored.
64
+ # @param [String] send_digits A string of keys to dial after connecting to the
65
+ # number, maximum of 32 digits. Valid digits in the string include: any digit
66
+ # (`0`-`9`), '`#`', '`*`' and '`w`', to insert a half second pause. For example,
67
+ # if you connected to a company phone number and wanted to pause for one second,
68
+ # and then dial extension 1234 followed by the pound key, the value of this
69
+ # parameter would be `ww1234#`. Remember to URL-encode this string, since the
70
+ # '`#`' character has special meaning in a URL. If both `SendDigits` and
71
+ # `MachineDetection` parameters are provided, then `MachineDetection` will be
72
+ # ignored.
73
+ # @param [String] timeout The integer number of seconds that we should allow the
74
+ # phone to ring before assuming there is no answer. The default is `60` seconds
75
+ # and the maximum is `600` seconds. For some call flows, we will add a 5-second
76
+ # buffer to the timeout value you provide. For this reason, a timeout value of 10
77
+ # seconds could result in an actual timeout closer to 15 seconds. You can set this
78
+ # to a short time, such as `15` seconds, to hang up before reaching an answering
79
+ # machine or voicemail.
80
+ # @param [Boolean] record Whether to record the call. Can be `true` to record the
81
+ # phone call, or `false` to not. The default is `false`. The `recording_url` is
82
+ # sent to the `status_callback` URL.
83
+ # @param [String] recording_channels The number of channels in the final
84
+ # recording. Can be: `mono` or `dual`. The default is `mono`. `mono` records both
85
+ # legs of the call in a single channel of the recording file. `dual` records each
86
+ # leg to a separate channel of the recording file. The first channel of a
87
+ # dual-channel recording contains the parent call and the second channel contains
88
+ # the child call.
89
+ # @param [String] recording_status_callback The URL that we call when the
90
+ # recording is available to be accessed.
91
+ # @param [String] recording_status_callback_method The HTTP method we should use
92
+ # when calling the `recording_status_callback` URL. Can be: `GET` or `POST` and
93
+ # the default is `POST`.
94
+ # @param [String] sip_auth_username The username used to authenticate the caller
95
+ # making a SIP call.
96
+ # @param [String] sip_auth_password The password required to authenticate the user
97
+ # account specified in `sip_auth_username`.
98
+ # @param [String] machine_detection Whether to detect if a human, answering
99
+ # machine, or fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`.
100
+ # Use `Enable` if you would like us to return `AnsweredBy` as soon as the called
101
+ # party is identified. Use `DetectMessageEnd`, if you would like to leave a
102
+ # message on an answering machine. If `send_digits` is provided, this parameter is
103
+ # ignored. For more information, see [Answering Machine
104
+ # Detection](https://www.twilio.com/docs/voice/answering-machine-detection).
105
+ # @param [String] machine_detection_timeout The number of seconds that we should
106
+ # attempt to detect an answering machine before timing out and sending a voice
107
+ # request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds.
108
+ # @param [String] recording_status_callback_event The recording status events that
109
+ # will trigger calls to the URL specified in `recording_status_callback`. Can be:
110
+ # `in-progress`, `completed` and `absent`. Defaults to `completed`. Separate
111
+ # multiple values with a space.
112
+ # @param [String] trim Whether to trim any leading and trailing silence from the
113
+ # recording. Can be: `trim-silence` or `do-not-trim` and the default is
114
+ # `trim-silence`.
115
+ # @param [String] caller_id The phone number, SIP address, or Client identifier
116
+ # that made this call. Phone numbers are in [E.164
117
+ # format](https://wwnw.twilio.com/docs/glossary/what-e164) (e.g., +16175551212).
118
+ # SIP addresses are formatted as `name@company.com`.
119
+ # @param [String] machine_detection_speech_threshold The number of milliseconds
120
+ # that is used as the measuring stick for the length of the speech activity, where
121
+ # durations lower than this value will be interpreted as a human and longer than
122
+ # this value as a machine. Possible Values: 1000-6000. Default: 2400.
123
+ # @param [String] machine_detection_speech_end_threshold The number of
124
+ # milliseconds of silence after speech activity at which point the speech activity
125
+ # is considered complete. Possible Values: 500-5000. Default: 1200.
126
+ # @param [String] machine_detection_silence_timeout The number of milliseconds of
127
+ # initial silence after which an `unknown` AnsweredBy result will be returned.
128
+ # Possible Values: 2000-10000. Default: 5000.
129
+ # @param [String] async_amd Select whether to perform answering machine detection
130
+ # in the background. Default, blocks the execution of the call until Answering
131
+ # Machine Detection is completed. Can be: `true` or `false`.
132
+ # @param [String] async_amd_status_callback The URL that we should call using the
133
+ # `async_amd_status_callback_method` to notify customer application whether the
134
+ # call was answered by human, machine or fax.
135
+ # @param [String] async_amd_status_callback_method The HTTP method we should use
136
+ # when calling the `async_amd_status_callback` URL. Can be: `GET` or `POST` and
137
+ # the default is `POST`.
138
+ # @param [String] byoc The SID of a BYOC (Bring Your Own Carrier) trunk to route
139
+ # this call with. Note that `byoc` is only meaningful when `to` is a phone number;
140
+ # it will otherwise be ignored. (Beta)
141
+ # @param [String] call_reason The Reason for the outgoing call. Use it to specify
142
+ # the purpose of the call that is presented on the called party's phone. (Branded
143
+ # Calls Beta)
144
+ # @param [String] url The absolute URL that returns the TwiML instructions for the
145
+ # call. We will call this URL using the `method` when the call connects. For more
146
+ # information, see the [Url
147
+ # Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter)
148
+ # section in [Making Calls](https://www.twilio.com/docs/voice/make-calls).
149
+ # @param [String] twiml TwiML instructions for the call Twilio will use without
150
+ # fetching Twiml from url parameter. If both `twiml` and `url` are provided then
151
+ # `twiml` parameter will be ignored.
152
+ # @param [String] application_sid The SID of the Application resource that will
153
+ # handle the call, if the call will be handled by an application.
154
+ # @return [CallInstance] Created CallInstance
155
+ 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, 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, machine_detection_speech_threshold: :unset, machine_detection_speech_end_threshold: :unset, machine_detection_silence_timeout: :unset, async_amd: :unset, async_amd_status_callback: :unset, async_amd_status_callback_method: :unset, byoc: :unset, call_reason: :unset, url: :unset, twiml: :unset, application_sid: :unset)
156
+ data = Twilio::Values.of({
157
+ 'To' => to,
158
+ 'From' => from,
159
+ 'Url' => url,
160
+ 'Twiml' => twiml,
161
+ 'ApplicationSid' => application_sid,
162
+ 'Method' => method,
163
+ 'FallbackUrl' => fallback_url,
164
+ 'FallbackMethod' => fallback_method,
165
+ 'StatusCallback' => status_callback,
166
+ 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
167
+ 'StatusCallbackMethod' => status_callback_method,
168
+ 'SendDigits' => send_digits,
169
+ 'Timeout' => timeout,
170
+ 'Record' => record,
171
+ 'RecordingChannels' => recording_channels,
172
+ 'RecordingStatusCallback' => recording_status_callback,
173
+ 'RecordingStatusCallbackMethod' => recording_status_callback_method,
174
+ 'SipAuthUsername' => sip_auth_username,
175
+ 'SipAuthPassword' => sip_auth_password,
176
+ 'MachineDetection' => machine_detection,
177
+ 'MachineDetectionTimeout' => machine_detection_timeout,
178
+ 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
179
+ 'Trim' => trim,
180
+ 'CallerId' => caller_id,
181
+ 'MachineDetectionSpeechThreshold' => machine_detection_speech_threshold,
182
+ 'MachineDetectionSpeechEndThreshold' => machine_detection_speech_end_threshold,
183
+ 'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
184
+ 'AsyncAmd' => async_amd,
185
+ 'AsyncAmdStatusCallback' => async_amd_status_callback,
186
+ 'AsyncAmdStatusCallbackMethod' => async_amd_status_callback_method,
187
+ 'Byoc' => byoc,
188
+ 'CallReason' => call_reason,
189
+ })
190
+
191
+ payload = @version.create('POST', @uri, data: data)
192
+
193
+ CallInstance.new(@version, payload, account_sid: @solution[:account_sid], )
194
+ end
195
+
196
+ ##
197
+ # Lists CallInstance records from the API as a list.
198
+ # Unlike stream(), this operation is eager and will load `limit` records into
199
+ # memory before returning.
200
+ # @param [String] to Only show calls made to this phone number, SIP address,
201
+ # Client identifier or SIM SID.
202
+ # @param [String] from Only include calls from this phone number, SIP address,
203
+ # Client identifier or SIM SID.
204
+ # @param [String] parent_call_sid Only include calls spawned by calls with this
205
+ # SID.
206
+ # @param [call.Status] status The status of the calls to include. Can be:
207
+ # `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`,
208
+ # or `no-answer`.
209
+ # @param [Time] start_time_before Only include calls that started on this date
210
+ # @param [Time] start_time Only include calls that started on this date
211
+ # @param [Time] start_time_after Only include calls that started on this date
212
+ # @param [Time] end_time_before Only include calls that ended on this date
213
+ # @param [Time] end_time Only include calls that ended on this date
214
+ # @param [Time] end_time_after Only include calls that ended on this date
215
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
216
+ # guarantees to never return more than limit. Default is no limit
217
+ # @param [Integer] page_size Number of records to fetch per request, when
218
+ # not set will use the default value of 50 records. If no page_size is defined
219
+ # but a limit is defined, stream() will attempt to read the limit with the most
220
+ # efficient page size, i.e. min(limit, 1000)
221
+ # @return [Array] Array of up to limit results
222
+ 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)
223
+ self.stream(
224
+ to: to,
225
+ from: from,
226
+ parent_call_sid: parent_call_sid,
227
+ status: status,
228
+ start_time_before: start_time_before,
229
+ start_time: start_time,
230
+ start_time_after: start_time_after,
231
+ end_time_before: end_time_before,
232
+ end_time: end_time,
233
+ end_time_after: end_time_after,
234
+ limit: limit,
235
+ page_size: page_size
236
+ ).entries
237
+ end
238
+
239
+ ##
240
+ # Streams CallInstance records from the API as an Enumerable.
241
+ # This operation lazily loads records as efficiently as possible until the limit
242
+ # is reached.
243
+ # @param [String] to Only show calls made to this phone number, SIP address,
244
+ # Client identifier or SIM SID.
245
+ # @param [String] from Only include calls from this phone number, SIP address,
246
+ # Client identifier or SIM SID.
247
+ # @param [String] parent_call_sid Only include calls spawned by calls with this
248
+ # SID.
249
+ # @param [call.Status] status The status of the calls to include. Can be:
250
+ # `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`,
251
+ # or `no-answer`.
252
+ # @param [Time] start_time_before Only include calls that started on this date
253
+ # @param [Time] start_time Only include calls that started on this date
254
+ # @param [Time] start_time_after Only include calls that started on this date
255
+ # @param [Time] end_time_before Only include calls that ended on this date
256
+ # @param [Time] end_time Only include calls that ended on this date
257
+ # @param [Time] end_time_after Only include calls that ended on this date
258
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
259
+ # guarantees to never return more than limit. Default is no limit.
260
+ # @param [Integer] page_size Number of records to fetch per request, when
261
+ # not set will use the default value of 50 records. If no page_size is defined
262
+ # but a limit is defined, stream() will attempt to read the limit with the most
263
+ # efficient page size, i.e. min(limit, 1000)
264
+ # @return [Enumerable] Enumerable that will yield up to limit results
265
+ 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)
266
+ limits = @version.read_limits(limit, page_size)
267
+
268
+ page = self.page(
269
+ to: to,
270
+ from: from,
271
+ parent_call_sid: parent_call_sid,
272
+ status: status,
273
+ start_time_before: start_time_before,
274
+ start_time: start_time,
275
+ start_time_after: start_time_after,
276
+ end_time_before: end_time_before,
277
+ end_time: end_time,
278
+ end_time_after: end_time_after,
279
+ page_size: limits[:page_size],
280
+ )
281
+
282
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
283
+ end
284
+
285
+ ##
286
+ # When passed a block, yields CallInstance records from the API.
287
+ # This operation lazily loads records as efficiently as possible until the limit
288
+ # is reached.
289
+ def each
290
+ limits = @version.read_limits
291
+
292
+ page = self.page(page_size: limits[:page_size], )
293
+
294
+ @version.stream(page,
295
+ limit: limits[:limit],
296
+ page_limit: limits[:page_limit]).each {|x| yield x}
297
+ end
298
+
299
+ ##
300
+ # Retrieve a single page of CallInstance records from the API.
301
+ # Request is executed immediately.
302
+ # @param [String] to Only show calls made to this phone number, SIP address,
303
+ # Client identifier or SIM SID.
304
+ # @param [String] from Only include calls from this phone number, SIP address,
305
+ # Client identifier or SIM SID.
306
+ # @param [String] parent_call_sid Only include calls spawned by calls with this
307
+ # SID.
308
+ # @param [call.Status] status The status of the calls to include. Can be:
309
+ # `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`,
310
+ # or `no-answer`.
311
+ # @param [Time] start_time_before Only include calls that started on this date
312
+ # @param [Time] start_time Only include calls that started on this date
313
+ # @param [Time] start_time_after Only include calls that started on this date
314
+ # @param [Time] end_time_before Only include calls that ended on this date
315
+ # @param [Time] end_time Only include calls that ended on this date
316
+ # @param [Time] end_time_after Only include calls that ended on this date
317
+ # @param [String] page_token PageToken provided by the API
318
+ # @param [Integer] page_number Page Number, this value is simply for client state
319
+ # @param [Integer] page_size Number of records to return, defaults to 50
320
+ # @return [Page] Page of CallInstance
321
+ 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)
322
+ params = Twilio::Values.of({
323
+ 'To' => to,
324
+ 'From' => from,
325
+ 'ParentCallSid' => parent_call_sid,
326
+ 'Status' => status,
327
+ 'StartTime<' => Twilio.serialize_iso8601_datetime(start_time_before),
328
+ 'StartTime' => Twilio.serialize_iso8601_datetime(start_time),
329
+ 'StartTime>' => Twilio.serialize_iso8601_datetime(start_time_after),
330
+ 'EndTime<' => Twilio.serialize_iso8601_datetime(end_time_before),
331
+ 'EndTime' => Twilio.serialize_iso8601_datetime(end_time),
332
+ 'EndTime>' => Twilio.serialize_iso8601_datetime(end_time_after),
333
+ 'PageToken' => page_token,
334
+ 'Page' => page_number,
335
+ 'PageSize' => page_size,
336
+ })
337
+
338
+ response = @version.page('GET', @uri, params: params)
339
+
340
+ CallPage.new(@version, response, @solution)
341
+ end
342
+
343
+ ##
344
+ # Retrieve a single page of CallInstance records from the API.
345
+ # Request is executed immediately.
346
+ # @param [String] target_url API-generated URL for the requested results page
347
+ # @return [Page] Page of CallInstance
348
+ def get_page(target_url)
349
+ response = @version.domain.request(
350
+ 'GET',
351
+ target_url
352
+ )
353
+ CallPage.new(@version, response, @solution)
354
+ end
355
+
356
+ ##
357
+ # Access the feedback_summaries
358
+ # @param [String] sid A 34 character string that uniquely identifies this
359
+ # resource.
360
+ # @return [FeedbackSummaryList]
361
+ # @return [FeedbackSummaryContext] if sid was passed.
362
+ def feedback_summaries(sid=:unset)
363
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
364
+
365
+ if sid != :unset
366
+ return FeedbackSummaryContext.new(@version, @solution[:account_sid], sid, )
367
+ end
368
+
369
+ @feedback_summaries ||= FeedbackSummaryList.new(@version, account_sid: @solution[:account_sid], )
370
+ end
371
+
372
+ ##
373
+ # Provide a user friendly representation
374
+ def to_s
375
+ '#<Twilio.Api.V2010.CallList>'
376
+ end
377
+ end
378
+
379
+ class CallPage < Page
380
+ ##
381
+ # Initialize the CallPage
382
+ # @param [Version] version Version that contains the resource
383
+ # @param [Response] response Response from the API
384
+ # @param [Hash] solution Path solution for the resource
385
+ # @return [CallPage] CallPage
386
+ def initialize(version, response, solution)
387
+ super(version, response)
388
+
389
+ # Path Solution
390
+ @solution = solution
391
+ end
392
+
393
+ ##
394
+ # Build an instance of CallInstance
395
+ # @param [Hash] payload Payload response from the API
396
+ # @return [CallInstance] CallInstance
397
+ def get_instance(payload)
398
+ CallInstance.new(@version, payload, account_sid: @solution[:account_sid], )
399
+ end
400
+
401
+ ##
402
+ # Provide a user friendly representation
403
+ def to_s
404
+ '<Twilio.Api.V2010.CallPage>'
405
+ end
406
+ end
407
+
408
+ class CallContext < InstanceContext
409
+ ##
410
+ # Initialize the CallContext
411
+ # @param [Version] version Version that contains the resource
412
+ # @param [String] account_sid The SID of the
413
+ # [Account](https://www.twilio.com/docs/iam/api/account) that created the Call
414
+ # resource(s) to fetch.
415
+ # @param [String] sid The SID of the Call resource to fetch.
416
+ # @return [CallContext] CallContext
417
+ def initialize(version, account_sid, sid)
418
+ super(version)
419
+
420
+ # Path Solution
421
+ @solution = {account_sid: account_sid, sid: sid, }
422
+ @uri = "/Accounts/#{@solution[:account_sid]}/Calls/#{@solution[:sid]}.json"
423
+
424
+ # Dependents
425
+ @recordings = nil
426
+ @notifications = nil
427
+ @feedback = nil
428
+ @payments = nil
429
+ end
430
+
431
+ ##
432
+ # Delete the CallInstance
433
+ # @return [Boolean] true if delete succeeds, false otherwise
434
+ def delete
435
+ @version.delete('DELETE', @uri)
436
+ end
437
+
438
+ ##
439
+ # Fetch the CallInstance
440
+ # @return [CallInstance] Fetched CallInstance
441
+ def fetch
442
+ payload = @version.fetch('GET', @uri)
443
+
444
+ CallInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
445
+ end
446
+
447
+ ##
448
+ # Update the CallInstance
449
+ # @param [String] url The absolute URL that returns the TwiML instructions for the
450
+ # call. We will call this URL using the `method` when the call connects. For more
451
+ # information, see the [Url
452
+ # Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter)
453
+ # section in [Making Calls](https://www.twilio.com/docs/voice/make-calls).
454
+ # @param [String] method The HTTP method we should use when calling the `url`. Can
455
+ # be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter
456
+ # is present, this parameter is ignored.
457
+ # @param [call.UpdateStatus] status The new status of the resource. Can be:
458
+ # `canceled` or `completed`. Specifying `canceled` will attempt to hang up calls
459
+ # that are queued or ringing; however, it will not affect calls already in
460
+ # progress. Specifying `completed` will attempt to hang up a call even if it's
461
+ # already in progress.
462
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if
463
+ # an error occurs when requesting or executing the TwiML at `url`. If an
464
+ # `application_sid` parameter is present, this parameter is ignored.
465
+ # @param [String] fallback_method The HTTP method that we should use to request
466
+ # the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an
467
+ # `application_sid` parameter is present, this parameter is ignored.
468
+ # @param [String] status_callback The URL we should call using the
469
+ # `status_callback_method` to send status information to your application. If no
470
+ # `status_callback_event` is specified, we will send the `completed` status. If an
471
+ # `application_sid` parameter is present, this parameter is ignored. URLs must
472
+ # contain a valid hostname (underscores are not permitted).
473
+ # @param [String] status_callback_method The HTTP method we should use when
474
+ # requesting the `status_callback` URL. Can be: `GET` or `POST` and the default is
475
+ # `POST`. If an `application_sid` parameter is present, this parameter is ignored.
476
+ # @param [String] twiml TwiML instructions for the call Twilio will use without
477
+ # fetching Twiml from url. Twiml and url parameters are mutually exclusive
478
+ # @return [CallInstance] Updated CallInstance
479
+ def update(url: :unset, method: :unset, status: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_method: :unset, twiml: :unset)
480
+ data = Twilio::Values.of({
481
+ 'Url' => url,
482
+ 'Method' => method,
483
+ 'Status' => status,
484
+ 'FallbackUrl' => fallback_url,
485
+ 'FallbackMethod' => fallback_method,
486
+ 'StatusCallback' => status_callback,
487
+ 'StatusCallbackMethod' => status_callback_method,
488
+ 'Twiml' => twiml,
489
+ })
490
+
491
+ payload = @version.update('POST', @uri, data: data)
492
+
493
+ CallInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
494
+ end
495
+
496
+ ##
497
+ # Access the recordings
498
+ # @return [RecordingList]
499
+ # @return [RecordingContext] if sid was passed.
500
+ def recordings(sid=:unset)
501
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
502
+
503
+ if sid != :unset
504
+ return RecordingContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
505
+ end
506
+
507
+ unless @recordings
508
+ @recordings = RecordingList.new(
509
+ @version,
510
+ account_sid: @solution[:account_sid],
511
+ call_sid: @solution[:sid],
512
+ )
513
+ end
514
+
515
+ @recordings
516
+ end
517
+
518
+ ##
519
+ # Access the notifications
520
+ # @return [NotificationList]
521
+ # @return [NotificationContext] if sid was passed.
522
+ def notifications(sid=:unset)
523
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
524
+
525
+ if sid != :unset
526
+ return NotificationContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
527
+ end
528
+
529
+ unless @notifications
530
+ @notifications = NotificationList.new(
531
+ @version,
532
+ account_sid: @solution[:account_sid],
533
+ call_sid: @solution[:sid],
534
+ )
535
+ end
536
+
537
+ @notifications
538
+ end
539
+
540
+ ##
541
+ # Access the feedback
542
+ # @return [FeedbackList]
543
+ # @return [FeedbackContext]
544
+ def feedback
545
+ FeedbackContext.new(@version, @solution[:account_sid], @solution[:sid], )
546
+ end
547
+
548
+ ##
549
+ # Access the payments
550
+ # @return [PaymentList]
551
+ # @return [PaymentContext] if sid was passed.
552
+ def payments(sid=:unset)
553
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
554
+
555
+ if sid != :unset
556
+ return PaymentContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
557
+ end
558
+
559
+ unless @payments
560
+ @payments = PaymentList.new(
561
+ @version,
562
+ account_sid: @solution[:account_sid],
563
+ call_sid: @solution[:sid],
564
+ )
565
+ end
566
+
567
+ @payments
568
+ end
569
+
570
+ ##
571
+ # Provide a user friendly representation
572
+ def to_s
573
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
574
+ "#<Twilio.Api.V2010.CallContext #{context}>"
575
+ end
576
+
577
+ ##
578
+ # Provide a detailed, user friendly representation
579
+ def inspect
580
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
581
+ "#<Twilio.Api.V2010.CallContext #{context}>"
582
+ end
583
+ end
584
+
585
+ class CallInstance < InstanceResource
586
+ ##
587
+ # Initialize the CallInstance
588
+ # @param [Version] version Version that contains the resource
589
+ # @param [Hash] payload payload that contains response from Twilio
590
+ # @param [String] account_sid The SID of the
591
+ # [Account](https://www.twilio.com/docs/iam/api/account) that created this Call
592
+ # resource.
593
+ # @param [String] sid The SID of the Call resource to fetch.
594
+ # @return [CallInstance] CallInstance
595
+ def initialize(version, payload, account_sid: nil, sid: nil)
596
+ super(version)
597
+
598
+ # Marshaled Properties
599
+ @properties = {
600
+ 'sid' => payload['sid'],
601
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
602
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
603
+ 'parent_call_sid' => payload['parent_call_sid'],
604
+ 'account_sid' => payload['account_sid'],
605
+ 'to' => payload['to'],
606
+ 'to_formatted' => payload['to_formatted'],
607
+ 'from' => payload['from'],
608
+ 'from_formatted' => payload['from_formatted'],
609
+ 'phone_number_sid' => payload['phone_number_sid'],
610
+ 'status' => payload['status'],
611
+ 'start_time' => Twilio.deserialize_rfc2822(payload['start_time']),
612
+ 'end_time' => Twilio.deserialize_rfc2822(payload['end_time']),
613
+ 'duration' => payload['duration'],
614
+ 'price' => payload['price'],
615
+ 'price_unit' => payload['price_unit'],
616
+ 'direction' => payload['direction'],
617
+ 'answered_by' => payload['answered_by'],
618
+ 'annotation' => payload['annotation'],
619
+ 'api_version' => payload['api_version'],
620
+ 'forwarded_from' => payload['forwarded_from'],
621
+ 'group_sid' => payload['group_sid'],
622
+ 'caller_name' => payload['caller_name'],
623
+ 'queue_time' => payload['queue_time'],
624
+ 'trunk_sid' => payload['trunk_sid'],
625
+ 'uri' => payload['uri'],
626
+ 'subresource_uris' => payload['subresource_uris'],
627
+ }
628
+
629
+ # Context
630
+ @instance_context = nil
631
+ @params = {'account_sid' => account_sid, 'sid' => sid || @properties['sid'], }
632
+ end
633
+
634
+ ##
635
+ # Generate an instance context for the instance, the context is capable of
636
+ # performing various actions. All instance actions are proxied to the context
637
+ # @return [CallContext] CallContext for this CallInstance
638
+ def context
639
+ unless @instance_context
640
+ @instance_context = CallContext.new(@version, @params['account_sid'], @params['sid'], )
641
+ end
642
+ @instance_context
643
+ end
644
+
645
+ ##
646
+ # @return [String] The unique string that identifies this resource
647
+ def sid
648
+ @properties['sid']
649
+ end
650
+
651
+ ##
652
+ # @return [Time] The RFC 2822 date and time in GMT that this resource was created
653
+ def date_created
654
+ @properties['date_created']
655
+ end
656
+
657
+ ##
658
+ # @return [Time] The RFC 2822 date and time in GMT that this resource was last updated
659
+ def date_updated
660
+ @properties['date_updated']
661
+ end
662
+
663
+ ##
664
+ # @return [String] The SID that identifies the call that created this leg.
665
+ def parent_call_sid
666
+ @properties['parent_call_sid']
667
+ end
668
+
669
+ ##
670
+ # @return [String] The SID of the Account that created this resource
671
+ def account_sid
672
+ @properties['account_sid']
673
+ end
674
+
675
+ ##
676
+ # @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`.
677
+ def to
678
+ @properties['to']
679
+ end
680
+
681
+ ##
682
+ # @return [String] The phone number, SIP address or Client identifier that received this call. Formatted for display.
683
+ def to_formatted
684
+ @properties['to_formatted']
685
+ end
686
+
687
+ ##
688
+ # @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`.
689
+ def from
690
+ @properties['from']
691
+ end
692
+
693
+ ##
694
+ # @return [String] The calling phone number, SIP address, or Client identifier formatted for display.
695
+ def from_formatted
696
+ @properties['from_formatted']
697
+ end
698
+
699
+ ##
700
+ # @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.
701
+ def phone_number_sid
702
+ @properties['phone_number_sid']
703
+ end
704
+
705
+ ##
706
+ # @return [call.Status] The status of this call.
707
+ def status
708
+ @properties['status']
709
+ end
710
+
711
+ ##
712
+ # @return [Time] The start time of the call. Null if the call has not yet been dialed.
713
+ def start_time
714
+ @properties['start_time']
715
+ end
716
+
717
+ ##
718
+ # @return [Time] The end time of the call. Null if the call did not complete successfully.
719
+ def end_time
720
+ @properties['end_time']
721
+ end
722
+
723
+ ##
724
+ # @return [String] The length of the call in seconds.
725
+ def duration
726
+ @properties['duration']
727
+ end
728
+
729
+ ##
730
+ # @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.
731
+ def price
732
+ @properties['price']
733
+ end
734
+
735
+ ##
736
+ # @return [String] The currency in which `Price` is measured.
737
+ def price_unit
738
+ @properties['price_unit']
739
+ end
740
+
741
+ ##
742
+ # @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.
743
+ def direction
744
+ @properties['direction']
745
+ end
746
+
747
+ ##
748
+ # @return [String] Either `human` or `machine` if this call was initiated with answering machine detection. Empty otherwise.
749
+ def answered_by
750
+ @properties['answered_by']
751
+ end
752
+
753
+ ##
754
+ # @return [String] The annotation provided for the call
755
+ def annotation
756
+ @properties['annotation']
757
+ end
758
+
759
+ ##
760
+ # @return [String] The API Version used to create the call
761
+ def api_version
762
+ @properties['api_version']
763
+ end
764
+
765
+ ##
766
+ # @return [String] The forwarding phone number if this call was an incoming call forwarded from another number (depends on carrier supporting forwarding). Otherwise, empty.
767
+ def forwarded_from
768
+ @properties['forwarded_from']
769
+ end
770
+
771
+ ##
772
+ # @return [String] The Group SID associated with this call. If no Group is associated with the call, the field is empty.
773
+ def group_sid
774
+ @properties['group_sid']
775
+ end
776
+
777
+ ##
778
+ # @return [String] The caller's name if this call was an incoming call to a phone number with caller ID Lookup enabled. Otherwise, empty.
779
+ def caller_name
780
+ @properties['caller_name']
781
+ end
782
+
783
+ ##
784
+ # @return [String] The wait time in milliseconds before the call is placed.
785
+ def queue_time
786
+ @properties['queue_time']
787
+ end
788
+
789
+ ##
790
+ # @return [String] The (optional) unique identifier of the trunk resource that was used for this call.
791
+ def trunk_sid
792
+ @properties['trunk_sid']
793
+ end
794
+
795
+ ##
796
+ # @return [String] The URI of this resource, relative to `https://api.twilio.com`
797
+ def uri
798
+ @properties['uri']
799
+ end
800
+
801
+ ##
802
+ # @return [String] A list of related subresources identified by their relative URIs
803
+ def subresource_uris
804
+ @properties['subresource_uris']
805
+ end
806
+
807
+ ##
808
+ # Delete the CallInstance
809
+ # @return [Boolean] true if delete succeeds, false otherwise
810
+ def delete
811
+ context.delete
812
+ end
813
+
814
+ ##
815
+ # Fetch the CallInstance
816
+ # @return [CallInstance] Fetched CallInstance
817
+ def fetch
818
+ context.fetch
819
+ end
820
+
821
+ ##
822
+ # Update the CallInstance
823
+ # @param [String] url The absolute URL that returns the TwiML instructions for the
824
+ # call. We will call this URL using the `method` when the call connects. For more
825
+ # information, see the [Url
826
+ # Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter)
827
+ # section in [Making Calls](https://www.twilio.com/docs/voice/make-calls).
828
+ # @param [String] method The HTTP method we should use when calling the `url`. Can
829
+ # be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter
830
+ # is present, this parameter is ignored.
831
+ # @param [call.UpdateStatus] status The new status of the resource. Can be:
832
+ # `canceled` or `completed`. Specifying `canceled` will attempt to hang up calls
833
+ # that are queued or ringing; however, it will not affect calls already in
834
+ # progress. Specifying `completed` will attempt to hang up a call even if it's
835
+ # already in progress.
836
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if
837
+ # an error occurs when requesting or executing the TwiML at `url`. If an
838
+ # `application_sid` parameter is present, this parameter is ignored.
839
+ # @param [String] fallback_method The HTTP method that we should use to request
840
+ # the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an
841
+ # `application_sid` parameter is present, this parameter is ignored.
842
+ # @param [String] status_callback The URL we should call using the
843
+ # `status_callback_method` to send status information to your application. If no
844
+ # `status_callback_event` is specified, we will send the `completed` status. If an
845
+ # `application_sid` parameter is present, this parameter is ignored. URLs must
846
+ # contain a valid hostname (underscores are not permitted).
847
+ # @param [String] status_callback_method The HTTP method we should use when
848
+ # requesting the `status_callback` URL. Can be: `GET` or `POST` and the default is
849
+ # `POST`. If an `application_sid` parameter is present, this parameter is ignored.
850
+ # @param [String] twiml TwiML instructions for the call Twilio will use without
851
+ # fetching Twiml from url. Twiml and url parameters are mutually exclusive
852
+ # @return [CallInstance] Updated CallInstance
853
+ def update(url: :unset, method: :unset, status: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_method: :unset, twiml: :unset)
854
+ context.update(
855
+ url: url,
856
+ method: method,
857
+ status: status,
858
+ fallback_url: fallback_url,
859
+ fallback_method: fallback_method,
860
+ status_callback: status_callback,
861
+ status_callback_method: status_callback_method,
862
+ twiml: twiml,
863
+ )
864
+ end
865
+
866
+ ##
867
+ # Access the recordings
868
+ # @return [recordings] recordings
869
+ def recordings
870
+ context.recordings
871
+ end
872
+
873
+ ##
874
+ # Access the notifications
875
+ # @return [notifications] notifications
876
+ def notifications
877
+ context.notifications
878
+ end
879
+
880
+ ##
881
+ # Access the feedback
882
+ # @return [feedback] feedback
883
+ def feedback
884
+ context.feedback
885
+ end
886
+
887
+ ##
888
+ # Access the payments
889
+ # @return [payments] payments
890
+ def payments
891
+ context.payments
892
+ end
893
+
894
+ ##
895
+ # Provide a user friendly representation
896
+ def to_s
897
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
898
+ "<Twilio.Api.V2010.CallInstance #{values}>"
899
+ end
900
+
901
+ ##
902
+ # Provide a detailed, user friendly representation
903
+ def inspect
904
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
905
+ "<Twilio.Api.V2010.CallInstance #{values}>"
906
+ end
907
+ end
908
+ end
909
+ end
910
+ end
911
+ end
912
+ end