twilio-ruby 3.11.5 → 5.0.0
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.
- checksums.yaml +4 -4
- data/.gitignore +4 -1
- data/.rubocop.yml +21 -0
- data/.rubocop_todo.yml +187 -0
- data/.travis.yml +10 -10
- data/AUTHORS.md +21 -0
- data/CHANGES.md +351 -0
- data/Gemfile +8 -1
- data/{LICENSE → LICENSE.md} +13 -11
- data/Makefile +15 -3
- data/README.md +90 -95
- data/Rakefile +59 -7
- data/VERSIONS.md +64 -0
- data/examples/examples.rb +62 -49
- data/examples/{print-call-log.rb → print_call_log.rb} +7 -7
- data/lib/rack/twilio_webhook_authentication.rb +46 -0
- data/lib/twilio-ruby/framework/domain.rb +34 -0
- data/lib/twilio-ruby/framework/error.rb +30 -0
- data/lib/twilio-ruby/framework/helper.rb +9 -0
- data/lib/twilio-ruby/framework/page.rb +101 -0
- data/lib/twilio-ruby/framework/resource.rb +21 -0
- data/lib/twilio-ruby/framework/serialize.rb +70 -0
- data/lib/twilio-ruby/framework/twilio_response.rb +15 -0
- data/lib/twilio-ruby/framework/values.rb +7 -0
- data/lib/twilio-ruby/framework/version.rb +164 -0
- data/lib/twilio-ruby/http/http_client.rb +46 -0
- data/lib/twilio-ruby/jwt/access_token.rb +232 -0
- data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
- data/lib/twilio-ruby/jwt/jwt.rb +50 -0
- data/lib/twilio-ruby/jwt/task_router.rb +174 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +370 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential.rb +105 -0
- data/lib/twilio-ruby/rest/accounts/v1.rb +39 -0
- data/lib/twilio-ruby/rest/accounts.rb +36 -9
- data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +265 -0
- data/lib/twilio-ruby/rest/api/v2010/account/address.rb +509 -0
- data/lib/twilio-ruby/rest/api/v2010/account/application.rb +620 -0
- data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +331 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +389 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +389 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +389 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +370 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +296 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +427 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +379 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +799 -0
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +515 -0
- data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +455 -0
- data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +413 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +445 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +445 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +445 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +786 -0
- data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -0
- data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +165 -0
- data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +355 -0
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +583 -0
- data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +153 -0
- data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +153 -0
- data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +418 -0
- data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +377 -0
- data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +345 -0
- data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +438 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +378 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +397 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +375 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +479 -0
- data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +430 -0
- data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +395 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +419 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +361 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +361 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +570 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +406 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +424 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +174 -0
- data/lib/twilio-ruby/rest/api/v2010/account/token.rb +168 -0
- data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +366 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +418 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +507 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +127 -0
- data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +161 -0
- data/lib/twilio-ruby/rest/api/v2010/account.rb +1098 -0
- data/lib/twilio-ruby/rest/api/v2010.rb +147 -0
- data/lib/twilio-ruby/rest/api.rb +234 -0
- data/lib/twilio-ruby/rest/chat/v1/credential.rb +403 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +386 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +431 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +447 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +554 -0
- data/lib/twilio-ruby/rest/chat/v1/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/chat/v1/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/chat/v1/service.rb +935 -0
- data/lib/twilio-ruby/rest/chat/v1.rb +56 -0
- data/lib/twilio-ruby/rest/chat/v2/credential.rb +403 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +386 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +431 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +447 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +554 -0
- data/lib/twilio-ruby/rest/chat/v2/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/chat/v2/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/chat/v2/service.rb +688 -0
- data/lib/twilio-ruby/rest/chat/v2.rb +56 -0
- data/lib/twilio-ruby/rest/chat.rb +59 -0
- data/lib/twilio-ruby/rest/client.rb +307 -215
- data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +403 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +386 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +431 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +447 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +554 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +935 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1.rb +56 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +403 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +386 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +431 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +447 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +554 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +688 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2.rb +56 -0
- data/lib/twilio-ruby/rest/ip_messaging.rb +59 -0
- data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +224 -0
- data/lib/twilio-ruby/rest/lookups/v1.rb +41 -0
- data/lib/twilio-ruby/rest/lookups.rb +44 -0
- data/lib/twilio-ruby/rest/monitor/v1/alert.rb +398 -0
- data/lib/twilio-ruby/rest/monitor/v1/event.rb +381 -0
- data/lib/twilio-ruby/rest/monitor/v1.rb +56 -0
- data/lib/twilio-ruby/rest/monitor.rb +52 -0
- data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +291 -0
- data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +129 -0
- data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +284 -0
- data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +129 -0
- data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +291 -0
- data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +208 -0
- data/lib/twilio-ruby/rest/pricing/v1/voice.rb +150 -0
- data/lib/twilio-ruby/rest/pricing/v1.rb +65 -0
- data/lib/twilio-ruby/rest/pricing.rb +54 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +399 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +418 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +461 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +584 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +315 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +243 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +527 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +461 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +406 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +223 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +226 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +585 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +475 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +212 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +712 -0
- data/lib/twilio-ruby/rest/taskrouter/v1.rb +41 -0
- data/lib/twilio-ruby/rest/taskrouter.rb +44 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +345 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +345 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +430 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +478 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +577 -0
- data/lib/twilio-ruby/rest/trunking/v1.rb +41 -0
- data/lib/twilio-ruby/rest/trunking.rb +44 -0
- data/lib/twilio-ruby/rest/video/v1/recording.rb +382 -0
- data/lib/twilio-ruby/rest/video/v1/room/recording.rb +381 -0
- data/lib/twilio-ruby/rest/video/v1/room.rb +485 -0
- data/lib/twilio-ruby/rest/video/v1.rb +56 -0
- data/lib/twilio-ruby/rest/video.rb +52 -0
- data/lib/twilio-ruby/security/request_validator.rb +54 -0
- data/lib/twilio-ruby/twiml/messaging_response.rb +141 -0
- data/lib/twilio-ruby/twiml/twiml.rb +69 -0
- data/lib/twilio-ruby/twiml/voice_response.rb +916 -0
- data/lib/twilio-ruby/util/configuration.rb +7 -0
- data/lib/twilio-ruby/util.rb +1 -1
- data/lib/twilio-ruby/version.rb +1 -1
- data/lib/twilio-ruby.rb +52 -49
- data/spec/framework/serialize_spec.rb +59 -0
- data/spec/holodeck/holodeck.rb +61 -0
- data/spec/holodeck/hologram.rb +4 -0
- data/spec/integration/accounts/v1/credential/public_key_spec.rb +226 -0
- data/spec/integration/accounts/v1/credential_spec.rb +10 -0
- data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +90 -0
- data/spec/integration/api/v2010/account/address_spec.rb +267 -0
- data/spec/integration/api/v2010/account/application_spec.rb +286 -0
- data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +137 -0
- data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +101 -0
- data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +100 -0
- data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +100 -0
- data/spec/integration/api/v2010/account/available_phone_number_spec.rb +128 -0
- data/spec/integration/api/v2010/account/call/feedback_spec.rb +141 -0
- data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +149 -0
- data/spec/integration/api/v2010/account/call/notification_spec.rb +179 -0
- data/spec/integration/api/v2010/account/call/recording_spec.rb +178 -0
- data/spec/integration/api/v2010/account/call_spec.rb +319 -0
- data/spec/integration/api/v2010/account/conference/participant_spec.rb +283 -0
- data/spec/integration/api/v2010/account/conference_spec.rb +174 -0
- data/spec/integration/api/v2010/account/connect_app_spec.rb +177 -0
- data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +181 -0
- data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +181 -0
- data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +181 -0
- data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +331 -0
- data/spec/integration/api/v2010/account/key_spec.rb +178 -0
- data/spec/integration/api/v2010/account/message/feedback_spec.rb +48 -0
- data/spec/integration/api/v2010/account/message/media_spec.rb +162 -0
- data/spec/integration/api/v2010/account/message_spec.rb +297 -0
- data/spec/integration/api/v2010/account/new_key_spec.rb +45 -0
- data/spec/integration/api/v2010/account/new_signing_key_spec.rb +45 -0
- data/spec/integration/api/v2010/account/notification_spec.rb +172 -0
- data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +193 -0
- data/spec/integration/api/v2010/account/queue/member_spec.rb +170 -0
- data/spec/integration/api/v2010/account/queue_spec.rb +242 -0
- data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +175 -0
- data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +166 -0
- data/spec/integration/api/v2010/account/recording/transcription_spec.rb +174 -0
- data/spec/integration/api/v2010/account/recording_spec.rb +179 -0
- data/spec/integration/api/v2010/account/short_code_spec.rb +180 -0
- data/spec/integration/api/v2010/account/signing_key_spec.rb +178 -0
- data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +257 -0
- data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +246 -0
- data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +210 -0
- data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +220 -0
- data/spec/integration/api/v2010/account/sip/domain_spec.rb +283 -0
- data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +261 -0
- data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +256 -0
- data/spec/integration/api/v2010/account/sip_spec.rb +10 -0
- data/spec/integration/api/v2010/account/token_spec.rb +56 -0
- data/spec/integration/api/v2010/account/transcription_spec.rb +167 -0
- data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/today_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record_spec.rb +108 -0
- data/spec/integration/api/v2010/account/usage/trigger_spec.rb +283 -0
- data/spec/integration/api/v2010/account/usage_spec.rb +10 -0
- data/spec/integration/api/v2010/account/validation_request_spec.rb +48 -0
- data/spec/integration/api/v2010/account_spec.rb +254 -0
- data/spec/integration/chat/v1/credential_spec.rb +223 -0
- data/spec/integration/chat/v1/service/channel/invite_spec.rb +210 -0
- data/spec/integration/chat/v1/service/channel/member_spec.rb +284 -0
- data/spec/integration/chat/v1/service/channel/message_spec.rb +294 -0
- data/spec/integration/chat/v1/service/channel_spec.rb +275 -0
- data/spec/integration/chat/v1/service/role_spec.rb +263 -0
- data/spec/integration/chat/v1/service/user/user_channel_spec.rb +92 -0
- data/spec/integration/chat/v1/service/user_spec.rb +266 -0
- data/spec/integration/chat/v1/service_spec.rb +299 -0
- data/spec/integration/chat/v2/credential_spec.rb +223 -0
- data/spec/integration/chat/v2/service/channel/invite_spec.rb +210 -0
- data/spec/integration/chat/v2/service/channel/member_spec.rb +284 -0
- data/spec/integration/chat/v2/service/channel/message_spec.rb +294 -0
- data/spec/integration/chat/v2/service/channel_spec.rb +275 -0
- data/spec/integration/chat/v2/service/role_spec.rb +263 -0
- data/spec/integration/chat/v2/service/user/user_channel_spec.rb +92 -0
- data/spec/integration/chat/v2/service/user_spec.rb +266 -0
- data/spec/integration/chat/v2/service_spec.rb +325 -0
- data/spec/integration/ip_messaging/v1/credential_spec.rb +223 -0
- data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +210 -0
- data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +284 -0
- data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +294 -0
- data/spec/integration/ip_messaging/v1/service/channel_spec.rb +275 -0
- data/spec/integration/ip_messaging/v1/service/role_spec.rb +263 -0
- data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +92 -0
- data/spec/integration/ip_messaging/v1/service/user_spec.rb +266 -0
- data/spec/integration/ip_messaging/v1/service_spec.rb +299 -0
- data/spec/integration/ip_messaging/v2/credential_spec.rb +223 -0
- data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +210 -0
- data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +284 -0
- data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +294 -0
- data/spec/integration/ip_messaging/v2/service/channel_spec.rb +275 -0
- data/spec/integration/ip_messaging/v2/service/role_spec.rb +263 -0
- data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +92 -0
- data/spec/integration/ip_messaging/v2/service/user_spec.rb +266 -0
- data/spec/integration/ip_messaging/v2/service_spec.rb +325 -0
- data/spec/integration/lookups/v1/phone_number_spec.rb +60 -0
- data/spec/integration/monitor/v1/alert_spec.rb +161 -0
- data/spec/integration/monitor/v1/event_spec.rb +148 -0
- data/spec/integration/pricing/v1/messaging/country_spec.rb +137 -0
- data/spec/integration/pricing/v1/messaging_spec.rb +10 -0
- data/spec/integration/pricing/v1/phone_number/country_spec.rb +128 -0
- data/spec/integration/pricing/v1/phone_number_spec.rb +10 -0
- data/spec/integration/pricing/v1/voice/country_spec.rb +266 -0
- data/spec/integration/pricing/v1/voice/number_spec.rb +54 -0
- data/spec/integration/pricing/v1/voice_spec.rb +10 -0
- data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +236 -0
- data/spec/integration/taskrouter/v1/workspace/event_spec.rb +157 -0
- data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +192 -0
- data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +127 -0
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +106 -0
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +144 -0
- data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +292 -0
- data/spec/integration/taskrouter/v1/workspace/task_spec.rb +324 -0
- data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +192 -0
- data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +201 -0
- data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +107 -0
- data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +141 -0
- data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +282 -0
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +69 -0
- data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +265 -0
- data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +103 -0
- data/spec/integration/taskrouter/v1/workspace_spec.rb +287 -0
- data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +192 -0
- data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +192 -0
- data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +250 -0
- data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +267 -0
- data/spec/integration/trunking/v1/trunk_spec.rb +276 -0
- data/spec/integration/video/v1/recording_spec.rb +165 -0
- data/spec/integration/video/v1/room/recording_spec.rb +146 -0
- data/spec/integration/video/v1/room_spec.rb +237 -0
- data/spec/jwt/access_token_spec.rb +130 -0
- data/spec/jwt/client_capability_spec.rb +104 -0
- data/spec/jwt/task_router_spec.rb +172 -0
- data/spec/rack/twilio_webhook_authentication_spec.rb +106 -0
- data/spec/security/request_validator_spec.rb +113 -0
- data/spec/spec_helper.rb +29 -3
- data/spec/support/fakeweb.rb +2 -0
- data/spec/twilio_spec.rb +15 -0
- data/spec/twiml/messaging_response_spec.rb +90 -0
- data/spec/twiml/voice_response_spec.rb +474 -0
- data/spec/util/configuration_spec.rb +15 -0
- data/spec/util/url_encode_spec.rb +2 -2
- data/twilio-ruby.gemspec +32 -26
- metadata +502 -152
- data/CHANGES +0 -47
- data/docs/Makefile +0 -130
- data/docs/_themes/LICENSE +0 -45
- data/docs/_themes/README.rst +0 -25
- data/docs/_themes/flask_theme_support.py +0 -86
- data/docs/_themes/kr/layout.html +0 -32
- data/docs/_themes/kr/relations.html +0 -19
- data/docs/_themes/kr/static/flasky.css_t +0 -469
- data/docs/_themes/kr/static/small_flask.css +0 -70
- data/docs/_themes/kr/theme.conf +0 -7
- data/docs/_themes/kr_small/layout.html +0 -22
- data/docs/_themes/kr_small/static/flasky.css_t +0 -287
- data/docs/_themes/kr_small/theme.conf +0 -10
- data/docs/changelog.rst +0 -1
- data/docs/conf.py +0 -266
- data/docs/faq.rst +0 -42
- data/docs/getting-started.rst +0 -91
- data/docs/index.rst +0 -109
- data/docs/make.bat +0 -170
- data/docs/src/pip-delete-this-directory.txt +0 -5
- data/docs/usage/accounts.rst +0 -89
- data/docs/usage/applications.rst +0 -108
- data/docs/usage/basics.rst +0 -102
- data/docs/usage/caller-ids.rst +0 -45
- data/docs/usage/conferences.rst +0 -108
- data/docs/usage/errors.rst +0 -29
- data/docs/usage/messages.rst +0 -109
- data/docs/usage/notifications.rst +0 -70
- data/docs/usage/phone-calls.rst +0 -166
- data/docs/usage/phone-numbers.rst +0 -174
- data/docs/usage/queues.rst +0 -112
- data/docs/usage/recordings.rst +0 -96
- data/docs/usage/sip.rst +0 -103
- data/docs/usage/token-generation.rst +0 -81
- data/docs/usage/transcriptions.rst +0 -31
- data/docs/usage/twiml.rst +0 -69
- data/docs/usage/validation.rst +0 -71
- data/lib/twilio-ruby/rest/applications.rb +0 -6
- data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
- data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
- data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
- data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
- data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
- data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
- data/lib/twilio-ruby/rest/calls.rb +0 -28
- data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
- data/lib/twilio-ruby/rest/conferences.rb +0 -12
- data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
- data/lib/twilio-ruby/rest/errors.rb +0 -14
- data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
- data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
- data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
- data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
- data/lib/twilio-ruby/rest/instance_resource.rb +0 -101
- data/lib/twilio-ruby/rest/list_resource.rb +0 -110
- data/lib/twilio-ruby/rest/media.rb +0 -14
- data/lib/twilio-ruby/rest/messages.rb +0 -17
- data/lib/twilio-ruby/rest/notifications.rb +0 -6
- data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
- data/lib/twilio-ruby/rest/queues/members.rb +0 -29
- data/lib/twilio-ruby/rest/queues.rb +0 -12
- data/lib/twilio-ruby/rest/recordings.rb +0 -35
- data/lib/twilio-ruby/rest/sandbox.rb +0 -5
- data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
- data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
- data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
- data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
- data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
- data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
- data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
- data/lib/twilio-ruby/rest/sip.rb +0 -12
- data/lib/twilio-ruby/rest/sms/messages.rb +0 -15
- data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
- data/lib/twilio-ruby/rest/sms.rb +0 -11
- data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
- data/lib/twilio-ruby/rest/usage/records.rb +0 -21
- data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
- data/lib/twilio-ruby/rest/usage.rb +0 -10
- data/lib/twilio-ruby/rest/utils.rb +0 -25
- data/lib/twilio-ruby/twiml/response.rb +0 -15
- data/lib/twilio-ruby/util/capability.rb +0 -61
- data/lib/twilio-ruby/util/request_validator.rb +0 -22
- data/spec/rest/account_spec.rb +0 -58
- data/spec/rest/call_spec.rb +0 -18
- data/spec/rest/client_spec.rb +0 -100
- data/spec/rest/conference_spec.rb +0 -9
- data/spec/rest/instance_resource_spec.rb +0 -15
- data/spec/rest/message_spec.rb +0 -12
- data/spec/rest/numbers_spec.rb +0 -46
- data/spec/rest/queue_spec.rb +0 -9
- data/spec/rest/recording_spec.rb +0 -9
- data/spec/util/capability_spec.rb +0 -137
- data/spec/util/request_validator_spec.rb +0 -65
data/docs/usage/conferences.rst
DELETED
|
@@ -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
|
-
|
data/docs/usage/errors.rst
DELETED
|
@@ -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
|
data/docs/usage/messages.rst
DELETED
|
@@ -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
|
-
|
data/docs/usage/phone-calls.rst
DELETED
|
@@ -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
|
-
|