twilio-ruby 5.40.4 → 5.45.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/CHANGES.md +104 -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/accounts.rb +12 -0
- data/lib/twilio-ruby/rest/accounts/v1.rb +14 -0
- data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
- data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
- 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.rb +10 -2
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +13 -3
- data/lib/twilio-ruby/rest/events/v1/subscription.rb +12 -5
- 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/call/summary.rb +7 -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 +5 -18
- 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 +12 -27
- data/lib/twilio-ruby/rest/preview/trusted_comms/{business.rb → branded_channel.rb} +63 -77
- data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
- 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 +54 -33
- 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 +36 -61
- data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +59 -57
- 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 +7 -4
- data/lib/twilio-ruby/util/configuration.rb +5 -1
- data/lib/twilio-ruby/version.rb +1 -1
- data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +44 -0
- data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +69 -0
- 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_spec.rb +1 -1
- data/spec/integration/conversations/v1/service/conversation_spec.rb +1 -1
- 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/call/summary_spec.rb +1 -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/preview/trusted_comms/{business/brand/branded_channel → branded_channel}/channel_spec.rb +4 -8
- data/spec/integration/preview/trusted_comms/{business/brand/branded_channel_spec.rb → branded_channel_spec.rb} +5 -9
- 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 +56 -20
- data/spec/integration/verify/v2/service/entity/factor_spec.rb +11 -26
- data/spec/integration/verify/v2/service/entity_spec.rb +4 -12
- data/spec/integration/verify/v2/service_spec.rb +8 -4
- 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 +42 -28
- data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +0 -243
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand.rb +0 -233
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel.rb +0 -260
- data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel/channel.rb +0 -189
- 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/brand_spec.rb +0 -48
- 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 -46
- data/spec/integration/preview/trusted_comms/phone_call_spec.rb +0 -59
|
@@ -53,14 +53,19 @@ module Twilio
|
|
|
53
53
|
# Can be: `mono` or `dual` and the default is `mono`. `mono` records all parties
|
|
54
54
|
# of the call into one channel. `dual` records each party of a 2-party call into
|
|
55
55
|
# separate channels.
|
|
56
|
+
# @param [String] recording_track The tracks to record. Can be: `inbound`,
|
|
57
|
+
# `outbound`, or `both`. The default is `both`. `inbound` only records the audio
|
|
58
|
+
# received by Twilio, `outbound` only records audio generated by Twilio, and
|
|
59
|
+
# `both` mixes the inbound and outbound audio.
|
|
56
60
|
# @return [RecordingInstance] Created RecordingInstance
|
|
57
|
-
def create(recording_status_callback_event: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, trim: :unset, recording_channels: :unset)
|
|
61
|
+
def create(recording_status_callback_event: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, trim: :unset, recording_channels: :unset, recording_track: :unset)
|
|
58
62
|
data = Twilio::Values.of({
|
|
59
63
|
'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
|
|
60
64
|
'RecordingStatusCallback' => recording_status_callback,
|
|
61
65
|
'RecordingStatusCallbackMethod' => recording_status_callback_method,
|
|
62
66
|
'Trim' => trim,
|
|
63
67
|
'RecordingChannels' => recording_channels,
|
|
68
|
+
'RecordingTrack' => recording_track,
|
|
64
69
|
})
|
|
65
70
|
|
|
66
71
|
payload = @version.create('POST', @uri, data: data)
|
|
@@ -335,6 +340,7 @@ module Twilio
|
|
|
335
340
|
'channels' => payload['channels'].to_i,
|
|
336
341
|
'source' => payload['source'],
|
|
337
342
|
'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
|
|
343
|
+
'track' => payload['track'],
|
|
338
344
|
}
|
|
339
345
|
|
|
340
346
|
# Context
|
|
@@ -460,6 +466,12 @@ module Twilio
|
|
|
460
466
|
@properties['error_code']
|
|
461
467
|
end
|
|
462
468
|
|
|
469
|
+
##
|
|
470
|
+
# @return [String] The recorded track. Can be: `inbound`, `outbound`, or `both`.
|
|
471
|
+
def track
|
|
472
|
+
@properties['track']
|
|
473
|
+
end
|
|
474
|
+
|
|
463
475
|
##
|
|
464
476
|
# Update the RecordingInstance
|
|
465
477
|
# @param [recording.Status] status The new status of the recording. Can be:
|
|
@@ -162,8 +162,12 @@ module Twilio
|
|
|
162
162
|
# @param [String] call_reason The Reason for the outgoing call. Use it to specify
|
|
163
163
|
# the purpose of the call that is presented on the called party's phone. (Branded
|
|
164
164
|
# Calls Beta)
|
|
165
|
+
# @param [String] recording_track The track to record. Can be: `inbound`,
|
|
166
|
+
# `outbound`, or `both`. The default is `both`. `inbound` only records the audio
|
|
167
|
+
# received by Twilio, `outbound` only records audio sent from Twilio, and `both`
|
|
168
|
+
# mixes the inbound and outbound audio.
|
|
165
169
|
# @return [ParticipantInstance] Created ParticipantInstance
|
|
166
|
-
def create(from: nil, to: nil, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, label: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_record: :unset, conference_trim: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, region: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, recording_status_callback_event: :unset, conference_recording_status_callback_event: :unset, coaching: :unset, call_sid_to_coach: :unset, jitter_buffer_size: :unset, byoc: :unset, caller_id: :unset, call_reason: :unset)
|
|
170
|
+
def create(from: nil, to: nil, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, label: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_record: :unset, conference_trim: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, region: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, recording_status_callback_event: :unset, conference_recording_status_callback_event: :unset, coaching: :unset, call_sid_to_coach: :unset, jitter_buffer_size: :unset, byoc: :unset, caller_id: :unset, call_reason: :unset, recording_track: :unset)
|
|
167
171
|
data = Twilio::Values.of({
|
|
168
172
|
'From' => from,
|
|
169
173
|
'To' => to,
|
|
@@ -202,6 +206,7 @@ module Twilio
|
|
|
202
206
|
'Byoc' => byoc,
|
|
203
207
|
'CallerId' => caller_id,
|
|
204
208
|
'CallReason' => call_reason,
|
|
209
|
+
'RecordingTrack' => recording_track,
|
|
205
210
|
})
|
|
206
211
|
|
|
207
212
|
payload = @version.create('POST', @uri, data: data)
|
|
@@ -31,8 +31,6 @@ module Twilio
|
|
|
31
31
|
# Lists DayInstance records from the API as a list.
|
|
32
32
|
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
33
33
|
# memory before returning.
|
|
34
|
-
# @param [String] next_token The next_token
|
|
35
|
-
# @param [String] previous_token The previous_token
|
|
36
34
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
37
35
|
# guarantees to never return more than limit. Default is no limit
|
|
38
36
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -40,21 +38,14 @@ module Twilio
|
|
|
40
38
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
41
39
|
# efficient page size, i.e. min(limit, 1000)
|
|
42
40
|
# @return [Array] Array of up to limit results
|
|
43
|
-
def list(
|
|
44
|
-
self.stream(
|
|
45
|
-
next_token: next_token,
|
|
46
|
-
previous_token: previous_token,
|
|
47
|
-
limit: limit,
|
|
48
|
-
page_size: page_size
|
|
49
|
-
).entries
|
|
41
|
+
def list(limit: nil, page_size: nil)
|
|
42
|
+
self.stream(limit: limit, page_size: page_size).entries
|
|
50
43
|
end
|
|
51
44
|
|
|
52
45
|
##
|
|
53
46
|
# Streams DayInstance records from the API as an Enumerable.
|
|
54
47
|
# This operation lazily loads records as efficiently as possible until the limit
|
|
55
48
|
# is reached.
|
|
56
|
-
# @param [String] next_token The next_token
|
|
57
|
-
# @param [String] previous_token The previous_token
|
|
58
49
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
59
50
|
# guarantees to never return more than limit. Default is no limit.
|
|
60
51
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -62,14 +53,10 @@ module Twilio
|
|
|
62
53
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
63
54
|
# efficient page size, i.e. min(limit, 1000)
|
|
64
55
|
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
65
|
-
def stream(
|
|
56
|
+
def stream(limit: nil, page_size: nil)
|
|
66
57
|
limits = @version.read_limits(limit, page_size)
|
|
67
58
|
|
|
68
|
-
page = self.page(
|
|
69
|
-
next_token: next_token,
|
|
70
|
-
previous_token: previous_token,
|
|
71
|
-
page_size: limits[:page_size],
|
|
72
|
-
)
|
|
59
|
+
page = self.page(page_size: limits[:page_size], )
|
|
73
60
|
|
|
74
61
|
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
75
62
|
end
|
|
@@ -91,16 +78,12 @@ module Twilio
|
|
|
91
78
|
##
|
|
92
79
|
# Retrieve a single page of DayInstance records from the API.
|
|
93
80
|
# Request is executed immediately.
|
|
94
|
-
# @param [String] next_token The next_token
|
|
95
|
-
# @param [String] previous_token The previous_token
|
|
96
81
|
# @param [String] page_token PageToken provided by the API
|
|
97
82
|
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
98
83
|
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
99
84
|
# @return [Page] Page of DayInstance
|
|
100
|
-
def page(
|
|
85
|
+
def page(page_token: :unset, page_number: :unset, page_size: :unset)
|
|
101
86
|
params = Twilio::Values.of({
|
|
102
|
-
'NextToken' => next_token,
|
|
103
|
-
'PreviousToken' => previous_token,
|
|
104
87
|
'PageToken' => page_token,
|
|
105
88
|
'Page' => page_number,
|
|
106
89
|
'PageSize' => page_size,
|
|
@@ -31,10 +31,6 @@ module Twilio
|
|
|
31
31
|
# Lists ExportCustomJobInstance records from the API as a list.
|
|
32
32
|
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
33
33
|
# memory before returning.
|
|
34
|
-
# @param [String] next_token The token for the next page of job results, and may
|
|
35
|
-
# be null if there are no more pages
|
|
36
|
-
# @param [String] previous_token The token for the previous page of results, and
|
|
37
|
-
# may be null if this is the first page
|
|
38
34
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
39
35
|
# guarantees to never return more than limit. Default is no limit
|
|
40
36
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -42,23 +38,14 @@ module Twilio
|
|
|
42
38
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
43
39
|
# efficient page size, i.e. min(limit, 1000)
|
|
44
40
|
# @return [Array] Array of up to limit results
|
|
45
|
-
def list(
|
|
46
|
-
self.stream(
|
|
47
|
-
next_token: next_token,
|
|
48
|
-
previous_token: previous_token,
|
|
49
|
-
limit: limit,
|
|
50
|
-
page_size: page_size
|
|
51
|
-
).entries
|
|
41
|
+
def list(limit: nil, page_size: nil)
|
|
42
|
+
self.stream(limit: limit, page_size: page_size).entries
|
|
52
43
|
end
|
|
53
44
|
|
|
54
45
|
##
|
|
55
46
|
# Streams ExportCustomJobInstance records from the API as an Enumerable.
|
|
56
47
|
# This operation lazily loads records as efficiently as possible until the limit
|
|
57
48
|
# is reached.
|
|
58
|
-
# @param [String] next_token The token for the next page of job results, and may
|
|
59
|
-
# be null if there are no more pages
|
|
60
|
-
# @param [String] previous_token The token for the previous page of results, and
|
|
61
|
-
# may be null if this is the first page
|
|
62
49
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
63
50
|
# guarantees to never return more than limit. Default is no limit.
|
|
64
51
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -66,14 +53,10 @@ module Twilio
|
|
|
66
53
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
67
54
|
# efficient page size, i.e. min(limit, 1000)
|
|
68
55
|
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
69
|
-
def stream(
|
|
56
|
+
def stream(limit: nil, page_size: nil)
|
|
70
57
|
limits = @version.read_limits(limit, page_size)
|
|
71
58
|
|
|
72
|
-
page = self.page(
|
|
73
|
-
next_token: next_token,
|
|
74
|
-
previous_token: previous_token,
|
|
75
|
-
page_size: limits[:page_size],
|
|
76
|
-
)
|
|
59
|
+
page = self.page(page_size: limits[:page_size], )
|
|
77
60
|
|
|
78
61
|
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
79
62
|
end
|
|
@@ -95,18 +78,12 @@ module Twilio
|
|
|
95
78
|
##
|
|
96
79
|
# Retrieve a single page of ExportCustomJobInstance records from the API.
|
|
97
80
|
# Request is executed immediately.
|
|
98
|
-
# @param [String] next_token The token for the next page of job results, and may
|
|
99
|
-
# be null if there are no more pages
|
|
100
|
-
# @param [String] previous_token The token for the previous page of results, and
|
|
101
|
-
# may be null if this is the first page
|
|
102
81
|
# @param [String] page_token PageToken provided by the API
|
|
103
82
|
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
104
83
|
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
105
84
|
# @return [Page] Page of ExportCustomJobInstance
|
|
106
|
-
def page(
|
|
85
|
+
def page(page_token: :unset, page_number: :unset, page_size: :unset)
|
|
107
86
|
params = Twilio::Values.of({
|
|
108
|
-
'NextToken' => next_token,
|
|
109
|
-
'PreviousToken' => previous_token,
|
|
110
87
|
'PageToken' => page_token,
|
|
111
88
|
'Page' => page_number,
|
|
112
89
|
'PageSize' => page_size,
|
|
@@ -132,18 +109,26 @@ module Twilio
|
|
|
132
109
|
|
|
133
110
|
##
|
|
134
111
|
# Create the ExportCustomJobInstance
|
|
135
|
-
# @param [String]
|
|
136
|
-
#
|
|
137
|
-
# @param [String] end_day The
|
|
138
|
-
#
|
|
139
|
-
#
|
|
140
|
-
# @param [String]
|
|
112
|
+
# @param [String] start_day The start day for the custom export specified as a
|
|
113
|
+
# string in the format of yyyy-mm-dd
|
|
114
|
+
# @param [String] end_day The end day for the custom export specified as a string
|
|
115
|
+
# in the format of yyyy-mm-dd. End day is inclusive and must be 2 days earlier
|
|
116
|
+
# than the current UTC day.
|
|
117
|
+
# @param [String] friendly_name The friendly name specified when creating the job
|
|
118
|
+
# @param [String] webhook_url The optional webhook url called on completion of the
|
|
119
|
+
# job. If this is supplied, `WebhookMethod` must also be supplied. If you set
|
|
120
|
+
# neither webhook nor email, you will have to check your job's status manually.
|
|
121
|
+
# @param [String] webhook_method This is the method used to call the webhook on
|
|
122
|
+
# completion of the job. If this is supplied, `WebhookUrl` must also be supplied.
|
|
123
|
+
# @param [String] email The optional email to send the completion notification to.
|
|
124
|
+
# You can set both webhook, and email, or one or the other. If you set neither,
|
|
125
|
+
# the job will run but you will have to query to determine your job's status.
|
|
141
126
|
# @return [ExportCustomJobInstance] Created ExportCustomJobInstance
|
|
142
|
-
def create(
|
|
127
|
+
def create(start_day: nil, end_day: nil, friendly_name: nil, webhook_url: :unset, webhook_method: :unset, email: :unset)
|
|
143
128
|
data = Twilio::Values.of({
|
|
144
|
-
'FriendlyName' => friendly_name,
|
|
145
129
|
'StartDay' => start_day,
|
|
146
130
|
'EndDay' => end_day,
|
|
131
|
+
'FriendlyName' => friendly_name,
|
|
147
132
|
'WebhookUrl' => webhook_url,
|
|
148
133
|
'WebhookMethod' => webhook_method,
|
|
149
134
|
'Email' => email,
|
|
@@ -231,13 +216,13 @@ module Twilio
|
|
|
231
216
|
end
|
|
232
217
|
|
|
233
218
|
##
|
|
234
|
-
# @return [String] The start
|
|
219
|
+
# @return [String] The start day for the custom export specified as a string in the format of yyyy-MM-dd
|
|
235
220
|
def start_day
|
|
236
221
|
@properties['start_day']
|
|
237
222
|
end
|
|
238
223
|
|
|
239
224
|
##
|
|
240
|
-
# @return [String] The end
|
|
225
|
+
# @return [String] The end day for the custom export specified as a string in the format of yyyy-MM-dd. This will be the last day exported. For instance, to export a single day, choose the same day for start and end day. To export the first 4 days of July, you would set the start date to 2020-07-01 and the end date to 2020-07-04. The end date must be the UTC day before yesterday.
|
|
241
226
|
def end_day
|
|
242
227
|
@properties['end_day']
|
|
243
228
|
end
|
|
@@ -261,13 +246,13 @@ module Twilio
|
|
|
261
246
|
end
|
|
262
247
|
|
|
263
248
|
##
|
|
264
|
-
# @return [String] The job_sid returned when the export was created
|
|
249
|
+
# @return [String] The unique job_sid returned when the custom export was created. This can be used to look up the status of the job.
|
|
265
250
|
def job_sid
|
|
266
251
|
@properties['job_sid']
|
|
267
252
|
end
|
|
268
253
|
|
|
269
254
|
##
|
|
270
|
-
# @return [Hash] The details
|
|
255
|
+
# @return [Hash] The details of a job state which is an object that contains a status string, a day count integer, and list of days in the job
|
|
271
256
|
def details
|
|
272
257
|
@properties['details']
|
|
273
258
|
end
|
|
@@ -13,11 +13,11 @@ module Twilio
|
|
|
13
13
|
class Client
|
|
14
14
|
@@default_region = 'us1'
|
|
15
15
|
|
|
16
|
-
attr_accessor :http_client, :username, :password, :account_sid, :auth_token, :region, :edge
|
|
16
|
+
attr_accessor :http_client, :username, :password, :account_sid, :auth_token, :region, :edge, :logger
|
|
17
17
|
|
|
18
18
|
##
|
|
19
19
|
# Initializes the Twilio Client
|
|
20
|
-
def initialize(username=nil, password=nil, account_sid=nil, region=nil, http_client=nil)
|
|
20
|
+
def initialize(username=nil, password=nil, account_sid=nil, region=nil, http_client=nil, logger=nil)
|
|
21
21
|
@username = username || Twilio.account_sid
|
|
22
22
|
@password = password || Twilio.auth_token
|
|
23
23
|
@region = region || Twilio.region
|
|
@@ -26,6 +26,7 @@ module Twilio
|
|
|
26
26
|
@auth_token = @password
|
|
27
27
|
@auth = [@username, @password]
|
|
28
28
|
@http_client = http_client || Twilio.http_client || Twilio::HTTP::Client.new
|
|
29
|
+
@logger = logger || Twilio.logger
|
|
29
30
|
|
|
30
31
|
# Domains
|
|
31
32
|
@accounts = nil
|
|
@@ -80,7 +81,24 @@ module Twilio
|
|
|
80
81
|
|
|
81
82
|
uri = build_uri(uri)
|
|
82
83
|
|
|
83
|
-
@
|
|
84
|
+
if @logger
|
|
85
|
+
@logger.debug("--BEGIN Twilio API Request--")
|
|
86
|
+
@logger.debug("Request Method: <#{method}>")
|
|
87
|
+
|
|
88
|
+
headers.each do |key, value|
|
|
89
|
+
unless key.downcase == 'authorization'
|
|
90
|
+
@logger.debug("#{key}:#{value}")
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
url = URI(uri)
|
|
95
|
+
@logger.debug("Host:#{url.host}")
|
|
96
|
+
@logger.debug("Path:#{url.path}")
|
|
97
|
+
@logger.debug("Query:#{url.query}")
|
|
98
|
+
@logger.debug("Request Params:#{params}")
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
response = @http_client.request(
|
|
84
102
|
host,
|
|
85
103
|
port,
|
|
86
104
|
method,
|
|
@@ -91,6 +109,14 @@ module Twilio
|
|
|
91
109
|
auth,
|
|
92
110
|
timeout
|
|
93
111
|
)
|
|
112
|
+
|
|
113
|
+
if @logger
|
|
114
|
+
@logger.debug("Response Status Code:#{response.status_code}")
|
|
115
|
+
@logger.debug("Response Headers:#{response.headers}")
|
|
116
|
+
@logger.debug("--END TWILIO API REQUEST--")
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
response
|
|
94
120
|
end
|
|
95
121
|
|
|
96
122
|
##
|
|
@@ -222,10 +222,13 @@ module Twilio
|
|
|
222
222
|
# switched to `inactive` state. Minimum value for this timer is 1 minute.
|
|
223
223
|
# @param [String] timers_closed ISO8601 duration when conversation will be
|
|
224
224
|
# switched to `closed` state. Minimum value for this timer is 10 minutes.
|
|
225
|
+
# @param [String] unique_name An application-defined string that uniquely
|
|
226
|
+
# identifies the resource. It can be used to address the resource in place of the
|
|
227
|
+
# resource's `sid` in the URL.
|
|
225
228
|
# @param [conversation.WebhookEnabledType] x_twilio_webhook_enabled The
|
|
226
229
|
# X-Twilio-Webhook-Enabled HTTP request header
|
|
227
230
|
# @return [ConversationInstance] Updated ConversationInstance
|
|
228
|
-
def update(friendly_name: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, messaging_service_sid: :unset, state: :unset, timers_inactive: :unset, timers_closed: :unset, x_twilio_webhook_enabled: :unset)
|
|
231
|
+
def update(friendly_name: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, messaging_service_sid: :unset, state: :unset, timers_inactive: :unset, timers_closed: :unset, unique_name: :unset, x_twilio_webhook_enabled: :unset)
|
|
229
232
|
data = Twilio::Values.of({
|
|
230
233
|
'FriendlyName' => friendly_name,
|
|
231
234
|
'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
|
|
@@ -235,6 +238,7 @@ module Twilio
|
|
|
235
238
|
'State' => state,
|
|
236
239
|
'Timers.Inactive' => timers_inactive,
|
|
237
240
|
'Timers.Closed' => timers_closed,
|
|
241
|
+
'UniqueName' => unique_name,
|
|
238
242
|
})
|
|
239
243
|
headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
|
|
240
244
|
|
|
@@ -473,10 +477,13 @@ module Twilio
|
|
|
473
477
|
# switched to `inactive` state. Minimum value for this timer is 1 minute.
|
|
474
478
|
# @param [String] timers_closed ISO8601 duration when conversation will be
|
|
475
479
|
# switched to `closed` state. Minimum value for this timer is 10 minutes.
|
|
480
|
+
# @param [String] unique_name An application-defined string that uniquely
|
|
481
|
+
# identifies the resource. It can be used to address the resource in place of the
|
|
482
|
+
# resource's `sid` in the URL.
|
|
476
483
|
# @param [conversation.WebhookEnabledType] x_twilio_webhook_enabled The
|
|
477
484
|
# X-Twilio-Webhook-Enabled HTTP request header
|
|
478
485
|
# @return [ConversationInstance] Updated ConversationInstance
|
|
479
|
-
def update(friendly_name: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, messaging_service_sid: :unset, state: :unset, timers_inactive: :unset, timers_closed: :unset, x_twilio_webhook_enabled: :unset)
|
|
486
|
+
def update(friendly_name: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, messaging_service_sid: :unset, state: :unset, timers_inactive: :unset, timers_closed: :unset, unique_name: :unset, x_twilio_webhook_enabled: :unset)
|
|
480
487
|
context.update(
|
|
481
488
|
friendly_name: friendly_name,
|
|
482
489
|
date_created: date_created,
|
|
@@ -486,6 +493,7 @@ module Twilio
|
|
|
486
493
|
state: state,
|
|
487
494
|
timers_inactive: timers_inactive,
|
|
488
495
|
timers_closed: timers_closed,
|
|
496
|
+
unique_name: unique_name,
|
|
489
497
|
x_twilio_webhook_enabled: x_twilio_webhook_enabled,
|
|
490
498
|
)
|
|
491
499
|
end
|
|
@@ -191,7 +191,9 @@ module Twilio
|
|
|
191
191
|
##
|
|
192
192
|
# Initialize the ConversationContext
|
|
193
193
|
# @param [Version] version Version that contains the resource
|
|
194
|
-
# @param [String] chat_service_sid The
|
|
194
|
+
# @param [String] chat_service_sid The SID of the {Conversation
|
|
195
|
+
# Service}[https://www.twilio.com/docs/conversations/api/service-resource] the
|
|
196
|
+
# Conversation resource is associated with.
|
|
195
197
|
# @param [String] sid A 34 character string that uniquely identifies this
|
|
196
198
|
# resource. Can also be the `unique_name` of the Conversation.
|
|
197
199
|
# @return [ConversationContext] ConversationContext
|
|
@@ -227,10 +229,13 @@ module Twilio
|
|
|
227
229
|
# switched to `inactive` state. Minimum value for this timer is 1 minute.
|
|
228
230
|
# @param [String] timers_closed ISO8601 duration when conversation will be
|
|
229
231
|
# switched to `closed` state. Minimum value for this timer is 10 minutes.
|
|
232
|
+
# @param [String] unique_name An application-defined string that uniquely
|
|
233
|
+
# identifies the resource. It can be used to address the resource in place of the
|
|
234
|
+
# resource's `sid` in the URL.
|
|
230
235
|
# @param [conversation.WebhookEnabledType] x_twilio_webhook_enabled The
|
|
231
236
|
# X-Twilio-Webhook-Enabled HTTP request header
|
|
232
237
|
# @return [ConversationInstance] Updated ConversationInstance
|
|
233
|
-
def update(friendly_name: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, messaging_service_sid: :unset, state: :unset, timers_inactive: :unset, timers_closed: :unset, x_twilio_webhook_enabled: :unset)
|
|
238
|
+
def update(friendly_name: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, messaging_service_sid: :unset, state: :unset, timers_inactive: :unset, timers_closed: :unset, unique_name: :unset, x_twilio_webhook_enabled: :unset)
|
|
234
239
|
data = Twilio::Values.of({
|
|
235
240
|
'FriendlyName' => friendly_name,
|
|
236
241
|
'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
|
|
@@ -240,6 +245,7 @@ module Twilio
|
|
|
240
245
|
'State' => state,
|
|
241
246
|
'Timers.Inactive' => timers_inactive,
|
|
242
247
|
'Timers.Closed' => timers_closed,
|
|
248
|
+
'UniqueName' => unique_name,
|
|
243
249
|
})
|
|
244
250
|
headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
|
|
245
251
|
|
|
@@ -503,10 +509,13 @@ module Twilio
|
|
|
503
509
|
# switched to `inactive` state. Minimum value for this timer is 1 minute.
|
|
504
510
|
# @param [String] timers_closed ISO8601 duration when conversation will be
|
|
505
511
|
# switched to `closed` state. Minimum value for this timer is 10 minutes.
|
|
512
|
+
# @param [String] unique_name An application-defined string that uniquely
|
|
513
|
+
# identifies the resource. It can be used to address the resource in place of the
|
|
514
|
+
# resource's `sid` in the URL.
|
|
506
515
|
# @param [conversation.WebhookEnabledType] x_twilio_webhook_enabled The
|
|
507
516
|
# X-Twilio-Webhook-Enabled HTTP request header
|
|
508
517
|
# @return [ConversationInstance] Updated ConversationInstance
|
|
509
|
-
def update(friendly_name: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, messaging_service_sid: :unset, state: :unset, timers_inactive: :unset, timers_closed: :unset, x_twilio_webhook_enabled: :unset)
|
|
518
|
+
def update(friendly_name: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, messaging_service_sid: :unset, state: :unset, timers_inactive: :unset, timers_closed: :unset, unique_name: :unset, x_twilio_webhook_enabled: :unset)
|
|
510
519
|
context.update(
|
|
511
520
|
friendly_name: friendly_name,
|
|
512
521
|
date_created: date_created,
|
|
@@ -516,6 +525,7 @@ module Twilio
|
|
|
516
525
|
state: state,
|
|
517
526
|
timers_inactive: timers_inactive,
|
|
518
527
|
timers_closed: timers_closed,
|
|
528
|
+
unique_name: unique_name,
|
|
519
529
|
x_twilio_webhook_enabled: x_twilio_webhook_enabled,
|
|
520
530
|
)
|
|
521
531
|
end
|
|
@@ -29,6 +29,8 @@ module Twilio
|
|
|
29
29
|
# Lists SubscriptionInstance records from the API as a list.
|
|
30
30
|
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
31
31
|
# memory before returning.
|
|
32
|
+
# @param [String] sink_sid The SID of the sink that the list of Subscriptions
|
|
33
|
+
# should be filtered by.
|
|
32
34
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
33
35
|
# guarantees to never return more than limit. Default is no limit
|
|
34
36
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -36,14 +38,16 @@ module Twilio
|
|
|
36
38
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
37
39
|
# efficient page size, i.e. min(limit, 1000)
|
|
38
40
|
# @return [Array] Array of up to limit results
|
|
39
|
-
def list(limit: nil, page_size: nil)
|
|
40
|
-
self.stream(limit: limit, page_size: page_size).entries
|
|
41
|
+
def list(sink_sid: :unset, limit: nil, page_size: nil)
|
|
42
|
+
self.stream(sink_sid: sink_sid, limit: limit, page_size: page_size).entries
|
|
41
43
|
end
|
|
42
44
|
|
|
43
45
|
##
|
|
44
46
|
# Streams SubscriptionInstance records from the API as an Enumerable.
|
|
45
47
|
# This operation lazily loads records as efficiently as possible until the limit
|
|
46
48
|
# is reached.
|
|
49
|
+
# @param [String] sink_sid The SID of the sink that the list of Subscriptions
|
|
50
|
+
# should be filtered by.
|
|
47
51
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
48
52
|
# guarantees to never return more than limit. Default is no limit.
|
|
49
53
|
# @param [Integer] page_size Number of records to fetch per request, when
|
|
@@ -51,10 +55,10 @@ module Twilio
|
|
|
51
55
|
# but a limit is defined, stream() will attempt to read the limit with the most
|
|
52
56
|
# efficient page size, i.e. min(limit, 1000)
|
|
53
57
|
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
54
|
-
def stream(limit: nil, page_size: nil)
|
|
58
|
+
def stream(sink_sid: :unset, limit: nil, page_size: nil)
|
|
55
59
|
limits = @version.read_limits(limit, page_size)
|
|
56
60
|
|
|
57
|
-
page = self.page(page_size: limits[:page_size], )
|
|
61
|
+
page = self.page(sink_sid: sink_sid, page_size: limits[:page_size], )
|
|
58
62
|
|
|
59
63
|
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
60
64
|
end
|
|
@@ -76,12 +80,15 @@ module Twilio
|
|
|
76
80
|
##
|
|
77
81
|
# Retrieve a single page of SubscriptionInstance records from the API.
|
|
78
82
|
# Request is executed immediately.
|
|
83
|
+
# @param [String] sink_sid The SID of the sink that the list of Subscriptions
|
|
84
|
+
# should be filtered by.
|
|
79
85
|
# @param [String] page_token PageToken provided by the API
|
|
80
86
|
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
81
87
|
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
82
88
|
# @return [Page] Page of SubscriptionInstance
|
|
83
|
-
def page(page_token: :unset, page_number: :unset, page_size: :unset)
|
|
89
|
+
def page(sink_sid: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
|
84
90
|
params = Twilio::Values.of({
|
|
91
|
+
'SinkSid' => sink_sid,
|
|
85
92
|
'PageToken' => page_token,
|
|
86
93
|
'Page' => page_number,
|
|
87
94
|
'PageSize' => page_size,
|