twilio-ruby 5.20.0 → 5.47.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/.dockerignore +1 -0
- data/.rubocop.yml +22 -6
- data/.rubocop_todo.yml +81 -70
- data/.travis.yml +31 -12
- data/CHANGES.md +1163 -0
- data/CODE_OF_CONDUCT.md +73 -0
- data/CONTRIBUTING.md +4 -2
- data/Dockerfile +2 -2
- data/Gemfile +0 -9
- data/ISSUE_TEMPLATE.md +17 -13
- data/{LICENSE.md → LICENSE} +2 -2
- data/Makefile +6 -15
- data/PULL_REQUEST_TEMPLATE.md +30 -3
- data/README.md +111 -54
- data/Rakefile +0 -54
- data/VERSIONS.md +9 -10
- data/githooks/pre-commit +0 -0
- data/lib/twilio-ruby.rb +10 -16
- data/lib/twilio-ruby/framework/domain.rb +1 -1
- data/lib/twilio-ruby/framework/error.rb +3 -3
- data/lib/twilio-ruby/framework/version.rb +7 -11
- data/lib/twilio-ruby/http/http_client.rb +15 -12
- data/lib/twilio-ruby/jwt/access_token.rb +7 -2
- data/lib/twilio-ruby/jwt/jwt.rb +6 -0
- data/lib/twilio-ruby/jwt/task_router.rb +2 -2
- data/lib/twilio-ruby/rest/accounts.rb +13 -1
- data/lib/twilio-ruby/rest/accounts/v1.rb +15 -1
- data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential.rb +5 -5
- data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +44 -53
- data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +44 -52
- data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
- data/lib/twilio-ruby/rest/api.rb +10 -9
- data/lib/twilio-ruby/rest/api/v2010.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account.rb +18 -28
- data/lib/twilio-ruby/rest/api/v2010/account/address.rb +33 -36
- data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +36 -34
- data/lib/twilio-ruby/rest/api/v2010/account/application.rb +36 -44
- data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +18 -19
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +17 -18
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +36 -29
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +36 -29
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +36 -29
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +36 -29
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +36 -29
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +36 -29
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +36 -29
- data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +3 -9
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +285 -188
- data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +35 -42
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +23 -27
- data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +72 -67
- data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +74 -71
- data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +34 -25
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +331 -201
- data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +56 -61
- data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +35 -26
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +66 -46
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +26 -32
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +18 -19
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +66 -18
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +66 -18
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +66 -18
- data/lib/twilio-ruby/rest/api/v2010/account/key.rb +35 -36
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +201 -205
- data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +8 -13
- data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +35 -36
- data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +4 -9
- data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +4 -9
- data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +21 -36
- data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +23 -28
- data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +56 -66
- data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +41 -38
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +70 -66
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +48 -42
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +55 -48
- data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +54 -41
- data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +18 -23
- data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +20 -25
- data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +23 -33
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +28 -38
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +106 -40
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +3 -3
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +3 -3
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +25 -31
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +25 -31
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +3 -3
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +25 -31
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +23 -29
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +22 -28
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +24 -34
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +24 -34
- data/lib/twilio-ruby/rest/api/v2010/account/token.rb +7 -12
- data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +43 -40
- data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +17 -12
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +17 -12
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +17 -12
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +17 -12
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +17 -12
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +17 -12
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +17 -12
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +17 -12
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +17 -12
- data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +44 -53
- data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +40 -45
- data/lib/twilio-ruby/rest/autopilot.rb +8 -2
- data/lib/twilio-ruby/rest/autopilot/v1.rb +10 -3
- data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +132 -102
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +29 -24
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +29 -20
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +60 -61
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +65 -60
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +60 -60
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +111 -93
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +27 -24
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +76 -76
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +60 -53
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +89 -86
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +41 -32
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +35 -28
- data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
- data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
- data/lib/twilio-ruby/rest/bulkexports.rb +56 -0
- data/lib/twilio-ruby/rest/bulkexports/v1.rb +60 -0
- data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +251 -0
- data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +294 -0
- data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +278 -0
- data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +249 -0
- data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +234 -0
- data/lib/twilio-ruby/rest/chat.rb +3 -3
- data/lib/twilio-ruby/rest/chat/v1.rb +5 -3
- data/lib/twilio-ruby/rest/chat/v1/credential.rb +91 -80
- data/lib/twilio-ruby/rest/chat/v1/service.rb +338 -357
- data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +82 -74
- data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +74 -68
- data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +94 -97
- data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +81 -73
- data/lib/twilio-ruby/rest/chat/v1/service/role.rb +62 -62
- data/lib/twilio-ruby/rest/chat/v1/service/user.rb +74 -81
- data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +20 -18
- data/lib/twilio-ruby/rest/chat/v2.rb +3 -3
- data/lib/twilio-ruby/rest/chat/v2/credential.rb +77 -84
- data/lib/twilio-ruby/rest/chat/v2/service.rb +224 -185
- data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +66 -56
- data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +134 -117
- data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +72 -74
- data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +162 -154
- data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +143 -135
- data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +115 -69
- data/lib/twilio-ruby/rest/chat/v2/service/role.rb +64 -59
- data/lib/twilio-ruby/rest/chat/v2/service/user.rb +93 -88
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +72 -67
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +95 -53
- data/lib/twilio-ruby/rest/client.rb +154 -58
- data/lib/twilio-ruby/rest/conversations.rb +89 -0
- data/lib/twilio-ruby/rest/conversations/v1.rb +114 -0
- data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
- data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
- data/lib/twilio-ruby/rest/{messaging/v1/session.rb → conversations/v1/conversation.rb} +233 -160
- data/lib/twilio-ruby/rest/{messaging/v1/session → conversations/v1/conversation}/message.rb +188 -127
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
- data/lib/twilio-ruby/rest/{messaging/v1/session → conversations/v1/conversation}/participant.rb +197 -153
- data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +410 -0
- data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
- data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
- data/lib/twilio-ruby/rest/{authy → conversations}/v1/service.rb +148 -92
- data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +278 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +307 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +588 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +541 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +437 -0
- data/lib/twilio-ruby/rest/conversations/v1/user.rb +416 -0
- data/lib/twilio-ruby/rest/events.rb +72 -0
- data/lib/twilio-ruby/rest/events/v1.rb +90 -0
- data/lib/twilio-ruby/rest/events/v1/event_type.rb +291 -0
- data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
- data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +290 -0
- data/lib/twilio-ruby/rest/{preview/acc_security/service.rb → events/v1/sink.rb} +136 -142
- data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
- data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
- data/lib/twilio-ruby/rest/events/v1/subscription.rb +391 -0
- data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +216 -0
- data/lib/twilio-ruby/rest/fax.rb +3 -2
- data/lib/twilio-ruby/rest/fax/v1.rb +3 -2
- data/lib/twilio-ruby/rest/fax/v1/fax.rb +113 -108
- data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +35 -36
- data/lib/twilio-ruby/rest/flex_api.rb +71 -0
- data/lib/twilio-ruby/rest/flex_api/v1.rb +80 -0
- data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +462 -0
- data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +559 -0
- data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
- data/lib/twilio-ruby/rest/insights.rb +14 -6
- data/lib/twilio-ruby/rest/insights/v1.rb +26 -11
- data/lib/twilio-ruby/rest/insights/v1/call.rb +236 -0
- data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
- data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
- data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +307 -0
- data/lib/twilio-ruby/rest/insights/v1/room.rb +487 -0
- data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
- data/lib/twilio-ruby/rest/ip_messaging.rb +7 -9
- data/lib/twilio-ruby/rest/ip_messaging/v1.rb +5 -5
- data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +47 -75
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +69 -203
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +50 -69
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +40 -66
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +47 -93
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +41 -61
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +39 -59
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +47 -76
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +6 -10
- data/lib/twilio-ruby/rest/ip_messaging/v2.rb +5 -5
- data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +50 -94
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +76 -126
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +39 -56
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +85 -118
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +40 -69
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +86 -154
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +87 -133
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +29 -39
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +39 -56
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +68 -87
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +38 -63
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +67 -54
- data/lib/twilio-ruby/rest/lookups.rb +4 -4
- data/lib/twilio-ruby/rest/lookups/v1.rb +4 -2
- data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +63 -56
- data/lib/twilio-ruby/rest/messaging.rb +25 -11
- data/lib/twilio-ruby/rest/messaging/v1.rb +35 -14
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +328 -0
- data/lib/twilio-ruby/rest/messaging/v1/campaign.rb +387 -0
- data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
- data/lib/twilio-ruby/rest/messaging/v1/service.rb +150 -124
- data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +44 -46
- data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +44 -44
- data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +40 -48
- data/lib/twilio-ruby/rest/messaging/v1/use_case.rb +198 -0
- data/lib/twilio-ruby/rest/monitor.rb +5 -3
- data/lib/twilio-ruby/rest/monitor/v1.rb +3 -3
- data/lib/twilio-ruby/rest/monitor/v1/alert.rb +75 -88
- data/lib/twilio-ruby/rest/monitor/v1/event.rb +61 -65
- data/lib/twilio-ruby/rest/notify.rb +5 -3
- data/lib/twilio-ruby/rest/notify/v1.rb +5 -3
- data/lib/twilio-ruby/rest/notify/v1/credential.rb +82 -81
- data/lib/twilio-ruby/rest/notify/v1/service.rb +176 -142
- data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +100 -94
- data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +126 -124
- data/lib/twilio-ruby/rest/numbers.rb +44 -0
- data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +512 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +358 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +371 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
- data/lib/twilio-ruby/rest/preview.rb +50 -21
- data/lib/twilio-ruby/rest/preview/bulk_exports.rb +5 -3
- data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +65 -17
- data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +97 -14
- data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +275 -0
- data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +249 -0
- data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +35 -28
- data/lib/twilio-ruby/rest/preview/deployed_devices.rb +1 -1
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +23 -33
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +23 -33
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +23 -33
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +23 -33
- data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +23 -33
- data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +1 -1
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +46 -51
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +15 -14
- data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +32 -42
- data/lib/twilio-ruby/rest/preview/marketplace.rb +14 -16
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +23 -26
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +28 -26
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +50 -63
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +32 -34
- data/lib/twilio-ruby/rest/preview/sync.rb +1 -1
- data/lib/twilio-ruby/rest/preview/sync/service.rb +23 -33
- data/lib/twilio-ruby/rest/preview/sync/service/document.rb +29 -36
- data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +20 -25
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +22 -28
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +36 -39
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +20 -25
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +22 -28
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +36 -39
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +20 -25
- data/lib/twilio-ruby/rest/preview/trusted_comms.rb +64 -0
- data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +225 -0
- data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
- data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +195 -0
- data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +186 -0
- data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +277 -0
- data/lib/twilio-ruby/rest/preview/understand.rb +1 -1
- data/lib/twilio-ruby/rest/preview/understand/assistant.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +12 -15
- data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +12 -15
- data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +11 -10
- data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +22 -28
- data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +12 -15
- data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +24 -30
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +23 -33
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +12 -15
- data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +11 -10
- data/lib/twilio-ruby/rest/preview/wireless.rb +1 -1
- data/lib/twilio-ruby/rest/preview/wireless/command.rb +17 -23
- data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +25 -35
- data/lib/twilio-ruby/rest/preview/wireless/sim.rb +15 -20
- data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +11 -8
- data/lib/twilio-ruby/rest/pricing.rb +1 -1
- data/lib/twilio-ruby/rest/pricing/v1.rb +1 -1
- data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +4 -2
- data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +26 -23
- data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +4 -2
- data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +26 -23
- data/lib/twilio-ruby/rest/pricing/v1/voice.rb +5 -3
- data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +26 -23
- data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +20 -19
- data/lib/twilio-ruby/rest/pricing/v2.rb +1 -1
- data/lib/twilio-ruby/rest/pricing/v2/voice.rb +11 -8
- data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +26 -25
- data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +35 -22
- data/lib/twilio-ruby/rest/proxy.rb +3 -2
- data/lib/twilio-ruby/rest/proxy/v1.rb +3 -2
- data/lib/twilio-ruby/rest/proxy/v1/service.rb +152 -118
- data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +69 -68
- data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +122 -92
- data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +56 -55
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +74 -63
- data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +62 -61
- data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +55 -56
- data/lib/twilio-ruby/rest/serverless.rb +47 -0
- data/lib/twilio-ruby/rest/{verify → serverless}/v1.rb +7 -7
- data/lib/twilio-ruby/rest/{verify → serverless}/v1/service.rb +179 -161
- data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +391 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +454 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
- data/lib/twilio-ruby/rest/studio.rb +19 -5
- data/lib/twilio-ruby/rest/studio/v1.rb +2 -2
- data/lib/twilio-ruby/rest/studio/v1/flow.rb +30 -31
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +45 -50
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +22 -21
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +34 -35
- data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +26 -27
- data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +88 -65
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +23 -21
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +35 -35
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +29 -27
- data/lib/twilio-ruby/rest/studio/v2.rb +50 -0
- data/lib/twilio-ruby/rest/studio/v2/flow.rb +482 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +449 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +211 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +327 -0
- data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +199 -0
- data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +117 -0
- data/lib/twilio-ruby/rest/supersim.rb +88 -0
- data/lib/twilio-ruby/rest/supersim/v1.rb +110 -0
- data/lib/twilio-ruby/rest/supersim/v1/command.rb +368 -0
- data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +442 -0
- data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
- data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
- data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
- data/lib/twilio-ruby/rest/supersim/v1/sim.rb +398 -0
- data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +338 -0
- data/lib/twilio-ruby/rest/sync.rb +3 -2
- data/lib/twilio-ruby/rest/sync/v1.rb +2 -2
- data/lib/twilio-ruby/rest/sync/v1/service.rb +141 -87
- data/lib/twilio-ruby/rest/sync/v1/service/document.rb +78 -75
- data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +60 -69
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +70 -70
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +152 -121
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +59 -69
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +71 -72
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +159 -129
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +57 -69
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +63 -67
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +18 -27
- data/lib/twilio-ruby/rest/taskrouter.rb +3 -2
- data/lib/twilio-ruby/rest/taskrouter/v1.rb +2 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +125 -128
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +76 -77
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +131 -85
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +188 -171
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +292 -198
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +78 -61
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +119 -122
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +79 -69
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +59 -29
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +57 -54
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +61 -70
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +131 -117
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +303 -159
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +56 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +50 -41
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +43 -39
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +27 -19
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +53 -50
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +108 -107
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +70 -59
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +42 -26
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +65 -54
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +59 -54
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +34 -24
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +55 -50
- data/lib/twilio-ruby/rest/trunking.rb +3 -3
- data/lib/twilio-ruby/rest/trunking/v1.rb +3 -3
- data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +149 -136
- data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +42 -43
- data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +40 -45
- data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +74 -83
- data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +65 -62
- data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
- data/lib/twilio-ruby/rest/verify.rb +19 -9
- data/lib/twilio-ruby/rest/{authy/v1.rb → verify/v2.rb} +26 -25
- data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/form.rb +26 -25
- data/lib/twilio-ruby/rest/verify/v2/service.rb +703 -0
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +124 -0
- data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity.rb +72 -43
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +460 -0
- data/lib/twilio-ruby/rest/{authy/v1 → verify/v2}/service/entity/factor.rb +97 -105
- data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
- data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
- data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
- data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +356 -0
- data/lib/twilio-ruby/rest/verify/{v1 → v2}/service/verification_check.rb +59 -39
- data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +408 -0
- data/lib/twilio-ruby/rest/video.rb +16 -16
- data/lib/twilio-ruby/rest/video/v1.rb +19 -22
- data/lib/twilio-ruby/rest/video/v1/composition.rb +125 -134
- data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +262 -234
- data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +54 -63
- data/lib/twilio-ruby/rest/video/v1/recording.rb +72 -75
- data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +54 -63
- data/lib/twilio-ruby/rest/video/v1/room.rb +114 -84
- data/lib/twilio-ruby/rest/video/v1/room/recording.rb +64 -53
- data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +104 -77
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +39 -37
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +132 -105
- data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +150 -0
- data/lib/twilio-ruby/rest/voice.rb +40 -4
- data/lib/twilio-ruby/rest/voice/v1.rb +69 -5
- data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
- data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
- data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
- data/lib/twilio-ruby/rest/voice/v1/{voice_permission.rb → dialing_permissions.rb} +21 -23
- data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/bulk_country_update.rb +5 -10
- data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country.rb +45 -44
- data/lib/twilio-ruby/rest/voice/v1/{voice_permission → dialing_permissions}/country/highrisk_special_prefix.rb +9 -11
- data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
- data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
- data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
- data/lib/twilio-ruby/rest/wireless.rb +10 -4
- data/lib/twilio-ruby/rest/wireless/v1.rb +11 -6
- data/lib/twilio-ruby/rest/wireless/v1/command.rb +74 -77
- data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +86 -88
- data/lib/twilio-ruby/rest/wireless/v1/sim.rb +189 -161
- data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +37 -40
- data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +42 -38
- data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
- data/lib/twilio-ruby/security/request_validator.rb +62 -9
- data/lib/twilio-ruby/twiml/fax_response.rb +6 -3
- data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
- data/lib/twilio-ruby/twiml/twiml.rb +4 -0
- data/lib/twilio-ruby/twiml/voice_response.rb +253 -31
- data/lib/twilio-ruby/util/configuration.rb +22 -5
- data/lib/twilio-ruby/version.rb +1 -1
- data/spec/framework/version_spec.rb +219 -0
- data/spec/holodeck/holodeck.rb +14 -9
- data/spec/http/http_client_spec.rb +2 -2
- data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +44 -0
- data/spec/integration/accounts/v1/credential/aws_spec.rb +1 -5
- data/spec/integration/accounts/v1/credential/public_key_spec.rb +1 -5
- data/spec/integration/accounts/v1/credential_spec.rb +1 -1
- data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +69 -0
- data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +1 -2
- data/spec/integration/api/v2010/account/address_spec.rb +5 -5
- data/spec/integration/api/v2010/account/application_spec.rb +3 -9
- data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +1 -3
- data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +1 -2
- data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +1 -2
- data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +1 -2
- data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +1 -2
- data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +1 -2
- data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +1 -2
- data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +1 -2
- data/spec/integration/api/v2010/account/available_phone_number_spec.rb +1 -3
- data/spec/integration/api/v2010/account/balance_spec.rb +1 -2
- data/spec/integration/api/v2010/account/call/event_spec.rb +102 -0
- data/spec/integration/api/v2010/account/call/feedback_spec.rb +1 -2
- data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +1 -3
- data/spec/integration/api/v2010/account/call/notification_spec.rb +9 -47
- data/spec/integration/api/v2010/account/call/payment_spec.rb +135 -0
- data/spec/integration/api/v2010/account/call/recording_spec.rb +5 -5
- data/spec/integration/api/v2010/account/call_spec.rb +403 -57
- data/spec/integration/api/v2010/account/conference/participant_spec.rb +439 -21
- data/spec/integration/api/v2010/account/conference/recording_spec.rb +1 -4
- data/spec/integration/api/v2010/account/conference_spec.rb +560 -23
- data/spec/integration/api/v2010/account/connect_app_spec.rb +28 -10
- data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +1 -3
- data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +1 -4
- data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +37 -33
- data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +41 -37
- data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +37 -33
- data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +72 -43
- data/spec/integration/api/v2010/account/key_spec.rb +1 -5
- data/spec/integration/api/v2010/account/message/feedback_spec.rb +1 -2
- data/spec/integration/api/v2010/account/message/media_spec.rb +1 -4
- data/spec/integration/api/v2010/account/message_spec.rb +257 -40
- data/spec/integration/api/v2010/account/new_key_spec.rb +1 -2
- data/spec/integration/api/v2010/account/new_signing_key_spec.rb +1 -2
- data/spec/integration/api/v2010/account/notification_spec.rb +4 -40
- data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +9 -19
- data/spec/integration/api/v2010/account/queue/member_spec.rb +54 -15
- data/spec/integration/api/v2010/account/queue_spec.rb +17 -15
- data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +1 -4
- data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +1 -4
- data/spec/integration/api/v2010/account/recording/transcription_spec.rb +1 -4
- data/spec/integration/api/v2010/account/recording_spec.rb +1 -4
- data/spec/integration/api/v2010/account/short_code_spec.rb +1 -4
- data/spec/integration/api/v2010/account/signing_key_spec.rb +1 -5
- data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +1 -5
- data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +1 -4
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +1 -4
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +1 -4
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +1 -1
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +1 -4
- data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +1 -1
- data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +1 -1
- data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +1 -4
- data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +1 -4
- data/spec/integration/api/v2010/account/sip/domain_spec.rb +17 -9
- data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +1 -5
- data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +1 -4
- data/spec/integration/api/v2010/account/sip_spec.rb +1 -1
- data/spec/integration/api/v2010/account/token_spec.rb +24 -11
- data/spec/integration/api/v2010/account/transcription_spec.rb +1 -4
- data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +2 -2
- data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +2 -2
- data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +2 -2
- data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +2 -2
- data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +2 -2
- data/spec/integration/api/v2010/account/usage/record/today_spec.rb +2 -2
- data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +2 -2
- data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +2 -2
- data/spec/integration/api/v2010/account/usage/record_spec.rb +2 -2
- data/spec/integration/api/v2010/account/usage/trigger_spec.rb +4 -8
- data/spec/integration/api/v2010/account/usage_spec.rb +1 -1
- data/spec/integration/api/v2010/account/validation_request_spec.rb +2 -2
- data/spec/integration/api/v2010/account_spec.rb +68 -16
- data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +1 -3
- data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +1 -2
- data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +5 -8
- data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +1 -5
- data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +1 -6
- data/spec/integration/autopilot/v1/assistant/query_spec.rb +17 -33
- data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +1 -3
- data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +1 -4
- data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +5 -9
- data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +1 -3
- data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +1 -2
- data/spec/integration/autopilot/v1/assistant/task_spec.rb +1 -5
- data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +242 -0
- data/spec/integration/autopilot/v1/assistant_spec.rb +17 -10
- data/spec/integration/autopilot/v1/restore_assistant_spec.rb +53 -0
- data/spec/integration/bulkexports/v1/export/day_spec.rb +115 -0
- data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +129 -0
- data/spec/integration/bulkexports/v1/export/job_spec.rb +78 -0
- data/spec/integration/bulkexports/v1/export_configuration_spec.rb +77 -0
- data/spec/integration/bulkexports/v1/export_spec.rb +44 -0
- data/spec/integration/chat/v1/credential_spec.rb +1 -5
- data/spec/integration/chat/v1/service/channel/invite_spec.rb +5 -8
- data/spec/integration/chat/v1/service/channel/member_spec.rb +1 -5
- data/spec/integration/chat/v1/service/channel/message_spec.rb +1 -5
- data/spec/integration/chat/v1/service/channel_spec.rb +1 -6
- data/spec/integration/chat/v1/service/role_spec.rb +1 -4
- data/spec/integration/chat/v1/service/user/user_channel_spec.rb +1 -2
- data/spec/integration/chat/v1/service/user_spec.rb +1 -5
- data/spec/integration/chat/v1/service_spec.rb +1 -5
- data/spec/integration/chat/v2/credential_spec.rb +1 -5
- data/spec/integration/chat/v2/service/binding_spec.rb +1 -4
- data/spec/integration/chat/v2/service/channel/invite_spec.rb +5 -8
- data/spec/integration/chat/v2/service/channel/member_spec.rb +10 -8
- data/spec/integration/chat/v2/service/channel/message_spec.rb +10 -9
- data/spec/integration/chat/v2/service/channel/webhook_spec.rb +1 -5
- data/spec/integration/chat/v2/service/channel_spec.rb +10 -9
- data/spec/integration/chat/v2/service/role_spec.rb +1 -4
- data/spec/integration/chat/v2/service/user/user_binding_spec.rb +1 -4
- data/spec/integration/chat/v2/service/user/user_channel_spec.rb +63 -8
- data/spec/integration/chat/v2/service/user_spec.rb +7 -7
- data/spec/integration/chat/v2/service_spec.rb +1 -5
- data/spec/integration/{messaging/v1 → conversations/v1/configuration}/webhook_spec.rb +25 -27
- data/spec/integration/conversations/v1/configuration_spec.rb +87 -0
- data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +136 -0
- data/spec/integration/conversations/v1/conversation/message_spec.rb +409 -0
- data/spec/integration/conversations/v1/conversation/participant_spec.rb +402 -0
- data/spec/integration/conversations/v1/conversation/webhook_spec.rb +282 -0
- data/spec/integration/conversations/v1/conversation_spec.rb +278 -0
- data/spec/integration/conversations/v1/credential_spec.rb +219 -0
- data/spec/integration/conversations/v1/role_spec.rb +249 -0
- data/spec/integration/conversations/v1/service/binding_spec.rb +166 -0
- data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +115 -0
- data/spec/integration/conversations/v1/service/configuration_spec.rb +89 -0
- data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +144 -0
- data/spec/integration/conversations/v1/service/conversation/message_spec.rb +429 -0
- data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +427 -0
- data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +299 -0
- data/spec/integration/conversations/v1/service/conversation_spec.rb +289 -0
- data/spec/integration/conversations/v1/service/role_spec.rb +260 -0
- data/spec/integration/conversations/v1/service/user_spec.rb +241 -0
- data/spec/integration/conversations/v1/service_spec.rb +174 -0
- data/spec/integration/conversations/v1/user_spec.rb +231 -0
- data/spec/integration/events/v1/event_type_spec.rb +133 -0
- data/spec/integration/events/v1/schema/schema_version_spec.rb +126 -0
- data/spec/integration/events/v1/schema_spec.rb +46 -0
- data/spec/integration/events/v1/sink/sink_test_spec.rb +42 -0
- data/spec/integration/events/v1/sink/sink_validate_spec.rb +44 -0
- data/spec/integration/events/v1/sink_spec.rb +231 -0
- data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +91 -0
- data/spec/integration/events/v1/subscription_spec.rb +292 -0
- data/spec/integration/fax/v1/fax/fax_media_spec.rb +1 -4
- data/spec/integration/fax/v1/fax_spec.rb +5 -9
- data/spec/integration/flex_api/v1/channel_spec.rb +188 -0
- data/spec/integration/flex_api/v1/configuration_spec.rb +578 -0
- data/spec/integration/flex_api/v1/flex_flow_spec.rb +259 -0
- data/spec/integration/flex_api/v1/web_channel_spec.rb +216 -0
- data/spec/integration/insights/v1/call/event_spec.rb +166 -0
- data/spec/integration/insights/v1/call/metric_spec.rb +154 -0
- data/spec/integration/insights/v1/{summary_spec.rb → call/summary_spec.rb} +10 -6
- data/spec/integration/insights/v1/call_spec.rb +46 -0
- data/spec/integration/insights/v1/room/participant_spec.rb +147 -0
- data/spec/integration/insights/v1/room_spec.rb +164 -0
- data/spec/integration/ip_messaging/v1/credential_spec.rb +9 -13
- data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +8 -11
- data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +10 -14
- data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +10 -14
- data/spec/integration/ip_messaging/v1/service/channel_spec.rb +21 -26
- data/spec/integration/ip_messaging/v1/service/role_spec.rb +9 -12
- data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +7 -8
- data/spec/integration/ip_messaging/v1/service/user_spec.rb +13 -17
- data/spec/integration/ip_messaging/v1/service_spec.rb +5 -9
- data/spec/integration/ip_messaging/v2/credential_spec.rb +9 -13
- data/spec/integration/ip_messaging/v2/service/binding_spec.rb +9 -12
- data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +8 -11
- data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +18 -16
- data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +22 -21
- data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +11 -15
- data/spec/integration/ip_messaging/v2/service/channel_spec.rb +34 -33
- data/spec/integration/ip_messaging/v2/service/role_spec.rb +9 -12
- data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +7 -10
- data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +76 -21
- data/spec/integration/ip_messaging/v2/service/user_spec.rb +23 -23
- data/spec/integration/ip_messaging/v2/service_spec.rb +25 -29
- data/spec/integration/lookups/v1/phone_number_spec.rb +279 -14
- data/spec/integration/messaging/v1/brand_registration_spec.rb +143 -0
- data/spec/integration/messaging/v1/campaign_spec.rb +194 -0
- data/spec/integration/messaging/v1/deactivation_spec.rb +40 -0
- data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +10 -7
- data/spec/integration/messaging/v1/service/phone_number_spec.rb +1 -4
- data/spec/integration/messaging/v1/service/short_code_spec.rb +10 -7
- data/spec/integration/messaging/v1/service_spec.rb +1 -5
- data/spec/integration/messaging/v1/use_case_spec.rb +55 -0
- data/spec/integration/monitor/v1/alert_spec.rb +12 -37
- data/spec/integration/monitor/v1/event_spec.rb +1 -3
- data/spec/integration/notify/v1/credential_spec.rb +1 -5
- data/spec/integration/notify/v1/service/binding_spec.rb +5 -8
- data/spec/integration/notify/v1/service/notification_spec.rb +1 -2
- data/spec/integration/notify/v1/service_spec.rb +9 -6
- data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +620 -0
- data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +195 -0
- data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +258 -0
- data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +238 -0
- data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +141 -0
- data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +181 -0
- data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +250 -0
- data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +131 -0
- data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +12 -0
- data/spec/integration/preview/bulk_exports/export/day_spec.rb +67 -10
- data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +129 -0
- data/spec/integration/preview/bulk_exports/export/job_spec.rb +78 -0
- data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +1 -3
- data/spec/integration/preview/bulk_exports/export_spec.rb +1 -2
- data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +1 -5
- data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +1 -6
- data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +1 -6
- data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +1 -6
- data/spec/integration/preview/deployed_devices/fleet_spec.rb +1 -6
- data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +3 -4
- data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +3 -6
- data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +3 -7
- data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +1 -3
- data/spec/integration/preview/marketplace/available_add_on_spec.rb +1 -3
- data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +1 -3
- data/spec/integration/preview/marketplace/installed_add_on_spec.rb +1 -5
- data/spec/integration/preview/sync/service/document/document_permission_spec.rb +1 -4
- data/spec/integration/preview/sync/service/document_spec.rb +4 -6
- data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +11 -10
- data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +1 -4
- data/spec/integration/preview/sync/service/sync_list_spec.rb +1 -5
- data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +11 -10
- data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +1 -4
- data/spec/integration/preview/sync/service/sync_map_spec.rb +1 -5
- data/spec/integration/preview/sync/service_spec.rb +1 -6
- data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +50 -0
- data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +47 -0
- data/spec/integration/preview/trusted_comms/brands_information_spec.rb +45 -0
- data/spec/integration/preview/trusted_comms/cps_spec.rb +44 -0
- data/spec/integration/preview/trusted_comms/current_call_spec.rb +58 -0
- data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +1 -3
- data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +1 -3
- data/spec/integration/preview/understand/assistant/dialogue_spec.rb +1 -2
- data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +5 -8
- data/spec/integration/preview/understand/assistant/field_type_spec.rb +1 -5
- data/spec/integration/preview/understand/assistant/model_build_spec.rb +1 -6
- data/spec/integration/preview/understand/assistant/query_spec.rb +5 -9
- data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +1 -3
- data/spec/integration/preview/understand/assistant/task/field_spec.rb +1 -4
- data/spec/integration/preview/understand/assistant/task/sample_spec.rb +5 -9
- data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +1 -3
- data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +1 -2
- data/spec/integration/preview/understand/assistant/task_spec.rb +1 -5
- data/spec/integration/preview/understand/assistant_spec.rb +1 -6
- data/spec/integration/preview/wireless/command_spec.rb +5 -7
- data/spec/integration/preview/wireless/rate_plan_spec.rb +1 -6
- data/spec/integration/preview/wireless/sim/usage_spec.rb +1 -2
- data/spec/integration/preview/wireless/sim_spec.rb +5 -8
- data/spec/integration/pricing/v1/messaging/country_spec.rb +1 -3
- data/spec/integration/pricing/v1/messaging_spec.rb +1 -1
- data/spec/integration/pricing/v1/phone_number/country_spec.rb +1 -3
- data/spec/integration/pricing/v1/phone_number_spec.rb +1 -1
- data/spec/integration/pricing/v1/voice/country_spec.rb +1 -3
- data/spec/integration/pricing/v1/voice/number_spec.rb +2 -3
- data/spec/integration/pricing/v1/voice_spec.rb +1 -1
- data/spec/integration/pricing/v2/voice/country_spec.rb +1 -3
- data/spec/integration/pricing/v2/voice/number_spec.rb +2 -3
- data/spec/integration/pricing/v2/voice_spec.rb +1 -1
- data/spec/integration/proxy/v1/service/phone_number_spec.rb +9 -10
- data/spec/integration/proxy/v1/service/session/interaction_spec.rb +1 -4
- data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +1 -4
- data/spec/integration/proxy/v1/service/session/participant_spec.rb +1 -4
- data/spec/integration/proxy/v1/service/session_spec.rb +1 -6
- data/spec/integration/proxy/v1/service/short_code_spec.rb +1 -5
- data/spec/integration/proxy/v1/service_spec.rb +1 -5
- data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +93 -0
- data/spec/integration/serverless/v1/service/asset_spec.rb +202 -0
- data/spec/integration/serverless/v1/service/build/build_status_spec.rb +48 -0
- data/spec/integration/serverless/v1/service/build_spec.rb +224 -0
- data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +133 -0
- data/spec/integration/serverless/v1/service/environment/log_spec.rb +97 -0
- data/spec/integration/serverless/v1/service/environment/variable_spec.rb +207 -0
- data/spec/integration/serverless/v1/service/environment_spec.rb +170 -0
- data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +51 -0
- data/spec/integration/serverless/v1/service/function/function_version_spec.rb +96 -0
- data/spec/integration/serverless/v1/service/function_spec.rb +202 -0
- data/spec/integration/serverless/v1/service_spec.rb +205 -0
- data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +1 -2
- data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +1 -2
- data/spec/integration/studio/v1/flow/engagement/step_spec.rb +1 -3
- data/spec/integration/studio/v1/flow/engagement_spec.rb +1 -4
- data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +1 -2
- data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +1 -2
- data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +2 -3
- data/spec/integration/studio/v1/flow/execution_spec.rb +47 -4
- data/spec/integration/studio/v1/flow_spec.rb +1 -4
- data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +50 -0
- data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +53 -0
- data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +100 -0
- data/spec/integration/studio/v2/flow/execution_spec.rb +211 -0
- data/spec/integration/studio/v2/flow/flow_revision_spec.rb +110 -0
- data/spec/integration/studio/v2/flow/test_user_spec.rb +85 -0
- data/spec/integration/studio/v2/flow_spec.rb +251 -0
- data/spec/integration/studio/v2/flow_validate_spec.rb +46 -0
- data/spec/integration/supersim/v1/command_spec.rb +184 -0
- data/spec/integration/supersim/v1/fleet_spec.rb +222 -0
- data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +176 -0
- data/spec/integration/supersim/v1/network_access_profile_spec.rb +219 -0
- data/spec/integration/supersim/v1/network_spec.rb +137 -0
- data/spec/integration/supersim/v1/sim_spec.rb +323 -0
- data/spec/integration/supersim/v1/usage_record_spec.rb +647 -0
- data/spec/integration/sync/v1/service/document/document_permission_spec.rb +1 -4
- data/spec/integration/sync/v1/service/document_spec.rb +4 -7
- data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +11 -11
- data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +1 -4
- data/spec/integration/sync/v1/service/sync_list_spec.rb +1 -6
- data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +11 -11
- data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +1 -4
- data/spec/integration/sync/v1/service/sync_map_spec.rb +1 -6
- data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +1 -1
- data/spec/integration/sync/v1/service/sync_stream_spec.rb +1 -6
- data/spec/integration/sync/v1/service_spec.rb +17 -10
- data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +1 -5
- data/spec/integration/taskrouter/v1/workspace/event_spec.rb +11 -7
- data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +1 -4
- data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +7 -5
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +7 -2
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +4 -2
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +2 -3
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +6 -7
- data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +5 -9
- data/spec/integration/taskrouter/v1/workspace/task_spec.rb +11 -12
- data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +1 -4
- data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +2 -5
- data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +1 -2
- data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +1 -2
- data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +1 -2
- data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +1 -2
- data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +5 -9
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +1 -2
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +2 -2
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +2 -3
- data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +5 -11
- data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +1 -2
- data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +2 -2
- data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +2 -3
- data/spec/integration/taskrouter/v1/workspace_spec.rb +5 -9
- data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +14 -17
- data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +24 -27
- data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +29 -33
- data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +18 -21
- data/spec/integration/trunking/v1/trunk/recording_spec.rb +75 -0
- data/spec/integration/trunking/v1/trunk_spec.rb +38 -119
- data/spec/integration/{authy/v1 → verify/v2}/form_spec.rb +6 -7
- data/spec/integration/verify/v2/service/access_token_spec.rb +44 -0
- data/spec/integration/verify/v2/service/entity/challenge_spec.rb +288 -0
- data/spec/integration/verify/v2/service/entity/factor_spec.rb +277 -0
- data/spec/integration/verify/v2/service/entity_spec.rb +201 -0
- data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +228 -0
- data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +245 -0
- data/spec/integration/verify/v2/service/rate_limit_spec.rb +217 -0
- data/spec/integration/verify/{v1 → v2}/service/verification_check_spec.rb +34 -6
- data/spec/integration/verify/v2/service/verification_spec.rb +318 -0
- data/spec/integration/verify/v2/service/webhook_spec.rb +258 -0
- data/spec/integration/verify/v2/service_spec.rb +279 -0
- data/spec/integration/video/v1/composition_hook_spec.rb +5 -8
- data/spec/integration/video/v1/composition_settings_spec.rb +3 -4
- data/spec/integration/video/v1/composition_spec.rb +33 -11
- data/spec/integration/video/v1/recording_settings_spec.rb +3 -4
- data/spec/integration/video/v1/recording_spec.rb +7 -10
- data/spec/integration/video/v1/room/recording_spec.rb +5 -8
- data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +1 -3
- data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +103 -0
- data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +32 -71
- data/spec/integration/video/v1/room/room_participant_spec.rb +9 -9
- data/spec/integration/video/v1/room/room_recording_rule_spec.rb +89 -0
- data/spec/integration/video/v1/room_spec.rb +54 -10
- data/spec/integration/voice/v1/byoc_trunk_spec.rb +245 -0
- data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +242 -0
- data/spec/integration/voice/v1/connection_policy_spec.rb +221 -0
- data/spec/integration/voice/v1/{voice_permission → dialing_permissions}/bulk_country_update_spec.rb +3 -3
- data/spec/integration/voice/v1/{voice_permission → dialing_permissions}/country/highrisk_special_prefix_spec.rb +4 -5
- data/spec/integration/voice/v1/{voice_permission → dialing_permissions}/country_spec.rb +7 -9
- data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +75 -0
- data/spec/integration/voice/v1/{voice_permission_spec.rb → dialing_permissions_spec.rb} +2 -2
- data/spec/integration/voice/v1/ip_record_spec.rb +219 -0
- data/spec/integration/voice/v1/source_ip_mapping_spec.rb +216 -0
- data/spec/integration/wireless/v1/command_spec.rb +7 -10
- data/spec/integration/wireless/v1/rate_plan_spec.rb +25 -18
- data/spec/integration/wireless/v1/sim/data_session_spec.rb +5 -4
- data/spec/integration/wireless/v1/sim/usage_record_spec.rb +54 -7
- data/spec/integration/wireless/v1/sim_spec.rb +92 -9
- data/spec/integration/wireless/v1/usage_record_spec.rb +110 -0
- data/spec/jwt/access_token_spec.rb +9 -1
- data/spec/rest/client_spec.rb +200 -6
- data/spec/security/request_validator_spec.rb +41 -0
- data/spec/spec_helper.rb +1 -1
- data/spec/twilio_spec.rb +3 -1
- data/spec/twiml/voice_response_spec.rb +1 -1
- data/spec/util/configuration_spec.rb +18 -0
- data/twilio-ruby.gemspec +11 -5
- metadata +490 -74
- data/lib/twilio-ruby/rest/authy.rb +0 -55
- data/lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb +0 -398
- data/lib/twilio-ruby/rest/insights/v1/summary.rb +0 -286
- data/lib/twilio-ruby/rest/messaging/v1/webhook.rb +0 -285
- data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -43
- data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -185
- data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +0 -182
- data/lib/twilio-ruby/rest/verify/v1/service/verification.rb +0 -206
- data/spec/integration/authy/v1/service/entity/factor/challenge_spec.rb +0 -262
- data/spec/integration/authy/v1/service/entity/factor_spec.rb +0 -269
- data/spec/integration/authy/v1/service/entity_spec.rb +0 -201
- data/spec/integration/authy/v1/service_spec.rb +0 -227
- data/spec/integration/messaging/v1/session/message_spec.rb +0 -238
- data/spec/integration/messaging/v1/session/participant_spec.rb +0 -256
- data/spec/integration/messaging/v1/session_spec.rb +0 -223
- data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -52
- data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -52
- data/spec/integration/preview/acc_security/service_spec.rb +0 -185
- data/spec/integration/verify/v1/service/verification_spec.rb +0 -61
- data/spec/integration/verify/v1/service_spec.rb +0 -227
@@ -0,0 +1,124 @@
|
|
1
|
+
##
|
2
|
+
# This code was generated by
|
3
|
+
# \ / _ _ _| _ _
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
5
|
+
# / /
|
6
|
+
#
|
7
|
+
# frozen_string_literal: true
|
8
|
+
|
9
|
+
module Twilio
|
10
|
+
module REST
|
11
|
+
class Verify < Domain
|
12
|
+
class V2 < Version
|
13
|
+
class ServiceContext < InstanceContext
|
14
|
+
##
|
15
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
16
|
+
class AccessTokenList < ListResource
|
17
|
+
##
|
18
|
+
# Initialize the AccessTokenList
|
19
|
+
# @param [Version] version Version that contains the resource
|
20
|
+
# @param [String] service_sid The unique string that we created to identify the
|
21
|
+
# Service resource.
|
22
|
+
# @return [AccessTokenList] AccessTokenList
|
23
|
+
def initialize(version, service_sid: nil)
|
24
|
+
super(version)
|
25
|
+
|
26
|
+
# Path Solution
|
27
|
+
@solution = {service_sid: service_sid}
|
28
|
+
@uri = "/Services/#{@solution[:service_sid]}/AccessTokens"
|
29
|
+
end
|
30
|
+
|
31
|
+
##
|
32
|
+
# Create the AccessTokenInstance
|
33
|
+
# @param [String] identity The unique external identifier for the Entity of the
|
34
|
+
# Service. This identifier should be immutable, not PII, and generated by your
|
35
|
+
# external system, such as your user's UUID, GUID, or SID.
|
36
|
+
# @param [access_token.FactorTypes] factor_type The Type of this Factor. Eg.
|
37
|
+
# `push`
|
38
|
+
# @return [AccessTokenInstance] Created AccessTokenInstance
|
39
|
+
def create(identity: nil, factor_type: nil)
|
40
|
+
data = Twilio::Values.of({'Identity' => identity, 'FactorType' => factor_type, })
|
41
|
+
|
42
|
+
payload = @version.create('POST', @uri, data: data)
|
43
|
+
|
44
|
+
AccessTokenInstance.new(@version, payload, service_sid: @solution[:service_sid], )
|
45
|
+
end
|
46
|
+
|
47
|
+
##
|
48
|
+
# Provide a user friendly representation
|
49
|
+
def to_s
|
50
|
+
'#<Twilio.Verify.V2.AccessTokenList>'
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
##
|
55
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
56
|
+
class AccessTokenPage < Page
|
57
|
+
##
|
58
|
+
# Initialize the AccessTokenPage
|
59
|
+
# @param [Version] version Version that contains the resource
|
60
|
+
# @param [Response] response Response from the API
|
61
|
+
# @param [Hash] solution Path solution for the resource
|
62
|
+
# @return [AccessTokenPage] AccessTokenPage
|
63
|
+
def initialize(version, response, solution)
|
64
|
+
super(version, response)
|
65
|
+
|
66
|
+
# Path Solution
|
67
|
+
@solution = solution
|
68
|
+
end
|
69
|
+
|
70
|
+
##
|
71
|
+
# Build an instance of AccessTokenInstance
|
72
|
+
# @param [Hash] payload Payload response from the API
|
73
|
+
# @return [AccessTokenInstance] AccessTokenInstance
|
74
|
+
def get_instance(payload)
|
75
|
+
AccessTokenInstance.new(@version, payload, service_sid: @solution[:service_sid], )
|
76
|
+
end
|
77
|
+
|
78
|
+
##
|
79
|
+
# Provide a user friendly representation
|
80
|
+
def to_s
|
81
|
+
'<Twilio.Verify.V2.AccessTokenPage>'
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
##
|
86
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
87
|
+
class AccessTokenInstance < InstanceResource
|
88
|
+
##
|
89
|
+
# Initialize the AccessTokenInstance
|
90
|
+
# @param [Version] version Version that contains the resource
|
91
|
+
# @param [Hash] payload payload that contains response from Twilio
|
92
|
+
# @param [String] service_sid The unique string that we created to identify the
|
93
|
+
# Service resource.
|
94
|
+
# @return [AccessTokenInstance] AccessTokenInstance
|
95
|
+
def initialize(version, payload, service_sid: nil)
|
96
|
+
super(version)
|
97
|
+
|
98
|
+
# Marshaled Properties
|
99
|
+
@properties = {'token' => payload['token'], }
|
100
|
+
end
|
101
|
+
|
102
|
+
##
|
103
|
+
# @return [String] Generated access token.
|
104
|
+
def token
|
105
|
+
@properties['token']
|
106
|
+
end
|
107
|
+
|
108
|
+
##
|
109
|
+
# Provide a user friendly representation
|
110
|
+
def to_s
|
111
|
+
"<Twilio.Verify.V2.AccessTokenInstance>"
|
112
|
+
end
|
113
|
+
|
114
|
+
##
|
115
|
+
# Provide a detailed, user friendly representation
|
116
|
+
def inspect
|
117
|
+
"<Twilio.Verify.V2.AccessTokenInstance>"
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
@@ -3,16 +3,16 @@
|
|
3
3
|
# \ / _ _ _| _ _
|
4
4
|
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
5
5
|
# / /
|
6
|
-
#
|
6
|
+
#
|
7
7
|
# frozen_string_literal: true
|
8
8
|
|
9
9
|
module Twilio
|
10
10
|
module REST
|
11
|
-
class
|
12
|
-
class
|
11
|
+
class Verify < Domain
|
12
|
+
class V2 < Version
|
13
13
|
class ServiceContext < InstanceContext
|
14
14
|
##
|
15
|
-
# PLEASE NOTE that this class contains
|
15
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
16
16
|
class EntityList < ListResource
|
17
17
|
##
|
18
18
|
# Initialize the EntityList
|
@@ -28,18 +28,16 @@ module Twilio
|
|
28
28
|
end
|
29
29
|
|
30
30
|
##
|
31
|
-
#
|
32
|
-
#
|
33
|
-
#
|
34
|
-
#
|
31
|
+
# Create the EntityInstance
|
32
|
+
# @param [String] identity The unique external identifier for the Entity of the
|
33
|
+
# Service. This identifier should be immutable, not PII, length between 8 and 64
|
34
|
+
# characters, and generated by your external system, such as your user's UUID,
|
35
|
+
# GUID, or SID.
|
36
|
+
# @return [EntityInstance] Created EntityInstance
|
35
37
|
def create(identity: nil)
|
36
38
|
data = Twilio::Values.of({'Identity' => identity, })
|
37
39
|
|
38
|
-
payload = @version.create(
|
39
|
-
'POST',
|
40
|
-
@uri,
|
41
|
-
data: data
|
42
|
-
)
|
40
|
+
payload = @version.create('POST', @uri, data: data)
|
43
41
|
|
44
42
|
EntityInstance.new(@version, payload, service_sid: @solution[:service_sid], )
|
45
43
|
end
|
@@ -105,11 +103,9 @@ module Twilio
|
|
105
103
|
'Page' => page_number,
|
106
104
|
'PageSize' => page_size,
|
107
105
|
})
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
params
|
112
|
-
)
|
106
|
+
|
107
|
+
response = @version.page('GET', @uri, params: params)
|
108
|
+
|
113
109
|
EntityPage.new(@version, response, @solution)
|
114
110
|
end
|
115
111
|
|
@@ -129,12 +125,12 @@ module Twilio
|
|
129
125
|
##
|
130
126
|
# Provide a user friendly representation
|
131
127
|
def to_s
|
132
|
-
'#<Twilio.
|
128
|
+
'#<Twilio.Verify.V2.EntityList>'
|
133
129
|
end
|
134
130
|
end
|
135
131
|
|
136
132
|
##
|
137
|
-
# PLEASE NOTE that this class contains
|
133
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
138
134
|
class EntityPage < Page
|
139
135
|
##
|
140
136
|
# Initialize the EntityPage
|
@@ -160,18 +156,19 @@ module Twilio
|
|
160
156
|
##
|
161
157
|
# Provide a user friendly representation
|
162
158
|
def to_s
|
163
|
-
'<Twilio.
|
159
|
+
'<Twilio.Verify.V2.EntityPage>'
|
164
160
|
end
|
165
161
|
end
|
166
162
|
|
167
163
|
##
|
168
|
-
# PLEASE NOTE that this class contains
|
164
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
169
165
|
class EntityContext < InstanceContext
|
170
166
|
##
|
171
167
|
# Initialize the EntityContext
|
172
168
|
# @param [Version] version Version that contains the resource
|
173
169
|
# @param [String] service_sid The unique SID identifier of the Service.
|
174
|
-
# @param [String] identity
|
170
|
+
# @param [String] identity The unique external identifier for the Entity of the
|
171
|
+
# Service
|
175
172
|
# @return [EntityContext] EntityContext
|
176
173
|
def initialize(version, service_sid, identity)
|
177
174
|
super(version)
|
@@ -182,26 +179,21 @@ module Twilio
|
|
182
179
|
|
183
180
|
# Dependents
|
184
181
|
@factors = nil
|
182
|
+
@challenges = nil
|
185
183
|
end
|
186
184
|
|
187
185
|
##
|
188
|
-
#
|
189
|
-
# @return [Boolean] true if delete succeeds,
|
186
|
+
# Delete the EntityInstance
|
187
|
+
# @return [Boolean] true if delete succeeds, false otherwise
|
190
188
|
def delete
|
191
|
-
|
189
|
+
@version.delete('DELETE', @uri)
|
192
190
|
end
|
193
191
|
|
194
192
|
##
|
195
|
-
# Fetch
|
193
|
+
# Fetch the EntityInstance
|
196
194
|
# @return [EntityInstance] Fetched EntityInstance
|
197
195
|
def fetch
|
198
|
-
|
199
|
-
|
200
|
-
payload = @version.fetch(
|
201
|
-
'GET',
|
202
|
-
@uri,
|
203
|
-
params,
|
204
|
-
)
|
196
|
+
payload = @version.fetch('GET', @uri)
|
205
197
|
|
206
198
|
EntityInstance.new(
|
207
199
|
@version,
|
@@ -233,23 +225,53 @@ module Twilio
|
|
233
225
|
@factors
|
234
226
|
end
|
235
227
|
|
228
|
+
##
|
229
|
+
# Access the challenges
|
230
|
+
# @return [ChallengeList]
|
231
|
+
# @return [ChallengeContext] if sid was passed.
|
232
|
+
def challenges(sid=:unset)
|
233
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
234
|
+
|
235
|
+
if sid != :unset
|
236
|
+
return ChallengeContext.new(@version, @solution[:service_sid], @solution[:identity], sid, )
|
237
|
+
end
|
238
|
+
|
239
|
+
unless @challenges
|
240
|
+
@challenges = ChallengeList.new(
|
241
|
+
@version,
|
242
|
+
service_sid: @solution[:service_sid],
|
243
|
+
identity: @solution[:identity],
|
244
|
+
)
|
245
|
+
end
|
246
|
+
|
247
|
+
@challenges
|
248
|
+
end
|
249
|
+
|
236
250
|
##
|
237
251
|
# Provide a user friendly representation
|
238
252
|
def to_s
|
239
253
|
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
240
|
-
"#<Twilio.
|
254
|
+
"#<Twilio.Verify.V2.EntityContext #{context}>"
|
255
|
+
end
|
256
|
+
|
257
|
+
##
|
258
|
+
# Provide a detailed, user friendly representation
|
259
|
+
def inspect
|
260
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
261
|
+
"#<Twilio.Verify.V2.EntityContext #{context}>"
|
241
262
|
end
|
242
263
|
end
|
243
264
|
|
244
265
|
##
|
245
|
-
# PLEASE NOTE that this class contains
|
266
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
246
267
|
class EntityInstance < InstanceResource
|
247
268
|
##
|
248
269
|
# Initialize the EntityInstance
|
249
270
|
# @param [Version] version Version that contains the resource
|
250
271
|
# @param [Hash] payload payload that contains response from Twilio
|
251
272
|
# @param [String] service_sid The unique SID identifier of the Service.
|
252
|
-
# @param [String] identity
|
273
|
+
# @param [String] identity The unique external identifier for the Entity of the
|
274
|
+
# Service
|
253
275
|
# @return [EntityInstance] EntityInstance
|
254
276
|
def initialize(version, payload, service_sid: nil, identity: nil)
|
255
277
|
super(version)
|
@@ -289,7 +311,7 @@ module Twilio
|
|
289
311
|
end
|
290
312
|
|
291
313
|
##
|
292
|
-
# @return [String] Unique
|
314
|
+
# @return [String] Unique external identifier of the Entity
|
293
315
|
def identity
|
294
316
|
@properties['identity']
|
295
317
|
end
|
@@ -331,14 +353,14 @@ module Twilio
|
|
331
353
|
end
|
332
354
|
|
333
355
|
##
|
334
|
-
#
|
335
|
-
# @return [Boolean] true if delete succeeds,
|
356
|
+
# Delete the EntityInstance
|
357
|
+
# @return [Boolean] true if delete succeeds, false otherwise
|
336
358
|
def delete
|
337
359
|
context.delete
|
338
360
|
end
|
339
361
|
|
340
362
|
##
|
341
|
-
# Fetch
|
363
|
+
# Fetch the EntityInstance
|
342
364
|
# @return [EntityInstance] Fetched EntityInstance
|
343
365
|
def fetch
|
344
366
|
context.fetch
|
@@ -351,18 +373,25 @@ module Twilio
|
|
351
373
|
context.factors
|
352
374
|
end
|
353
375
|
|
376
|
+
##
|
377
|
+
# Access the challenges
|
378
|
+
# @return [challenges] challenges
|
379
|
+
def challenges
|
380
|
+
context.challenges
|
381
|
+
end
|
382
|
+
|
354
383
|
##
|
355
384
|
# Provide a user friendly representation
|
356
385
|
def to_s
|
357
386
|
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
358
|
-
"<Twilio.
|
387
|
+
"<Twilio.Verify.V2.EntityInstance #{values}>"
|
359
388
|
end
|
360
389
|
|
361
390
|
##
|
362
391
|
# Provide a detailed, user friendly representation
|
363
392
|
def inspect
|
364
393
|
values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
|
365
|
-
"<Twilio.
|
394
|
+
"<Twilio.Verify.V2.EntityInstance #{values}>"
|
366
395
|
end
|
367
396
|
end
|
368
397
|
end
|
@@ -0,0 +1,460 @@
|
|
1
|
+
##
|
2
|
+
# This code was generated by
|
3
|
+
# \ / _ _ _| _ _
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
5
|
+
# / /
|
6
|
+
#
|
7
|
+
# frozen_string_literal: true
|
8
|
+
|
9
|
+
module Twilio
|
10
|
+
module REST
|
11
|
+
class Verify < Domain
|
12
|
+
class V2 < Version
|
13
|
+
class ServiceContext < InstanceContext
|
14
|
+
class EntityContext < InstanceContext
|
15
|
+
##
|
16
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
17
|
+
class ChallengeList < ListResource
|
18
|
+
##
|
19
|
+
# Initialize the ChallengeList
|
20
|
+
# @param [Version] version Version that contains the resource
|
21
|
+
# @param [String] service_sid The unique SID identifier of the Service.
|
22
|
+
# @param [String] identity Customer unique identity for the Entity owner of the
|
23
|
+
# Challenge
|
24
|
+
# @return [ChallengeList] ChallengeList
|
25
|
+
def initialize(version, service_sid: nil, identity: nil)
|
26
|
+
super(version)
|
27
|
+
|
28
|
+
# Path Solution
|
29
|
+
@solution = {service_sid: service_sid, identity: identity}
|
30
|
+
@uri = "/Services/#{@solution[:service_sid]}/Entities/#{@solution[:identity]}/Challenges"
|
31
|
+
end
|
32
|
+
|
33
|
+
##
|
34
|
+
# Create the ChallengeInstance
|
35
|
+
# @param [String] factor_sid The unique SID identifier of the Factor.
|
36
|
+
# @param [Time] expiration_date The date-time when this Challenge expires, given
|
37
|
+
# in {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601] format. The default value
|
38
|
+
# is five (5) minutes after Challenge creation. The max value is sixty (60)
|
39
|
+
# minutes after creation.
|
40
|
+
# @param [String] details_message Shown to the user when the push notification
|
41
|
+
# arrives. Required when `factor_type` is `push`
|
42
|
+
# @param [Array[Hash]] details_fields A list of objects that describe the Fields
|
43
|
+
# included in the Challenge. Each object contains the label and value of the
|
44
|
+
# field. Used when `factor_type` is `push`.
|
45
|
+
# @param [Hash] hidden_details Details provided to give context about the
|
46
|
+
# Challenge. Not shown to the end user. It must be a stringified JSON with only
|
47
|
+
# strings values eg. `{"ip": "172.168.1.234"}`
|
48
|
+
# @return [ChallengeInstance] Created ChallengeInstance
|
49
|
+
def create(factor_sid: nil, expiration_date: :unset, details_message: :unset, details_fields: :unset, hidden_details: :unset)
|
50
|
+
data = Twilio::Values.of({
|
51
|
+
'FactorSid' => factor_sid,
|
52
|
+
'ExpirationDate' => Twilio.serialize_iso8601_datetime(expiration_date),
|
53
|
+
'Details.Message' => details_message,
|
54
|
+
'Details.Fields' => Twilio.serialize_list(details_fields) { |e| Twilio.serialize_object(e) },
|
55
|
+
'HiddenDetails' => Twilio.serialize_object(hidden_details),
|
56
|
+
})
|
57
|
+
|
58
|
+
payload = @version.create('POST', @uri, data: data)
|
59
|
+
|
60
|
+
ChallengeInstance.new(
|
61
|
+
@version,
|
62
|
+
payload,
|
63
|
+
service_sid: @solution[:service_sid],
|
64
|
+
identity: @solution[:identity],
|
65
|
+
)
|
66
|
+
end
|
67
|
+
|
68
|
+
##
|
69
|
+
# Lists ChallengeInstance records from the API as a list.
|
70
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
71
|
+
# memory before returning.
|
72
|
+
# @param [String] factor_sid The unique SID identifier of the Factor.
|
73
|
+
# @param [challenge.ChallengeStatuses] status The Status of the Challenges to
|
74
|
+
# fetch. One of `pending`, `expired`, `approved` or `denied`.
|
75
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
76
|
+
# guarantees to never return more than limit. Default is no limit
|
77
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
78
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
79
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
80
|
+
# efficient page size, i.e. min(limit, 1000)
|
81
|
+
# @return [Array] Array of up to limit results
|
82
|
+
def list(factor_sid: :unset, status: :unset, limit: nil, page_size: nil)
|
83
|
+
self.stream(factor_sid: factor_sid, status: status, limit: limit, page_size: page_size).entries
|
84
|
+
end
|
85
|
+
|
86
|
+
##
|
87
|
+
# Streams ChallengeInstance records from the API as an Enumerable.
|
88
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
89
|
+
# is reached.
|
90
|
+
# @param [String] factor_sid The unique SID identifier of the Factor.
|
91
|
+
# @param [challenge.ChallengeStatuses] status The Status of the Challenges to
|
92
|
+
# fetch. One of `pending`, `expired`, `approved` or `denied`.
|
93
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
94
|
+
# guarantees to never return more than limit. Default is no limit.
|
95
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
96
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
97
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
98
|
+
# efficient page size, i.e. min(limit, 1000)
|
99
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
100
|
+
def stream(factor_sid: :unset, status: :unset, limit: nil, page_size: nil)
|
101
|
+
limits = @version.read_limits(limit, page_size)
|
102
|
+
|
103
|
+
page = self.page(factor_sid: factor_sid, status: status, page_size: limits[:page_size], )
|
104
|
+
|
105
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
106
|
+
end
|
107
|
+
|
108
|
+
##
|
109
|
+
# When passed a block, yields ChallengeInstance records from the API.
|
110
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
111
|
+
# is reached.
|
112
|
+
def each
|
113
|
+
limits = @version.read_limits
|
114
|
+
|
115
|
+
page = self.page(page_size: limits[:page_size], )
|
116
|
+
|
117
|
+
@version.stream(page,
|
118
|
+
limit: limits[:limit],
|
119
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
120
|
+
end
|
121
|
+
|
122
|
+
##
|
123
|
+
# Retrieve a single page of ChallengeInstance records from the API.
|
124
|
+
# Request is executed immediately.
|
125
|
+
# @param [String] factor_sid The unique SID identifier of the Factor.
|
126
|
+
# @param [challenge.ChallengeStatuses] status The Status of the Challenges to
|
127
|
+
# fetch. One of `pending`, `expired`, `approved` or `denied`.
|
128
|
+
# @param [String] page_token PageToken provided by the API
|
129
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
130
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
131
|
+
# @return [Page] Page of ChallengeInstance
|
132
|
+
def page(factor_sid: :unset, status: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
133
|
+
params = Twilio::Values.of({
|
134
|
+
'FactorSid' => factor_sid,
|
135
|
+
'Status' => status,
|
136
|
+
'PageToken' => page_token,
|
137
|
+
'Page' => page_number,
|
138
|
+
'PageSize' => page_size,
|
139
|
+
})
|
140
|
+
|
141
|
+
response = @version.page('GET', @uri, params: params)
|
142
|
+
|
143
|
+
ChallengePage.new(@version, response, @solution)
|
144
|
+
end
|
145
|
+
|
146
|
+
##
|
147
|
+
# Retrieve a single page of ChallengeInstance records from the API.
|
148
|
+
# Request is executed immediately.
|
149
|
+
# @param [String] target_url API-generated URL for the requested results page
|
150
|
+
# @return [Page] Page of ChallengeInstance
|
151
|
+
def get_page(target_url)
|
152
|
+
response = @version.domain.request(
|
153
|
+
'GET',
|
154
|
+
target_url
|
155
|
+
)
|
156
|
+
ChallengePage.new(@version, response, @solution)
|
157
|
+
end
|
158
|
+
|
159
|
+
##
|
160
|
+
# Provide a user friendly representation
|
161
|
+
def to_s
|
162
|
+
'#<Twilio.Verify.V2.ChallengeList>'
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
##
|
167
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
168
|
+
class ChallengePage < Page
|
169
|
+
##
|
170
|
+
# Initialize the ChallengePage
|
171
|
+
# @param [Version] version Version that contains the resource
|
172
|
+
# @param [Response] response Response from the API
|
173
|
+
# @param [Hash] solution Path solution for the resource
|
174
|
+
# @return [ChallengePage] ChallengePage
|
175
|
+
def initialize(version, response, solution)
|
176
|
+
super(version, response)
|
177
|
+
|
178
|
+
# Path Solution
|
179
|
+
@solution = solution
|
180
|
+
end
|
181
|
+
|
182
|
+
##
|
183
|
+
# Build an instance of ChallengeInstance
|
184
|
+
# @param [Hash] payload Payload response from the API
|
185
|
+
# @return [ChallengeInstance] ChallengeInstance
|
186
|
+
def get_instance(payload)
|
187
|
+
ChallengeInstance.new(
|
188
|
+
@version,
|
189
|
+
payload,
|
190
|
+
service_sid: @solution[:service_sid],
|
191
|
+
identity: @solution[:identity],
|
192
|
+
)
|
193
|
+
end
|
194
|
+
|
195
|
+
##
|
196
|
+
# Provide a user friendly representation
|
197
|
+
def to_s
|
198
|
+
'<Twilio.Verify.V2.ChallengePage>'
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
##
|
203
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
204
|
+
class ChallengeContext < InstanceContext
|
205
|
+
##
|
206
|
+
# Initialize the ChallengeContext
|
207
|
+
# @param [Version] version Version that contains the resource
|
208
|
+
# @param [String] service_sid The unique SID identifier of the Service.
|
209
|
+
# @param [String] identity The unique external identifier for the Entity of the
|
210
|
+
# Service. This identifier should be immutable, not PII, and generated by your
|
211
|
+
# external system, such as your user's UUID, GUID, or SID.
|
212
|
+
# @param [String] sid A 34 character string that uniquely identifies this
|
213
|
+
# Challenge.
|
214
|
+
# @return [ChallengeContext] ChallengeContext
|
215
|
+
def initialize(version, service_sid, identity, sid)
|
216
|
+
super(version)
|
217
|
+
|
218
|
+
# Path Solution
|
219
|
+
@solution = {service_sid: service_sid, identity: identity, sid: sid, }
|
220
|
+
@uri = "/Services/#{@solution[:service_sid]}/Entities/#{@solution[:identity]}/Challenges/#{@solution[:sid]}"
|
221
|
+
end
|
222
|
+
|
223
|
+
##
|
224
|
+
# Fetch the ChallengeInstance
|
225
|
+
# @return [ChallengeInstance] Fetched ChallengeInstance
|
226
|
+
def fetch
|
227
|
+
payload = @version.fetch('GET', @uri)
|
228
|
+
|
229
|
+
ChallengeInstance.new(
|
230
|
+
@version,
|
231
|
+
payload,
|
232
|
+
service_sid: @solution[:service_sid],
|
233
|
+
identity: @solution[:identity],
|
234
|
+
sid: @solution[:sid],
|
235
|
+
)
|
236
|
+
end
|
237
|
+
|
238
|
+
##
|
239
|
+
# Update the ChallengeInstance
|
240
|
+
# @param [String] auth_payload The optional payload needed to verify the
|
241
|
+
# Challenge. E.g., a TOTP would use the numeric code.
|
242
|
+
# @return [ChallengeInstance] Updated ChallengeInstance
|
243
|
+
def update(auth_payload: :unset)
|
244
|
+
data = Twilio::Values.of({'AuthPayload' => auth_payload, })
|
245
|
+
|
246
|
+
payload = @version.update('POST', @uri, data: data)
|
247
|
+
|
248
|
+
ChallengeInstance.new(
|
249
|
+
@version,
|
250
|
+
payload,
|
251
|
+
service_sid: @solution[:service_sid],
|
252
|
+
identity: @solution[:identity],
|
253
|
+
sid: @solution[:sid],
|
254
|
+
)
|
255
|
+
end
|
256
|
+
|
257
|
+
##
|
258
|
+
# Provide a user friendly representation
|
259
|
+
def to_s
|
260
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
261
|
+
"#<Twilio.Verify.V2.ChallengeContext #{context}>"
|
262
|
+
end
|
263
|
+
|
264
|
+
##
|
265
|
+
# Provide a detailed, user friendly representation
|
266
|
+
def inspect
|
267
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
268
|
+
"#<Twilio.Verify.V2.ChallengeContext #{context}>"
|
269
|
+
end
|
270
|
+
end
|
271
|
+
|
272
|
+
##
|
273
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
274
|
+
class ChallengeInstance < InstanceResource
|
275
|
+
##
|
276
|
+
# Initialize the ChallengeInstance
|
277
|
+
# @param [Version] version Version that contains the resource
|
278
|
+
# @param [Hash] payload payload that contains response from Twilio
|
279
|
+
# @param [String] service_sid The unique SID identifier of the Service.
|
280
|
+
# @param [String] identity Customer unique identity for the Entity owner of the
|
281
|
+
# Challenge
|
282
|
+
# @param [String] sid A 34 character string that uniquely identifies this
|
283
|
+
# Challenge.
|
284
|
+
# @return [ChallengeInstance] ChallengeInstance
|
285
|
+
def initialize(version, payload, service_sid: nil, identity: nil, sid: nil)
|
286
|
+
super(version)
|
287
|
+
|
288
|
+
# Marshaled Properties
|
289
|
+
@properties = {
|
290
|
+
'sid' => payload['sid'],
|
291
|
+
'account_sid' => payload['account_sid'],
|
292
|
+
'service_sid' => payload['service_sid'],
|
293
|
+
'entity_sid' => payload['entity_sid'],
|
294
|
+
'identity' => payload['identity'],
|
295
|
+
'factor_sid' => payload['factor_sid'],
|
296
|
+
'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
|
297
|
+
'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
|
298
|
+
'date_responded' => Twilio.deserialize_iso8601_datetime(payload['date_responded']),
|
299
|
+
'expiration_date' => Twilio.deserialize_iso8601_datetime(payload['expiration_date']),
|
300
|
+
'status' => payload['status'],
|
301
|
+
'responded_reason' => payload['responded_reason'],
|
302
|
+
'details' => payload['details'],
|
303
|
+
'hidden_details' => payload['hidden_details'],
|
304
|
+
'factor_type' => payload['factor_type'],
|
305
|
+
'url' => payload['url'],
|
306
|
+
}
|
307
|
+
|
308
|
+
# Context
|
309
|
+
@instance_context = nil
|
310
|
+
@params = {'service_sid' => service_sid, 'identity' => identity, 'sid' => sid || @properties['sid'], }
|
311
|
+
end
|
312
|
+
|
313
|
+
##
|
314
|
+
# Generate an instance context for the instance, the context is capable of
|
315
|
+
# performing various actions. All instance actions are proxied to the context
|
316
|
+
# @return [ChallengeContext] ChallengeContext for this ChallengeInstance
|
317
|
+
def context
|
318
|
+
unless @instance_context
|
319
|
+
@instance_context = ChallengeContext.new(
|
320
|
+
@version,
|
321
|
+
@params['service_sid'],
|
322
|
+
@params['identity'],
|
323
|
+
@params['sid'],
|
324
|
+
)
|
325
|
+
end
|
326
|
+
@instance_context
|
327
|
+
end
|
328
|
+
|
329
|
+
##
|
330
|
+
# @return [String] A string that uniquely identifies this Challenge.
|
331
|
+
def sid
|
332
|
+
@properties['sid']
|
333
|
+
end
|
334
|
+
|
335
|
+
##
|
336
|
+
# @return [String] Account Sid.
|
337
|
+
def account_sid
|
338
|
+
@properties['account_sid']
|
339
|
+
end
|
340
|
+
|
341
|
+
##
|
342
|
+
# @return [String] Service Sid.
|
343
|
+
def service_sid
|
344
|
+
@properties['service_sid']
|
345
|
+
end
|
346
|
+
|
347
|
+
##
|
348
|
+
# @return [String] Entity Sid.
|
349
|
+
def entity_sid
|
350
|
+
@properties['entity_sid']
|
351
|
+
end
|
352
|
+
|
353
|
+
##
|
354
|
+
# @return [String] Unique external identifier of the Entity
|
355
|
+
def identity
|
356
|
+
@properties['identity']
|
357
|
+
end
|
358
|
+
|
359
|
+
##
|
360
|
+
# @return [String] Factor Sid.
|
361
|
+
def factor_sid
|
362
|
+
@properties['factor_sid']
|
363
|
+
end
|
364
|
+
|
365
|
+
##
|
366
|
+
# @return [Time] The date this Challenge was created
|
367
|
+
def date_created
|
368
|
+
@properties['date_created']
|
369
|
+
end
|
370
|
+
|
371
|
+
##
|
372
|
+
# @return [Time] The date this Challenge was updated
|
373
|
+
def date_updated
|
374
|
+
@properties['date_updated']
|
375
|
+
end
|
376
|
+
|
377
|
+
##
|
378
|
+
# @return [Time] The date this Challenge was responded
|
379
|
+
def date_responded
|
380
|
+
@properties['date_responded']
|
381
|
+
end
|
382
|
+
|
383
|
+
##
|
384
|
+
# @return [Time] The date-time when this Challenge expires
|
385
|
+
def expiration_date
|
386
|
+
@properties['expiration_date']
|
387
|
+
end
|
388
|
+
|
389
|
+
##
|
390
|
+
# @return [challenge.ChallengeStatuses] The Status of this Challenge
|
391
|
+
def status
|
392
|
+
@properties['status']
|
393
|
+
end
|
394
|
+
|
395
|
+
##
|
396
|
+
# @return [challenge.ChallengeReasons] The Reason of this Challenge `status`
|
397
|
+
def responded_reason
|
398
|
+
@properties['responded_reason']
|
399
|
+
end
|
400
|
+
|
401
|
+
##
|
402
|
+
# @return [Hash] Details about the Challenge.
|
403
|
+
def details
|
404
|
+
@properties['details']
|
405
|
+
end
|
406
|
+
|
407
|
+
##
|
408
|
+
# @return [Hash] Hidden details about the Challenge
|
409
|
+
def hidden_details
|
410
|
+
@properties['hidden_details']
|
411
|
+
end
|
412
|
+
|
413
|
+
##
|
414
|
+
# @return [challenge.FactorTypes] The Factor Type of this Challenge
|
415
|
+
def factor_type
|
416
|
+
@properties['factor_type']
|
417
|
+
end
|
418
|
+
|
419
|
+
##
|
420
|
+
# @return [String] The URL of this resource.
|
421
|
+
def url
|
422
|
+
@properties['url']
|
423
|
+
end
|
424
|
+
|
425
|
+
##
|
426
|
+
# Fetch the ChallengeInstance
|
427
|
+
# @return [ChallengeInstance] Fetched ChallengeInstance
|
428
|
+
def fetch
|
429
|
+
context.fetch
|
430
|
+
end
|
431
|
+
|
432
|
+
##
|
433
|
+
# Update the ChallengeInstance
|
434
|
+
# @param [String] auth_payload The optional payload needed to verify the
|
435
|
+
# Challenge. E.g., a TOTP would use the numeric code.
|
436
|
+
# @return [ChallengeInstance] Updated ChallengeInstance
|
437
|
+
def update(auth_payload: :unset)
|
438
|
+
context.update(auth_payload: auth_payload, )
|
439
|
+
end
|
440
|
+
|
441
|
+
##
|
442
|
+
# Provide a user friendly representation
|
443
|
+
def to_s
|
444
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
445
|
+
"<Twilio.Verify.V2.ChallengeInstance #{values}>"
|
446
|
+
end
|
447
|
+
|
448
|
+
##
|
449
|
+
# Provide a detailed, user friendly representation
|
450
|
+
def inspect
|
451
|
+
values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
|
452
|
+
"<Twilio.Verify.V2.ChallengeInstance #{values}>"
|
453
|
+
end
|
454
|
+
end
|
455
|
+
end
|
456
|
+
end
|
457
|
+
end
|
458
|
+
end
|
459
|
+
end
|
460
|
+
end
|