twilio-ruby 5.0.0.rc18 → 5.0.0.rc19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (369) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +9 -0
  3. data/lib/twilio-ruby/jwt/access_token.rb +25 -0
  4. data/lib/twilio-ruby/rest/accounts.rb +40 -0
  5. data/lib/twilio-ruby/rest/accounts/v1.rb +35 -0
  6. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +102 -0
  7. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +352 -0
  8. data/lib/twilio-ruby/rest/api.rb +30 -34
  9. data/lib/twilio-ruby/rest/api/v2010.rb +28 -32
  10. data/lib/twilio-ruby/rest/api/v2010/account.rb +132 -150
  11. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +71 -55
  12. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +29 -29
  13. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +58 -58
  14. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +37 -37
  15. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +45 -45
  16. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +39 -39
  17. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +39 -39
  18. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +39 -39
  19. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +102 -123
  20. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +33 -33
  21. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +38 -38
  22. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +52 -52
  23. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +42 -37
  24. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +83 -40
  25. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +131 -43
  26. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +42 -42
  27. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +172 -96
  28. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +404 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +332 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +62 -57
  31. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +62 -57
  32. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +62 -57
  33. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +37 -37
  34. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +78 -85
  35. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +19 -19
  36. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +47 -57
  37. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +18 -18
  38. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +18 -18
  39. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +46 -46
  40. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +40 -40
  41. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +50 -50
  42. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +36 -36
  43. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +101 -68
  44. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +372 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +356 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +42 -42
  47. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +43 -43
  48. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +37 -37
  49. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +27 -16
  50. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +48 -48
  51. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +43 -43
  52. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +65 -60
  53. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +43 -38
  54. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +43 -38
  55. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +48 -48
  56. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +44 -44
  57. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +20 -20
  58. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +42 -42
  59. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +13 -13
  60. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +78 -82
  61. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +45 -73
  62. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +45 -73
  63. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +45 -73
  64. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +45 -73
  65. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +45 -73
  66. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +45 -73
  67. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +45 -73
  68. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +45 -73
  69. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +52 -52
  70. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +18 -18
  71. data/lib/twilio-ruby/rest/chat.rb +16 -9
  72. data/lib/twilio-ruby/rest/chat/v1.rb +4 -4
  73. data/lib/twilio-ruby/rest/chat/v1/credential.rb +53 -47
  74. data/lib/twilio-ruby/rest/chat/v1/service.rb +446 -69
  75. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +114 -69
  76. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +363 -0
  77. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +99 -44
  78. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +76 -54
  79. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +45 -45
  80. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +101 -46
  81. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +223 -0
  82. data/lib/twilio-ruby/rest/chat/v2.rb +44 -0
  83. data/lib/twilio-ruby/rest/chat/v2/credential.rb +381 -0
  84. data/lib/twilio-ruby/rest/chat/v2/service.rb +633 -0
  85. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +513 -0
  86. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +363 -0
  87. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +406 -0
  88. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +418 -0
  89. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +373 -0
  90. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +433 -0
  91. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +223 -0
  92. data/lib/twilio-ruby/rest/client.rb +91 -75
  93. data/lib/twilio-ruby/rest/fax.rb +40 -0
  94. data/lib/twilio-ruby/rest/fax/v1.rb +35 -0
  95. data/lib/twilio-ruby/rest/fax/v1/fax.rb +397 -0
  96. data/lib/twilio-ruby/rest/ip_messaging.rb +16 -9
  97. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +4 -4
  98. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +53 -47
  99. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +446 -69
  100. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +114 -69
  101. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +363 -0
  102. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +99 -44
  103. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +76 -54
  104. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +45 -45
  105. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +101 -46
  106. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +223 -0
  107. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +44 -0
  108. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +381 -0
  109. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +633 -0
  110. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +513 -0
  111. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +363 -0
  112. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +406 -0
  113. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +418 -0
  114. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +373 -0
  115. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +433 -0
  116. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +223 -0
  117. data/lib/twilio-ruby/rest/lookups.rb +6 -6
  118. data/lib/twilio-ruby/rest/lookups/v1.rb +3 -3
  119. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +30 -25
  120. data/lib/twilio-ruby/rest/messaging.rb +40 -0
  121. data/lib/twilio-ruby/rest/messaging/v1.rb +35 -0
  122. data/lib/twilio-ruby/rest/messaging/v1/service.rb +524 -0
  123. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +331 -0
  124. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +336 -0
  125. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +336 -0
  126. data/lib/twilio-ruby/rest/monitor.rb +7 -7
  127. data/lib/twilio-ruby/rest/monitor/v1.rb +4 -4
  128. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +57 -85
  129. data/lib/twilio-ruby/rest/monitor/v1/event.rb +63 -81
  130. data/lib/twilio-ruby/rest/notify.rb +7 -7
  131. data/lib/twilio-ruby/rest/notify/v1.rb +4 -4
  132. data/lib/twilio-ruby/rest/notify/v1/credential.rb +53 -47
  133. data/lib/twilio-ruby/rest/notify/v1/service.rb +148 -60
  134. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +70 -86
  135. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +47 -33
  136. data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +206 -0
  137. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +418 -0
  138. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +247 -0
  139. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +405 -0
  140. data/lib/twilio-ruby/rest/preview.rb +34 -19
  141. data/lib/twilio-ruby/rest/preview/marketplace.rb +44 -0
  142. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +310 -0
  143. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +284 -0
  144. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +411 -0
  145. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +322 -0
  146. data/lib/twilio-ruby/rest/preview/sync.rb +3 -3
  147. data/lib/twilio-ruby/rest/preview/sync/service.rb +72 -61
  148. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +85 -46
  149. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +377 -0
  150. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +79 -47
  151. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +46 -46
  152. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +377 -0
  153. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +79 -47
  154. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +46 -46
  155. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +377 -0
  156. data/lib/twilio-ruby/rest/preview/wireless.rb +12 -12
  157. data/lib/twilio-ruby/rest/preview/wireless/command.rb +68 -45
  158. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +137 -73
  159. data/lib/twilio-ruby/rest/preview/wireless/{device.rb → sim.rb} +127 -150
  160. data/lib/twilio-ruby/rest/preview/wireless/{device → sim}/usage.rb +49 -49
  161. data/lib/twilio-ruby/rest/pricing.rb +8 -8
  162. data/lib/twilio-ruby/rest/pricing/v1.rb +5 -5
  163. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +16 -16
  164. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +33 -33
  165. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +16 -16
  166. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +33 -38
  167. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +18 -18
  168. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +33 -33
  169. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +26 -26
  170. data/lib/twilio-ruby/rest/taskrouter.rb +6 -6
  171. data/lib/twilio-ruby/rest/taskrouter/v1.rb +3 -3
  172. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +103 -82
  173. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +48 -43
  174. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +42 -42
  175. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +114 -75
  176. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +50 -40
  177. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +35 -35
  178. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +110 -78
  179. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +31 -30
  180. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +24 -24
  181. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +71 -61
  182. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +50 -40
  183. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +45 -45
  184. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +28 -23
  185. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +28 -23
  186. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +60 -50
  187. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +29 -24
  188. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +34 -29
  189. data/lib/twilio-ruby/rest/trunking.rb +6 -6
  190. data/lib/twilio-ruby/rest/trunking/v1.rb +3 -3
  191. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +67 -67
  192. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +39 -39
  193. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +39 -39
  194. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +47 -47
  195. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +58 -58
  196. data/lib/twilio-ruby/rest/video.rb +44 -0
  197. data/lib/twilio-ruby/rest/video/v1.rb +44 -0
  198. data/lib/twilio-ruby/rest/video/v1/recording.rb +341 -0
  199. data/lib/twilio-ruby/rest/video/v1/room.rb +411 -0
  200. data/lib/twilio-ruby/version.rb +1 -1
  201. data/spec/integration/accounts/v1/credential/public_key_spec.rb +226 -0
  202. data/spec/integration/accounts/v1/credential_spec.rb +10 -0
  203. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +7 -7
  204. data/spec/integration/api/v2010/account/address_spec.rb +32 -24
  205. data/spec/integration/api/v2010/account/application_spec.rb +24 -24
  206. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +11 -11
  207. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +7 -7
  208. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +7 -7
  209. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +7 -7
  210. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +11 -11
  211. data/spec/integration/api/v2010/account/call/feedback_spec.rb +14 -14
  212. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +14 -14
  213. data/spec/integration/api/v2010/account/call/notification_spec.rb +15 -15
  214. data/spec/integration/api/v2010/account/call/recording_spec.rb +15 -15
  215. data/spec/integration/api/v2010/account/call_spec.rb +24 -24
  216. data/spec/integration/api/v2010/account/conference/participant_spec.rb +97 -25
  217. data/spec/integration/api/v2010/account/conference_spec.rb +56 -17
  218. data/spec/integration/api/v2010/account/connect_app_spec.rb +15 -15
  219. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +135 -0
  220. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +223 -0
  221. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +12 -12
  222. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +12 -12
  223. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +12 -12
  224. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +32 -24
  225. data/spec/integration/api/v2010/account/key_spec.rb +19 -19
  226. data/spec/integration/api/v2010/account/message/feedback_spec.rb +25 -3
  227. data/spec/integration/api/v2010/account/message/media_spec.rb +15 -15
  228. data/spec/integration/api/v2010/account/message_spec.rb +34 -27
  229. data/spec/integration/api/v2010/account/new_key_spec.rb +5 -5
  230. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +5 -5
  231. data/spec/integration/api/v2010/account/notification_spec.rb +15 -15
  232. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +19 -19
  233. data/spec/integration/api/v2010/account/queue/member_spec.rb +15 -15
  234. data/spec/integration/api/v2010/account/queue_spec.rb +30 -27
  235. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +175 -0
  236. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +166 -0
  237. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +15 -15
  238. data/spec/integration/api/v2010/account/recording_spec.rb +16 -16
  239. data/spec/integration/api/v2010/account/short_code_spec.rb +15 -15
  240. data/spec/integration/api/v2010/account/signing_key_spec.rb +19 -19
  241. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +24 -24
  242. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +24 -24
  243. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +20 -20
  244. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +20 -20
  245. data/spec/integration/api/v2010/account/sip/domain_spec.rb +24 -24
  246. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +24 -24
  247. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +24 -24
  248. data/spec/integration/api/v2010/account/sip_spec.rb +1 -1
  249. data/spec/integration/api/v2010/account/token_spec.rb +6 -6
  250. data/spec/integration/api/v2010/account/transcription_spec.rb +15 -15
  251. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +7 -7
  252. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +7 -7
  253. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +7 -7
  254. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +7 -7
  255. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +7 -7
  256. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +7 -7
  257. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +7 -7
  258. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +7 -7
  259. data/spec/integration/api/v2010/account/usage/record_spec.rb +7 -7
  260. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +27 -27
  261. data/spec/integration/api/v2010/account/usage_spec.rb +1 -1
  262. data/spec/integration/api/v2010/account/validation_request_spec.rb +23 -3
  263. data/spec/integration/api/v2010/account_spec.rb +20 -24
  264. data/spec/integration/chat/v1/credential_spec.rb +31 -31
  265. data/spec/integration/chat/v1/service/channel/invite_spec.rb +210 -0
  266. data/spec/integration/chat/v1/service/channel/member_spec.rb +102 -31
  267. data/spec/integration/chat/v1/service/channel/message_spec.rb +210 -16
  268. data/spec/integration/chat/v1/service/channel_spec.rb +71 -55
  269. data/spec/integration/chat/v1/service/role_spec.rb +33 -33
  270. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +92 -0
  271. data/spec/integration/chat/v1/service/user_spec.rb +57 -33
  272. data/spec/integration/chat/v1/service_spec.rb +142 -106
  273. data/spec/integration/chat/v2/credential_spec.rb +223 -0
  274. data/spec/integration/chat/v2/service/channel/invite_spec.rb +210 -0
  275. data/spec/integration/chat/v2/service/channel/member_spec.rb +284 -0
  276. data/spec/integration/chat/v2/service/channel/message_spec.rb +294 -0
  277. data/spec/integration/chat/v2/service/channel_spec.rb +275 -0
  278. data/spec/integration/chat/v2/service/role_spec.rb +263 -0
  279. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +92 -0
  280. data/spec/integration/chat/v2/service/user_spec.rb +266 -0
  281. data/spec/integration/chat/v2/service_spec.rb +325 -0
  282. data/spec/integration/fax/v1/fax_spec.rb +231 -0
  283. data/spec/integration/ip_messaging/v1/credential_spec.rb +31 -31
  284. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +210 -0
  285. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +102 -31
  286. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +210 -16
  287. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +71 -55
  288. data/spec/integration/ip_messaging/v1/service/role_spec.rb +33 -33
  289. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +92 -0
  290. data/spec/integration/ip_messaging/v1/service/user_spec.rb +57 -33
  291. data/spec/integration/ip_messaging/v1/service_spec.rb +142 -106
  292. data/spec/integration/ip_messaging/v2/credential_spec.rb +223 -0
  293. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +210 -0
  294. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +284 -0
  295. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +294 -0
  296. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +275 -0
  297. data/spec/integration/ip_messaging/v2/service/role_spec.rb +263 -0
  298. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +92 -0
  299. data/spec/integration/ip_messaging/v2/service/user_spec.rb +266 -0
  300. data/spec/integration/ip_messaging/v2/service_spec.rb +325 -0
  301. data/spec/integration/lookups/v1/phone_number_spec.rb +5 -5
  302. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +170 -0
  303. data/spec/integration/messaging/v1/service/phone_number_spec.rb +173 -0
  304. data/spec/integration/messaging/v1/service/short_code_spec.rb +173 -0
  305. data/spec/integration/messaging/v1/service_spec.rb +243 -0
  306. data/spec/integration/monitor/v1/alert_spec.rb +57 -57
  307. data/spec/integration/monitor/v1/event_spec.rb +11 -11
  308. data/spec/integration/notify/v1/credential_spec.rb +23 -23
  309. data/spec/integration/notify/v1/service/binding_spec.rb +88 -71
  310. data/spec/integration/notify/v1/service/notification_spec.rb +7 -5
  311. data/spec/integration/notify/v1/service/segment_spec.rb +84 -0
  312. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +118 -0
  313. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +235 -0
  314. data/spec/integration/notify/v1/service/user_spec.rb +213 -0
  315. data/spec/integration/notify/v1/service_spec.rb +50 -30
  316. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +121 -0
  317. data/spec/integration/preview/marketplace/available_add_on_spec.rb +142 -0
  318. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +164 -0
  319. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +252 -0
  320. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +206 -0
  321. data/spec/integration/preview/sync/service/document_spec.rb +179 -17
  322. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +167 -11
  323. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +206 -0
  324. data/spec/integration/preview/sync/service/sync_list_spec.rb +143 -9
  325. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +167 -11
  326. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +206 -0
  327. data/spec/integration/preview/sync/service/sync_map_spec.rb +143 -9
  328. data/spec/integration/preview/sync/service_spec.rb +171 -11
  329. data/spec/integration/preview/wireless/command_spec.rb +120 -9
  330. data/spec/integration/preview/wireless/rate_plan_spec.rb +228 -7
  331. data/spec/integration/preview/wireless/sim/usage_spec.rb +49 -0
  332. data/spec/integration/preview/wireless/sim_spec.rb +184 -0
  333. data/spec/integration/pricing/v1/messaging/country_spec.rb +101 -5
  334. data/spec/integration/pricing/v1/messaging_spec.rb +1 -1
  335. data/spec/integration/pricing/v1/phone_number/country_spec.rb +11 -11
  336. data/spec/integration/pricing/v1/phone_number_spec.rb +1 -1
  337. data/spec/integration/pricing/v1/voice/country_spec.rb +11 -11
  338. data/spec/integration/pricing/v1/voice/number_spec.rb +5 -5
  339. data/spec/integration/pricing/v1/voice_spec.rb +1 -1
  340. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +29 -33
  341. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +11 -11
  342. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +15 -15
  343. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +11 -11
  344. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +12 -10
  345. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +17 -16
  346. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +52 -36
  347. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +101 -46
  348. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +15 -15
  349. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +15 -15
  350. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +6 -5
  351. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +6 -5
  352. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +39 -27
  353. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +13 -11
  354. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +47 -35
  355. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +10 -8
  356. data/spec/integration/taskrouter/v1/workspace_spec.rb +28 -24
  357. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +20 -20
  358. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +62 -62
  359. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +23 -23
  360. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +19 -19
  361. data/spec/integration/trunking/v1/trunk_spec.rb +23 -23
  362. data/spec/integration/video/v1/recording_spec.rb +120 -0
  363. data/spec/integration/video/v1/room_spec.rb +225 -0
  364. data/spec/jwt/access_token_spec.rb +22 -0
  365. metadata +158 -12
  366. data/lib/twilio-ruby/rest/api/v2010/account/sandbox.rb +0 -287
  367. data/spec/integration/api/v2010/account/sandbox_spec.rb +0 -99
  368. data/spec/integration/preview/wireless/device/usage_spec.rb +0 -25
  369. data/spec/integration/preview/wireless/device_spec.rb +0 -72
@@ -2,7 +2,7 @@
2
2
  # This code was generated by
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
5
+ # / /
6
6
 
7
7
  module Twilio
8
8
  module REST
@@ -11,25 +11,25 @@ module Twilio
11
11
  # Initialize the Lookups Domain
12
12
  def initialize(twilio)
13
13
  super
14
-
14
+
15
15
  @base_url = 'https://lookups.twilio.com'
16
16
  @host = 'lookups.twilio.com'
17
17
  @port = 443
18
-
18
+
19
19
  # Versions
20
20
  @v1 = nil
21
21
  end
22
-
22
+
23
23
  ##
24
24
  # Version v1 of lookups
25
25
  def v1
26
26
  @v1 ||= V1.new self
27
27
  end
28
-
28
+
29
29
  def phone_numbers
30
30
  self.v1.phone_numbers
31
31
  end
32
-
32
+
33
33
  ##
34
34
  # Provide a user friendly representation
35
35
  def to_s
@@ -2,7 +2,7 @@
2
2
  # This code was generated by
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
5
+ # / /
6
6
 
7
7
  module Twilio
8
8
  module REST
@@ -15,7 +15,7 @@ module Twilio
15
15
  @version = 'v1'
16
16
  @phone_numbers = nil
17
17
  end
18
-
18
+
19
19
  def phone_numbers(sid=:unset)
20
20
  if sid == :unset
21
21
  @phone_numbers ||= PhoneNumberList.new self
@@ -23,7 +23,7 @@ module Twilio
23
23
  PhoneNumberContext.new(self, sid)
24
24
  end
25
25
  end
26
-
26
+
27
27
  ##
28
28
  # Provide a user friendly representation
29
29
  def to_s
@@ -2,7 +2,7 @@
2
2
  # This code was generated by
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
5
+ # / /
6
6
 
7
7
  module Twilio
8
8
  module REST
@@ -15,18 +15,18 @@ module Twilio
15
15
  # @return [PhoneNumberList] PhoneNumberList
16
16
  def initialize(version)
17
17
  super(version)
18
-
18
+
19
19
  # Path Solution
20
20
  @solution = {}
21
21
  end
22
-
22
+
23
23
  ##
24
24
  # Provide a user friendly representation
25
25
  def to_s
26
26
  '#<Twilio.Lookups.V1.PhoneNumberList>'
27
27
  end
28
28
  end
29
-
29
+
30
30
  class PhoneNumberPage < Page
31
31
  ##
32
32
  # Initialize the PhoneNumberPage
@@ -36,11 +36,11 @@ module Twilio
36
36
  # @return [PhoneNumberPage] PhoneNumberPage
37
37
  def initialize(version, response, solution)
38
38
  super(version, response)
39
-
39
+
40
40
  # Path Solution
41
41
  @solution = solution
42
42
  end
43
-
43
+
44
44
  ##
45
45
  # Build an instance of PhoneNumberInstance
46
46
  # @param [Hash] payload Payload response from the API
@@ -51,14 +51,14 @@ module Twilio
51
51
  payload,
52
52
  )
53
53
  end
54
-
54
+
55
55
  ##
56
56
  # Provide a user friendly representation
57
57
  def to_s
58
58
  '<Twilio.Lookups.V1.PhoneNumberPage>'
59
59
  end
60
60
  end
61
-
61
+
62
62
  class PhoneNumberContext < InstanceContext
63
63
  ##
64
64
  # Initialize the PhoneNumberContext
@@ -67,14 +67,14 @@ module Twilio
67
67
  # @return [PhoneNumberContext] PhoneNumberContext
68
68
  def initialize(version, phone_number)
69
69
  super(version)
70
-
70
+
71
71
  # Path Solution
72
72
  @solution = {
73
73
  phone_number: phone_number,
74
74
  }
75
75
  @uri = "/PhoneNumbers/#{@solution[:phone_number]}"
76
76
  end
77
-
77
+
78
78
  ##
79
79
  # Fetch a PhoneNumberInstance
80
80
  # @param [String] country_code The country_code
@@ -88,21 +88,21 @@ module Twilio
88
88
  'Type' => type,
89
89
  'AddOns' => add_ons,
90
90
  }
91
-
91
+
92
92
  params.merge!(Twilio.prefixed_collapsible_map(add_ons_data, 'AddOns'))
93
93
  payload = @version.fetch(
94
94
  'GET',
95
95
  @uri,
96
96
  params,
97
97
  )
98
-
98
+
99
99
  return PhoneNumberInstance.new(
100
100
  @version,
101
101
  payload,
102
102
  phone_number: @solution[:phone_number],
103
103
  )
104
104
  end
105
-
105
+
106
106
  ##
107
107
  # Provide a user friendly representation
108
108
  def to_s
@@ -110,7 +110,7 @@ module Twilio
110
110
  "#<Twilio.Lookups.V1.PhoneNumberContext #{context}>"
111
111
  end
112
112
  end
113
-
113
+
114
114
  class PhoneNumberInstance < InstanceResource
115
115
  ##
116
116
  # Initialize the PhoneNumberInstance
@@ -120,7 +120,7 @@ module Twilio
120
120
  # @return [PhoneNumberInstance] PhoneNumberInstance
121
121
  def initialize(version, payload, phone_number: nil)
122
122
  super(version)
123
-
123
+
124
124
  # Marshaled Properties
125
125
  @properties = {
126
126
  'caller_name' => payload['caller_name'],
@@ -129,15 +129,16 @@ module Twilio
129
129
  'national_format' => payload['national_format'],
130
130
  'carrier' => payload['carrier'],
131
131
  'add_ons' => payload['add_ons'],
132
+ 'url' => payload['url'],
132
133
  }
133
-
134
+
134
135
  # Context
135
136
  @instance_context = nil
136
137
  @params = {
137
138
  'phone_number' => phone_number || @properties['phone_number'],
138
139
  }
139
140
  end
140
-
141
+
141
142
  ##
142
143
  # Generate an instance context for the instance, the context is capable of
143
144
  # performing various actions. All instance actions are proxied to the context
@@ -152,31 +153,35 @@ module Twilio
152
153
  end
153
154
  @instance_context
154
155
  end
155
-
156
+
156
157
  def caller_name
157
158
  @properties['caller_name']
158
159
  end
159
-
160
+
160
161
  def country_code
161
162
  @properties['country_code']
162
163
  end
163
-
164
+
164
165
  def phone_number
165
166
  @properties['phone_number']
166
167
  end
167
-
168
+
168
169
  def national_format
169
170
  @properties['national_format']
170
171
  end
171
-
172
+
172
173
  def carrier
173
174
  @properties['carrier']
174
175
  end
175
-
176
+
176
177
  def add_ons
177
178
  @properties['add_ons']
178
179
  end
179
-
180
+
181
+ def url
182
+ @properties['url']
183
+ end
184
+
180
185
  ##
181
186
  # Fetch a PhoneNumberInstance
182
187
  # @param [String] country_code The country_code
@@ -192,7 +197,7 @@ module Twilio
192
197
  add_ons_data: add_ons_data,
193
198
  )
194
199
  end
195
-
200
+
196
201
  ##
197
202
  # Provide a user friendly representation
198
203
  def to_s
@@ -0,0 +1,40 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ module Twilio
8
+ module REST
9
+ class Messaging < Domain
10
+ ##
11
+ # Initialize the Messaging Domain
12
+ def initialize(twilio)
13
+ super
14
+
15
+ @base_url = 'https://messaging.twilio.com'
16
+ @host = 'messaging.twilio.com'
17
+ @port = 443
18
+
19
+ # Versions
20
+ @v1 = nil
21
+ end
22
+
23
+ ##
24
+ # Version v1 of messaging
25
+ def v1
26
+ @v1 ||= V1.new self
27
+ end
28
+
29
+ def services
30
+ self.v1.services
31
+ end
32
+
33
+ ##
34
+ # Provide a user friendly representation
35
+ def to_s
36
+ '#<Twilio::REST::Messaging>'
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,35 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ module Twilio
8
+ module REST
9
+ class Messaging
10
+ class V1 < Version
11
+ ##
12
+ # Initialize the V1 version of Messaging
13
+ def initialize(domain)
14
+ super
15
+ @version = 'v1'
16
+ @services = nil
17
+ end
18
+
19
+ def services(sid=:unset)
20
+ if sid == :unset
21
+ @services ||= ServiceList.new self
22
+ else
23
+ ServiceContext.new(self, sid)
24
+ end
25
+ end
26
+
27
+ ##
28
+ # Provide a user friendly representation
29
+ def to_s
30
+ '<Twilio::REST::Messaging::V1>'
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,524 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ module Twilio
8
+ module REST
9
+ class Messaging < Domain
10
+ class V1 < Version
11
+ class ServiceList < ListResource
12
+ ##
13
+ # Initialize the ServiceList
14
+ # @param [Version] version Version that contains the resource
15
+ # @return [ServiceList] ServiceList
16
+ def initialize(version)
17
+ super(version)
18
+
19
+ # Path Solution
20
+ @solution = {}
21
+ @uri = "/Services"
22
+ end
23
+
24
+ ##
25
+ # Retrieve a single page of ServiceInstance records from the API.
26
+ # Request is executed immediately.
27
+ # @param [String] friendly_name The friendly_name
28
+ # @param [String] inbound_request_url The inbound_request_url
29
+ # @param [String] inbound_method The inbound_method
30
+ # @param [String] fallback_url The fallback_url
31
+ # @param [String] fallback_method The fallback_method
32
+ # @param [String] status_callback The status_callback
33
+ # @param [Boolean] sticky_sender The sticky_sender
34
+ # @param [Boolean] mms_converter The mms_converter
35
+ # @param [Boolean] smart_encoding The smart_encoding
36
+ # @return [ServiceInstance] Newly created ServiceInstance
37
+ def create(friendly_name: nil, inbound_request_url: nil, inbound_method: nil, fallback_url: nil, fallback_method: nil, status_callback: nil, sticky_sender: nil, mms_converter: nil, smart_encoding: nil)
38
+ data = {
39
+ 'FriendlyName' => friendly_name,
40
+ 'InboundRequestUrl' => inbound_request_url,
41
+ 'InboundMethod' => inbound_method,
42
+ 'FallbackUrl' => fallback_url,
43
+ 'FallbackMethod' => fallback_method,
44
+ 'StatusCallback' => status_callback,
45
+ 'StickySender' => sticky_sender,
46
+ 'MmsConverter' => mms_converter,
47
+ 'SmartEncoding' => smart_encoding,
48
+ }
49
+
50
+ payload = @version.create(
51
+ 'POST',
52
+ @uri,
53
+ data: data
54
+ )
55
+
56
+ return ServiceInstance.new(
57
+ @version,
58
+ payload,
59
+ )
60
+ end
61
+
62
+ ##
63
+ # Lists ServiceInstance records from the API as a list.
64
+ # Unlike stream(), this operation is eager and will load `limit` records into
65
+ # memory before returning.
66
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
67
+ # guarantees to never return more than limit. Default is no limit
68
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
69
+ # the default value of 50 records. If no page_size is defined
70
+ # but a limit is defined, stream() will attempt to read the
71
+ # limit with the most efficient page size, i.e. min(limit, 1000)
72
+ # @return [Array] Array of up to limit results
73
+ def list(limit: nil, page_size: nil)
74
+ self.stream(
75
+ limit: limit,
76
+ page_size: page_size
77
+ ).entries
78
+ end
79
+
80
+ ##
81
+ # Streams ServiceInstance records from the API as an Enumerable.
82
+ # This operation lazily loads records as efficiently as possible until the limit
83
+ # is reached.
84
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
85
+ # guarantees to never return more than limit. Default is no limit
86
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
87
+ # the default value of 50 records. If no page_size is defined
88
+ # but a limit is defined, stream() will attempt to read the
89
+ # limit with the most efficient page size, i.e. min(limit, 1000)
90
+ # @return [Enumerable] Enumerable that will yield up to limit results
91
+ def stream(limit: nil, page_size: nil)
92
+ limits = @version.read_limits(limit, page_size)
93
+
94
+ page = self.page(
95
+ page_size: limits[:page_size],
96
+ )
97
+
98
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
99
+ end
100
+
101
+ ##
102
+ # When passed a block, yields ServiceInstance records from the API.
103
+ # This operation lazily loads records as efficiently as possible until the limit
104
+ # is reached.
105
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
106
+ # guarantees to never return more than limit. Default is no limit
107
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
108
+ # the default value of 50 records. If no page_size is defined
109
+ # but a limit is defined, stream() will attempt to read the
110
+ # limit with the most efficient page size, i.e. min(limit, 1000)
111
+ def each
112
+ limits = @version.read_limits
113
+
114
+ page = self.page(
115
+ page_size: limits[:page_size],
116
+ )
117
+
118
+ @version.stream(page,
119
+ limit: limits[:limit],
120
+ page_limit: limits[:page_limit]).each {|x| yield x}
121
+ end
122
+
123
+ ##
124
+ # Retrieve a single page of ServiceInstance records from the API.
125
+ # Request is executed immediately.
126
+ # @param [String] page_token PageToken provided by the API
127
+ # @param [Integer] page_number Page Number, this value is simply for client state
128
+ # @param [Integer] page_size Number of records to return, defaults to 50
129
+ # @return [Page] Page of ServiceInstance
130
+ def page(page_token: nil, page_number: nil, page_size: nil)
131
+ params = {
132
+ 'PageToken' => page_token,
133
+ 'Page' => page_number,
134
+ 'PageSize' => page_size,
135
+ }
136
+ response = @version.page(
137
+ 'GET',
138
+ @uri,
139
+ params
140
+ )
141
+ return ServicePage.new(@version, response, @solution)
142
+ end
143
+
144
+ ##
145
+ # Provide a user friendly representation
146
+ def to_s
147
+ '#<Twilio.Messaging.V1.ServiceList>'
148
+ end
149
+ end
150
+
151
+ class ServicePage < Page
152
+ ##
153
+ # Initialize the ServicePage
154
+ # @param [Version] version Version that contains the resource
155
+ # @param [Response] response Response from the API
156
+ # @param [Hash] solution Path solution for the resource
157
+ # @return [ServicePage] ServicePage
158
+ def initialize(version, response, solution)
159
+ super(version, response)
160
+
161
+ # Path Solution
162
+ @solution = solution
163
+ end
164
+
165
+ ##
166
+ # Build an instance of ServiceInstance
167
+ # @param [Hash] payload Payload response from the API
168
+ # @return [ServiceInstance] ServiceInstance
169
+ def get_instance(payload)
170
+ return ServiceInstance.new(
171
+ @version,
172
+ payload,
173
+ )
174
+ end
175
+
176
+ ##
177
+ # Provide a user friendly representation
178
+ def to_s
179
+ '<Twilio.Messaging.V1.ServicePage>'
180
+ end
181
+ end
182
+
183
+ class ServiceContext < InstanceContext
184
+ ##
185
+ # Initialize the ServiceContext
186
+ # @param [Version] version Version that contains the resource
187
+ # @param [String] sid The sid
188
+ # @return [ServiceContext] ServiceContext
189
+ def initialize(version, sid)
190
+ super(version)
191
+
192
+ # Path Solution
193
+ @solution = {
194
+ sid: sid,
195
+ }
196
+ @uri = "/Services/#{@solution[:sid]}"
197
+
198
+ # Dependents
199
+ @phone_numbers = nil
200
+ @short_codes = nil
201
+ @alpha_senders = nil
202
+ end
203
+
204
+ ##
205
+ # Update the ServiceInstance
206
+ # @param [String] friendly_name The friendly_name
207
+ # @param [String] inbound_request_url The inbound_request_url
208
+ # @param [String] inbound_method The inbound_method
209
+ # @param [String] fallback_url The fallback_url
210
+ # @param [String] fallback_method The fallback_method
211
+ # @param [String] status_callback The status_callback
212
+ # @param [Boolean] sticky_sender The sticky_sender
213
+ # @param [Boolean] mms_converter The mms_converter
214
+ # @param [Boolean] smart_encoding The smart_encoding
215
+ # @return [ServiceInstance] Updated ServiceInstance
216
+ def update(friendly_name: nil, inbound_request_url: nil, inbound_method: nil, fallback_url: nil, fallback_method: nil, status_callback: nil, sticky_sender: nil, mms_converter: nil, smart_encoding: nil)
217
+ data = {
218
+ 'FriendlyName' => friendly_name,
219
+ 'InboundRequestUrl' => inbound_request_url,
220
+ 'InboundMethod' => inbound_method,
221
+ 'FallbackUrl' => fallback_url,
222
+ 'FallbackMethod' => fallback_method,
223
+ 'StatusCallback' => status_callback,
224
+ 'StickySender' => sticky_sender,
225
+ 'MmsConverter' => mms_converter,
226
+ 'SmartEncoding' => smart_encoding,
227
+ }
228
+
229
+ payload = @version.update(
230
+ 'POST',
231
+ @uri,
232
+ data: data,
233
+ )
234
+
235
+ return ServiceInstance.new(
236
+ @version,
237
+ payload,
238
+ sid: @solution[:sid],
239
+ )
240
+ end
241
+
242
+ ##
243
+ # Fetch a ServiceInstance
244
+ # @return [ServiceInstance] Fetched ServiceInstance
245
+ def fetch
246
+ params = {}
247
+
248
+ payload = @version.fetch(
249
+ 'GET',
250
+ @uri,
251
+ params,
252
+ )
253
+
254
+ return ServiceInstance.new(
255
+ @version,
256
+ payload,
257
+ sid: @solution[:sid],
258
+ )
259
+ end
260
+
261
+ ##
262
+ # Deletes the ServiceInstance
263
+ # @return [Boolean] true if delete succeeds, true otherwise
264
+ def delete
265
+ return @version.delete('delete', @uri)
266
+ end
267
+
268
+ ##
269
+ # Access the phone_numbers
270
+ # @return [PhoneNumberList] PhoneNumberList
271
+ def phone_numbers(sid=:unset)
272
+ if sid != :unset
273
+ return PhoneNumberContext.new(
274
+ @version,
275
+ @solution[:sid],
276
+ sid,
277
+ )
278
+ end
279
+
280
+ unless @phone_numbers
281
+ @phone_numbers = PhoneNumberList.new(
282
+ @version,
283
+ service_sid: @solution[:sid],
284
+ )
285
+ end
286
+
287
+ @phone_numbers
288
+ end
289
+
290
+ ##
291
+ # Access the short_codes
292
+ # @return [ShortCodeList] ShortCodeList
293
+ def short_codes(sid=:unset)
294
+ if sid != :unset
295
+ return ShortCodeContext.new(
296
+ @version,
297
+ @solution[:sid],
298
+ sid,
299
+ )
300
+ end
301
+
302
+ unless @short_codes
303
+ @short_codes = ShortCodeList.new(
304
+ @version,
305
+ service_sid: @solution[:sid],
306
+ )
307
+ end
308
+
309
+ @short_codes
310
+ end
311
+
312
+ ##
313
+ # Access the alpha_senders
314
+ # @return [AlphaSenderList] AlphaSenderList
315
+ def alpha_senders(sid=:unset)
316
+ if sid != :unset
317
+ return AlphaSenderContext.new(
318
+ @version,
319
+ @solution[:sid],
320
+ sid,
321
+ )
322
+ end
323
+
324
+ unless @alpha_senders
325
+ @alpha_senders = AlphaSenderList.new(
326
+ @version,
327
+ service_sid: @solution[:sid],
328
+ )
329
+ end
330
+
331
+ @alpha_senders
332
+ end
333
+
334
+ ##
335
+ # Provide a user friendly representation
336
+ def to_s
337
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
338
+ "#<Twilio.Messaging.V1.ServiceContext #{context}>"
339
+ end
340
+ end
341
+
342
+ class ServiceInstance < InstanceResource
343
+ ##
344
+ # Initialize the ServiceInstance
345
+ # @param [Version] version Version that contains the resource
346
+ # @param [Hash] payload payload that contains response from Twilio
347
+ # @param [String] sid The sid
348
+ # @return [ServiceInstance] ServiceInstance
349
+ def initialize(version, payload, sid: nil)
350
+ super(version)
351
+
352
+ # Marshaled Properties
353
+ @properties = {
354
+ 'sid' => payload['sid'],
355
+ 'account_sid' => payload['account_sid'],
356
+ 'friendly_name' => payload['friendly_name'],
357
+ 'date_created' => Twilio.deserialize_iso8601(payload['date_created']),
358
+ 'date_updated' => Twilio.deserialize_iso8601(payload['date_updated']),
359
+ 'inbound_request_url' => payload['inbound_request_url'],
360
+ 'inbound_method' => payload['inbound_method'],
361
+ 'fallback_url' => payload['fallback_url'],
362
+ 'fallback_method' => payload['fallback_method'],
363
+ 'status_callback' => payload['status_callback'],
364
+ 'sticky_sender' => payload['sticky_sender'],
365
+ 'mms_converter' => payload['mms_converter'],
366
+ 'smart_encoding' => payload['smart_encoding'],
367
+ 'url' => payload['url'],
368
+ 'links' => payload['links'],
369
+ }
370
+
371
+ # Context
372
+ @instance_context = nil
373
+ @params = {
374
+ 'sid' => sid || @properties['sid'],
375
+ }
376
+ end
377
+
378
+ ##
379
+ # Generate an instance context for the instance, the context is capable of
380
+ # performing various actions. All instance actions are proxied to the context
381
+ # @param [Version] version Version that contains the resource
382
+ # @return [ServiceContext] ServiceContext for this ServiceInstance
383
+ def context
384
+ unless @instance_context
385
+ @instance_context = ServiceContext.new(
386
+ @version,
387
+ @params['sid'],
388
+ )
389
+ end
390
+ @instance_context
391
+ end
392
+
393
+ def sid
394
+ @properties['sid']
395
+ end
396
+
397
+ def account_sid
398
+ @properties['account_sid']
399
+ end
400
+
401
+ def friendly_name
402
+ @properties['friendly_name']
403
+ end
404
+
405
+ def date_created
406
+ @properties['date_created']
407
+ end
408
+
409
+ def date_updated
410
+ @properties['date_updated']
411
+ end
412
+
413
+ def inbound_request_url
414
+ @properties['inbound_request_url']
415
+ end
416
+
417
+ def inbound_method
418
+ @properties['inbound_method']
419
+ end
420
+
421
+ def fallback_url
422
+ @properties['fallback_url']
423
+ end
424
+
425
+ def fallback_method
426
+ @properties['fallback_method']
427
+ end
428
+
429
+ def status_callback
430
+ @properties['status_callback']
431
+ end
432
+
433
+ def sticky_sender
434
+ @properties['sticky_sender']
435
+ end
436
+
437
+ def mms_converter
438
+ @properties['mms_converter']
439
+ end
440
+
441
+ def smart_encoding
442
+ @properties['smart_encoding']
443
+ end
444
+
445
+ def url
446
+ @properties['url']
447
+ end
448
+
449
+ def links
450
+ @properties['links']
451
+ end
452
+
453
+ ##
454
+ # Update the ServiceInstance
455
+ # @param [String] friendly_name The friendly_name
456
+ # @param [String] inbound_request_url The inbound_request_url
457
+ # @param [String] inbound_method The inbound_method
458
+ # @param [String] fallback_url The fallback_url
459
+ # @param [String] fallback_method The fallback_method
460
+ # @param [String] status_callback The status_callback
461
+ # @param [Boolean] sticky_sender The sticky_sender
462
+ # @param [Boolean] mms_converter The mms_converter
463
+ # @param [Boolean] smart_encoding The smart_encoding
464
+ # @return [ServiceInstance] Updated ServiceInstance
465
+ def update(friendly_name: nil, inbound_request_url: nil, inbound_method: nil, fallback_url: nil, fallback_method: nil, status_callback: nil, sticky_sender: nil, mms_converter: nil, smart_encoding: nil)
466
+ context.update(
467
+ friendly_name: friendly_name,
468
+ inbound_request_url: inbound_request_url,
469
+ inbound_method: inbound_method,
470
+ fallback_url: fallback_url,
471
+ fallback_method: fallback_method,
472
+ status_callback: status_callback,
473
+ sticky_sender: sticky_sender,
474
+ mms_converter: mms_converter,
475
+ smart_encoding: smart_encoding,
476
+ )
477
+ end
478
+
479
+ ##
480
+ # Fetch a ServiceInstance
481
+ # @return [ServiceInstance] Fetched ServiceInstance
482
+ def fetch
483
+ context.fetch
484
+ end
485
+
486
+ ##
487
+ # Deletes the ServiceInstance
488
+ # @return [Boolean] true if delete succeeds, true otherwise
489
+ def delete
490
+ context.delete
491
+ end
492
+
493
+ ##
494
+ # Access the phone_numbers
495
+ # @return [phone_numbers] phone_numbers
496
+ def phone_numbers
497
+ context.phone_numbers
498
+ end
499
+
500
+ ##
501
+ # Access the short_codes
502
+ # @return [short_codes] short_codes
503
+ def short_codes
504
+ context.short_codes
505
+ end
506
+
507
+ ##
508
+ # Access the alpha_senders
509
+ # @return [alpha_senders] alpha_senders
510
+ def alpha_senders
511
+ context.alpha_senders
512
+ end
513
+
514
+ ##
515
+ # Provide a user friendly representation
516
+ def to_s
517
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
518
+ "<Twilio.Messaging.V1.ServiceInstance #{values}>"
519
+ end
520
+ end
521
+ end
522
+ end
523
+ end
524
+ end