twilio-ruby 4.13.0 → 5.0.0.alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (643) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +21 -0
  3. data/.rubocop_todo.yml +187 -0
  4. data/.travis.yml +13 -0
  5. data/AUTHORS.md +46 -32
  6. data/CHANGES.md +87 -65
  7. data/Gemfile +2 -2
  8. data/LICENSE.md +12 -12
  9. data/Makefile +13 -3
  10. data/README.md +50 -139
  11. data/Rakefile +54 -0
  12. data/VERSIONS.md +64 -0
  13. data/examples/examples.rb +46 -57
  14. data/examples/{print-call-log.rb → print_call_log.rb} +7 -7
  15. data/lib/rack/twilio_webhook_authentication.rb +5 -6
  16. data/lib/twilio-ruby.rb +30 -102
  17. data/lib/twilio-ruby/framework/domain.rb +34 -0
  18. data/lib/twilio-ruby/framework/error.rb +30 -0
  19. data/lib/twilio-ruby/framework/helper.rb +9 -0
  20. data/lib/twilio-ruby/framework/page.rb +101 -0
  21. data/lib/twilio-ruby/framework/resource.rb +21 -0
  22. data/lib/twilio-ruby/framework/serialize.rb +70 -0
  23. data/lib/twilio-ruby/framework/twilio_response.rb +15 -0
  24. data/lib/twilio-ruby/framework/values.rb +7 -0
  25. data/lib/twilio-ruby/framework/version.rb +164 -0
  26. data/lib/twilio-ruby/http/http_client.rb +46 -0
  27. data/lib/twilio-ruby/jwt/access_token.rb +232 -0
  28. data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
  29. data/lib/twilio-ruby/jwt/jwt.rb +50 -0
  30. data/lib/twilio-ruby/jwt/task_router.rb +174 -0
  31. data/lib/twilio-ruby/rest/accounts.rb +36 -10
  32. data/lib/twilio-ruby/rest/accounts/v1.rb +39 -0
  33. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +105 -0
  34. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +370 -0
  35. data/lib/twilio-ruby/rest/api.rb +234 -0
  36. data/lib/twilio-ruby/rest/api/v2010.rb +147 -0
  37. data/lib/twilio-ruby/rest/api/v2010/account.rb +1098 -0
  38. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +509 -0
  39. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +265 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +620 -0
  41. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +331 -0
  42. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +370 -0
  43. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +389 -0
  44. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +389 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +389 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +799 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +296 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +427 -0
  50. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +379 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +455 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +515 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +413 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +823 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +431 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +350 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +445 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +445 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +445 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +583 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +165 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +355 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +153 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +153 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +418 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +377 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +438 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +345 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +479 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +397 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +378 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +375 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +430 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +174 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +419 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +395 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +570 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +361 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +361 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +424 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +406 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +168 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +366 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +127 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +418 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +304 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +304 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +304 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +304 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +304 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +304 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +304 -0
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +304 -0
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +507 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +161 -0
  98. data/lib/twilio-ruby/rest/chat.rb +59 -0
  99. data/lib/twilio-ruby/rest/chat/v1.rb +56 -0
  100. data/lib/twilio-ruby/rest/chat/v1/credential.rb +403 -0
  101. data/lib/twilio-ruby/rest/chat/v1/service.rb +935 -0
  102. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +554 -0
  103. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +386 -0
  104. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +431 -0
  105. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +447 -0
  106. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +396 -0
  107. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +467 -0
  108. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +244 -0
  109. data/lib/twilio-ruby/rest/chat/v2.rb +56 -0
  110. data/lib/twilio-ruby/rest/chat/v2/credential.rb +403 -0
  111. data/lib/twilio-ruby/rest/chat/v2/service.rb +688 -0
  112. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +554 -0
  113. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +386 -0
  114. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +431 -0
  115. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +447 -0
  116. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +396 -0
  117. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +467 -0
  118. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +244 -0
  119. data/lib/twilio-ruby/rest/client.rb +352 -153
  120. data/lib/twilio-ruby/rest/fax.rb +44 -0
  121. data/lib/twilio-ruby/rest/fax/v1.rb +41 -0
  122. data/lib/twilio-ruby/rest/fax/v1/fax.rb +541 -0
  123. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +326 -0
  124. data/lib/twilio-ruby/rest/ip_messaging.rb +59 -0
  125. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +56 -0
  126. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +403 -0
  127. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +935 -0
  128. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +554 -0
  129. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +386 -0
  130. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +431 -0
  131. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +447 -0
  132. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +396 -0
  133. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +467 -0
  134. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +244 -0
  135. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +56 -0
  136. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +403 -0
  137. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +688 -0
  138. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +554 -0
  139. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +386 -0
  140. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +431 -0
  141. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +447 -0
  142. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +396 -0
  143. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +467 -0
  144. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +244 -0
  145. data/lib/twilio-ruby/rest/lookups.rb +44 -0
  146. data/lib/twilio-ruby/rest/lookups/v1.rb +41 -0
  147. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +224 -0
  148. data/lib/twilio-ruby/rest/messaging.rb +44 -0
  149. data/lib/twilio-ruby/rest/messaging/v1.rb +41 -0
  150. data/lib/twilio-ruby/rest/messaging/v1/service.rb +637 -0
  151. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -0
  152. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -0
  153. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -0
  154. data/lib/twilio-ruby/rest/monitor.rb +52 -0
  155. data/lib/twilio-ruby/rest/monitor/v1.rb +56 -0
  156. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +398 -0
  157. data/lib/twilio-ruby/rest/monitor/v1/event.rb +381 -0
  158. data/lib/twilio-ruby/rest/notify.rb +52 -0
  159. data/lib/twilio-ruby/rest/notify/v1.rb +56 -0
  160. data/lib/twilio-ruby/rest/notify/v1/credential.rb +403 -0
  161. data/lib/twilio-ruby/rest/notify/v1/service.rb +639 -0
  162. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +430 -0
  163. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +288 -0
  164. data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +224 -0
  165. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +445 -0
  166. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +254 -0
  167. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +434 -0
  168. data/lib/twilio-ruby/rest/preview.rb +145 -0
  169. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +56 -0
  170. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +203 -0
  171. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +210 -0
  172. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +243 -0
  173. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +42 -0
  174. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +557 -0
  175. data/lib/twilio-ruby/rest/preview/marketplace.rb +58 -0
  176. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +333 -0
  177. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +301 -0
  178. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +440 -0
  179. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +341 -0
  180. data/lib/twilio-ruby/rest/preview/proxy.rb +41 -0
  181. data/lib/twilio-ruby/rest/preview/proxy/service.rb +500 -0
  182. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +359 -0
  183. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +536 -0
  184. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +429 -0
  185. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +506 -0
  186. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +452 -0
  187. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +359 -0
  188. data/lib/twilio-ruby/rest/preview/sync.rb +41 -0
  189. data/lib/twilio-ruby/rest/preview/sync/service.rb +504 -0
  190. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +445 -0
  191. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +395 -0
  192. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +438 -0
  193. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +430 -0
  194. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +395 -0
  195. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +438 -0
  196. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +432 -0
  197. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +395 -0
  198. data/lib/twilio-ruby/rest/preview/wireless.rb +71 -0
  199. data/lib/twilio-ruby/rest/preview/wireless/command.rb +382 -0
  200. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +435 -0
  201. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +544 -0
  202. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +236 -0
  203. data/lib/twilio-ruby/rest/pricing.rb +50 -2
  204. data/lib/twilio-ruby/rest/pricing/v1.rb +65 -0
  205. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +129 -0
  206. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +291 -0
  207. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +129 -0
  208. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +284 -0
  209. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +150 -0
  210. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +291 -0
  211. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +208 -0
  212. data/lib/twilio-ruby/rest/sync.rb +44 -0
  213. data/lib/twilio-ruby/rest/sync/v1.rb +41 -0
  214. data/lib/twilio-ruby/rest/sync/v1/service.rb +504 -0
  215. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +445 -0
  216. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +395 -0
  217. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +438 -0
  218. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +430 -0
  219. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +395 -0
  220. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +438 -0
  221. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +432 -0
  222. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +395 -0
  223. data/lib/twilio-ruby/rest/taskrouter.rb +44 -0
  224. data/lib/twilio-ruby/rest/taskrouter/v1.rb +41 -0
  225. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +712 -0
  226. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +399 -0
  227. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +418 -0
  228. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +584 -0
  229. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +461 -0
  230. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +315 -0
  231. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +527 -0
  232. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -0
  233. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +243 -0
  234. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +585 -0
  235. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +461 -0
  236. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +406 -0
  237. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +223 -0
  238. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +226 -0
  239. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +475 -0
  240. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -0
  241. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +212 -0
  242. data/lib/twilio-ruby/rest/trunking.rb +44 -0
  243. data/lib/twilio-ruby/rest/trunking/v1.rb +41 -0
  244. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +577 -0
  245. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +345 -0
  246. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +345 -0
  247. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +430 -0
  248. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +478 -0
  249. data/lib/twilio-ruby/rest/video.rb +52 -0
  250. data/lib/twilio-ruby/rest/video/v1.rb +56 -0
  251. data/lib/twilio-ruby/rest/video/v1/recording.rb +382 -0
  252. data/lib/twilio-ruby/rest/video/v1/room.rb +485 -0
  253. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +381 -0
  254. data/lib/twilio-ruby/rest/wireless.rb +60 -0
  255. data/lib/twilio-ruby/rest/wireless/v1.rb +71 -0
  256. data/lib/twilio-ruby/rest/wireless/v1/command.rb +367 -0
  257. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +452 -0
  258. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +548 -0
  259. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +235 -0
  260. data/lib/twilio-ruby/{util → security}/request_validator.rb +21 -4
  261. data/lib/twilio-ruby/twiml/messaging_response.rb +141 -0
  262. data/lib/twilio-ruby/twiml/twiml.rb +69 -0
  263. data/lib/twilio-ruby/twiml/voice_response.rb +916 -0
  264. data/lib/twilio-ruby/util.rb +1 -1
  265. data/lib/twilio-ruby/version.rb +1 -1
  266. data/spec/framework/serialize_spec.rb +59 -0
  267. data/spec/holodeck/holodeck.rb +61 -0
  268. data/spec/holodeck/hologram.rb +4 -0
  269. data/spec/integration/accounts/v1/credential/public_key_spec.rb +226 -0
  270. data/spec/integration/accounts/v1/credential_spec.rb +10 -0
  271. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +90 -0
  272. data/spec/integration/api/v2010/account/address_spec.rb +267 -0
  273. data/spec/integration/api/v2010/account/application_spec.rb +286 -0
  274. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +137 -0
  275. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +101 -0
  276. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +100 -0
  277. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +100 -0
  278. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +128 -0
  279. data/spec/integration/api/v2010/account/call/feedback_spec.rb +141 -0
  280. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +149 -0
  281. data/spec/integration/api/v2010/account/call/notification_spec.rb +179 -0
  282. data/spec/integration/api/v2010/account/call/recording_spec.rb +178 -0
  283. data/spec/integration/api/v2010/account/call_spec.rb +319 -0
  284. data/spec/integration/api/v2010/account/conference/participant_spec.rb +283 -0
  285. data/spec/integration/api/v2010/account/conference_spec.rb +174 -0
  286. data/spec/integration/api/v2010/account/connect_app_spec.rb +177 -0
  287. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +135 -0
  288. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +223 -0
  289. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +181 -0
  290. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +181 -0
  291. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +181 -0
  292. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +331 -0
  293. data/spec/integration/api/v2010/account/key_spec.rb +178 -0
  294. data/spec/integration/api/v2010/account/message/feedback_spec.rb +48 -0
  295. data/spec/integration/api/v2010/account/message/media_spec.rb +162 -0
  296. data/spec/integration/api/v2010/account/message_spec.rb +297 -0
  297. data/spec/integration/api/v2010/account/new_key_spec.rb +45 -0
  298. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +45 -0
  299. data/spec/integration/api/v2010/account/notification_spec.rb +172 -0
  300. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +193 -0
  301. data/spec/integration/api/v2010/account/queue/member_spec.rb +170 -0
  302. data/spec/integration/api/v2010/account/queue_spec.rb +242 -0
  303. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +175 -0
  304. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +166 -0
  305. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +174 -0
  306. data/spec/integration/api/v2010/account/recording_spec.rb +179 -0
  307. data/spec/integration/api/v2010/account/short_code_spec.rb +180 -0
  308. data/spec/integration/api/v2010/account/signing_key_spec.rb +178 -0
  309. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +257 -0
  310. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +246 -0
  311. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +210 -0
  312. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +220 -0
  313. data/spec/integration/api/v2010/account/sip/domain_spec.rb +283 -0
  314. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +261 -0
  315. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +256 -0
  316. data/spec/integration/api/v2010/account/sip_spec.rb +10 -0
  317. data/spec/integration/api/v2010/account/token_spec.rb +56 -0
  318. data/spec/integration/api/v2010/account/transcription_spec.rb +167 -0
  319. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +111 -0
  320. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +111 -0
  321. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +111 -0
  322. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +111 -0
  323. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +111 -0
  324. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +111 -0
  325. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +111 -0
  326. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +111 -0
  327. data/spec/integration/api/v2010/account/usage/record_spec.rb +108 -0
  328. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +283 -0
  329. data/spec/integration/api/v2010/account/usage_spec.rb +10 -0
  330. data/spec/integration/api/v2010/account/validation_request_spec.rb +48 -0
  331. data/spec/integration/api/v2010/account_spec.rb +254 -0
  332. data/spec/integration/chat/v1/credential_spec.rb +223 -0
  333. data/spec/integration/chat/v1/service/channel/invite_spec.rb +210 -0
  334. data/spec/integration/chat/v1/service/channel/member_spec.rb +284 -0
  335. data/spec/integration/chat/v1/service/channel/message_spec.rb +294 -0
  336. data/spec/integration/chat/v1/service/channel_spec.rb +275 -0
  337. data/spec/integration/chat/v1/service/role_spec.rb +263 -0
  338. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +92 -0
  339. data/spec/integration/chat/v1/service/user_spec.rb +266 -0
  340. data/spec/integration/chat/v1/service_spec.rb +299 -0
  341. data/spec/integration/chat/v2/credential_spec.rb +223 -0
  342. data/spec/integration/chat/v2/service/channel/invite_spec.rb +210 -0
  343. data/spec/integration/chat/v2/service/channel/member_spec.rb +284 -0
  344. data/spec/integration/chat/v2/service/channel/message_spec.rb +294 -0
  345. data/spec/integration/chat/v2/service/channel_spec.rb +275 -0
  346. data/spec/integration/chat/v2/service/role_spec.rb +263 -0
  347. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +92 -0
  348. data/spec/integration/chat/v2/service/user_spec.rb +266 -0
  349. data/spec/integration/chat/v2/service_spec.rb +325 -0
  350. data/spec/integration/fax/v1/fax/fax_media_spec.rb +126 -0
  351. data/spec/integration/fax/v1/fax_spec.rb +272 -0
  352. data/spec/integration/ip_messaging/v1/credential_spec.rb +223 -0
  353. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +210 -0
  354. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +284 -0
  355. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +294 -0
  356. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +275 -0
  357. data/spec/integration/ip_messaging/v1/service/role_spec.rb +263 -0
  358. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +92 -0
  359. data/spec/integration/ip_messaging/v1/service/user_spec.rb +266 -0
  360. data/spec/integration/ip_messaging/v1/service_spec.rb +299 -0
  361. data/spec/integration/ip_messaging/v2/credential_spec.rb +223 -0
  362. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +210 -0
  363. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +284 -0
  364. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +294 -0
  365. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +275 -0
  366. data/spec/integration/ip_messaging/v2/service/role_spec.rb +263 -0
  367. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +92 -0
  368. data/spec/integration/ip_messaging/v2/service/user_spec.rb +266 -0
  369. data/spec/integration/ip_messaging/v2/service_spec.rb +325 -0
  370. data/spec/integration/lookups/v1/phone_number_spec.rb +60 -0
  371. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +170 -0
  372. data/spec/integration/messaging/v1/service/phone_number_spec.rb +201 -0
  373. data/spec/integration/messaging/v1/service/short_code_spec.rb +173 -0
  374. data/spec/integration/messaging/v1/service_spec.rb +263 -0
  375. data/spec/integration/monitor/v1/alert_spec.rb +161 -0
  376. data/spec/integration/monitor/v1/event_spec.rb +148 -0
  377. data/spec/integration/notify/v1/credential_spec.rb +223 -0
  378. data/spec/integration/notify/v1/service/binding_spec.rb +227 -0
  379. data/spec/integration/notify/v1/service/notification_spec.rb +97 -0
  380. data/spec/integration/notify/v1/service/segment_spec.rb +84 -0
  381. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +118 -0
  382. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +269 -0
  383. data/spec/integration/notify/v1/service/user_spec.rb +213 -0
  384. data/spec/integration/notify/v1/service_spec.rb +280 -0
  385. data/spec/integration/preview/bulk_exports/export/day_spec.rb +56 -0
  386. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +79 -0
  387. data/spec/integration/preview/bulk_exports/export_spec.rb +43 -0
  388. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +280 -0
  389. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +121 -0
  390. data/spec/integration/preview/marketplace/available_add_on_spec.rb +142 -0
  391. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +164 -0
  392. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +252 -0
  393. data/spec/integration/preview/proxy/service/phone_number_spec.rb +173 -0
  394. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +104 -0
  395. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +164 -0
  396. data/spec/integration/preview/proxy/service/session/participant_spec.rb +226 -0
  397. data/spec/integration/preview/proxy/service/session_spec.rb +216 -0
  398. data/spec/integration/preview/proxy/service/short_code_spec.rb +173 -0
  399. data/spec/integration/preview/proxy/service_spec.rb +200 -0
  400. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +206 -0
  401. data/spec/integration/preview/sync/service/document_spec.rb +254 -0
  402. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +256 -0
  403. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +206 -0
  404. data/spec/integration/preview/sync/service/sync_list_spec.rb +207 -0
  405. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +257 -0
  406. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +206 -0
  407. data/spec/integration/preview/sync/service/sync_map_spec.rb +207 -0
  408. data/spec/integration/preview/sync/service_spec.rb +244 -0
  409. data/spec/integration/preview/wireless/command_spec.rb +169 -0
  410. data/spec/integration/preview/wireless/rate_plan_spec.rb +260 -0
  411. data/spec/integration/preview/wireless/sim/usage_spec.rb +49 -0
  412. data/spec/integration/preview/wireless/sim_spec.rb +208 -0
  413. data/spec/integration/pricing/v1/messaging/country_spec.rb +137 -0
  414. data/spec/integration/pricing/v1/messaging_spec.rb +10 -0
  415. data/spec/integration/pricing/v1/phone_number/country_spec.rb +128 -0
  416. data/spec/integration/pricing/v1/phone_number_spec.rb +10 -0
  417. data/spec/integration/pricing/v1/voice/country_spec.rb +266 -0
  418. data/spec/integration/pricing/v1/voice/number_spec.rb +54 -0
  419. data/spec/integration/pricing/v1/voice_spec.rb +10 -0
  420. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +206 -0
  421. data/spec/integration/sync/v1/service/document_spec.rb +254 -0
  422. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +256 -0
  423. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +206 -0
  424. data/spec/integration/sync/v1/service/sync_list_spec.rb +207 -0
  425. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +257 -0
  426. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +206 -0
  427. data/spec/integration/sync/v1/service/sync_map_spec.rb +207 -0
  428. data/spec/integration/sync/v1/service_spec.rb +244 -0
  429. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +236 -0
  430. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +157 -0
  431. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +192 -0
  432. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +127 -0
  433. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +106 -0
  434. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +144 -0
  435. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +292 -0
  436. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +324 -0
  437. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +192 -0
  438. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +201 -0
  439. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +107 -0
  440. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +141 -0
  441. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +282 -0
  442. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +69 -0
  443. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +265 -0
  444. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +103 -0
  445. data/spec/integration/taskrouter/v1/workspace_spec.rb +287 -0
  446. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +192 -0
  447. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +192 -0
  448. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +250 -0
  449. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +267 -0
  450. data/spec/integration/trunking/v1/trunk_spec.rb +276 -0
  451. data/spec/integration/video/v1/recording_spec.rb +165 -0
  452. data/spec/integration/video/v1/room/recording_spec.rb +146 -0
  453. data/spec/integration/video/v1/room_spec.rb +237 -0
  454. data/spec/integration/wireless/v1/command_spec.rb +166 -0
  455. data/spec/integration/wireless/v1/rate_plan_spec.rb +268 -0
  456. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +65 -0
  457. data/spec/integration/wireless/v1/sim_spec.rb +208 -0
  458. data/spec/jwt/access_token_spec.rb +130 -0
  459. data/spec/jwt/client_capability_spec.rb +104 -0
  460. data/spec/jwt/task_router_spec.rb +172 -0
  461. data/spec/rack/twilio_webhook_authentication_spec.rb +19 -23
  462. data/spec/{util → security}/request_validator_spec.rb +5 -5
  463. data/spec/spec_helper.rb +18 -1
  464. data/spec/support/fakeweb.rb +1 -1
  465. data/spec/twiml/messaging_response_spec.rb +90 -0
  466. data/spec/twiml/voice_response_spec.rb +474 -0
  467. data/twilio-ruby.gemspec +13 -8
  468. metadata +708 -251
  469. data/docs/Makefile +0 -130
  470. data/docs/_themes/LICENSE +0 -45
  471. data/docs/_themes/README.rst +0 -25
  472. data/docs/_themes/flask_theme_support.py +0 -86
  473. data/docs/_themes/kr/layout.html +0 -32
  474. data/docs/_themes/kr/relations.html +0 -19
  475. data/docs/_themes/kr/static/flasky.css_t +0 -469
  476. data/docs/_themes/kr/static/small_flask.css +0 -70
  477. data/docs/_themes/kr/theme.conf +0 -7
  478. data/docs/_themes/kr_small/layout.html +0 -22
  479. data/docs/_themes/kr_small/static/flasky.css_t +0 -287
  480. data/docs/_themes/kr_small/theme.conf +0 -10
  481. data/docs/changelog.rst +0 -1
  482. data/docs/conf.py +0 -266
  483. data/docs/faq.rst +0 -42
  484. data/docs/getting-started.rst +0 -117
  485. data/docs/index.rst +0 -135
  486. data/docs/make.bat +0 -170
  487. data/docs/src/pip-delete-this-directory.txt +0 -5
  488. data/docs/usage/accounts.rst +0 -89
  489. data/docs/usage/addresses.rst +0 -101
  490. data/docs/usage/applications.rst +0 -108
  491. data/docs/usage/basics.rst +0 -115
  492. data/docs/usage/caller-ids.rst +0 -47
  493. data/docs/usage/conferences.rst +0 -108
  494. data/docs/usage/errors.rst +0 -29
  495. data/docs/usage/lookups.rst +0 -62
  496. data/docs/usage/messages.rst +0 -137
  497. data/docs/usage/notifications.rst +0 -72
  498. data/docs/usage/phone-calls.rst +0 -185
  499. data/docs/usage/phone-numbers.rst +0 -189
  500. data/docs/usage/pricing.rst +0 -169
  501. data/docs/usage/queues.rst +0 -112
  502. data/docs/usage/recordings.rst +0 -98
  503. data/docs/usage/sip.rst +0 -104
  504. data/docs/usage/taskrouter-tokens.rst +0 -98
  505. data/docs/usage/taskrouter.rst +0 -440
  506. data/docs/usage/token-generation.rst +0 -115
  507. data/docs/usage/transcriptions.rst +0 -32
  508. data/docs/usage/twiml.rst +0 -69
  509. data/docs/usage/validation.rst +0 -107
  510. data/examples/taskrouter.examples.rb +0 -86
  511. data/issue_template.md +0 -25
  512. data/lib/twilio-ruby/rest/addresses.rb +0 -12
  513. data/lib/twilio-ruby/rest/addresses/dependent_phone_numbers.rb +0 -6
  514. data/lib/twilio-ruby/rest/applications.rb +0 -6
  515. data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
  516. data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
  517. data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
  518. data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
  519. data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
  520. data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
  521. data/lib/twilio-ruby/rest/base_client.rb +0 -131
  522. data/lib/twilio-ruby/rest/call_feedback.rb +0 -28
  523. data/lib/twilio-ruby/rest/call_feedback_summary.rb +0 -13
  524. data/lib/twilio-ruby/rest/calls.rb +0 -33
  525. data/lib/twilio-ruby/rest/conferences.rb +0 -12
  526. data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
  527. data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
  528. data/lib/twilio-ruby/rest/errors.rb +0 -14
  529. data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
  530. data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
  531. data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
  532. data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
  533. data/lib/twilio-ruby/rest/instance_resource.rb +0 -87
  534. data/lib/twilio-ruby/rest/ip-messaging/channels.rb +0 -15
  535. data/lib/twilio-ruby/rest/ip-messaging/credentials.rb +0 -19
  536. data/lib/twilio-ruby/rest/ip-messaging/members.rb +0 -8
  537. data/lib/twilio-ruby/rest/ip-messaging/messages.rb +0 -8
  538. data/lib/twilio-ruby/rest/ip-messaging/roles.rb +0 -8
  539. data/lib/twilio-ruby/rest/ip-messaging/services.rb +0 -17
  540. data/lib/twilio-ruby/rest/ip-messaging/users.rb +0 -8
  541. data/lib/twilio-ruby/rest/ip_messaging_client.rb +0 -100
  542. data/lib/twilio-ruby/rest/keys.rb +0 -6
  543. data/lib/twilio-ruby/rest/list_resource.rb +0 -100
  544. data/lib/twilio-ruby/rest/lookups/phone_numbers.rb +0 -17
  545. data/lib/twilio-ruby/rest/lookups_client.rb +0 -99
  546. data/lib/twilio-ruby/rest/media.rb +0 -14
  547. data/lib/twilio-ruby/rest/messages.rb +0 -22
  548. data/lib/twilio-ruby/rest/monitor/alerts.rb +0 -8
  549. data/lib/twilio-ruby/rest/monitor/events.rb +0 -8
  550. data/lib/twilio-ruby/rest/monitor_client.rb +0 -101
  551. data/lib/twilio-ruby/rest/next_gen_list_resource.rb +0 -36
  552. data/lib/twilio-ruby/rest/notifications.rb +0 -6
  553. data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
  554. data/lib/twilio-ruby/rest/pricing/countries.rb +0 -21
  555. data/lib/twilio-ruby/rest/pricing/messaging.rb +0 -15
  556. data/lib/twilio-ruby/rest/pricing/phone_numbers.rb +0 -14
  557. data/lib/twilio-ruby/rest/pricing/voice.rb +0 -15
  558. data/lib/twilio-ruby/rest/pricing/voice/numbers.rb +0 -19
  559. data/lib/twilio-ruby/rest/pricing_client.rb +0 -108
  560. data/lib/twilio-ruby/rest/queues.rb +0 -12
  561. data/lib/twilio-ruby/rest/queues/members.rb +0 -29
  562. data/lib/twilio-ruby/rest/recordings.rb +0 -35
  563. data/lib/twilio-ruby/rest/sandbox.rb +0 -5
  564. data/lib/twilio-ruby/rest/sip.rb +0 -10
  565. data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
  566. data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
  567. data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
  568. data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
  569. data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
  570. data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
  571. data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
  572. data/lib/twilio-ruby/rest/sms.rb +0 -11
  573. data/lib/twilio-ruby/rest/sms/messages.rb +0 -38
  574. data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
  575. data/lib/twilio-ruby/rest/task_router/activities.rb +0 -8
  576. data/lib/twilio-ruby/rest/task_router/events.rb +0 -8
  577. data/lib/twilio-ruby/rest/task_router/reservations.rb +0 -8
  578. data/lib/twilio-ruby/rest/task_router/statistics.rb +0 -26
  579. data/lib/twilio-ruby/rest/task_router/task_queues.rb +0 -17
  580. data/lib/twilio-ruby/rest/task_router/task_queues_statistics.rb +0 -15
  581. data/lib/twilio-ruby/rest/task_router/tasks.rb +0 -15
  582. data/lib/twilio-ruby/rest/task_router/workers.rb +0 -19
  583. data/lib/twilio-ruby/rest/task_router/workers_statistics.rb +0 -8
  584. data/lib/twilio-ruby/rest/task_router/workflow_statistics.rb +0 -7
  585. data/lib/twilio-ruby/rest/task_router/workflows.rb +0 -11
  586. data/lib/twilio-ruby/rest/task_router/workspace_statistics.rb +0 -7
  587. data/lib/twilio-ruby/rest/task_router/workspaces.rb +0 -17
  588. data/lib/twilio-ruby/rest/task_router_client.rb +0 -176
  589. data/lib/twilio-ruby/rest/tokens.rb +0 -7
  590. data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
  591. data/lib/twilio-ruby/rest/trunking/credential_lists.rb +0 -8
  592. data/lib/twilio-ruby/rest/trunking/ip_access_control_lists.rb +0 -8
  593. data/lib/twilio-ruby/rest/trunking/origination_urls.rb +0 -8
  594. data/lib/twilio-ruby/rest/trunking/phone_numbers.rb +0 -8
  595. data/lib/twilio-ruby/rest/trunking/trunks.rb +0 -19
  596. data/lib/twilio-ruby/rest/trunking_client.rb +0 -106
  597. data/lib/twilio-ruby/rest/usage.rb +0 -10
  598. data/lib/twilio-ruby/rest/usage/records.rb +0 -21
  599. data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
  600. data/lib/twilio-ruby/rest/utils.rb +0 -49
  601. data/lib/twilio-ruby/task_router.rb +0 -0
  602. data/lib/twilio-ruby/task_router/capability.rb +0 -230
  603. data/lib/twilio-ruby/task_router/workflow_builder.rb +0 -135
  604. data/lib/twilio-ruby/twiml/response.rb +0 -16
  605. data/lib/twilio-ruby/util/access_token.rb +0 -158
  606. data/lib/twilio-ruby/util/capability.rb +0 -64
  607. data/lib/twilio-ruby/util/client_config.rb +0 -29
  608. data/spec/rest/account_spec.rb +0 -89
  609. data/spec/rest/address_spec.rb +0 -11
  610. data/spec/rest/call_feedback_spec.rb +0 -12
  611. data/spec/rest/call_feedback_summary_spec.rb +0 -9
  612. data/spec/rest/call_spec.rb +0 -22
  613. data/spec/rest/client_spec.rb +0 -277
  614. data/spec/rest/conference_spec.rb +0 -11
  615. data/spec/rest/instance_resource_spec.rb +0 -15
  616. data/spec/rest/ip-messaging/channel_spec.rb +0 -21
  617. data/spec/rest/ip-messaging/service_spec.rb +0 -30
  618. data/spec/rest/ip_messaging_client_spec.rb +0 -21
  619. data/spec/rest/key_spec.rb +0 -11
  620. data/spec/rest/lookups/phone_number_spec.rb +0 -28
  621. data/spec/rest/message_spec.rb +0 -12
  622. data/spec/rest/monitor_client_spec.rb +0 -17
  623. data/spec/rest/numbers_spec.rb +0 -58
  624. data/spec/rest/pricing_client_spec.rb +0 -60
  625. data/spec/rest/queue_spec.rb +0 -11
  626. data/spec/rest/recording_spec.rb +0 -11
  627. data/spec/rest/sms/message_spec.rb +0 -37
  628. data/spec/rest/sms/messages_spec.rb +0 -31
  629. data/spec/rest/task_router/reservation_spec.rb +0 -14
  630. data/spec/rest/task_router/statistics_spec.rb +0 -37
  631. data/spec/rest/task_router/task_queue_spec.rb +0 -9
  632. data/spec/rest/token_spec.rb +0 -7
  633. data/spec/rest/trunking/trunk_spec.rb +0 -36
  634. data/spec/rest/utils_spec.rb +0 -45
  635. data/spec/task_router/workflow_builder_spec.rb +0 -501
  636. data/spec/task_router_deprecated_spec.rb +0 -139
  637. data/spec/task_router_spec.rb +0 -110
  638. data/spec/task_router_taskqueue_spec.rb +0 -111
  639. data/spec/task_router_worker_spec.rb +0 -146
  640. data/spec/task_router_workspace_spec.rb +0 -110
  641. data/spec/util/access_token_spec.rb +0 -161
  642. data/spec/util/capability_spec.rb +0 -186
  643. data/spec/util/client_config_spec.rb +0 -21
@@ -1,98 +0,0 @@
1
- .. module:: twilio.rest.resources
2
-
3
- ================
4
- Recordings
5
- ================
6
-
7
- For more information, see the
8
- `Recordings REST Resource <http://www.twilio.com/docs/api/rest/recording>`_
9
- documentation.
10
-
11
-
12
- Audio Formats
13
- -----------------
14
-
15
- Each :class:`Recording` has a few special methods. To get the url
16
- for the wav format of this recording, use :meth:`Recording.wav`. For the
17
- mp3 format, use :meth:`Recording.mp3`. To make requests for either of
18
- these formats use the same method with a '!' appended. These methods
19
- both take a block to be executed as soon as the response returns.
20
-
21
-
22
- Listing Your Recordings
23
- ----------------------------
24
-
25
- The following code will print out the :attr:`duration`
26
- for each :class:`Recording`.
27
-
28
- .. code-block:: ruby
29
-
30
- require 'twilio-ruby'
31
-
32
- # To find these visit https://www.twilio.com/user/account
33
- account_sid = "ACXXXXXXXXXXXXXXXXX"
34
- auth_token = "YYYYYYYYYYYYYYYYYY"
35
-
36
- @client = Twilio::REST::Client.new account_sid, auth_token
37
-
38
- @client.recordings.list().each do |recording|
39
- puts recording.duration
40
- end
41
-
42
- You can filter recordings by CallSid by passing the Sid as :attr:`call`.
43
- Filter recordings using :attr:`DateCreated<` and :attr:`DateCreated>` dates.
44
-
45
- The following will only show recordings made before January 1, 2011.
46
-
47
- .. code-block:: ruby
48
-
49
- require 'twilio-ruby'
50
-
51
- # To find these visit https://www.twilio.com/user/account
52
- account_sid = "ACXXXXXXXXXXXXXXXXX"
53
- auth_token = "YYYYYYYYYYYYYYYYYY"
54
-
55
- @client = Twilio::REST::Client.new account_sid, auth_token
56
- @client.recordings.list('DateCreated<' => '2011-01-01').each do |recording|
57
- puts recording.duration
58
- end
59
-
60
- Deleting Recordings
61
- ---------------------
62
-
63
- The :class:`Recordings` resource allows you to delete unnecessary recordings.
64
-
65
- .. code-block:: ruby
66
-
67
- require 'twilio-ruby'
68
-
69
- # To find these visit https://www.twilio.com/user/account
70
- account_sid = "ACXXXXXXXXXXXXXXXXX"
71
- auth_token = "YYYYYYYYYYYYYYYYYY"
72
-
73
- @client = Twilio::REST::Client.new account_sid, auth_token
74
- @client.recordings.get("RC123").delete()
75
-
76
-
77
- Accessing Related Transcptions
78
- -------------------------------
79
-
80
- The :class:`Recordings` allows you to retrieve associated transcriptions.
81
- The following prints out the text for each of the transcriptions associated
82
- with this recording.
83
-
84
- .. code-block:: ruby
85
-
86
- require 'twilio-ruby'
87
-
88
- # To find these visit https://www.twilio.com/user/account
89
- account_sid = "ACXXXXXXXXXXXXXXXXX"
90
- auth_token = "YYYYYYYYYYYYYYYYYY"
91
-
92
- @client = Twilio::REST::Client.new account_sid, auth_token
93
- @recording = @client.recordings.get("RC123")
94
-
95
- @recording.transcriptions.list().each do |transcription|
96
- puts transcription.transcription_text
97
- end
98
-
data/docs/usage/sip.rst DELETED
@@ -1,104 +0,0 @@
1
- =============
2
- Sip In
3
- =============
4
-
5
- Getting started with Sip In
6
- ===========================
7
-
8
- If you're unfamiliar with SIP, please see the `SIP API Documentation
9
- <https://www.twilio.com/docs/api/rest/sip>`_ on our website. If you want
10
- to make a regular phone call, take a look at :doc:`phone-calls`.
11
-
12
- Creating a Sip Domain
13
- =====================
14
-
15
- The :class:`Domains` resource allows you to create a new domain. To
16
- create a new domain, you'll need to choose a unique domain that lives
17
- under sip.twilio.com.
18
-
19
- .. code-block:: ruby
20
-
21
- require 'twilio-ruby'
22
-
23
- # To find these visit https://www.twilio.com/user/account
24
- account_sid = "ACXXXXXXXXXXXXXXXXX"
25
- auth_token = "YYYYYYYYYYYYYYYYYY"
26
-
27
- @client = Twilio::REST::Client.new account_sid, auth_token
28
-
29
- @domain = @client.sip.domains.create(
30
- friendly_name: "The Office Domain",
31
- voice_url: "http://example.com/voice"
32
- domain_name: "dunder-mifflin-scranton.sip.twilio.com"
33
- )
34
- puts @domain.sid
35
-
36
- Creating a new IpAccessControlList
37
- ==================================
38
-
39
- To control access to your new domain, you'll need to explicitly grant access
40
- to individual ip addresses. To do this, you'll first need to create an
41
- :class:`IpAccessControlList` to hold the ip addresses you wish to allow.
42
-
43
- .. code-block:: ruby
44
-
45
- require 'twilio-ruby'
46
-
47
- # To find these visit https://www.twilio.com/user/account
48
- account_sid = "ACXXXXXXXXXXXXXXXXX"
49
- auth_token = "YYYYYYYYYYYYYYYYYY"
50
-
51
- @client = Twilio::REST::Client.new account_sid, auth_token
52
-
53
- @ip_acl = @client.sip.ip_access_control_lists.create(
54
- friendly_name: "The Office IpAccessControlList"
55
- )
56
- puts @ip_acl.sid
57
-
58
- Adding a new IpAddress
59
- =========================
60
-
61
- Now it's time to add an :class:`IpAddress` to your new :class:`IpAccessControlList`.
62
-
63
- .. code-block:: ruby
64
-
65
- require 'twilio-ruby'
66
-
67
- # To find these visit https://www.twilio.com/user/account
68
- account_sid = "ACXXXXXXXXXXXXXXXXX"
69
- auth_token = "YYYYYYYYYYYYYYYYYY"
70
-
71
- @client = Twilio::REST::Client.new account_sid, auth_token
72
-
73
- @ip_address = @client.sip.ip_access_control_lists.get(
74
- "AL456", # IpAccessControlList sid
75
- ).ip_addresses.create(
76
- friendly_name: "Dwights's Computer",
77
- ip_address: "192.168.1.42"
78
- )
79
- puts @ip_address.sid
80
-
81
- Adding an IpAccessControlList to a Domain
82
- ===========================================
83
-
84
- Once you've created a :class:`Domain` and an :class:`IpAccessControlList` you need to
85
- associate them. To do this, create an :class:`IpAccessControlListMapping`.
86
-
87
- .. code-block:: ruby
88
-
89
- require 'twilio-ruby'
90
-
91
- # To find these visit https://www.twilio.com/user/account
92
- account_sid = "ACXXXXXXXXXXXXXXXXX"
93
- auth_token = "YYYYYYYYYYYYYYYYYY"
94
-
95
- @client = Twilio::REST::Client.new account_sid, auth_token
96
-
97
- @ip_acl_mapping = @client.sip.domains.get(
98
- "SD456", # SIP Domain sid
99
- ).ip_access_control_list_mappings.create(
100
- ip_access_control_list_sid: "AL789"
101
- )
102
-
103
- puts @ip_acl_mapping.sid
104
-
@@ -1,98 +0,0 @@
1
- .. module:: twilio.task_router
2
-
3
- ============================
4
- TaskRouter Capability Tokens
5
- ============================
6
-
7
-
8
- TaskRouter's Worker.js library lets you add `TaskRouter
9
- <https://www.twilio.com/docs/taskrouter>`_ Worker Activity controls
10
- and event notifications to your web applications. Worker.js uses a Websocket
11
- connection to TaskRouter to receive realtime notifications of Worker
12
- Reservations and Task details, and provides a simple API for modifying a
13
- Worker's current Activity.
14
-
15
- TaskRouter uses Twilio capability tokens to delegate scoped access to
16
- TaskRouter resources to your JavaScript application. Twilio capability tokens
17
- conform to the JSON Web Token (commonly referred to as a JWT and pronounced
18
- "jot") standard, which allow for limited-time use of credentials by a third
19
- party. Your web server needs to generate a Twilio capability token and provide
20
- it to your JavaScript application in order to register a TaskRouter worker.
21
-
22
- :class:`Capability` is responsible for the creation of these
23
- capability tokens. You'll need your Twilio AccountSid and AuthToken,
24
- the Sid of the Workspace you want to authorize access to, and the Sid
25
- of the Worker you're granting authorization for.
26
-
27
- .. code-block:: ruby
28
-
29
- require 'twilio-ruby'
30
-
31
- # Get these values from https://twilio.com/user/account
32
- account_sid = "AC123"
33
- auth_token = "secret"
34
-
35
- # Create a Workspace and Worker in the TaskRouter account portal
36
- # or through the TaskRouter API
37
- worker_sid = "WK789"
38
- worker_sid = "WK789"
39
-
40
- @capability = Twilio::TaskRouter::Capability.new account_sid, auth_token, workspace_sid, worker_sid
41
-
42
-
43
- By default, the Capability object will allow the Worker.js process to
44
- read from and write to the websockets used to communicate events, and also
45
- to fetch the list of available activities in the workspace.
46
-
47
- There are three additional permissions you can grant using the Capability
48
- token, and in most cases you'll want to allow all of them for your application:
49
-
50
-
51
- Attribute Fetch
52
- ===============
53
-
54
- This authorizes requests to retrieve the registered Worker's attributes from
55
- the TaskRouter API.
56
-
57
- .. code-block:: ruby
58
-
59
- @capability.allow_worker_fetch_attributes
60
-
61
-
62
- Worker Activity Update
63
- ======================
64
-
65
- This authorizes updates to the registered Worker's current Activity.
66
-
67
- .. code-block:: ruby
68
-
69
- @capability.allow_worker_activity_updates
70
-
71
-
72
- Task Reservation Update
73
- =======================
74
-
75
- This authorizes updates to a Task's reservation status.
76
-
77
- .. code-block:: ruby
78
-
79
- @capability.allow_task_reservation_updates
80
-
81
-
82
- Generate a Token
83
- ================
84
-
85
- .. code-block:: ruby
86
-
87
- token = @capability.generate_token
88
-
89
- By default, this token will expire in one hour. If you'd like to change the
90
- token expiration, :meth:`generate_token` takes an optional :attr:`ttl`
91
- argument.
92
-
93
- .. code-block:: ruby
94
-
95
- token = @capability.generate_token(600)
96
-
97
- This token will now expire in 10 minutes. If you haven't guessed already,
98
- :attr:`ttl` is expressed in seconds.
@@ -1,440 +0,0 @@
1
- .. module:: twilio.rest.resources.task_router
2
-
3
- ==========
4
- TaskRouter
5
- ==========
6
-
7
- Twilio TaskRouter is a system for distributing tasks such as phone calls,
8
- leads, support tickets, and other work items to the people and processes that
9
- can best handle them.
10
-
11
- For more information, see the `TaskRouter documentation
12
- <https://www.twilio.com/docs/taskrouter>_`.
13
-
14
- Note: Passed in Form/Query Parameters are based on their json equivalent attribute.
15
-
16
- Workspaces
17
- --------------------
18
-
19
- A Workspace is a container for your Tasks, Workers, TaskQueues, Workflows and
20
- Activities. Each of these items exists within a single Workspace and will not
21
- be shared across Workspaces.
22
-
23
- .. code-block:: ruby
24
-
25
- require 'twilio-ruby'
26
-
27
- # To find these visit https://www.twilio.com/user/account
28
- ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
29
- AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
30
- # You can create a workspace through the portal, or put a fake value
31
- # here to create your first workspace with the Ruby library
32
- WORKSPACE_SID = "WSZZZZZZZZZ"
33
-
34
- @client = Twilio::REST::TaskRouterClient.new ACCOUNT_SID, AUTH_TOKEN, WORKSPACE_SID
35
-
36
- # creating a workspace
37
- @workspace = @client.workspaces.create(
38
- friendly_name: "Customer Support",
39
- template: "FIFO", # Sets up default activities and a FIFO TaskQueue
40
- )
41
- puts @workspace.sid
42
-
43
- # fetching a workspace
44
- @workspace = @client.workspace
45
- puts @workspace.sid
46
- puts @workspace.friendly_name
47
-
48
- # fetching a list of workspaces
49
- @client.workspaces.list.each do |workspace|
50
- puts workspace.friendly_name
51
- end
52
-
53
- # updating a workspace
54
- @client.workspace.update(friendly_name: 'MyWorkspace2')
55
-
56
- # deleting a workspace
57
- @client.workspace.delete
58
-
59
-
60
- Workflows
61
- ---------
62
-
63
- Workflows control how tasks will be prioritized and routed into TaskQueues, and
64
- how Tasks should escalate in priority or move across queues over time.
65
- Workflows are described in a simple JSON format and can be modified through the
66
- REST API or through the account portal.
67
-
68
- Creating a Workflow
69
- --------------------
70
-
71
- The following code will create a new :class:`Workflow` resource and print its
72
- unique ID:
73
-
74
- .. code-block:: ruby
75
-
76
- require 'twilio-ruby'
77
-
78
- # To find these visit https://www.twilio.com/user/account
79
- ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
80
- AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
81
-
82
- # See previous examples to create a Workspace
83
- WORKSPACE_SID = "WSZZZZZZZZZZZZZZ"
84
-
85
- # Some JSON to configure the Workflow. See the documentation at
86
- # http://www.twilio.com/docs/taskrouter for more details.
87
- CONFIG = <<-EOS
88
- {
89
- "task_routing":{
90
- "filters":[
91
- {
92
- "friendly_name":"Gold Tickets",
93
- "expression":"customer_value == 'Gold' AND type == 'ticket'",
94
- "targets":[
95
- {
96
- "queue":"YourGoldTicketQueueSid",
97
- "priority":"2"
98
- }
99
- ]
100
- }
101
- ],
102
- "default_filter":{
103
- "queue":"YourDefaultQueueSid"
104
- }
105
- }
106
- }
107
- EOS
108
-
109
- @client = Twilio::REST::TaskRouterClient.new ACCOUNT_SID, AUTH_TOKEN, WORKSPACE_SID
110
-
111
- @workflow = @client.workspace.workflows.create(
112
- friendly_name: "Incoming Call Flow",
113
- assignment_callback_url: "https://example.com/callback",
114
- fallback_assignment_callback_url: "https://example.com/callback2",
115
- configuration: CONFIG
116
- )
117
- puts @workflow.sid
118
-
119
- You can also utilize our Workflow Builder to make this process a bit easier utilizing objects:
120
-
121
- .. code-block:: ruby
122
-
123
- require twilio-ruby
124
-
125
- # To find these visit https://www.twilio.com/user/account
126
- ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
127
- AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
128
-
129
- # See previous examples to create a Workspace
130
- WORKSPACE_SID = "WSZZZZZZZZZZZZZZ"
131
-
132
- @client = Twilio::REST::TaskRouterClient.new ACCOUNT_SID, AUTH_TOKEN, WORKSPACE_SID
133
-
134
- gold_ticket_queue_sid = 'YourGoldTicketQueueSid'
135
- default_queue_sid = 'YourDefaultQueueSid'
136
-
137
- gold_ticket_targets = [Twilio::TaskRouter::WorkflowRuleTarget.new(gold_ticket_queue_sid)]
138
- gold_ticket_rule = Twilio::TaskRouter::WorkflowRule.new 'customer_value == "Gold" AND type == "ticket"', gold_ticket_targets, 'Gold Tickets'
139
-
140
- @rules = [gold_ticket_rule]
141
- @default_target = Twilio::TaskRouter::WorkflowRuleTarget.new default_queue_sid
142
-
143
- @config = Twilio::TaskRouter::WorkflowConfiguration.new @rules, @default_target
144
- puts @config.to_json
145
-
146
- @workflow = @client.workspace.workflows.create(configuration: @config.to_json, friendly_name: 'Incoming Call Flow', assignment_callback_url: 'https://example.com/callback', fallback_assignment_callback_url: 'https://example.com/callback2')
147
- puts @workflow.sid
148
-
149
- Fetching, Updating, Deleting Workflows
150
- --------------------
151
-
152
- .. code-block:: ruby
153
-
154
- require twilio-ruby
155
-
156
- # To find these visit https://www.twilio.com/user/account
157
- ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
158
- AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
159
-
160
- # See previous examples to create a Workspace
161
- WORKSPACE_SID = "WSZZZZZZZZZZZZZZ"
162
- WORKFLOW_SID = "WFZZZZZZZZZZZZZZZ"
163
-
164
- # fetching a workflow
165
- @client = Twilio::REST::TaskRouterClient.new ACCOUNT_SID, AUTH_TOKEN, WORKSPACE_SID
166
- @workflow = @client.workspace.workflows.get(WORKFLOW_SID)
167
- puts @workflow.sid
168
- puts @workflow.friendly_name
169
-
170
- # fetching a list of workflows
171
- @client.workspace.workflows.list.each do |workflow|
172
- puts workflow.friendly_name
173
- end
174
-
175
- # updating a workflow
176
- @workflow.update(friendly_name: 'NewWorkflowName')
177
-
178
- # deleting a workflow
179
- @workflow.delete
180
-
181
- Activities
182
- ----------
183
-
184
- Activities describe the current status of your Workers, which determines
185
- whether they are eligible to receive task assignments. Workers are always set
186
- to a single Activity.
187
-
188
- .. code-block:: ruby
189
-
190
- require 'twilio-ruby'
191
-
192
- # To find these visit https://www.twilio.com/user/account
193
- ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
194
- AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
195
-
196
- # See previous examples to create a Workspace
197
- WORKSPACE_SID = "WSZZZZZZZZZZZZZZ"
198
-
199
- @client = Twilio::REST::TaskRouterClient.new ACCOUNT_SID, AUTH_TOKEN, WORKSPACE_SID
200
-
201
- # creating an activity
202
- @activity = @client.workspace.activities.create(
203
- friendly_name: "Coffee Break",
204
- available: false # Whether workers are available to handle tasks during this activity
205
- )
206
- puts @activity.sid
207
-
208
- # fetching a list of activities
209
- @client.workspace.activities.list.each do |activity|
210
- puts activity.friendly_name
211
- end
212
-
213
- # fetching an activity
214
- ACTIVITY_SID = "WAZZZZZZZZZZZZZZZZZ"
215
- @activity = @client.workspace.activities.get(ACTIVITY_SID)
216
-
217
- # updating an activity
218
- @activity.update(friendly_name: 'NewFriendlyName')
219
-
220
- # deleting an activity
221
- @activity.delete
222
-
223
- Workers
224
- -------
225
-
226
- Workers represent an entity that is able to perform tasks, such as an agent
227
- working in a call center, or a salesperson handling leads.
228
-
229
- .. code-block:: ruby
230
-
231
- require 'twilio-ruby'
232
-
233
- # To find these visit https://www.twilio.com/user/account
234
- ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
235
- AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
236
-
237
- # See previous examples to create a Workspace
238
- WORKSPACE_SID = "WSZZZZZZZZZZZZZZ"
239
-
240
- @client = Twilio::REST::TaskRouterClient.new ACCOUNT_SID, AUTH_TOKEN, WORKSPACE_SID
241
-
242
- # creating a worker
243
- @worker = @client.workspace.workers.create(
244
- friendly_name:"Jamie",
245
- attributes:'{"phone": "+14155551234", "languages": ["EN", "ES"]}'
246
- )
247
- puts @worker.sid
248
-
249
- # fetching a list of workers
250
- @client.workspace.workers.list.each do |worker|
251
- puts worker.friendly_name
252
- end
253
-
254
- # fetching a list of workers based on activity
255
- @client.workspace.workers.list(activity_name: 'Offline').each do |worker|
256
- puts worker.friendly_name + ' is offline'
257
- end
258
-
259
- # fetching an worker
260
- WORKER_SID = "WKZZZZZZZZZZZZZZZZZ"
261
- @worker = @client.workspace.workers.get(WORKER_SID)
262
-
263
- # updating an worker
264
- @worker.update(friendly_name: 'NewFriendlyName')
265
-
266
- # deleting an worker
267
- @worker.delete
268
-
269
-
270
- TaskQueues
271
- ----------
272
-
273
- TaskQueues are the resource you use to categorize Tasks and describe which
274
- Workers are eligible to handle those Tasks. As your Workflows process Tasks,
275
- those Tasks will pass through one or more TaskQueues until the Task is assigned
276
- and accepted by an eligible Worker.
277
-
278
- .. code-block:: ruby
279
-
280
- require 'twilio-ruby'
281
-
282
- # To find these visit https://www.twilio.com/user/account
283
- ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
284
- AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
285
-
286
- # See previous examples to create a Workspace
287
- WORKSPACE_SID = "WSZZZZZZZZZZZZZZ"
288
-
289
- @client = Twilio::REST::TaskRouterClient.new ACCOUNT_SID, AUTH_TOKEN, WORKSPACE_SID
290
-
291
- # creating a task_queue
292
- @taskqueue = @client.workspace.task_queues.create(
293
- friendly_name: "Sales",
294
- # The Activity to assign workers when a task is reserved for them
295
- reservation_activity_sid: "WA11111111111",
296
- # The Activity to assign workers when a task is assigned to them
297
- assignment_activity_sid: "WA222222222222",
298
- )
299
- puts @taskqueue.sid
300
-
301
- # fetching a list of task_queues
302
- @client.workspace.task_queues.list.each do |task_queue|
303
- puts task_queue.friendly_name
304
- end
305
-
306
- # fetching an taskqueue
307
- TASK_QUEUE_SID = "WQZZZZZZZZZZZZZZZZZ"
308
- @taskqueue = @client.workspace.task_queues.get(TASK_QUEUE_SID)
309
-
310
- # updating an taskqueue
311
- @taskqueue.update(friendly_name: 'NewFriendlyName')
312
-
313
- # deleting an taskqueue
314
- @taskqueue.delete
315
-
316
-
317
- Tasks
318
- -----
319
-
320
- A Task instance resource represents a single item of work waiting to be
321
- processed.
322
-
323
- .. code-block:: ruby
324
-
325
- # To find these visit https://www.twilio.com/user/account
326
- ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
327
- AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
328
-
329
- # See previous examples to create a Workspace
330
- WORKSPACE_SID = "WSZZZZZZZZZZZZZZ"
331
-
332
- @client = Twilio::REST::TaskRouterClient.new ACCOUNT_SID, AUTH_TOKEN, WORKSPACE_SID
333
-
334
- # Some JSON containing attributes for this task. User-defined.
335
- TASK_ATTRIBUTES = <<-EOS
336
- {
337
- "type": "call",
338
- "contact": "+15558675309",
339
- "customer-value": "gold",
340
- "task-reason": "support",
341
- "callSid": "CA42ed11..."
342
- }
343
- EOS
344
-
345
- # creating a task
346
- @task = @client.workspace.tasks.create(
347
- attributes: TASK_ATTRIBUTES,
348
- assignment_status: 'pending',
349
- )
350
- puts @task.sid
351
-
352
- # fetching a list of tasks
353
- @client.workspace.tasks.list.each do |task|
354
- puts task.sid
355
- end
356
-
357
- # fetching a list of tasks that are pending
358
- @client.workspace.tasks.list(assignment_status: 'pending').each do |task|
359
- puts task.sid
360
- end
361
-
362
- # fetching an task
363
- TASK_SID = "WTZZZZZZZZZZZZZZZZZ"
364
- @task = @client.workspace.tasks.get(TASK_SID)
365
-
366
- # updating an task
367
- @task.update(friendly_name: 'NewFriendlyName')
368
-
369
- # deleting an task
370
- @task.delete
371
-
372
- Reservations
373
- -----
374
-
375
- A Reservation instance resource represents a single matching item of work from a task to a worker.
376
-
377
- .. code-block:: ruby
378
-
379
- # To find these visit https://www.twilio.com/user/account
380
- ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
381
- AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
382
-
383
- # See previous examples to create a Workspace
384
- WORKSPACE_SID = "WSZZZZZZZZZZZZZZ"
385
-
386
- @client = Twilio::REST::TaskRouterClient.new ACCOUNT_SID, AUTH_TOKEN, WORKSPACE_SID
387
-
388
- # fetching an task
389
- TASK_SID = "WTZZZZZZZZZZZZZZZZZ"
390
- @task = @client.workspace.tasks.get(TASK_SID)
391
-
392
- # fetching reservations for said task
393
- @task.reservations.list.each do |reservation|
394
- puts reservation.sid
395
- end
396
-
397
- Statistics
398
- -----
399
-
400
- A Statistics resource represents the statistics over a time period for a particular resource
401
-
402
- .. code-block:: ruby
403
-
404
- # To find these visit https://www.twilio.com/user/account
405
- ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
406
- AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
407
-
408
- # See previous examples to create a Workspace
409
- WORKSPACE_SID = "WSZZZZZZZZZZZZZZ"
410
-
411
- @client = Twilio::REST::TaskRouterClient.new ACCOUNT_SID, AUTH_TOKEN, WORKSPACE_SID
412
-
413
- # fetching statistics based on the last 4 hours
414
- @workspace_stats = @client.workspace.statistics(minutes: '240')
415
- @cumulative = @workspace_stats.cumulative
416
- puts 'Avg Task Acceptance Time: ' + @cumulative['avg_task_acceptance_time'].to_s \
417
- + ' with ' + @cumulative['tasks_created'].to_s + ' tasks created'
418
-
419
- Events
420
- -----
421
-
422
- A Event represents an internal TaskRouter event that occurred and has been logged.
423
- You can query based on time the event occurred, a certain resource or combination.
424
-
425
- .. code-block:: ruby
426
-
427
- # To find these visit https://www.twilio.com/user/account
428
- ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
429
- AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
430
-
431
- # See previous examples to create a Workspace
432
- WORKSPACE_SID = "WSZZZZZZZZZZZZZZ"
433
-
434
- @client = Twilio::REST::TaskRouterClient.new ACCOUNT_SID, AUTH_TOKEN, WORKSPACE_SID
435
-
436
- # fetching events for a workspace for the last 15 minutes
437
- @events = @client.workspace.events.list(minutes: '15')
438
- @events.each do |event|
439
- puts event.event_type + ' at ' + event.event_date
440
- end