twilio-ruby 5.77.0 → 6.0.0.pre.rc.1

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