twilio-ruby 3.11.5 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (435) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -1
  3. data/.rubocop.yml +21 -0
  4. data/.rubocop_todo.yml +187 -0
  5. data/.travis.yml +10 -10
  6. data/AUTHORS.md +21 -0
  7. data/CHANGES.md +351 -0
  8. data/Gemfile +8 -1
  9. data/{LICENSE → LICENSE.md} +13 -11
  10. data/Makefile +15 -3
  11. data/README.md +90 -95
  12. data/Rakefile +59 -7
  13. data/VERSIONS.md +64 -0
  14. data/examples/examples.rb +62 -49
  15. data/examples/{print-call-log.rb → print_call_log.rb} +7 -7
  16. data/lib/rack/twilio_webhook_authentication.rb +46 -0
  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/v1/credential/public_key.rb +370 -0
  32. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +105 -0
  33. data/lib/twilio-ruby/rest/accounts/v1.rb +39 -0
  34. data/lib/twilio-ruby/rest/accounts.rb +36 -9
  35. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +265 -0
  36. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +509 -0
  37. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +620 -0
  38. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +331 -0
  39. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +389 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +389 -0
  41. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +389 -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/call/feedback.rb +296 -0
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +427 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +379 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +799 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +515 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +455 -0
  50. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +413 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +445 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +445 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +445 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +786 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +165 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +355 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +583 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +153 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +153 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +418 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +377 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +345 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +438 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +378 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +397 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +375 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +479 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +430 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +395 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +419 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +361 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +361 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +570 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +406 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +424 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +174 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +168 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +366 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +304 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +304 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +304 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +304 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +304 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +304 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +304 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +304 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +418 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +507 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +127 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +161 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account.rb +1098 -0
  94. data/lib/twilio-ruby/rest/api/v2010.rb +147 -0
  95. data/lib/twilio-ruby/rest/api.rb +234 -0
  96. data/lib/twilio-ruby/rest/chat/v1/credential.rb +403 -0
  97. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +386 -0
  98. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +431 -0
  99. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +447 -0
  100. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +554 -0
  101. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +396 -0
  102. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +244 -0
  103. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +467 -0
  104. data/lib/twilio-ruby/rest/chat/v1/service.rb +935 -0
  105. data/lib/twilio-ruby/rest/chat/v1.rb +56 -0
  106. data/lib/twilio-ruby/rest/chat/v2/credential.rb +403 -0
  107. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +386 -0
  108. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +431 -0
  109. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +447 -0
  110. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +554 -0
  111. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +396 -0
  112. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +244 -0
  113. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +467 -0
  114. data/lib/twilio-ruby/rest/chat/v2/service.rb +688 -0
  115. data/lib/twilio-ruby/rest/chat/v2.rb +56 -0
  116. data/lib/twilio-ruby/rest/chat.rb +59 -0
  117. data/lib/twilio-ruby/rest/client.rb +307 -215
  118. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +403 -0
  119. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +386 -0
  120. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +431 -0
  121. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +447 -0
  122. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +554 -0
  123. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +396 -0
  124. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +244 -0
  125. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +467 -0
  126. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +935 -0
  127. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +56 -0
  128. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +403 -0
  129. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +386 -0
  130. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +431 -0
  131. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +447 -0
  132. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +554 -0
  133. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +396 -0
  134. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +244 -0
  135. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +467 -0
  136. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +688 -0
  137. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +56 -0
  138. data/lib/twilio-ruby/rest/ip_messaging.rb +59 -0
  139. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +224 -0
  140. data/lib/twilio-ruby/rest/lookups/v1.rb +41 -0
  141. data/lib/twilio-ruby/rest/lookups.rb +44 -0
  142. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +398 -0
  143. data/lib/twilio-ruby/rest/monitor/v1/event.rb +381 -0
  144. data/lib/twilio-ruby/rest/monitor/v1.rb +56 -0
  145. data/lib/twilio-ruby/rest/monitor.rb +52 -0
  146. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +291 -0
  147. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +129 -0
  148. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +284 -0
  149. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +129 -0
  150. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +291 -0
  151. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +208 -0
  152. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +150 -0
  153. data/lib/twilio-ruby/rest/pricing/v1.rb +65 -0
  154. data/lib/twilio-ruby/rest/pricing.rb +54 -0
  155. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +399 -0
  156. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +418 -0
  157. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +461 -0
  158. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +584 -0
  159. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +315 -0
  160. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -0
  161. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +243 -0
  162. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +527 -0
  163. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +461 -0
  164. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +406 -0
  165. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +223 -0
  166. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +226 -0
  167. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +585 -0
  168. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -0
  169. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +475 -0
  170. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +212 -0
  171. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +712 -0
  172. data/lib/twilio-ruby/rest/taskrouter/v1.rb +41 -0
  173. data/lib/twilio-ruby/rest/taskrouter.rb +44 -0
  174. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +345 -0
  175. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +345 -0
  176. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +430 -0
  177. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +478 -0
  178. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +577 -0
  179. data/lib/twilio-ruby/rest/trunking/v1.rb +41 -0
  180. data/lib/twilio-ruby/rest/trunking.rb +44 -0
  181. data/lib/twilio-ruby/rest/video/v1/recording.rb +382 -0
  182. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +381 -0
  183. data/lib/twilio-ruby/rest/video/v1/room.rb +485 -0
  184. data/lib/twilio-ruby/rest/video/v1.rb +56 -0
  185. data/lib/twilio-ruby/rest/video.rb +52 -0
  186. data/lib/twilio-ruby/security/request_validator.rb +54 -0
  187. data/lib/twilio-ruby/twiml/messaging_response.rb +141 -0
  188. data/lib/twilio-ruby/twiml/twiml.rb +69 -0
  189. data/lib/twilio-ruby/twiml/voice_response.rb +916 -0
  190. data/lib/twilio-ruby/util/configuration.rb +7 -0
  191. data/lib/twilio-ruby/util.rb +1 -1
  192. data/lib/twilio-ruby/version.rb +1 -1
  193. data/lib/twilio-ruby.rb +52 -49
  194. data/spec/framework/serialize_spec.rb +59 -0
  195. data/spec/holodeck/holodeck.rb +61 -0
  196. data/spec/holodeck/hologram.rb +4 -0
  197. data/spec/integration/accounts/v1/credential/public_key_spec.rb +226 -0
  198. data/spec/integration/accounts/v1/credential_spec.rb +10 -0
  199. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +90 -0
  200. data/spec/integration/api/v2010/account/address_spec.rb +267 -0
  201. data/spec/integration/api/v2010/account/application_spec.rb +286 -0
  202. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +137 -0
  203. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +101 -0
  204. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +100 -0
  205. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +100 -0
  206. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +128 -0
  207. data/spec/integration/api/v2010/account/call/feedback_spec.rb +141 -0
  208. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +149 -0
  209. data/spec/integration/api/v2010/account/call/notification_spec.rb +179 -0
  210. data/spec/integration/api/v2010/account/call/recording_spec.rb +178 -0
  211. data/spec/integration/api/v2010/account/call_spec.rb +319 -0
  212. data/spec/integration/api/v2010/account/conference/participant_spec.rb +283 -0
  213. data/spec/integration/api/v2010/account/conference_spec.rb +174 -0
  214. data/spec/integration/api/v2010/account/connect_app_spec.rb +177 -0
  215. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +181 -0
  216. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +181 -0
  217. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +181 -0
  218. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +331 -0
  219. data/spec/integration/api/v2010/account/key_spec.rb +178 -0
  220. data/spec/integration/api/v2010/account/message/feedback_spec.rb +48 -0
  221. data/spec/integration/api/v2010/account/message/media_spec.rb +162 -0
  222. data/spec/integration/api/v2010/account/message_spec.rb +297 -0
  223. data/spec/integration/api/v2010/account/new_key_spec.rb +45 -0
  224. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +45 -0
  225. data/spec/integration/api/v2010/account/notification_spec.rb +172 -0
  226. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +193 -0
  227. data/spec/integration/api/v2010/account/queue/member_spec.rb +170 -0
  228. data/spec/integration/api/v2010/account/queue_spec.rb +242 -0
  229. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +175 -0
  230. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +166 -0
  231. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +174 -0
  232. data/spec/integration/api/v2010/account/recording_spec.rb +179 -0
  233. data/spec/integration/api/v2010/account/short_code_spec.rb +180 -0
  234. data/spec/integration/api/v2010/account/signing_key_spec.rb +178 -0
  235. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +257 -0
  236. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +246 -0
  237. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +210 -0
  238. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +220 -0
  239. data/spec/integration/api/v2010/account/sip/domain_spec.rb +283 -0
  240. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +261 -0
  241. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +256 -0
  242. data/spec/integration/api/v2010/account/sip_spec.rb +10 -0
  243. data/spec/integration/api/v2010/account/token_spec.rb +56 -0
  244. data/spec/integration/api/v2010/account/transcription_spec.rb +167 -0
  245. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +111 -0
  246. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +111 -0
  247. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +111 -0
  248. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +111 -0
  249. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +111 -0
  250. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +111 -0
  251. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +111 -0
  252. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +111 -0
  253. data/spec/integration/api/v2010/account/usage/record_spec.rb +108 -0
  254. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +283 -0
  255. data/spec/integration/api/v2010/account/usage_spec.rb +10 -0
  256. data/spec/integration/api/v2010/account/validation_request_spec.rb +48 -0
  257. data/spec/integration/api/v2010/account_spec.rb +254 -0
  258. data/spec/integration/chat/v1/credential_spec.rb +223 -0
  259. data/spec/integration/chat/v1/service/channel/invite_spec.rb +210 -0
  260. data/spec/integration/chat/v1/service/channel/member_spec.rb +284 -0
  261. data/spec/integration/chat/v1/service/channel/message_spec.rb +294 -0
  262. data/spec/integration/chat/v1/service/channel_spec.rb +275 -0
  263. data/spec/integration/chat/v1/service/role_spec.rb +263 -0
  264. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +92 -0
  265. data/spec/integration/chat/v1/service/user_spec.rb +266 -0
  266. data/spec/integration/chat/v1/service_spec.rb +299 -0
  267. data/spec/integration/chat/v2/credential_spec.rb +223 -0
  268. data/spec/integration/chat/v2/service/channel/invite_spec.rb +210 -0
  269. data/spec/integration/chat/v2/service/channel/member_spec.rb +284 -0
  270. data/spec/integration/chat/v2/service/channel/message_spec.rb +294 -0
  271. data/spec/integration/chat/v2/service/channel_spec.rb +275 -0
  272. data/spec/integration/chat/v2/service/role_spec.rb +263 -0
  273. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +92 -0
  274. data/spec/integration/chat/v2/service/user_spec.rb +266 -0
  275. data/spec/integration/chat/v2/service_spec.rb +325 -0
  276. data/spec/integration/ip_messaging/v1/credential_spec.rb +223 -0
  277. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +210 -0
  278. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +284 -0
  279. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +294 -0
  280. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +275 -0
  281. data/spec/integration/ip_messaging/v1/service/role_spec.rb +263 -0
  282. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +92 -0
  283. data/spec/integration/ip_messaging/v1/service/user_spec.rb +266 -0
  284. data/spec/integration/ip_messaging/v1/service_spec.rb +299 -0
  285. data/spec/integration/ip_messaging/v2/credential_spec.rb +223 -0
  286. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +210 -0
  287. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +284 -0
  288. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +294 -0
  289. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +275 -0
  290. data/spec/integration/ip_messaging/v2/service/role_spec.rb +263 -0
  291. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +92 -0
  292. data/spec/integration/ip_messaging/v2/service/user_spec.rb +266 -0
  293. data/spec/integration/ip_messaging/v2/service_spec.rb +325 -0
  294. data/spec/integration/lookups/v1/phone_number_spec.rb +60 -0
  295. data/spec/integration/monitor/v1/alert_spec.rb +161 -0
  296. data/spec/integration/monitor/v1/event_spec.rb +148 -0
  297. data/spec/integration/pricing/v1/messaging/country_spec.rb +137 -0
  298. data/spec/integration/pricing/v1/messaging_spec.rb +10 -0
  299. data/spec/integration/pricing/v1/phone_number/country_spec.rb +128 -0
  300. data/spec/integration/pricing/v1/phone_number_spec.rb +10 -0
  301. data/spec/integration/pricing/v1/voice/country_spec.rb +266 -0
  302. data/spec/integration/pricing/v1/voice/number_spec.rb +54 -0
  303. data/spec/integration/pricing/v1/voice_spec.rb +10 -0
  304. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +236 -0
  305. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +157 -0
  306. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +192 -0
  307. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +127 -0
  308. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +106 -0
  309. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +144 -0
  310. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +292 -0
  311. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +324 -0
  312. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +192 -0
  313. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +201 -0
  314. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +107 -0
  315. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +141 -0
  316. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +282 -0
  317. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +69 -0
  318. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +265 -0
  319. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +103 -0
  320. data/spec/integration/taskrouter/v1/workspace_spec.rb +287 -0
  321. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +192 -0
  322. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +192 -0
  323. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +250 -0
  324. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +267 -0
  325. data/spec/integration/trunking/v1/trunk_spec.rb +276 -0
  326. data/spec/integration/video/v1/recording_spec.rb +165 -0
  327. data/spec/integration/video/v1/room/recording_spec.rb +146 -0
  328. data/spec/integration/video/v1/room_spec.rb +237 -0
  329. data/spec/jwt/access_token_spec.rb +130 -0
  330. data/spec/jwt/client_capability_spec.rb +104 -0
  331. data/spec/jwt/task_router_spec.rb +172 -0
  332. data/spec/rack/twilio_webhook_authentication_spec.rb +106 -0
  333. data/spec/security/request_validator_spec.rb +113 -0
  334. data/spec/spec_helper.rb +29 -3
  335. data/spec/support/fakeweb.rb +2 -0
  336. data/spec/twilio_spec.rb +15 -0
  337. data/spec/twiml/messaging_response_spec.rb +90 -0
  338. data/spec/twiml/voice_response_spec.rb +474 -0
  339. data/spec/util/configuration_spec.rb +15 -0
  340. data/spec/util/url_encode_spec.rb +2 -2
  341. data/twilio-ruby.gemspec +32 -26
  342. metadata +502 -152
  343. data/CHANGES +0 -47
  344. data/docs/Makefile +0 -130
  345. data/docs/_themes/LICENSE +0 -45
  346. data/docs/_themes/README.rst +0 -25
  347. data/docs/_themes/flask_theme_support.py +0 -86
  348. data/docs/_themes/kr/layout.html +0 -32
  349. data/docs/_themes/kr/relations.html +0 -19
  350. data/docs/_themes/kr/static/flasky.css_t +0 -469
  351. data/docs/_themes/kr/static/small_flask.css +0 -70
  352. data/docs/_themes/kr/theme.conf +0 -7
  353. data/docs/_themes/kr_small/layout.html +0 -22
  354. data/docs/_themes/kr_small/static/flasky.css_t +0 -287
  355. data/docs/_themes/kr_small/theme.conf +0 -10
  356. data/docs/changelog.rst +0 -1
  357. data/docs/conf.py +0 -266
  358. data/docs/faq.rst +0 -42
  359. data/docs/getting-started.rst +0 -91
  360. data/docs/index.rst +0 -109
  361. data/docs/make.bat +0 -170
  362. data/docs/src/pip-delete-this-directory.txt +0 -5
  363. data/docs/usage/accounts.rst +0 -89
  364. data/docs/usage/applications.rst +0 -108
  365. data/docs/usage/basics.rst +0 -102
  366. data/docs/usage/caller-ids.rst +0 -45
  367. data/docs/usage/conferences.rst +0 -108
  368. data/docs/usage/errors.rst +0 -29
  369. data/docs/usage/messages.rst +0 -109
  370. data/docs/usage/notifications.rst +0 -70
  371. data/docs/usage/phone-calls.rst +0 -166
  372. data/docs/usage/phone-numbers.rst +0 -174
  373. data/docs/usage/queues.rst +0 -112
  374. data/docs/usage/recordings.rst +0 -96
  375. data/docs/usage/sip.rst +0 -103
  376. data/docs/usage/token-generation.rst +0 -81
  377. data/docs/usage/transcriptions.rst +0 -31
  378. data/docs/usage/twiml.rst +0 -69
  379. data/docs/usage/validation.rst +0 -71
  380. data/lib/twilio-ruby/rest/applications.rb +0 -6
  381. data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
  382. data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
  383. data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
  384. data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
  385. data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
  386. data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
  387. data/lib/twilio-ruby/rest/calls.rb +0 -28
  388. data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
  389. data/lib/twilio-ruby/rest/conferences.rb +0 -12
  390. data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
  391. data/lib/twilio-ruby/rest/errors.rb +0 -14
  392. data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
  393. data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
  394. data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
  395. data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
  396. data/lib/twilio-ruby/rest/instance_resource.rb +0 -101
  397. data/lib/twilio-ruby/rest/list_resource.rb +0 -110
  398. data/lib/twilio-ruby/rest/media.rb +0 -14
  399. data/lib/twilio-ruby/rest/messages.rb +0 -17
  400. data/lib/twilio-ruby/rest/notifications.rb +0 -6
  401. data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
  402. data/lib/twilio-ruby/rest/queues/members.rb +0 -29
  403. data/lib/twilio-ruby/rest/queues.rb +0 -12
  404. data/lib/twilio-ruby/rest/recordings.rb +0 -35
  405. data/lib/twilio-ruby/rest/sandbox.rb +0 -5
  406. data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
  407. data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
  408. data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
  409. data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
  410. data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
  411. data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
  412. data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
  413. data/lib/twilio-ruby/rest/sip.rb +0 -12
  414. data/lib/twilio-ruby/rest/sms/messages.rb +0 -15
  415. data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
  416. data/lib/twilio-ruby/rest/sms.rb +0 -11
  417. data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
  418. data/lib/twilio-ruby/rest/usage/records.rb +0 -21
  419. data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
  420. data/lib/twilio-ruby/rest/usage.rb +0 -10
  421. data/lib/twilio-ruby/rest/utils.rb +0 -25
  422. data/lib/twilio-ruby/twiml/response.rb +0 -15
  423. data/lib/twilio-ruby/util/capability.rb +0 -61
  424. data/lib/twilio-ruby/util/request_validator.rb +0 -22
  425. data/spec/rest/account_spec.rb +0 -58
  426. data/spec/rest/call_spec.rb +0 -18
  427. data/spec/rest/client_spec.rb +0 -100
  428. data/spec/rest/conference_spec.rb +0 -9
  429. data/spec/rest/instance_resource_spec.rb +0 -15
  430. data/spec/rest/message_spec.rb +0 -12
  431. data/spec/rest/numbers_spec.rb +0 -46
  432. data/spec/rest/queue_spec.rb +0 -9
  433. data/spec/rest/recording_spec.rb +0 -9
  434. data/spec/util/capability_spec.rb +0 -137
  435. data/spec/util/request_validator_spec.rb +0 -65
@@ -1,108 +0,0 @@
1
- .. module:: twilio.rest.resources
2
-
3
- ==============================
4
- Conferences and Participants
5
- ==============================
6
-
7
- For more information, see the `Conference REST Resource <http://www.twilio.com/docs/api/rest/conference>`_
8
- and `Participant REST Resource <http://www.twilio.com/docs/api/rest/participant>`_ documentation.
9
-
10
-
11
- Listing Conferences
12
- -----------------------
13
-
14
- .. code-block:: ruby
15
-
16
- require 'twilio-ruby'
17
-
18
- # To find these visit https://www.twilio.com/user/account
19
- account_sid = "ACXXXXXXXXXXXXXXXXX"
20
- auth_token = "YYYYYYYYYYYYYYYYYY"
21
-
22
- @client = Twilio::REST::Client.new account_sid, auth_token
23
- @conferences = @client.account.conferences.list()
24
-
25
- @conferences.each do |conference|
26
- puts conference.sid
27
- end
28
-
29
-
30
- Filtering Conferences
31
- -----------------------
32
-
33
- The :meth:`Twilio::REST::Conferences.list` method supports filtering on :attr:`status`,
34
- :attr:`date_updated`, :attr:`date_created` and :attr:`friendly_name`. The following code
35
- will return a list of all in-progress conferences and print their friendly name.
36
-
37
- .. code-block:: ruby
38
-
39
- require 'twilio-ruby'
40
-
41
- # To find these visit https://www.twilio.com/user/account
42
- account_sid = "ACXXXXXXXXXXXXXXXXX"
43
- auth_token = "YYYYYYYYYYYYYYYYYY"
44
-
45
- @client = Twilio::REST::Client.new account_sid, auth_token
46
- @conferences = @client.account.conferences.list({:status => "in-progress"})
47
-
48
- @conference.each do |conference|
49
- puts conference.friendly_name
50
- end
51
-
52
-
53
- Listing Participants
54
- ----------------------
55
-
56
- Each :class:`Conference` has a :attr:`participants` instance which represents all current users in the conference
57
-
58
- .. code-block:: ruby
59
-
60
- require 'twilio-ruby'
61
-
62
- # To find these visit https://www.twilio.com/user/account
63
- account_sid = "ACXXXXXXXXXXXXXXXXX"
64
- auth_token = "YYYYYYYYYYYYYYYYYY"
65
-
66
- @client = Twilio::REST::Client.new account_sid, auth_token
67
- @conference = @client.account.conferences.get("CF123")
68
-
69
- @conference.participants.list.each.do |paricipant|
70
- puts participant.sid
71
- end
72
-
73
- :class:`Conferences` and :class:`Participants` are subclasses of :class:`ListResource`.
74
- Therefore, their instances have the inherited methods such as :meth:`count`.
75
-
76
-
77
- Managing Participants
78
- ----------------------
79
-
80
- Each :class:`Conference` has a :attr:`participants` function that returns a
81
- :class:`Participants` instance. This behavior differs from other list resources
82
- because :class:`Participants` needs a participant sid AND a conference sid to
83
- access the participants resource.
84
-
85
- Participants can be either muted or kicked out of the conference. The following
86
- code kicks out the first participant and mutes the rest.
87
-
88
- .. code-block:: ruby
89
-
90
- require 'twilio-ruby'
91
-
92
- # To find these visit https://www.twilio.com/user/account
93
- account_sid = "ACXXXXXXXXXXXXXXXXX"
94
- auth_token = "YYYYYYYYYYYYYYYYYY"
95
-
96
- @client = Twilio::REST::Client.new account_sid, auth_token
97
- @participants = @client.account.conferences.get("CF123").participants.list()
98
-
99
- if @participants.empty?
100
- return
101
-
102
- # Kick the first person out
103
- @participants.pop().kick()
104
-
105
- # And mute the rest
106
- @participants.each do |participant|
107
- participant.mute()
108
-
@@ -1,29 +0,0 @@
1
- Error Handling
2
- ==============
3
-
4
- Exceptions
5
- ----------
6
- If the Twilio API returns a 400 or a 500 level HTTP response,
7
- the twilio-ruby library will throw a :class:`Twilio::REST::RequestError`.
8
- 400-level errors are normal during API operation ("Invalid number",
9
- "Cannot deliver SMS to that number", for example) and should be
10
- handled appropriately.
11
-
12
- .. code-block:: ruby
13
-
14
- require 'twilio-ruby'
15
-
16
- # To find these visit https://www.twilio.com/user/account
17
- account_sid = "ACXXXXXXXXXXXXXXXXX"
18
- auth_token = "YYYYYYYYYYYYYYYYYY"
19
-
20
- begin
21
- @client = Twilio::REST::Client.new account_sid, auth_token
22
- client.account.messages.create({
23
- :from => '+1234567890',
24
- :to => '+1234567890',
25
- :body => 'Hello world'
26
- })
27
- rescue Twilio::REST::RequestError => e
28
- puts e.message
29
- end
@@ -1,109 +0,0 @@
1
- .. module:: twilio.rest.resources.sms_messages
2
-
3
- ============
4
- Messages
5
- ============
6
-
7
- For more information, see the
8
- `Message REST Resource <http://www.twilio.com/docs/api/rest/message>`_
9
- documentation.
10
-
11
-
12
- Sending a Text Message
13
- ----------------------
14
-
15
- Send a text message in only a few lines of code.
16
-
17
- .. code-block:: ruby
18
-
19
- require 'twilio-ruby'
20
-
21
- # To find these visit https://www.twilio.com/user/account
22
- account_sid = "ACXXXXXXXXXXXXXXXXX"
23
- auth_token = "YYYYYYYYYYYYYYYYYY"
24
-
25
- @client = Twilio::REST::Client.new account_sid, auth_token
26
-
27
- @message = @client.account.messages.create({:to => "+13216851234",
28
- :from => "+15555555555",
29
- :body => "Hello!"})
30
-
31
- If you want to send a message from a `short code
32
- <http://www.twilio.com/api/sms/short-codes>`_ on Twilio, just set :attr:`from`
33
- to your short code's number.
34
-
35
-
36
- Sending a Picture Message
37
- -------------------------
38
-
39
- To send a picture, set :attr:`media_url` to the url of the picture you wish to send.
40
-
41
- .. code-block:: ruby
42
-
43
- require 'twilio-ruby'
44
-
45
- # To find these visit https://www.twilio.com/user/account
46
- account_sid = "ACXXXXXXXXXXXXXXXXX"
47
- auth_token = "YYYYYYYYYYYYYYYYYY"
48
-
49
- @client = Twilio::REST::Client.new account_sid, auth_token
50
-
51
- @message = @client.account.messages.create({:to => "+15558676309",
52
- :from => "+15555555555",
53
- :body => "Jenny I need you!",
54
- :media_url => "http://twilio.com/heart.jpg"})
55
-
56
- You can send multiple pictures in the same message by setting :attr:`media_url` to
57
- an array of urls.
58
-
59
- .. code-block:: ruby
60
-
61
- @message = @client.account.messages.create({:to => "+15558676309",
62
- :from => "+15555555555",
63
- :body => "Jenny I need you!",
64
- :media_url => [
65
- "http://twilio.com/heart.jpg",
66
- "http://twilio.com/rose.jpg"
67
- ]})
68
-
69
-
70
- Retrieving Sent Messages
71
- -------------------------
72
-
73
- .. code-block:: ruby
74
-
75
- require 'twilio-ruby'
76
-
77
- # To find these visit https://www.twilio.com/user/account
78
- account_sid = "ACXXXXXXXXXXXXXXXXX"
79
- auth_token = "YYYYYYYYYYYYYYYYYY"
80
-
81
- @client = Twilio::REST::Client.new account_sid, auth_token
82
-
83
- @client.account.messages.list.each do |message|
84
- puts message.body
85
-
86
-
87
- Filtering Your Messages
88
- -------------------------
89
-
90
- The :meth:`list` methods supports filtering on :attr:`to`, :attr:`from`,
91
- and :attr:`date_sent`.
92
- The following will only show messages to "+5466758723" on January 1st, 2011.
93
-
94
- .. code-block:: ruby
95
-
96
- require 'twilio-ruby'
97
-
98
- # To find these visit https://www.twilio.com/user/account
99
- account_sid = "ACXXXXXXXXXXXXXXXXX"
100
- auth_token = "YYYYYYYYYYYYYYYYYY"
101
-
102
- @client = Twilio::REST::Client.new account_sid, auth_token
103
-
104
- @messages = @client.account.messages.list({:to => "+5466758723", :date_sent => "2011-01-01"})
105
-
106
- @messages.each do |message|
107
- puts message.body
108
-
109
-
@@ -1,70 +0,0 @@
1
- .. module:: twilio.rest.resources
2
-
3
- ====================
4
- Notifications
5
- ====================
6
-
7
- For more information, see the `Notifications REST Resource
8
- <http://www.twilio.com/docs/api/rest/notification>`_ documentation.
9
-
10
-
11
- Listing Your Notifications
12
- ----------------------------
13
-
14
- The following code will print out additional information about each of your
15
- current :class:`Notification` resources.
16
-
17
- .. code-block:: ruby
18
-
19
- require 'twilio-ruby'
20
-
21
- # To find these visit https://www.twilio.com/user/account
22
- account_sid = "ACXXXXXXXXXXXXXXXXX"
23
- auth_token = "YYYYYYYYYYYYYYYYYY"
24
-
25
- @client = Twilio::REST::Client.new account_sid, auth_token
26
-
27
- @client.account.notifications.list().each do |notification|:
28
- puts notification.more_info
29
-
30
- You can filter transcriptions by :attr:`log` and :attr:`message_date`.
31
- The :attr:`log` value is 0 for `ERROR` and 1 for `WARNING`.
32
-
33
- .. code-block:: ruby
34
-
35
- require 'twilio-ruby'
36
-
37
- # To find these visit https://www.twilio.com/user/account
38
- account_sid = "ACXXXXXXXXXXXXXXXXX"
39
- auth_token = "YYYYYYYYYYYYYYYYYY"
40
-
41
- @client = Twilio::REST::Client.new account_sid, auth_token
42
-
43
- ERROR = 0
44
-
45
- @client.account.notifications.list(log=ERROR).each do |notification|:
46
- puts notification.error_code
47
-
48
- .. note:: Due to the potentially voluminous amount of data in a notification,
49
- the full HTTP request and response data is only returned in the
50
- :class:`Notification` instance resource representation.
51
-
52
-
53
- Deleting Notifications
54
- ------------------------
55
-
56
- Your account can sometimes generate an inordinate amount of
57
- :class:`Notification` resources. The :class:`Notifications` resource allows
58
- you to delete unnecessary notifications.
59
-
60
- .. code-block:: ruby
61
-
62
- require 'twilio-ruby'
63
-
64
- # To find these visit https://www.twilio.com/user/account
65
- account_sid = "ACXXXXXXXXXXXXXXXXX"
66
- auth_token = "YYYYYYYYYYYYYYYYYY"
67
-
68
- @client = Twilio::REST::Client.new account_sid, auth_token
69
- @client.notifications.get("NO123").delete()
70
-
@@ -1,166 +0,0 @@
1
- .. module:: twilio.rest
2
- .. _phone-calls:
3
-
4
- =====================
5
- Phone Calls
6
- =====================
7
-
8
- The :class:`Calls` resource manages all interaction with Twilio phone calls,
9
- including the creation and termination of phone calls.
10
-
11
-
12
- Making a Phone Call
13
- -------------------
14
-
15
- The :class:`Calls` resource allows you to make outgoing calls. Before a call
16
- can be successfully started, you'll need a to set up a url endpoint which
17
- outputs valid `TwiML <http://www.twilio.com/docs/api/twiml/>`_.
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
- @call = @client.account.calls.create({:to => "9991231234",
29
- :from => "9991231234",
30
- :url => "http://foo.com/call.xml"})
31
- puts @call.length
32
- puts @call.sid
33
-
34
-
35
- Retrieve a Call Record
36
- -------------------------
37
-
38
- If you already have a :class:`Call` sid,
39
- you can use the client to retrieve that record.
40
-
41
- .. code-block:: ruby
42
-
43
- require 'twilio-ruby'
44
-
45
- # To find these visit https://www.twilio.com/user/account
46
- account_sid = "ACXXXXXXXXXXXXXXXXX"
47
- auth_token = "YYYYYYYYYYYYYYYYYY"
48
-
49
- @client = Twilio::REST::Client.new account_sid, auth_token
50
- sid = "CA12341234"
51
- @call = @client.account.calls.get(sid)
52
-
53
-
54
- Accessing Specific Call Resources
55
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56
-
57
- Each :class:`Call` resource also has access to its `notifications`,
58
- `recordings`, and `transcriptions`.
59
- These attributes are :class:`ListResources`,
60
- just like the :class:`Calls` resource itself.
61
-
62
- .. code-block:: ruby
63
-
64
- require 'twilio-ruby'
65
-
66
- # To find these visit https://www.twilio.com/user/account
67
- account_sid = "ACXXXXXXXXXXXXXXXXX"
68
- auth_token = "YYYYYYYYYYYYYYYYYY"
69
-
70
- @client = Twilio::REST::Client.new account_sid, auth_token
71
- sid = "CA12341234"
72
- @call = @client.account.calls.get(sid)
73
-
74
- puts @call.notifications.list()
75
- puts @call.recordings.list()
76
- puts @call.transcriptions.list()
77
-
78
- However, what if you only have a `CallSid`, and not the actual
79
- :class:`Resource`? No worries, as :meth:`list` can be filter based on a given
80
- `CallSid`.
81
-
82
- .. code-block:: ruby
83
-
84
- require 'twilio-ruby'
85
-
86
- # To find these visit https://www.twilio.com/user/account
87
- account_sid = "ACXXXXXXXXXXXXXXXXX"
88
- auth_token = "YYYYYYYYYYYYYYYYYY"
89
-
90
- @client = Twilio::REST::Client.new account_sid, auth_token
91
- sid = "CA24234"
92
- puts @client.notifications.list({:call => sid})
93
- puts @client.recordings.list({:call => sid})
94
- puts @client.transcriptions.list({:call => sid})
95
-
96
-
97
- Modifying Live Calls
98
- --------------------
99
-
100
- The :class:`Call` resource makes it easy to find current live calls and
101
- redirect them as necessary
102
-
103
- .. code-block:: ruby
104
-
105
- require 'twilio-ruby'
106
-
107
- # To find these visit https://www.twilio.com/user/account
108
- account_sid = "ACXXXXXXXXXXXXXXXXX"
109
- auth_token = "YYYYYYYYYYYYYYYYYY"
110
-
111
- @client = Twilio::REST::Client.new account_sid, auth_token
112
- @calls = @client.account.calls.list({:status => "in-progress"})
113
-
114
- @calls.each do |call|
115
- call.redirect_to("http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient")
116
- end
117
-
118
-
119
- Ending all live calls is also possible
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
- @client = Twilio::REST::Client.new account_sid, auth_token
130
- @calls = @client.account.calls.list({:status => "in-progress"})
131
-
132
- @calls.each do |call|
133
- call.hangup()
134
- end
135
-
136
- Note that :meth:`hangup` will also cancel calls currently queued.
137
-
138
- If you already have a :class:`Call` sid, you can use the :class:`Calls`
139
- resource to update the record without having to use :meth:`get` first.
140
-
141
- .. code-block:: ruby
142
-
143
- require 'twilio-ruby'
144
-
145
- # To find these visit https://www.twilio.com/user/account
146
- account_sid = "ACXXXXXXXXXXXXXXXXX"
147
- auth_token = "YYYYYYYYYYYYYYYYYY"
148
-
149
- @client = Twilio::REST::Client.new account_sid, auth_token
150
- sid = "CA12341234"
151
- @client.account.calls.get(sid).redirect_to("http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient")
152
-
153
- Hanging up the call also works.
154
-
155
- .. code-block:: ruby
156
-
157
- require 'twilio-ruby'
158
-
159
- # To find these visit https://www.twilio.com/user/account
160
- account_sid = "ACXXXXXXXXXXXXXXXXX"
161
- auth_token = "YYYYYYYYYYYYYYYYYY"
162
-
163
- @client = Twilio::REST::Client.new account_sid, auth_token
164
- sid = "CA12341234"
165
- @client.account.calls.get(sid).hangup()
166
-
@@ -1,174 +0,0 @@
1
- .. module:: twilio.rest.resources
2
-
3
- =================
4
- Phone Numbers
5
- =================
6
-
7
- With Twilio you can search and buy real phone numbers, just using the API.
8
-
9
- For more information, see the
10
- `IncomingPhoneNumbers REST Resource
11
- <http://www.twilio.com/docs/api/rest/incoming-phone-numbers>`_ documentation.
12
-
13
-
14
- Searching and Buying a Number
15
- --------------------------------
16
-
17
- Finding numbers to buy couldn't be easier.
18
- We first search for a number in area code 530.
19
- Once we find one, we'll purchase it for our account.
20
-
21
- .. code-block:: ruby
22
-
23
- require 'twilio-ruby'
24
-
25
- # To find these visit https://www.twilio.com/user/account
26
- account_sid = "ACXXXXXXXXXXXXXXXXX"
27
- auth_token = "YYYYYYYYYYYYYYYYYY"
28
-
29
- @client = Twilio::REST::Client.new account_sid, auth_token
30
- numbers = @client.account.available_phone_numbers.list(:area_code=>"530")
31
-
32
- if numbers:
33
- numbers[0].purchase()
34
- else:
35
- print "No numbers in 530 available"
36
-
37
-
38
- Local, Toll-Free, and Mobile Numbers
39
- ------------------------------------
40
-
41
- By default, :meth:`PhoneNumbers.search` looks for local phone numbers. You can
42
- search for different types of numbers by using a type subresource.
43
-
44
- Available subresources for AvailablePhoneNumbers are:
45
- - `local`
46
- - `toll_free`
47
- - `mobile`
48
-
49
- You can search for numbers for a given type.
50
-
51
- .. code-block:: ruby
52
-
53
- # local
54
- numbers = @client.account.available_phone_numbers.local.list()
55
-
56
- # toll free
57
- numbers = @client.account.available_phone_numbers.toll_free.list()
58
-
59
- # mobile
60
- numbers = @client.account.available_phone_numbers.mobile.list()
61
-
62
- Numbers Containing Words
63
- ^^^^^^^^^^^^^^^^^^^^^^^^^^
64
-
65
- Phone number search also supports looking for words inside phone numbers.
66
- The following example will find any phone number with "FOO" in it.
67
-
68
- .. code-block:: ruby
69
-
70
- numbers = @client.account.available_phone_numbers.list(:contains=>"FOO")
71
-
72
- You can use the ''*'' wildcard to match any character. The following example finds any phone number that matches the pattern ''D*D''.
73
-
74
- .. code-block:: ruby
75
-
76
- numbers = @client.account.available_phone_numbers.list(:contains=>"D*D")
77
-
78
-
79
- International Numbers
80
- ^^^^^^^^^^^^^^^^^^^^^^^^^^
81
-
82
- By default, the client library will look for US numbers. Set the
83
- :data:`country` keyword to a country code of your choice to search for
84
- international numbers.
85
-
86
- .. code-block:: ruby
87
-
88
- numbers = @client.account.available_phone_numbers.list(:country=>"FR")
89
-
90
-
91
- :meth:`PhoneNumbers.search` method has plenty of other options to augment your search :
92
-
93
- - :data:`region`: When searching the US, show numbers in this state
94
- - :data:`postal_code`: Only show numbers in this area code
95
- - :data:`rate_center`: US only.
96
- - :data:`near_lat_long`: Find numbers near this latitude and longitude.
97
- - :data:`distance`: Search radius for a Near- query in miles.
98
-
99
- The `AvailablePhoneNumbers REST Resource
100
- <http://www.twilio.com/docs/api/rest/available-phone-numbers>`_ documentation
101
- has more information on the various search options.
102
-
103
-
104
- Buying a Number
105
- ---------------
106
-
107
- If you've found a phone number you want, you can purchase the number.
108
-
109
- .. code-block:: ruby
110
-
111
- require 'twilio-ruby'
112
-
113
- # To find these visit https://www.twilio.com/user/account
114
- account_sid = "ACXXXXXXXXXXXXXXXXX"
115
- auth_token = "YYYYYYYYYYYYYYYYYY"
116
-
117
- @client = Twilio::REST::Client.new account_sid, auth_token
118
- @number = @client.account.phone_numbers.purchase({:phone_number => "+15305431234"})
119
-
120
- However, it's easier to purchase numbers after finding them using search (as
121
- shown in the first example).
122
-
123
-
124
- Updating Properties on a Number
125
- -------------------------------
126
-
127
- To update the properties on a phone number, call :meth:`update`
128
- on the phone number object, with any of the parameters
129
- listed in the `IncomingPhoneNumbers Resource documentation
130
- <http://www.twilio.com/docs/api/rest/incoming-phone-numbers>`_
131
-
132
- .. code-block:: ruby
133
-
134
- require 'twilio-ruby'
135
-
136
- # To find these visit https://www.twilio.com/user/account
137
- account_sid = "ACXXXXXXXXXXXXXXXXX"
138
- auth_token = "YYYYYYYYYYYYYYYYYY"
139
-
140
- @client = Twilio::REST::Client.new account_sid, auth_token
141
- @client.account.phone_numbers.list(api_version="2010-04-01").each do |number|
142
- number.update({:voice_url => "http://twimlets.com/holdmusic?" +
143
- "Bucket=com.twilio.music.ambient",
144
- :status_callback => "http://example.com/callback"})
145
-
146
-
147
- Changing Applications
148
- ----------------------
149
-
150
- An :class:`Application` encapsulates all necessary URLs for use with phone numbers. Update an application on a phone number using :meth:`update`.
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
- @client = Twilio::REST::Client.new account_sid, auth_token
161
-
162
- phone_sid = "PNXXXXXXXXXXXXXXXXX"
163
-
164
- @number = @client.account.phone_numbers.get(phone_sid)
165
- @number.update(:sms_application_sid => "APXXXXXXXXXXXXXXXXXX")
166
-
167
- See :doc:`/usage/applications` for instructions on updating and maintaining Applications.
168
-
169
-
170
- Validate a Phone Number
171
- -----------------------
172
-
173
- See validation instructions here: :doc:`/usage/caller-ids`:
174
-