twilio-ruby 5.52.0 → 5.67.3
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 +5 -5
- data/.github/workflows/pr-lint.yml +15 -0
- data/.github/workflows/test-and-deploy.yml +129 -0
- data/.gitignore +5 -1
- data/.rubocop.yml +1 -1
- data/.rubocop_todo.yml +91 -28
- data/CHANGES.md +563 -0
- data/Gemfile +1 -0
- data/Makefile +8 -11
- data/README.md +13 -6
- data/examples/examples.rb +1 -1
- data/lib/rack/twilio_webhook_authentication.rb +25 -1
- data/lib/twilio-ruby/http/http_client.rb +20 -4
- data/lib/twilio-ruby/http.rb +5 -0
- data/lib/twilio-ruby/jwt/access_token.rb +13 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +23 -23
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +5 -5
- data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +8 -8
- data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +68 -14
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +12 -8
- data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +11 -4
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +11 -4
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +11 -4
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +17 -10
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +18 -5
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +34 -7
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +11 -11
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
- data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +0 -8
- data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +0 -6
- data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +0 -8
- data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +0 -8
- data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +0 -8
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +10 -4
- data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
- data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
- data/lib/twilio-ruby/rest/chat.rb +16 -0
- data/lib/twilio-ruby/rest/client.rb +21 -12
- data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +12 -5
- data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +7 -0
- data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +18 -2
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +8 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +12 -5
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +7 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +44 -0
- data/lib/twilio-ruby/rest/conversations/v1/service.rb +23 -0
- data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
- data/lib/twilio-ruby/rest/conversations/v1/user.rb +35 -0
- data/lib/twilio-ruby/rest/conversations/v1.rb +24 -0
- data/lib/twilio-ruby/rest/conversations.rb +15 -0
- data/lib/twilio-ruby/rest/events/v1/event_type.rb +12 -5
- data/lib/twilio-ruby/rest/events/v1/sink.rb +41 -5
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +28 -0
- data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +55 -34
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +384 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +233 -0
- data/lib/twilio-ruby/rest/flex_api/v1.rb +16 -0
- data/lib/twilio-ruby/rest/flex_api.rb +9 -0
- data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +258 -0
- data/lib/twilio-ruby/rest/{fax → frontline_api}/v1.rb +11 -11
- data/lib/twilio-ruby/rest/{fax.rb → frontline_api.rb} +11 -11
- data/lib/twilio-ruby/rest/insights/v1/annotation.rb +271 -0
- data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
- data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
- data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
- data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
- data/lib/twilio-ruby/rest/insights/v1.rb +46 -0
- data/lib/twilio-ruby/rest/insights.rb +28 -0
- data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +268 -0
- data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
- data/lib/twilio-ruby/rest/lookups.rb +7 -0
- data/lib/twilio-ruby/rest/media/v1/media_processor.rb +397 -0
- data/lib/twilio-ruby/rest/media/v1/media_recording.rb +406 -0
- data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
- data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +403 -0
- data/lib/twilio-ruby/rest/media/v1.rb +76 -0
- data/lib/twilio-ruby/rest/media.rb +65 -0
- data/lib/twilio-ruby/rest/{fax/v1/fax/fax_media.rb → messaging/v1/brand_registration/brand_vetting.rb} +134 -95
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +127 -2
- data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +7 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +187 -20
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +6 -2
- data/lib/twilio-ruby/rest/messaging/v1/service.rb +37 -5
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +268 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +128 -26
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +7 -0
- data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
- data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
- data/lib/twilio-ruby/rest/pricing/v2.rb +37 -0
- data/lib/twilio-ruby/rest/pricing.rb +19 -0
- data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +1 -1
- data/lib/twilio-ruby/rest/serverless/v1/service.rb +7 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
- data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -1
- data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +372 -0
- data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +44 -55
- data/lib/twilio-ruby/rest/supersim/v1/{command.rb → ip_command.rb} +132 -84
- data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
- data/lib/twilio-ruby/rest/supersim/v1/sim.rb +30 -1
- data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +1 -1
- data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +23 -9
- data/lib/twilio-ruby/rest/supersim/v1.rb +23 -7
- data/lib/twilio-ruby/rest/supersim.rb +15 -6
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +7 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +7 -3
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +6 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +7 -3
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +23 -11
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +4 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +4 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +38 -22
- data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +19 -3
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +155 -10
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +12 -9
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +74 -22
- data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +34 -15
- data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +66 -31
- data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +7 -3
- data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +25 -7
- data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +24 -5
- data/lib/twilio-ruby/rest/verify/v2/service.rb +40 -11
- data/lib/twilio-ruby/rest/verify/v2/template.rb +206 -0
- data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +89 -21
- data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
- data/lib/twilio-ruby/rest/verify/v2.rb +14 -0
- data/lib/twilio-ruby/rest/verify.rb +14 -2
- data/lib/twilio-ruby/rest/video/v1/composition.rb +21 -8
- data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +0 -8
- data/lib/twilio-ruby/rest/video/v1/recording.rb +21 -0
- data/lib/twilio-ruby/rest/video/v1/room/recording.rb +7 -0
- data/lib/twilio-ruby/rest/video/v1/room.rb +62 -5
- data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
- data/lib/twilio-ruby/rest/voice/v1.rb +21 -0
- data/lib/twilio-ruby/rest/voice.rb +8 -0
- data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +3 -3
- data/lib/twilio-ruby/rest/wireless/v1/sim.rb +16 -26
- data/lib/twilio-ruby/rest.rb +13 -0
- data/lib/twilio-ruby/twiml/voice_response.rb +727 -87
- data/lib/twilio-ruby/version.rb +1 -1
- data/lib/twilio-ruby.rb +6 -16
- data/sonar-project.properties +13 -0
- data/twilio-ruby.gemspec +1 -2
- metadata +59 -32
- data/.travis.yml +0 -45
- data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -536
- /data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +0 -0
- /data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +0 -0
- /data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
- /data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
- /data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
- /data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
- /data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +0 -0
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'rack/media_type'
|
4
|
+
|
3
5
|
module Rack
|
4
6
|
# Middleware that authenticates webhooks from Twilio using the request
|
5
7
|
# validator.
|
@@ -19,6 +21,10 @@ module Rack
|
|
19
21
|
# doesn't validate then the middleware responds immediately with a 403 status.
|
20
22
|
|
21
23
|
class TwilioWebhookAuthentication
|
24
|
+
# Rack's FORM_DATA_MEDIA_TYPES can be modified to taste, so we're slightly
|
25
|
+
# more conservative in what we consider form data.
|
26
|
+
FORM_URLENCODED_MEDIA_TYPE = Rack::MediaType.type('application/x-www-form-urlencoded')
|
27
|
+
|
22
28
|
def initialize(app, auth_token, *paths, &auth_token_lookup)
|
23
29
|
@app = app
|
24
30
|
@auth_token = auth_token
|
@@ -30,7 +36,7 @@ module Rack
|
|
30
36
|
return @app.call(env) unless env['PATH_INFO'].match(@path_regex)
|
31
37
|
request = Rack::Request.new(env)
|
32
38
|
original_url = request.url
|
33
|
-
params = request
|
39
|
+
params = extract_params!(request)
|
34
40
|
auth_token = @auth_token || get_auth_token(params['AccountSid'])
|
35
41
|
validator = Twilio::Security::RequestValidator.new(auth_token)
|
36
42
|
signature = env['HTTP_X_TWILIO_SIGNATURE'] || ''
|
@@ -44,5 +50,23 @@ module Rack
|
|
44
50
|
]
|
45
51
|
end
|
46
52
|
end
|
53
|
+
|
54
|
+
# Extract the params from the the request that we can use to determine the
|
55
|
+
# signature. This _may_ modify the passed in request since it may read/rewind
|
56
|
+
# the body.
|
57
|
+
def extract_params!(request)
|
58
|
+
return {} unless request.post?
|
59
|
+
|
60
|
+
if request.media_type == FORM_URLENCODED_MEDIA_TYPE
|
61
|
+
request.POST
|
62
|
+
else
|
63
|
+
request.body.rewind
|
64
|
+
body = request.body.read
|
65
|
+
request.body.rewind
|
66
|
+
body
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
private :extract_params!
|
47
71
|
end
|
48
72
|
end
|
@@ -16,25 +16,41 @@ module Twilio
|
|
16
16
|
@ssl_ca_file = ssl_ca_file
|
17
17
|
@timeout = timeout
|
18
18
|
@adapter = Faraday.default_adapter
|
19
|
+
@configure_connection_blocks = []
|
19
20
|
end
|
20
21
|
|
21
|
-
def
|
22
|
+
def configure_connection(&block)
|
23
|
+
raise ArgumentError, "#{__method__} must be given a block!" unless block_given?
|
24
|
+
|
25
|
+
@configure_connection_blocks << block
|
26
|
+
nil
|
27
|
+
end
|
28
|
+
|
29
|
+
def _request(request) # rubocop:disable Metrics/MethodLength
|
22
30
|
@connection = Faraday.new(url: request.host + ':' + request.port.to_s, ssl: { verify: true }) do |f|
|
23
31
|
f.options.params_encoder = Faraday::FlatParamsEncoder
|
24
32
|
f.request :url_encoded
|
25
|
-
f.adapter @adapter
|
26
33
|
f.headers = request.headers
|
27
|
-
|
34
|
+
if Faraday::VERSION.start_with?('2.')
|
35
|
+
f.request(:authorization, :basic, request.auth[0], request.auth[1])
|
36
|
+
else
|
37
|
+
f.request(:basic_auth, request.auth[0], request.auth[1])
|
38
|
+
end
|
28
39
|
f.proxy = "#{@proxy_prot}://#{@proxy_auth}#{@proxy_path}" if @proxy_prot && @proxy_path
|
29
40
|
f.options.open_timeout = request.timeout || @timeout
|
30
41
|
f.options.timeout = request.timeout || @timeout
|
42
|
+
|
43
|
+
@configure_connection_blocks.each { |block| block.call(f) }
|
44
|
+
f.adapter @adapter
|
31
45
|
end
|
32
46
|
|
33
47
|
@last_request = request
|
34
48
|
@last_response = nil
|
35
49
|
|
36
50
|
response = send(request)
|
37
|
-
if
|
51
|
+
if (500..599).include?(response.status)
|
52
|
+
object = { message: "Server error (#{response.status})", code: response.status }.to_json
|
53
|
+
elsif response.body && !response.body.empty?
|
38
54
|
object = response.body
|
39
55
|
elsif response.status == 400
|
40
56
|
object = { message: 'Bad request', code: 400 }.to_json
|
@@ -267,6 +267,19 @@ module Twilio
|
|
267
267
|
payload
|
268
268
|
end
|
269
269
|
end
|
270
|
+
|
271
|
+
class PlaybackGrant
|
272
|
+
include AccessTokenGrant
|
273
|
+
attr_accessor :grant
|
274
|
+
|
275
|
+
def _key
|
276
|
+
'player'
|
277
|
+
end
|
278
|
+
|
279
|
+
def _generate_payload
|
280
|
+
grant
|
281
|
+
end
|
282
|
+
end
|
270
283
|
end
|
271
284
|
end
|
272
285
|
end
|
@@ -87,6 +87,20 @@ module Twilio
|
|
87
87
|
@uri = "/Accounts/#{@solution[:account_sid]}/Calls/#{@solution[:call_sid]}/Feedback.json"
|
88
88
|
end
|
89
89
|
|
90
|
+
##
|
91
|
+
# Fetch the FeedbackInstance
|
92
|
+
# @return [FeedbackInstance] Fetched FeedbackInstance
|
93
|
+
def fetch
|
94
|
+
payload = @version.fetch('GET', @uri)
|
95
|
+
|
96
|
+
FeedbackInstance.new(
|
97
|
+
@version,
|
98
|
+
payload,
|
99
|
+
account_sid: @solution[:account_sid],
|
100
|
+
call_sid: @solution[:call_sid],
|
101
|
+
)
|
102
|
+
end
|
103
|
+
|
90
104
|
##
|
91
105
|
# Create the FeedbackInstance
|
92
106
|
# @param [String] quality_score The call quality expressed as an integer from `1`
|
@@ -113,20 +127,6 @@ module Twilio
|
|
113
127
|
)
|
114
128
|
end
|
115
129
|
|
116
|
-
##
|
117
|
-
# Fetch the FeedbackInstance
|
118
|
-
# @return [FeedbackInstance] Fetched FeedbackInstance
|
119
|
-
def fetch
|
120
|
-
payload = @version.fetch('GET', @uri)
|
121
|
-
|
122
|
-
FeedbackInstance.new(
|
123
|
-
@version,
|
124
|
-
payload,
|
125
|
-
account_sid: @solution[:account_sid],
|
126
|
-
call_sid: @solution[:call_sid],
|
127
|
-
)
|
128
|
-
end
|
129
|
-
|
130
130
|
##
|
131
131
|
# Update the FeedbackInstance
|
132
132
|
# @param [String] quality_score The call quality expressed as an integer from `1`
|
@@ -137,7 +137,7 @@ module Twilio
|
|
137
137
|
# `incorrect-caller-id`, `post-dial-delay`, `digits-not-captured`,
|
138
138
|
# `audio-latency`, `unsolicited-call`, or `one-way-audio`.
|
139
139
|
# @return [FeedbackInstance] Updated FeedbackInstance
|
140
|
-
def update(quality_score:
|
140
|
+
def update(quality_score: :unset, issue: :unset)
|
141
141
|
data = Twilio::Values.of({
|
142
142
|
'QualityScore' => quality_score,
|
143
143
|
'Issue' => Twilio.serialize_list(issue) { |e| e },
|
@@ -244,6 +244,13 @@ module Twilio
|
|
244
244
|
@properties['sid']
|
245
245
|
end
|
246
246
|
|
247
|
+
##
|
248
|
+
# Fetch the FeedbackInstance
|
249
|
+
# @return [FeedbackInstance] Fetched FeedbackInstance
|
250
|
+
def fetch
|
251
|
+
context.fetch
|
252
|
+
end
|
253
|
+
|
247
254
|
##
|
248
255
|
# Create the FeedbackInstance
|
249
256
|
# @param [String] quality_score The call quality expressed as an integer from `1`
|
@@ -258,13 +265,6 @@ module Twilio
|
|
258
265
|
context.create(quality_score: quality_score, issue: issue, )
|
259
266
|
end
|
260
267
|
|
261
|
-
##
|
262
|
-
# Fetch the FeedbackInstance
|
263
|
-
# @return [FeedbackInstance] Fetched FeedbackInstance
|
264
|
-
def fetch
|
265
|
-
context.fetch
|
266
|
-
end
|
267
|
-
|
268
268
|
##
|
269
269
|
# Update the FeedbackInstance
|
270
270
|
# @param [String] quality_score The call quality expressed as an integer from `1`
|
@@ -275,7 +275,7 @@ module Twilio
|
|
275
275
|
# `incorrect-caller-id`, `post-dial-delay`, `digits-not-captured`,
|
276
276
|
# `audio-latency`, `unsolicited-call`, or `one-way-audio`.
|
277
277
|
# @return [FeedbackInstance] Updated FeedbackInstance
|
278
|
-
def update(quality_score:
|
278
|
+
def update(quality_score: :unset, issue: :unset)
|
279
279
|
context.update(quality_score: quality_score, issue: issue, )
|
280
280
|
end
|
281
281
|
|
@@ -167,14 +167,14 @@ module Twilio
|
|
167
167
|
'call_feedback_count' => payload['call_feedback_count'].to_i,
|
168
168
|
'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
|
169
169
|
'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
|
170
|
-
'end_date' => Twilio.
|
170
|
+
'end_date' => Twilio.deserialize_iso8601_date(payload['end_date']),
|
171
171
|
'include_subaccounts' => payload['include_subaccounts'],
|
172
172
|
'issues' => payload['issues'],
|
173
173
|
'quality_score_average' => payload['quality_score_average'].to_f,
|
174
174
|
'quality_score_median' => payload['quality_score_median'].to_f,
|
175
175
|
'quality_score_standard_deviation' => payload['quality_score_standard_deviation'].to_f,
|
176
176
|
'sid' => payload['sid'],
|
177
|
-
'start_date' => Twilio.
|
177
|
+
'start_date' => Twilio.deserialize_iso8601_date(payload['start_date']),
|
178
178
|
'status' => payload['status'],
|
179
179
|
}
|
180
180
|
|
@@ -225,7 +225,7 @@ module Twilio
|
|
225
225
|
end
|
226
226
|
|
227
227
|
##
|
228
|
-
# @return [
|
228
|
+
# @return [Date] The latest feedback entry date in the summary
|
229
229
|
def end_date
|
230
230
|
@properties['end_date']
|
231
231
|
end
|
@@ -237,7 +237,7 @@ module Twilio
|
|
237
237
|
end
|
238
238
|
|
239
239
|
##
|
240
|
-
# @return [Array[
|
240
|
+
# @return [Array[Hash]] Issues experienced during the call
|
241
241
|
def issues
|
242
242
|
@properties['issues']
|
243
243
|
end
|
@@ -267,7 +267,7 @@ module Twilio
|
|
267
267
|
end
|
268
268
|
|
269
269
|
##
|
270
|
-
# @return [
|
270
|
+
# @return [Date] The earliest feedback entry date in the summary
|
271
271
|
def start_date
|
272
272
|
@properties['start_date']
|
273
273
|
end
|
@@ -52,7 +52,7 @@ module Twilio
|
|
52
52
|
# overwritten with `currency` field. Leave blank or set to 0 to tokenize.
|
53
53
|
# @param [String] currency The currency of the `charge_amount`, formatted as {ISO
|
54
54
|
# 4127}[http://www.iso.org/iso/home/standards/currency_codes.htm] format. The
|
55
|
-
# default value is `USD` and all values allowed from the
|
55
|
+
# default value is `USD` and all values allowed from the Pay Connector are
|
56
56
|
# accepted.
|
57
57
|
# @param [String] description The description can be used to provide more details
|
58
58
|
# regarding the transaction. This information is submitted along with the payment
|
@@ -63,14 +63,14 @@ module Twilio
|
|
63
63
|
# @param [String] min_postal_code_length A positive integer that is used to
|
64
64
|
# validate the length of the `PostalCode` inputted by the user. User must enter
|
65
65
|
# this many digits.
|
66
|
-
# @param [Hash] parameter A single
|
67
|
-
#
|
66
|
+
# @param [Hash] parameter A single-level JSON object used to pass custom
|
67
|
+
# parameters to payment processors. (Required for ACH payments). The information
|
68
68
|
# that has to be included here depends on the <Pay> Connector. {Read
|
69
69
|
# more}[https://www.twilio.com/console/voice/pay-connectors].
|
70
70
|
# @param [String] payment_connector This is the unique name corresponding to the
|
71
|
-
#
|
72
|
-
#
|
73
|
-
#
|
71
|
+
# Pay Connector installed in the Twilio Add-ons. Learn more about {<Pay>
|
72
|
+
# Connectors}[https://www.twilio.com/console/voice/pay-connectors]. The default
|
73
|
+
# value is `Default`.
|
74
74
|
# @param [payment.PaymentMethod] payment_method Type of payment being captured.
|
75
75
|
# One of `credit-card` or `ach-debit`. The default value is `credit-card`.
|
76
76
|
# @param [Boolean] postal_code Indicates whether the credit card postal code (zip
|
@@ -202,7 +202,7 @@ module Twilio
|
|
202
202
|
# @param [payment.Status] status Indicates whether the current payment session
|
203
203
|
# should be cancelled or completed. When `cancel` the payment session is
|
204
204
|
# cancelled. When `complete`, Twilio sends the payment information to the selected
|
205
|
-
#
|
205
|
+
# Pay Connector for processing.
|
206
206
|
# @return [PaymentInstance] Updated PaymentInstance
|
207
207
|
def update(idempotency_key: nil, status_callback: nil, capture: :unset, status: :unset)
|
208
208
|
data = Twilio::Values.of({
|
@@ -342,7 +342,7 @@ module Twilio
|
|
342
342
|
# @param [payment.Status] status Indicates whether the current payment session
|
343
343
|
# should be cancelled or completed. When `cancel` the payment session is
|
344
344
|
# cancelled. When `complete`, Twilio sends the payment information to the selected
|
345
|
-
#
|
345
|
+
# Pay Connector for processing.
|
346
346
|
# @return [PaymentInstance] Updated PaymentInstance
|
347
347
|
def update(idempotency_key: nil, status_callback: nil, capture: :unset, status: :unset)
|
348
348
|
context.update(
|