twilio-ruby 5.40.4 → 5.41.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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +22 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/rest/accounts.rb +12 -0
  5. data/lib/twilio-ruby/rest/accounts/v1.rb +14 -0
  6. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  7. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  8. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +10 -2
  9. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +13 -3
  10. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +7 -0
  11. data/lib/twilio-ruby/rest/preview.rb +8 -0
  12. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +15 -0
  13. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +225 -0
  14. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
  15. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +0 -26
  16. data/lib/twilio-ruby/rest/verify/v2/service.rb +51 -30
  17. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +12 -15
  18. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +38 -18
  19. data/lib/twilio-ruby/version.rb +1 -1
  20. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +44 -0
  21. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +69 -0
  22. data/spec/integration/conversations/v1/conversation_spec.rb +1 -1
  23. data/spec/integration/conversations/v1/service/conversation_spec.rb +1 -1
  24. data/spec/integration/insights/v1/call/summary_spec.rb +1 -0
  25. data/spec/integration/preview/trusted_comms/{business/brand/branded_channel → branded_channel}/channel_spec.rb +4 -8
  26. data/spec/integration/preview/trusted_comms/{business/brand/branded_channel_spec.rb → branded_channel_spec.rb} +5 -9
  27. data/spec/integration/preview/trusted_comms/business_spec.rb +0 -1
  28. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +52 -8
  29. data/spec/integration/verify/v2/service/entity/factor_spec.rb +7 -12
  30. data/spec/integration/verify/v2/service_spec.rb +8 -4
  31. metadata +14 -11
  32. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand.rb +0 -233
  33. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel.rb +0 -260
  34. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel/channel.rb +0 -189
  35. data/spec/integration/preview/trusted_comms/business/brand_spec.rb +0 -48
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8479716e0775fc4f9ba20ccb92d92b9207c8363c100206df4329034f40e9c822
4
- data.tar.gz: 9ecf86d0fe73d49a94d2c8e2e9d1712ee9270e73286ceb92edc2e1a1d35fb19f
3
+ metadata.gz: c548240307368086558968434b8b50b3ead23dbba48cb53ebc963eaf1e936702
4
+ data.tar.gz: 937b105aaf095225ed79d78ebd26fd6801ada93882d7d548aa8cdcec7fe66276
5
5
  SHA512:
6
- metadata.gz: 408171ca407783e4586f23471770f92633719e331c3853a7a3843250c8f58165494c72369e055919efb3330dc69b16798de1ec5c9db77cdd91a594eb4b8dac8d
7
- data.tar.gz: c345b99f3215e4ac16eeb294986e13a8adf94c84ef74066713ec75afe2724956bd04fe7c1d46a4b11a4ef6df4613d155ccb3c442f5ab0a61b88a9f49197ad330
6
+ metadata.gz: 6ee5a02adf682fe9f45ae37a6a514b5fb680fbc45e6c8bcf9425ee12c1f8a82e91e2716a0a9082977a1dab0f43e440a8a39eaf83f984548cff035903f9c137a9
7
+ data.tar.gz: f1fc0070b27646e0f4eb75564837c0cb7dec03aea47622da9df32e996344dfd5b0482fce8548af8ca693a45b5548b9c2e888f9d1daafabc59fa331d14441921b
data/CHANGES.md CHANGED
@@ -1,6 +1,28 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ [2020-10-14] Version 5.41.0
5
+ ---------------------------
6
+ **Ai**
7
+ - Add `Annotation Project` and `Annotation Task` endpoints
8
+ - Add `Primitives` endpoints
9
+ - Add `meta.total` to the search endpoint
10
+
11
+ **Conversations**
12
+ - Mutable Conversation Unique Names
13
+
14
+ **Insights**
15
+ - Added `trust` to summary.
16
+
17
+ **Preview**
18
+ - Simplified `Channels` resource. The path is now `/BrandedChannels/branded_channel_sid/Channels` **(breaking change)**
19
+
20
+ **Verify**
21
+ - Changed parameters (`config` and `binding`) to use dot notation instead of JSON string (e.i. Before: `binding={"alg":"ES256", "public_key": "xxx..."}`, Now: `Binding.Alg="ES256"`, `Binding.PublicKey="xxx..."`). **(breaking change)**
22
+ - Changed parameters (`details` and `hidden_details`) to use dot notation instead of JSON string (e.i. Before: `details={"message":"Test message", "fields": "[{\"label\": \"Action 1\", \"value\":\"value 1\"}]"}`, Now: `details.Message="Test message"`, `Details.Fields=["{\"label\": \"Action 1\", \"value\":\"value 1\"}"]`). **(breaking change)**
23
+ - Removed `notify_service_sid` from `push` service configuration object. Add `Push.IncludeDate`, `Push.ApnCredentialSid` and `Push.FcmCredentialSid` service configuration parameters. **(breaking change)**
24
+
25
+
4
26
  [2020-09-28] Version 5.40.4
5
27
  ---------------------------
6
28
  **Library - Docs**
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.40.4'
37
+ gem 'twilio-ruby', '~> 5.41.0'
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.40.4
43
+ gem install twilio-ruby -v 5.41.0
44
44
  ```
45
45
 
46
46
  To build and install the development branch yourself from the latest source:
@@ -28,12 +28,24 @@ module Twilio
28
28
  @v1 ||= V1.new self
29
29
  end
30
30
 
31
+ ##
32
+ # @return [Twilio::REST::Accounts::V1::AuthTokenPromotionInstance]
33
+ def auth_token_promotion
34
+ self.v1.auth_token_promotion()
35
+ end
36
+
31
37
  ##
32
38
  # @return [Twilio::REST::Accounts::V1::CredentialInstance]
33
39
  def credentials
34
40
  self.v1.credentials()
35
41
  end
36
42
 
43
+ ##
44
+ # @return [Twilio::REST::Accounts::V1::SecondaryAuthTokenInstance]
45
+ def secondary_auth_token
46
+ self.v1.secondary_auth_token()
47
+ end
48
+
37
49
  ##
38
50
  # Provide a user friendly representation
39
51
  def to_s
@@ -15,7 +15,15 @@ module Twilio
15
15
  def initialize(domain)
16
16
  super
17
17
  @version = 'v1'
18
+ @auth_token_promotion = nil
18
19
  @credentials = nil
20
+ @secondary_auth_token = nil
21
+ end
22
+
23
+ ##
24
+ # @return [Twilio::REST::Accounts::V1::AuthTokenPromotionContext]
25
+ def auth_token_promotion
26
+ @auth_token_promotion ||= AuthTokenPromotionContext.new self
19
27
  end
20
28
 
21
29
  ##
@@ -24,6 +32,12 @@ module Twilio
24
32
  @credentials ||= CredentialList.new self
25
33
  end
26
34
 
35
+ ##
36
+ # @return [Twilio::REST::Accounts::V1::SecondaryAuthTokenContext]
37
+ def secondary_auth_token
38
+ @secondary_auth_token ||= SecondaryAuthTokenContext.new self
39
+ end
40
+
27
41
  ##
28
42
  # Provide a user friendly representation
29
43
  def to_s
@@ -0,0 +1,186 @@
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 Accounts < Domain
12
+ class V1 < Version
13
+ class AuthTokenPromotionList < ListResource
14
+ ##
15
+ # Initialize the AuthTokenPromotionList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [AuthTokenPromotionList] AuthTokenPromotionList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ end
24
+
25
+ ##
26
+ # Provide a user friendly representation
27
+ def to_s
28
+ '#<Twilio.Accounts.V1.AuthTokenPromotionList>'
29
+ end
30
+ end
31
+
32
+ class AuthTokenPromotionPage < Page
33
+ ##
34
+ # Initialize the AuthTokenPromotionPage
35
+ # @param [Version] version Version that contains the resource
36
+ # @param [Response] response Response from the API
37
+ # @param [Hash] solution Path solution for the resource
38
+ # @return [AuthTokenPromotionPage] AuthTokenPromotionPage
39
+ def initialize(version, response, solution)
40
+ super(version, response)
41
+
42
+ # Path Solution
43
+ @solution = solution
44
+ end
45
+
46
+ ##
47
+ # Build an instance of AuthTokenPromotionInstance
48
+ # @param [Hash] payload Payload response from the API
49
+ # @return [AuthTokenPromotionInstance] AuthTokenPromotionInstance
50
+ def get_instance(payload)
51
+ AuthTokenPromotionInstance.new(@version, payload, )
52
+ end
53
+
54
+ ##
55
+ # Provide a user friendly representation
56
+ def to_s
57
+ '<Twilio.Accounts.V1.AuthTokenPromotionPage>'
58
+ end
59
+ end
60
+
61
+ class AuthTokenPromotionContext < InstanceContext
62
+ ##
63
+ # Initialize the AuthTokenPromotionContext
64
+ # @param [Version] version Version that contains the resource
65
+ # @return [AuthTokenPromotionContext] AuthTokenPromotionContext
66
+ def initialize(version)
67
+ super(version)
68
+
69
+ # Path Solution
70
+ @solution = {}
71
+ @uri = "/AuthTokens/Promote"
72
+ end
73
+
74
+ ##
75
+ # Update the AuthTokenPromotionInstance
76
+ # @return [AuthTokenPromotionInstance] Updated AuthTokenPromotionInstance
77
+ def update
78
+ payload = @version.update('POST', @uri)
79
+
80
+ AuthTokenPromotionInstance.new(@version, payload, )
81
+ end
82
+
83
+ ##
84
+ # Provide a user friendly representation
85
+ def to_s
86
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
87
+ "#<Twilio.Accounts.V1.AuthTokenPromotionContext #{context}>"
88
+ end
89
+
90
+ ##
91
+ # Provide a detailed, user friendly representation
92
+ def inspect
93
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
94
+ "#<Twilio.Accounts.V1.AuthTokenPromotionContext #{context}>"
95
+ end
96
+ end
97
+
98
+ class AuthTokenPromotionInstance < InstanceResource
99
+ ##
100
+ # Initialize the AuthTokenPromotionInstance
101
+ # @param [Version] version Version that contains the resource
102
+ # @param [Hash] payload payload that contains response from Twilio
103
+ # @return [AuthTokenPromotionInstance] AuthTokenPromotionInstance
104
+ def initialize(version, payload)
105
+ super(version)
106
+
107
+ # Marshaled Properties
108
+ @properties = {
109
+ 'account_sid' => payload['account_sid'],
110
+ 'auth_token' => payload['auth_token'],
111
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
112
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
113
+ 'url' => payload['url'],
114
+ }
115
+
116
+ # Context
117
+ @instance_context = nil
118
+ @params = {}
119
+ end
120
+
121
+ ##
122
+ # Generate an instance context for the instance, the context is capable of
123
+ # performing various actions. All instance actions are proxied to the context
124
+ # @return [AuthTokenPromotionContext] AuthTokenPromotionContext for this AuthTokenPromotionInstance
125
+ def context
126
+ unless @instance_context
127
+ @instance_context = AuthTokenPromotionContext.new(@version, )
128
+ end
129
+ @instance_context
130
+ end
131
+
132
+ ##
133
+ # @return [String] The SID of the Account that the secondary Auth Token was created for
134
+ def account_sid
135
+ @properties['account_sid']
136
+ end
137
+
138
+ ##
139
+ # @return [String] The promoted Auth Token
140
+ def auth_token
141
+ @properties['auth_token']
142
+ end
143
+
144
+ ##
145
+ # @return [Time] The ISO 8601 formatted date and time in UTC when the resource was created
146
+ def date_created
147
+ @properties['date_created']
148
+ end
149
+
150
+ ##
151
+ # @return [Time] The ISO 8601 formatted date and time in UTC when the resource was last updated
152
+ def date_updated
153
+ @properties['date_updated']
154
+ end
155
+
156
+ ##
157
+ # @return [String] The URI for this resource, relative to `https://accounts.twilio.com`
158
+ def url
159
+ @properties['url']
160
+ end
161
+
162
+ ##
163
+ # Update the AuthTokenPromotionInstance
164
+ # @return [AuthTokenPromotionInstance] Updated AuthTokenPromotionInstance
165
+ def update
166
+ context.update
167
+ end
168
+
169
+ ##
170
+ # Provide a user friendly representation
171
+ def to_s
172
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
173
+ "<Twilio.Accounts.V1.AuthTokenPromotionInstance #{values}>"
174
+ end
175
+
176
+ ##
177
+ # Provide a detailed, user friendly representation
178
+ def inspect
179
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
180
+ "<Twilio.Accounts.V1.AuthTokenPromotionInstance #{values}>"
181
+ end
182
+ end
183
+ end
184
+ end
185
+ end
186
+ end
@@ -0,0 +1,200 @@
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 Accounts < Domain
12
+ class V1 < Version
13
+ class SecondaryAuthTokenList < ListResource
14
+ ##
15
+ # Initialize the SecondaryAuthTokenList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [SecondaryAuthTokenList] SecondaryAuthTokenList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ end
24
+
25
+ ##
26
+ # Provide a user friendly representation
27
+ def to_s
28
+ '#<Twilio.Accounts.V1.SecondaryAuthTokenList>'
29
+ end
30
+ end
31
+
32
+ class SecondaryAuthTokenPage < Page
33
+ ##
34
+ # Initialize the SecondaryAuthTokenPage
35
+ # @param [Version] version Version that contains the resource
36
+ # @param [Response] response Response from the API
37
+ # @param [Hash] solution Path solution for the resource
38
+ # @return [SecondaryAuthTokenPage] SecondaryAuthTokenPage
39
+ def initialize(version, response, solution)
40
+ super(version, response)
41
+
42
+ # Path Solution
43
+ @solution = solution
44
+ end
45
+
46
+ ##
47
+ # Build an instance of SecondaryAuthTokenInstance
48
+ # @param [Hash] payload Payload response from the API
49
+ # @return [SecondaryAuthTokenInstance] SecondaryAuthTokenInstance
50
+ def get_instance(payload)
51
+ SecondaryAuthTokenInstance.new(@version, payload, )
52
+ end
53
+
54
+ ##
55
+ # Provide a user friendly representation
56
+ def to_s
57
+ '<Twilio.Accounts.V1.SecondaryAuthTokenPage>'
58
+ end
59
+ end
60
+
61
+ class SecondaryAuthTokenContext < InstanceContext
62
+ ##
63
+ # Initialize the SecondaryAuthTokenContext
64
+ # @param [Version] version Version that contains the resource
65
+ # @return [SecondaryAuthTokenContext] SecondaryAuthTokenContext
66
+ def initialize(version)
67
+ super(version)
68
+
69
+ # Path Solution
70
+ @solution = {}
71
+ @uri = "/AuthTokens/Secondary"
72
+ end
73
+
74
+ ##
75
+ # Create the SecondaryAuthTokenInstance
76
+ # @return [SecondaryAuthTokenInstance] Created SecondaryAuthTokenInstance
77
+ def create
78
+ payload = @version.create('POST', @uri)
79
+
80
+ SecondaryAuthTokenInstance.new(@version, payload, )
81
+ end
82
+
83
+ ##
84
+ # Delete the SecondaryAuthTokenInstance
85
+ # @return [Boolean] true if delete succeeds, false otherwise
86
+ def delete
87
+ @version.delete('DELETE', @uri)
88
+ end
89
+
90
+ ##
91
+ # Provide a user friendly representation
92
+ def to_s
93
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
94
+ "#<Twilio.Accounts.V1.SecondaryAuthTokenContext #{context}>"
95
+ end
96
+
97
+ ##
98
+ # Provide a detailed, user friendly representation
99
+ def inspect
100
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
101
+ "#<Twilio.Accounts.V1.SecondaryAuthTokenContext #{context}>"
102
+ end
103
+ end
104
+
105
+ class SecondaryAuthTokenInstance < InstanceResource
106
+ ##
107
+ # Initialize the SecondaryAuthTokenInstance
108
+ # @param [Version] version Version that contains the resource
109
+ # @param [Hash] payload payload that contains response from Twilio
110
+ # @return [SecondaryAuthTokenInstance] SecondaryAuthTokenInstance
111
+ def initialize(version, payload)
112
+ super(version)
113
+
114
+ # Marshaled Properties
115
+ @properties = {
116
+ 'account_sid' => payload['account_sid'],
117
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
118
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
119
+ 'secondary_auth_token' => payload['secondary_auth_token'],
120
+ 'url' => payload['url'],
121
+ }
122
+
123
+ # Context
124
+ @instance_context = nil
125
+ @params = {}
126
+ end
127
+
128
+ ##
129
+ # Generate an instance context for the instance, the context is capable of
130
+ # performing various actions. All instance actions are proxied to the context
131
+ # @return [SecondaryAuthTokenContext] SecondaryAuthTokenContext for this SecondaryAuthTokenInstance
132
+ def context
133
+ unless @instance_context
134
+ @instance_context = SecondaryAuthTokenContext.new(@version, )
135
+ end
136
+ @instance_context
137
+ end
138
+
139
+ ##
140
+ # @return [String] The SID of the Account that the secondary Auth Token was created for
141
+ def account_sid
142
+ @properties['account_sid']
143
+ end
144
+
145
+ ##
146
+ # @return [Time] The ISO 8601 formatted date and time in UTC when the resource was created
147
+ def date_created
148
+ @properties['date_created']
149
+ end
150
+
151
+ ##
152
+ # @return [Time] The ISO 8601 formatted date and time in UTC when the resource was last updated
153
+ def date_updated
154
+ @properties['date_updated']
155
+ end
156
+
157
+ ##
158
+ # @return [String] The generated secondary Auth Token
159
+ def secondary_auth_token
160
+ @properties['secondary_auth_token']
161
+ end
162
+
163
+ ##
164
+ # @return [String] The URI for this resource, relative to `https://accounts.twilio.com`
165
+ def url
166
+ @properties['url']
167
+ end
168
+
169
+ ##
170
+ # Create the SecondaryAuthTokenInstance
171
+ # @return [SecondaryAuthTokenInstance] Created SecondaryAuthTokenInstance
172
+ def create
173
+ context.create
174
+ end
175
+
176
+ ##
177
+ # Delete the SecondaryAuthTokenInstance
178
+ # @return [Boolean] true if delete succeeds, false otherwise
179
+ def delete
180
+ context.delete
181
+ end
182
+
183
+ ##
184
+ # Provide a user friendly representation
185
+ def to_s
186
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
187
+ "<Twilio.Accounts.V1.SecondaryAuthTokenInstance #{values}>"
188
+ end
189
+
190
+ ##
191
+ # Provide a detailed, user friendly representation
192
+ def inspect
193
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
194
+ "<Twilio.Accounts.V1.SecondaryAuthTokenInstance #{values}>"
195
+ end
196
+ end
197
+ end
198
+ end
199
+ end
200
+ end