twilio-ruby 5.56.0 → 5.58.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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.travis.yml +24 -7
  4. data/CHANGES.md +76 -0
  5. data/Gemfile +1 -0
  6. data/README.md +2 -2
  7. data/examples/examples.rb +1 -1
  8. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +12 -3
  9. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +4 -1
  10. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +1 -1
  11. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +11 -11
  12. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
  13. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +12 -5
  14. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  15. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +12 -5
  16. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  17. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  18. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +44 -0
  19. data/lib/twilio-ruby/rest/conversations/v1/service.rb +23 -0
  20. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  21. data/lib/twilio-ruby/rest/conversations/v1/user.rb +35 -0
  22. data/lib/twilio-ruby/rest/conversations/v1.rb +7 -0
  23. data/lib/twilio-ruby/rest/conversations.rb +6 -0
  24. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
  25. data/lib/twilio-ruby/rest/insights/v1.rb +7 -0
  26. data/lib/twilio-ruby/rest/insights.rb +6 -0
  27. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +19 -1
  28. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +6 -2
  29. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  30. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  31. data/lib/twilio-ruby/rest/pricing/v2.rb +37 -0
  32. data/lib/twilio-ruby/rest/pricing.rb +19 -0
  33. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +7 -0
  34. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +26 -5
  35. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +24 -5
  36. data/lib/twilio-ruby/version.rb +1 -1
  37. data/sonar-project.properties +13 -0
  38. metadata +10 -2
@@ -15,9 +15,46 @@ module Twilio
15
15
  def initialize(domain)
16
16
  super
17
17
  @version = 'v2'
18
+ @countries = nil
19
+ @numbers = nil
18
20
  @voice = nil
19
21
  end
20
22
 
23
+ ##
24
+ # @param [String] iso_country The {ISO country
25
+ # code}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] of the origin-based
26
+ # voice pricing information to fetch.
27
+ # @return [Twilio::REST::Pricing::V2::CountryContext] if iso_country was passed.
28
+ # @return [Twilio::REST::Pricing::V2::CountryList]
29
+ def countries(iso_country=:unset)
30
+ if iso_country.nil?
31
+ raise ArgumentError, 'iso_country cannot be nil'
32
+ end
33
+ if iso_country == :unset
34
+ @countries ||= CountryList.new self
35
+ else
36
+ CountryContext.new(self, iso_country)
37
+ end
38
+ end
39
+
40
+ ##
41
+ # @param [String] destination_number The destination phone number, in
42
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
43
+ # fetch the origin-based voice pricing information. E.164 format consists of a +
44
+ # followed by the country code and subscriber number.
45
+ # @return [Twilio::REST::Pricing::V2::NumberContext] if destination_number was passed.
46
+ # @return [Twilio::REST::Pricing::V2::NumberList]
47
+ def numbers(destination_number=:unset)
48
+ if destination_number.nil?
49
+ raise ArgumentError, 'destination_number cannot be nil'
50
+ end
51
+ if destination_number == :unset
52
+ @numbers ||= NumberList.new self
53
+ else
54
+ NumberContext.new(self, destination_number)
55
+ end
56
+ end
57
+
21
58
  ##
22
59
  # @return [Twilio::REST::Pricing::V2::VoiceContext]
23
60
  def voice
@@ -53,6 +53,25 @@ module Twilio
53
53
  self.v2.voice()
54
54
  end
55
55
 
56
+ ##
57
+ # @param [String] iso_country The {ISO country
58
+ # code}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2].
59
+ # @return [Twilio::REST::Pricing::V2::CountryInstance] if iso_country was passed.
60
+ # @return [Twilio::REST::Pricing::V2::CountryList]
61
+ def countries(iso_country=:unset)
62
+ self.v2.countries(iso_country)
63
+ end
64
+
65
+ ##
66
+ # @param [String] destination_number The destination phone number in
67
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, which consists
68
+ # of a + followed by the country code and subscriber number.
69
+ # @return [Twilio::REST::Pricing::V2::NumberInstance] if destination_number was passed.
70
+ # @return [Twilio::REST::Pricing::V2::NumberList]
71
+ def numbers(destination_number=:unset)
72
+ self.v2.numbers(destination_number)
73
+ end
74
+
56
75
  ##
57
76
  # Provide a user friendly representation
58
77
  def to_s
@@ -282,6 +282,7 @@ module Twilio
282
282
  'sid' => payload['sid'],
283
283
  'workspace_sid' => payload['workspace_sid'],
284
284
  'url' => payload['url'],
285
+ 'links' => payload['links'],
285
286
  }
286
287
 
287
288
  # Context
@@ -348,6 +349,12 @@ module Twilio
348
349
  @properties['url']
349
350
  end
350
351
 
352
+ ##
353
+ # @return [String] The links
354
+ def links
355
+ @properties['links']
356
+ end
357
+
351
358
  ##
352
359
  # Fetch the ActivityInstance
353
360
  # @return [ActivityInstance] Fetched ActivityInstance
@@ -81,6 +81,9 @@ module Twilio
81
81
  # @param [String] factor_sid The unique SID identifier of the Factor.
82
82
  # @param [challenge.ChallengeStatuses] status The Status of the Challenges to
83
83
  # fetch. One of `pending`, `expired`, `approved` or `denied`.
84
+ # @param [challenge.ListOrders] order The desired sort order of the Challenges
85
+ # list. One of `asc` or `desc` for ascending and descending respectively. Defaults
86
+ # to `asc`.
84
87
  # @param [Integer] limit Upper limit for the number of records to return. stream()
85
88
  # guarantees to never return more than limit. Default is no limit
86
89
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -88,8 +91,14 @@ module Twilio
88
91
  # but a limit is defined, stream() will attempt to read the limit with the most
89
92
  # efficient page size, i.e. min(limit, 1000)
90
93
  # @return [Array] Array of up to limit results
91
- def list(factor_sid: :unset, status: :unset, limit: nil, page_size: nil)
92
- self.stream(factor_sid: factor_sid, status: status, limit: limit, page_size: page_size).entries
94
+ def list(factor_sid: :unset, status: :unset, order: :unset, limit: nil, page_size: nil)
95
+ self.stream(
96
+ factor_sid: factor_sid,
97
+ status: status,
98
+ order: order,
99
+ limit: limit,
100
+ page_size: page_size
101
+ ).entries
93
102
  end
94
103
 
95
104
  ##
@@ -99,6 +108,9 @@ module Twilio
99
108
  # @param [String] factor_sid The unique SID identifier of the Factor.
100
109
  # @param [challenge.ChallengeStatuses] status The Status of the Challenges to
101
110
  # fetch. One of `pending`, `expired`, `approved` or `denied`.
111
+ # @param [challenge.ListOrders] order The desired sort order of the Challenges
112
+ # list. One of `asc` or `desc` for ascending and descending respectively. Defaults
113
+ # to `asc`.
102
114
  # @param [Integer] limit Upper limit for the number of records to return. stream()
103
115
  # guarantees to never return more than limit. Default is no limit.
104
116
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -106,10 +118,15 @@ module Twilio
106
118
  # but a limit is defined, stream() will attempt to read the limit with the most
107
119
  # efficient page size, i.e. min(limit, 1000)
108
120
  # @return [Enumerable] Enumerable that will yield up to limit results
109
- def stream(factor_sid: :unset, status: :unset, limit: nil, page_size: nil)
121
+ def stream(factor_sid: :unset, status: :unset, order: :unset, limit: nil, page_size: nil)
110
122
  limits = @version.read_limits(limit, page_size)
111
123
 
112
- page = self.page(factor_sid: factor_sid, status: status, page_size: limits[:page_size], )
124
+ page = self.page(
125
+ factor_sid: factor_sid,
126
+ status: status,
127
+ order: order,
128
+ page_size: limits[:page_size],
129
+ )
113
130
 
114
131
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
115
132
  end
@@ -134,14 +151,18 @@ module Twilio
134
151
  # @param [String] factor_sid The unique SID identifier of the Factor.
135
152
  # @param [challenge.ChallengeStatuses] status The Status of the Challenges to
136
153
  # fetch. One of `pending`, `expired`, `approved` or `denied`.
154
+ # @param [challenge.ListOrders] order The desired sort order of the Challenges
155
+ # list. One of `asc` or `desc` for ascending and descending respectively. Defaults
156
+ # to `asc`.
137
157
  # @param [String] page_token PageToken provided by the API
138
158
  # @param [Integer] page_number Page Number, this value is simply for client state
139
159
  # @param [Integer] page_size Number of records to return, defaults to 50
140
160
  # @return [Page] Page of ChallengeInstance
141
- def page(factor_sid: :unset, status: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
161
+ def page(factor_sid: :unset, status: :unset, order: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
142
162
  params = Twilio::Values.of({
143
163
  'FactorSid' => factor_sid,
144
164
  'Status' => status,
165
+ 'Order' => order,
145
166
  'PageToken' => page_token,
146
167
  'Page' => page_number,
147
168
  'PageSize' => page_size,
@@ -37,13 +37,17 @@ module Twilio
37
37
  # @param [String] webhook_url The URL associated with this Webhook.
38
38
  # @param [webhook.Status] status The webhook status. Default value is `enabled`.
39
39
  # One of: `enabled` or `disabled`
40
+ # @param [webhook.Version] version The webhook version. Default value is `v2`
41
+ # which includes all the latest fields. Version `v1` is legacy and may be removed
42
+ # in the future.
40
43
  # @return [WebhookInstance] Created WebhookInstance
41
- def create(friendly_name: nil, event_types: nil, webhook_url: nil, status: :unset)
44
+ def create(friendly_name: nil, event_types: nil, webhook_url: nil, status: :unset, version: :unset)
42
45
  data = Twilio::Values.of({
43
46
  'FriendlyName' => friendly_name,
44
47
  'EventTypes' => Twilio.serialize_list(event_types) { |e| e },
45
48
  'WebhookUrl' => webhook_url,
46
49
  'Status' => status,
50
+ 'Version' => version,
47
51
  })
48
52
 
49
53
  payload = @version.create('POST', @uri, data: data)
@@ -197,13 +201,17 @@ module Twilio
197
201
  # @param [String] webhook_url The URL associated with this Webhook.
198
202
  # @param [webhook.Status] status The webhook status. Default value is `enabled`.
199
203
  # One of: `enabled` or `disabled`
204
+ # @param [webhook.Version] version The webhook version. Default value is `v2`
205
+ # which includes all the latest fields. Version `v1` is legacy and may be removed
206
+ # in the future.
200
207
  # @return [WebhookInstance] Updated WebhookInstance
201
- def update(friendly_name: :unset, event_types: :unset, webhook_url: :unset, status: :unset)
208
+ def update(friendly_name: :unset, event_types: :unset, webhook_url: :unset, status: :unset, version: :unset)
202
209
  data = Twilio::Values.of({
203
210
  'FriendlyName' => friendly_name,
204
211
  'EventTypes' => Twilio.serialize_list(event_types) { |e| e },
205
212
  'WebhookUrl' => webhook_url,
206
213
  'Status' => status,
214
+ 'Version' => version,
207
215
  })
208
216
 
209
217
  payload = @version.update('POST', @uri, data: data)
@@ -264,6 +272,7 @@ module Twilio
264
272
  'friendly_name' => payload['friendly_name'],
265
273
  'event_types' => payload['event_types'],
266
274
  'status' => payload['status'],
275
+ 'version' => payload['version'],
267
276
  'webhook_url' => payload['webhook_url'],
268
277
  'webhook_method' => payload['webhook_method'],
269
278
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
@@ -323,6 +332,12 @@ module Twilio
323
332
  @properties['status']
324
333
  end
325
334
 
335
+ ##
336
+ # @return [webhook.Version] The webhook version
337
+ def version
338
+ @properties['version']
339
+ end
340
+
326
341
  ##
327
342
  # @return [String] The URL associated with this Webhook.
328
343
  def webhook_url
@@ -336,13 +351,13 @@ module Twilio
336
351
  end
337
352
 
338
353
  ##
339
- # @return [Time] The RFC 2822 date and time in GMT when the resource was created
354
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
340
355
  def date_created
341
356
  @properties['date_created']
342
357
  end
343
358
 
344
359
  ##
345
- # @return [Time] The RFC 2822 date and time in GMT when the resource was last updated
360
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
346
361
  def date_updated
347
362
  @properties['date_updated']
348
363
  end
@@ -363,13 +378,17 @@ module Twilio
363
378
  # @param [String] webhook_url The URL associated with this Webhook.
364
379
  # @param [webhook.Status] status The webhook status. Default value is `enabled`.
365
380
  # One of: `enabled` or `disabled`
381
+ # @param [webhook.Version] version The webhook version. Default value is `v2`
382
+ # which includes all the latest fields. Version `v1` is legacy and may be removed
383
+ # in the future.
366
384
  # @return [WebhookInstance] Updated WebhookInstance
367
- def update(friendly_name: :unset, event_types: :unset, webhook_url: :unset, status: :unset)
385
+ def update(friendly_name: :unset, event_types: :unset, webhook_url: :unset, status: :unset, version: :unset)
368
386
  context.update(
369
387
  friendly_name: friendly_name,
370
388
  event_types: event_types,
371
389
  webhook_url: webhook_url,
372
390
  status: status,
391
+ version: version,
373
392
  )
374
393
  end
375
394
 
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '5.56.0'
2
+ VERSION = '5.58.1'
3
3
  end
@@ -0,0 +1,13 @@
1
+ sonar.projectKey=twilio_twilio-ruby
2
+ sonar.projectName=twilio-ruby
3
+ sonar.organization=twilio
4
+
5
+ sonar.sources=lib/twilio-ruby
6
+ # Exclude any auto-generated source code
7
+ sonar.exclusions=lib/twilio-ruby/rest/**/*
8
+ sonar.tests=spec/
9
+ # Exclude any auto-generated integration tests
10
+ sonar.test.exclusions=spec/integration/**/*.spec.rb
11
+
12
+ # For Code Coverage analysis
13
+ sonar.ruby.coverage.reportPaths=coverage/.resultset.sonarqube.json
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twilio-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.56.0
4
+ version: 5.58.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Twilio API Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-30 00:00:00.000000000 Z
11
+ date: 2021-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -398,6 +398,7 @@ files:
398
398
  - lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb
399
399
  - lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb
400
400
  - lib/twilio-ruby/rest/conversations/v1/credential.rb
401
+ - lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb
401
402
  - lib/twilio-ruby/rest/conversations/v1/role.rb
402
403
  - lib/twilio-ruby/rest/conversations/v1/service.rb
403
404
  - lib/twilio-ruby/rest/conversations/v1/service/binding.rb
@@ -408,9 +409,12 @@ files:
408
409
  - lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb
409
410
  - lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb
410
411
  - lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb
412
+ - lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb
411
413
  - lib/twilio-ruby/rest/conversations/v1/service/role.rb
412
414
  - lib/twilio-ruby/rest/conversations/v1/service/user.rb
415
+ - lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb
413
416
  - lib/twilio-ruby/rest/conversations/v1/user.rb
417
+ - lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb
414
418
  - lib/twilio-ruby/rest/events.rb
415
419
  - lib/twilio-ruby/rest/events/v1.rb
416
420
  - lib/twilio-ruby/rest/events/v1/event_type.rb
@@ -440,6 +444,7 @@ files:
440
444
  - lib/twilio-ruby/rest/insights/v1/call/event.rb
441
445
  - lib/twilio-ruby/rest/insights/v1/call/metric.rb
442
446
  - lib/twilio-ruby/rest/insights/v1/call/summary.rb
447
+ - lib/twilio-ruby/rest/insights/v1/call_summaries.rb
443
448
  - lib/twilio-ruby/rest/insights/v1/room.rb
444
449
  - lib/twilio-ruby/rest/insights/v1/room/participant.rb
445
450
  - lib/twilio-ruby/rest/ip_messaging.rb
@@ -570,6 +575,8 @@ files:
570
575
  - lib/twilio-ruby/rest/pricing/v1/voice/country.rb
571
576
  - lib/twilio-ruby/rest/pricing/v1/voice/number.rb
572
577
  - lib/twilio-ruby/rest/pricing/v2.rb
578
+ - lib/twilio-ruby/rest/pricing/v2/country.rb
579
+ - lib/twilio-ruby/rest/pricing/v2/number.rb
573
580
  - lib/twilio-ruby/rest/pricing/v2/voice.rb
574
581
  - lib/twilio-ruby/rest/pricing/v2/voice/country.rb
575
582
  - lib/twilio-ruby/rest/pricing/v2/voice/number.rb
@@ -749,6 +756,7 @@ files:
749
756
  - lib/twilio-ruby/util.rb
750
757
  - lib/twilio-ruby/util/configuration.rb
751
758
  - lib/twilio-ruby/version.rb
759
+ - sonar-project.properties
752
760
  - twilio-ruby.gemspec
753
761
  homepage: https://github.com/twilio/twilio-ruby
754
762
  licenses: