twilio-ruby 5.41.0 → 5.45.1
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/CHANGES.md +99 -0
- data/{LICENSE.md → LICENSE} +0 -0
- data/PULL_REQUEST_TEMPLATE.md +3 -3
- data/README.md +18 -2
- data/lib/twilio-ruby.rb +1 -1
- data/lib/twilio-ruby/jwt/access_token.rb +7 -2
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +26 -1
- data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +13 -1
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +6 -1
- data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +5 -22
- data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +25 -40
- data/lib/twilio-ruby/rest/client.rb +29 -3
- data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +32 -2
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +17 -2
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +32 -2
- data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +8 -1
- data/lib/twilio-ruby/rest/conversations/v1/user.rb +8 -1
- data/lib/twilio-ruby/rest/events/v1/subscription.rb +12 -5
- data/lib/twilio-ruby/rest/flex_api.rb +1 -1
- data/lib/twilio-ruby/rest/flex_api/v1.rb +1 -1
- data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +5 -5
- data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +88 -76
- data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +2 -2
- data/lib/twilio-ruby/rest/insights.rb +8 -0
- data/lib/twilio-ruby/rest/insights/v1.rb +15 -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 +8 -10
- data/lib/twilio-ruby/rest/ip_messaging/v1.rb +6 -8
- data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +29 -68
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +198 -313
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +32 -59
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +23 -55
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +28 -71
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +31 -59
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +19 -39
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +29 -51
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +12 -18
- data/lib/twilio-ruby/rest/ip_messaging/v2.rb +6 -6
- data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +29 -66
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +116 -205
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +23 -50
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +41 -91
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +23 -50
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +42 -118
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +46 -100
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +36 -89
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +19 -41
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +29 -53
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +23 -53
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +27 -56
- data/lib/twilio-ruby/rest/preview.rb +0 -21
- data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +5 -22
- data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +21 -39
- data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -30
- data/lib/twilio-ruby/rest/serverless/v1/service.rb +5 -5
- data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +4 -4
- data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +4 -4
- data/lib/twilio-ruby/rest/sync/v1/service/document.rb +15 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +15 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +28 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +15 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +28 -5
- data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +15 -5
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +12 -9
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +16 -16
- data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +21 -24
- data/lib/twilio-ruby/rest/verify/v2/form.rb +4 -4
- data/lib/twilio-ruby/rest/verify/v2/service.rb +3 -3
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +3 -3
- data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +23 -35
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +27 -49
- data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +24 -42
- data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +4 -4
- data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +6 -6
- data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +6 -6
- data/lib/twilio-ruby/rest/video/v1/room.rb +20 -0
- data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +150 -0
- data/lib/twilio-ruby/twiml/voice_response.rb +8 -4
- data/lib/twilio-ruby/util/configuration.rb +5 -1
- data/lib/twilio-ruby/version.rb +1 -1
- data/spec/integration/api/v2010/account/call/event_spec.rb +102 -0
- data/spec/integration/api/v2010/account/call/recording_spec.rb +4 -0
- data/spec/integration/api/v2010/account/call_spec.rb +20 -10
- data/spec/integration/api/v2010/account/conference/participant_spec.rb +30 -0
- data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +4 -2
- data/spec/integration/conversations/v1/conversation/participant_spec.rb +30 -10
- data/spec/integration/conversations/v1/service/configuration_spec.rb +2 -0
- data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +30 -10
- data/spec/integration/conversations/v1/service/user_spec.rb +9 -4
- data/spec/integration/conversations/v1/user_spec.rb +9 -4
- data/spec/integration/events/v1/sink/sink_test_spec.rb +1 -1
- data/spec/integration/events/v1/subscription_spec.rb +49 -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 +13 -13
- data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +11 -11
- data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +14 -14
- data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +14 -14
- data/spec/integration/ip_messaging/v1/service/channel_spec.rb +25 -25
- data/spec/integration/ip_messaging/v1/service/role_spec.rb +13 -13
- data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +7 -7
- data/spec/integration/ip_messaging/v1/service/user_spec.rb +17 -17
- data/spec/integration/ip_messaging/v1/service_spec.rb +9 -9
- data/spec/integration/ip_messaging/v2/credential_spec.rb +13 -13
- data/spec/integration/ip_messaging/v2/service/binding_spec.rb +11 -11
- data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +11 -11
- data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +13 -13
- data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +17 -17
- data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +15 -15
- data/spec/integration/ip_messaging/v2/service/channel_spec.rb +29 -29
- data/spec/integration/ip_messaging/v2/service/role_spec.rb +13 -13
- data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +9 -9
- data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +20 -20
- data/spec/integration/ip_messaging/v2/service/user_spec.rb +21 -21
- data/spec/integration/ip_messaging/v2/service_spec.rb +29 -29
- data/spec/integration/lookups/v1/phone_number_spec.rb +7 -7
- data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +4 -2
- data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +1 -1
- data/spec/integration/trunking/v1/trunk/recording_spec.rb +2 -6
- data/spec/integration/verify/v2/service/entity/challenge_spec.rb +4 -12
- data/spec/integration/verify/v2/service/entity/factor_spec.rb +5 -15
- data/spec/integration/verify/v2/service/entity_spec.rb +4 -12
- data/spec/integration/video/v1/room/room_recording_rule_spec.rb +89 -0
- data/spec/integration/video/v1/room_spec.rb +10 -5
- data/spec/jwt/access_token_spec.rb +9 -1
- data/spec/rest/client_spec.rb +24 -2
- data/twilio-ruby.gemspec +2 -1
- metadata +30 -19
- data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +0 -243
- data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +0 -213
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +0 -108
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +0 -260
- data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +0 -342
- data/spec/integration/preview/trusted_comms/branded_call_spec.rb +0 -59
- data/spec/integration/preview/trusted_comms/business/insights/impressions_rate_spec.rb +0 -56
- data/spec/integration/preview/trusted_comms/business/insights_spec.rb +0 -12
- data/spec/integration/preview/trusted_comms/business_spec.rb +0 -45
- data/spec/integration/preview/trusted_comms/phone_call_spec.rb +0 -59
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9f0db0d1556e9972e56f14ebc213999bf7a63d00814e26f02469d8a8dcf634b
|
4
|
+
data.tar.gz: 31c7e92dc8c8701761038ed62ed0db2f827cd70fd34c50d2670c6962271ee611
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 839bbe234edfce0944ca90e80e6ce37add9ffb15e6f2b3920d64613a5ba37f3aa96d7f57f23d3217331e96caf5559588d3faf431b0d6fcf2530c533c23e70669
|
7
|
+
data.tar.gz: 29154b15e1f4de47a17c820049d4fecf13224695fda25f6d06d23d4c8036ef7e46d507330ab1b0a58b385a5fcb3141cff9380bf14063a6b06af0b1a990cc5cc0
|
data/CHANGES.md
CHANGED
@@ -1,6 +1,105 @@
|
|
1
1
|
twilio-ruby changelog
|
2
2
|
=====================
|
3
3
|
|
4
|
+
[2020-12-16] Version 5.45.1
|
5
|
+
---------------------------
|
6
|
+
**Api**
|
7
|
+
- Updated `call_event` default_output_properties to request and response.
|
8
|
+
|
9
|
+
**Conversations**
|
10
|
+
- Added `last_read_message_index` and `last_read_timestamp` to Participant's resource update operation
|
11
|
+
- Added `is_notifiable` and `is_online` to User's resource
|
12
|
+
- Added `reachability_enabled` parameters to update method for Conversation Service Configuration resource
|
13
|
+
|
14
|
+
**Messaging**
|
15
|
+
- Added WA template quick reply, URL, and phone number buttons
|
16
|
+
|
17
|
+
**Twiml**
|
18
|
+
- Add `sequential` to `Dial`.
|
19
|
+
|
20
|
+
|
21
|
+
[2020-12-08] Version 5.45.0
|
22
|
+
---------------------------
|
23
|
+
**Api**
|
24
|
+
- Added optional `RecordingTrack` parameter for create calls, create participants, and create call recordings
|
25
|
+
- Removed deprecated Programmable Chat usage record categories **(breaking change)**
|
26
|
+
|
27
|
+
**Twiml**
|
28
|
+
- Add `recordingTrack` to `Dial`.
|
29
|
+
|
30
|
+
|
31
|
+
[2020-12-02] Version 5.44.0
|
32
|
+
---------------------------
|
33
|
+
**Api**
|
34
|
+
- Remove `RecordingTrack` parameter for create calls, create participants, and create call recordings **(breaking change)**
|
35
|
+
- Added `RecordingTrack` parameter for create calls and create call recordings
|
36
|
+
- Add optional property `recording_track` in the participant create request
|
37
|
+
|
38
|
+
**Lookups**
|
39
|
+
- Changed `caller_name` and `carrier` properties type to object **(breaking change)**
|
40
|
+
|
41
|
+
**Trunking**
|
42
|
+
- Added dual channel recording options for Trunks.
|
43
|
+
|
44
|
+
**Twiml**
|
45
|
+
- Add `jitterBufferSize` and `participantLabel` to `Conference`.
|
46
|
+
|
47
|
+
|
48
|
+
[2020-11-18] Version 5.43.0
|
49
|
+
---------------------------
|
50
|
+
**Library - Feature**
|
51
|
+
- [PR #538](https://github.com/twilio/twilio-ruby/pull/538): adding http logging for ruby. Thanks to [@shwetha-manvinkurke](https://github.com/shwetha-manvinkurke)!
|
52
|
+
|
53
|
+
**Api**
|
54
|
+
- Add new call events resource - GET /2010-04-01/Accounts/{account_sid}/Calls/{call_sid}/Events.json
|
55
|
+
|
56
|
+
**Conversations**
|
57
|
+
- Fixed default response property issue for Service Notifications Configuration
|
58
|
+
|
59
|
+
**Insights**
|
60
|
+
- Removing call_sid from participant summary. **(breaking change)**
|
61
|
+
|
62
|
+
**Serverless**
|
63
|
+
- Allow Service unique name to be used in path (in place of SID) in Service update request
|
64
|
+
|
65
|
+
**Sync**
|
66
|
+
- Added HideExpired query parameter for filtering Sync Documents with expired
|
67
|
+
|
68
|
+
**Verify**
|
69
|
+
- Challenge `Details` and `HiddenDetails` properties are now marked as `PII`
|
70
|
+
- Challenge `expiration_date` attribute updated to set a default value of five (5) minutes and to allow max dates of one (1) hour after creation.
|
71
|
+
- Entity `identity` attribute updated to allow values between 8 and 64 characters.
|
72
|
+
- Verify Service frinedly_name attribute updated from 64 max lenght to 30 characters.
|
73
|
+
|
74
|
+
|
75
|
+
[2020-11-05] Version 5.42.0
|
76
|
+
---------------------------
|
77
|
+
**Library - Feature**
|
78
|
+
- [PR #537](https://github.com/twilio/twilio-ruby/pull/537): Add region to AccessToken. Thanks to [@ryan-rowland](https://github.com/ryan-rowland)!
|
79
|
+
|
80
|
+
**Api**
|
81
|
+
- Added `verify-push` to `usage_record` API
|
82
|
+
|
83
|
+
**Bulkexports**
|
84
|
+
- When creating a custom export the StartDay, EndDay, and FriendlyName fields were required but this was not reflected in the API documentation. The API itself failed the request without these fields. **(breaking change)**
|
85
|
+
- Added property descriptions for Custom Export create method
|
86
|
+
- Clarified WebhookUrl and WebhookMethod must be provided together for Custom Export
|
87
|
+
|
88
|
+
**Insights**
|
89
|
+
- Added video room and participant summary apis.
|
90
|
+
|
91
|
+
**Ip_messaging**
|
92
|
+
- Create separate definition for ip-messaging
|
93
|
+
- Restore v2 endpoints for ip-messaging
|
94
|
+
|
95
|
+
**Verify**
|
96
|
+
- Verify Push madurity were updated from `preview` to `beta`
|
97
|
+
- `twilio_sandbox_mode` header was removed from Verify Push resources **(breaking change)**
|
98
|
+
|
99
|
+
**Video**
|
100
|
+
- [Rooms] Add Recording Rules API
|
101
|
+
|
102
|
+
|
4
103
|
[2020-10-14] Version 5.41.0
|
5
104
|
---------------------------
|
6
105
|
**Ai**
|
data/{LICENSE.md → LICENSE}
RENAMED
File without changes
|
data/PULL_REQUEST_TEMPLATE.md
CHANGED
@@ -19,13 +19,13 @@ Closes #2
|
|
19
19
|
A short description of what this PR does.
|
20
20
|
|
21
21
|
### Checklist
|
22
|
-
- [
|
22
|
+
- [x] I acknowledge that all my contributions will be made under the project's license
|
23
23
|
- [ ] I have made a material change to the repo (functionality, testing, spelling, grammar)
|
24
|
-
- [ ] I have read the [Contribution Guidelines](CONTRIBUTING.md) and my PR follows them
|
24
|
+
- [ ] I have read the [Contribution Guidelines](https://github.com/twilio/twilio-ruby/blob/main/CONTRIBUTING.md) and my PR follows them
|
25
25
|
- [ ] I have titled the PR appropriately
|
26
26
|
- [ ] I have updated my branch with the main branch
|
27
27
|
- [ ] I have added tests that prove my fix is effective or that my feature works
|
28
|
-
- [ ] I have added necessary documentation about the functionality in the appropriate .md file
|
28
|
+
- [ ] I have added the necessary documentation about the functionality in the appropriate .md file
|
29
29
|
- [ ] I have added inline documentation to the code I modified
|
30
30
|
|
31
31
|
If you have questions, please file a [support ticket](https://twilio.com/help/contact), or create a GitHub Issue in this repository.
|
data/README.md
CHANGED
@@ -34,13 +34,13 @@ This library supports the following Ruby implementations:
|
|
34
34
|
To install using [Bundler][bundler] grab the latest stable version:
|
35
35
|
|
36
36
|
```ruby
|
37
|
-
gem 'twilio-ruby', '~> 5.
|
37
|
+
gem 'twilio-ruby', '~> 5.45.1'
|
38
38
|
```
|
39
39
|
|
40
40
|
To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
|
41
41
|
|
42
42
|
```bash
|
43
|
-
gem install twilio-ruby -v 5.
|
43
|
+
gem install twilio-ruby -v 5.45.1
|
44
44
|
```
|
45
45
|
|
46
46
|
To build and install the development branch yourself from the latest source:
|
@@ -81,6 +81,22 @@ To take advantage of Twilio's [Global Infrastructure](https://www.twilio.com/doc
|
|
81
81
|
@client.edge = 'sydney'
|
82
82
|
```
|
83
83
|
|
84
|
+
### Enable Debug logging
|
85
|
+
|
86
|
+
In order to enable debug logging, pass in a 'logger' instance to the client with the level set to at least 'DEBUG'
|
87
|
+
|
88
|
+
```ruby
|
89
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
90
|
+
myLogger = Logger.new(STDOUT)
|
91
|
+
myLogger.level = Logger::DEBUG
|
92
|
+
@client.logger = myLogger
|
93
|
+
|
94
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
95
|
+
myLogger = Logger.new('my_log.log')
|
96
|
+
myLogger.level = Logger::DEBUG
|
97
|
+
@client.logger = myLogger
|
98
|
+
```
|
99
|
+
|
84
100
|
This will result in the `hostname` transforming from `api.twilio.com` to `api.sydney.au1.twilio.com`.
|
85
101
|
|
86
102
|
### Make a Call
|
data/lib/twilio-ruby.rb
CHANGED
@@ -38,7 +38,7 @@ module Twilio
|
|
38
38
|
autoload :JWT, File.join(File.dirname(__FILE__), 'twilio-ruby', 'jwt', 'jwt.rb')
|
39
39
|
autoload :TwiML, File.join(File.dirname(__FILE__), 'twilio-ruby', 'twiml', 'twiml.rb')
|
40
40
|
|
41
|
-
def_delegators :configuration, :account_sid, :auth_token, :http_client, :region, :edge
|
41
|
+
def_delegators :configuration, :account_sid, :auth_token, :http_client, :region, :edge, :logger
|
42
42
|
|
43
43
|
##
|
44
44
|
# Pre-configure with account SID and auth token so that you don't need to
|
@@ -20,7 +20,8 @@ module Twilio
|
|
20
20
|
:grants,
|
21
21
|
:nbf,
|
22
22
|
:ttl,
|
23
|
-
:valid_until
|
23
|
+
:valid_until,
|
24
|
+
:region
|
24
25
|
|
25
26
|
def initialize(
|
26
27
|
account_sid,
|
@@ -30,7 +31,8 @@ module Twilio
|
|
30
31
|
identity: nil,
|
31
32
|
nbf: nil,
|
32
33
|
ttl: 3600,
|
33
|
-
valid_until: nil
|
34
|
+
valid_until: nil,
|
35
|
+
region: nil
|
34
36
|
)
|
35
37
|
super(secret_key: secret,
|
36
38
|
issuer: signing_key_sid,
|
@@ -46,6 +48,7 @@ module Twilio
|
|
46
48
|
@grants = grants
|
47
49
|
@ttl = ttl
|
48
50
|
@valid_until = valid_until
|
51
|
+
@region = region
|
49
52
|
end
|
50
53
|
|
51
54
|
def add_grant(grant)
|
@@ -76,6 +79,8 @@ module Twilio
|
|
76
79
|
cty: 'twilio-fpa;v=1'
|
77
80
|
}
|
78
81
|
|
82
|
+
headers[:twr] = region unless region&.nil?
|
83
|
+
|
79
84
|
headers
|
80
85
|
end
|
81
86
|
|
@@ -142,6 +142,10 @@ module Twilio
|
|
142
142
|
# @param [String] call_reason The Reason for the outgoing call. Use it to specify
|
143
143
|
# the purpose of the call that is presented on the called party's phone. (Branded
|
144
144
|
# Calls Beta)
|
145
|
+
# @param [String] recording_track The audio track to record for the call. Can be:
|
146
|
+
# `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the
|
147
|
+
# audio that is received by Twilio. `outbound` records the audio that is generated
|
148
|
+
# from Twilio. `both` records the audio that is received and generated by Twilio.
|
145
149
|
# @param [String] url The absolute URL that returns the TwiML instructions for the
|
146
150
|
# call. We will call this URL using the `method` when the call connects. For more
|
147
151
|
# information, see the {Url
|
@@ -153,7 +157,7 @@ module Twilio
|
|
153
157
|
# @param [String] application_sid The SID of the Application resource that will
|
154
158
|
# handle the call, if the call will be handled by an application.
|
155
159
|
# @return [CallInstance] Created CallInstance
|
156
|
-
def create(to: nil, from: nil, method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_event: :unset, status_callback_method: :unset, send_digits: :unset, timeout: :unset, record: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, machine_detection: :unset, machine_detection_timeout: :unset, recording_status_callback_event: :unset, trim: :unset, caller_id: :unset, machine_detection_speech_threshold: :unset, machine_detection_speech_end_threshold: :unset, machine_detection_silence_timeout: :unset, async_amd: :unset, async_amd_status_callback: :unset, async_amd_status_callback_method: :unset, byoc: :unset, call_reason: :unset, url: :unset, twiml: :unset, application_sid: :unset)
|
160
|
+
def create(to: nil, from: nil, method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_event: :unset, status_callback_method: :unset, send_digits: :unset, timeout: :unset, record: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, machine_detection: :unset, machine_detection_timeout: :unset, recording_status_callback_event: :unset, trim: :unset, caller_id: :unset, machine_detection_speech_threshold: :unset, machine_detection_speech_end_threshold: :unset, machine_detection_silence_timeout: :unset, async_amd: :unset, async_amd_status_callback: :unset, async_amd_status_callback_method: :unset, byoc: :unset, call_reason: :unset, recording_track: :unset, url: :unset, twiml: :unset, application_sid: :unset)
|
157
161
|
data = Twilio::Values.of({
|
158
162
|
'To' => to,
|
159
163
|
'From' => from,
|
@@ -187,6 +191,7 @@ module Twilio
|
|
187
191
|
'AsyncAmdStatusCallbackMethod' => async_amd_status_callback_method,
|
188
192
|
'Byoc' => byoc,
|
189
193
|
'CallReason' => call_reason,
|
194
|
+
'RecordingTrack' => recording_track,
|
190
195
|
})
|
191
196
|
|
192
197
|
payload = @version.create('POST', @uri, data: data)
|
@@ -426,6 +431,7 @@ module Twilio
|
|
426
431
|
@recordings = nil
|
427
432
|
@notifications = nil
|
428
433
|
@feedback = nil
|
434
|
+
@events = nil
|
429
435
|
@payments = nil
|
430
436
|
end
|
431
437
|
|
@@ -546,6 +552,18 @@ module Twilio
|
|
546
552
|
FeedbackContext.new(@version, @solution[:account_sid], @solution[:sid], )
|
547
553
|
end
|
548
554
|
|
555
|
+
##
|
556
|
+
# Access the events
|
557
|
+
# @return [EventList]
|
558
|
+
# @return [EventContext]
|
559
|
+
def events
|
560
|
+
unless @events
|
561
|
+
@events = EventList.new(@version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
|
562
|
+
end
|
563
|
+
|
564
|
+
@events
|
565
|
+
end
|
566
|
+
|
549
567
|
##
|
550
568
|
# Access the payments
|
551
569
|
# @return [PaymentList]
|
@@ -885,6 +903,13 @@ module Twilio
|
|
885
903
|
context.feedback
|
886
904
|
end
|
887
905
|
|
906
|
+
##
|
907
|
+
# Access the events
|
908
|
+
# @return [events] events
|
909
|
+
def events
|
910
|
+
context.events
|
911
|
+
end
|
912
|
+
|
888
913
|
##
|
889
914
|
# Access the payments
|
890
915
|
# @return [payments] payments
|
@@ -0,0 +1,201 @@
|
|
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 Api < Domain
|
12
|
+
class V2010 < Version
|
13
|
+
class AccountContext < InstanceContext
|
14
|
+
class CallContext < InstanceContext
|
15
|
+
class EventList < ListResource
|
16
|
+
##
|
17
|
+
# Initialize the EventList
|
18
|
+
# @param [Version] version Version that contains the resource
|
19
|
+
# @param [String] account_sid The SID of the
|
20
|
+
# {Account}[https://www.twilio.com/docs/iam/api/account] that created this Call
|
21
|
+
# resource.
|
22
|
+
# @param [String] call_sid The unique string that that we created to identify this
|
23
|
+
# Call resource.
|
24
|
+
# @return [EventList] EventList
|
25
|
+
def initialize(version, account_sid: nil, call_sid: nil)
|
26
|
+
super(version)
|
27
|
+
|
28
|
+
# Path Solution
|
29
|
+
@solution = {account_sid: account_sid, call_sid: call_sid}
|
30
|
+
@uri = "/Accounts/#{@solution[:account_sid]}/Calls/#{@solution[:call_sid]}/Events.json"
|
31
|
+
end
|
32
|
+
|
33
|
+
##
|
34
|
+
# Lists EventInstance records from the API as a list.
|
35
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
36
|
+
# memory before returning.
|
37
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
38
|
+
# guarantees to never return more than limit. Default is no limit
|
39
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
40
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
41
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
42
|
+
# efficient page size, i.e. min(limit, 1000)
|
43
|
+
# @return [Array] Array of up to limit results
|
44
|
+
def list(limit: nil, page_size: nil)
|
45
|
+
self.stream(limit: limit, page_size: page_size).entries
|
46
|
+
end
|
47
|
+
|
48
|
+
##
|
49
|
+
# Streams EventInstance records from the API as an Enumerable.
|
50
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
51
|
+
# is reached.
|
52
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
53
|
+
# guarantees to never return more than limit. Default is no limit.
|
54
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
55
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
56
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
57
|
+
# efficient page size, i.e. min(limit, 1000)
|
58
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
59
|
+
def stream(limit: nil, page_size: nil)
|
60
|
+
limits = @version.read_limits(limit, page_size)
|
61
|
+
|
62
|
+
page = self.page(page_size: limits[:page_size], )
|
63
|
+
|
64
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
65
|
+
end
|
66
|
+
|
67
|
+
##
|
68
|
+
# When passed a block, yields EventInstance records from the API.
|
69
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
70
|
+
# is reached.
|
71
|
+
def each
|
72
|
+
limits = @version.read_limits
|
73
|
+
|
74
|
+
page = self.page(page_size: limits[:page_size], )
|
75
|
+
|
76
|
+
@version.stream(page,
|
77
|
+
limit: limits[:limit],
|
78
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
79
|
+
end
|
80
|
+
|
81
|
+
##
|
82
|
+
# Retrieve a single page of EventInstance records from the API.
|
83
|
+
# Request is executed immediately.
|
84
|
+
# @param [String] page_token PageToken provided by the API
|
85
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
86
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
87
|
+
# @return [Page] Page of EventInstance
|
88
|
+
def page(page_token: :unset, page_number: :unset, page_size: :unset)
|
89
|
+
params = Twilio::Values.of({
|
90
|
+
'PageToken' => page_token,
|
91
|
+
'Page' => page_number,
|
92
|
+
'PageSize' => page_size,
|
93
|
+
})
|
94
|
+
|
95
|
+
response = @version.page('GET', @uri, params: params)
|
96
|
+
|
97
|
+
EventPage.new(@version, response, @solution)
|
98
|
+
end
|
99
|
+
|
100
|
+
##
|
101
|
+
# Retrieve a single page of EventInstance records from the API.
|
102
|
+
# Request is executed immediately.
|
103
|
+
# @param [String] target_url API-generated URL for the requested results page
|
104
|
+
# @return [Page] Page of EventInstance
|
105
|
+
def get_page(target_url)
|
106
|
+
response = @version.domain.request(
|
107
|
+
'GET',
|
108
|
+
target_url
|
109
|
+
)
|
110
|
+
EventPage.new(@version, response, @solution)
|
111
|
+
end
|
112
|
+
|
113
|
+
##
|
114
|
+
# Provide a user friendly representation
|
115
|
+
def to_s
|
116
|
+
'#<Twilio.Api.V2010.EventList>'
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
class EventPage < Page
|
121
|
+
##
|
122
|
+
# Initialize the EventPage
|
123
|
+
# @param [Version] version Version that contains the resource
|
124
|
+
# @param [Response] response Response from the API
|
125
|
+
# @param [Hash] solution Path solution for the resource
|
126
|
+
# @return [EventPage] EventPage
|
127
|
+
def initialize(version, response, solution)
|
128
|
+
super(version, response)
|
129
|
+
|
130
|
+
# Path Solution
|
131
|
+
@solution = solution
|
132
|
+
end
|
133
|
+
|
134
|
+
##
|
135
|
+
# Build an instance of EventInstance
|
136
|
+
# @param [Hash] payload Payload response from the API
|
137
|
+
# @return [EventInstance] EventInstance
|
138
|
+
def get_instance(payload)
|
139
|
+
EventInstance.new(
|
140
|
+
@version,
|
141
|
+
payload,
|
142
|
+
account_sid: @solution[:account_sid],
|
143
|
+
call_sid: @solution[:call_sid],
|
144
|
+
)
|
145
|
+
end
|
146
|
+
|
147
|
+
##
|
148
|
+
# Provide a user friendly representation
|
149
|
+
def to_s
|
150
|
+
'<Twilio.Api.V2010.EventPage>'
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
class EventInstance < InstanceResource
|
155
|
+
##
|
156
|
+
# Initialize the EventInstance
|
157
|
+
# @param [Version] version Version that contains the resource
|
158
|
+
# @param [Hash] payload payload that contains response from Twilio
|
159
|
+
# @param [String] account_sid The SID of the
|
160
|
+
# {Account}[https://www.twilio.com/docs/iam/api/account] that created this Call
|
161
|
+
# resource.
|
162
|
+
# @param [String] call_sid The unique string that that we created to identify this
|
163
|
+
# Call resource.
|
164
|
+
# @return [EventInstance] EventInstance
|
165
|
+
def initialize(version, payload, account_sid: nil, call_sid: nil)
|
166
|
+
super(version)
|
167
|
+
|
168
|
+
# Marshaled Properties
|
169
|
+
@properties = {'request' => payload['request'], 'response' => payload['response'], }
|
170
|
+
end
|
171
|
+
|
172
|
+
##
|
173
|
+
# @return [Hash] Call Request.
|
174
|
+
def request
|
175
|
+
@properties['request']
|
176
|
+
end
|
177
|
+
|
178
|
+
##
|
179
|
+
# @return [Hash] Call Response with Events.
|
180
|
+
def response
|
181
|
+
@properties['response']
|
182
|
+
end
|
183
|
+
|
184
|
+
##
|
185
|
+
# Provide a user friendly representation
|
186
|
+
def to_s
|
187
|
+
"<Twilio.Api.V2010.EventInstance>"
|
188
|
+
end
|
189
|
+
|
190
|
+
##
|
191
|
+
# Provide a detailed, user friendly representation
|
192
|
+
def inspect
|
193
|
+
"<Twilio.Api.V2010.EventInstance>"
|
194
|
+
end
|
195
|
+
end
|
196
|
+
end
|
197
|
+
end
|
198
|
+
end
|
199
|
+
end
|
200
|
+
end
|
201
|
+
end
|