twilio-ruby 5.40.4 → 5.41.0

Sign up to get free protection for your applications and to get access to all the features.
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