twilio-ruby 5.72.1 → 5.73.4

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 (163) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/pr-lint.yml +8 -2
  3. data/.github/workflows/test-and-deploy.yml +3 -3
  4. data/CHANGES.md +89 -0
  5. data/LICENSE +1 -1
  6. data/README.md +2 -2
  7. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +2 -2
  8. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +2 -2
  9. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +2 -2
  10. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +2 -2
  11. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +2 -2
  12. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +2 -2
  13. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +2 -2
  14. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +1 -1
  15. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +5 -5
  16. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +2 -2
  17. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
  18. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
  19. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +59 -0
  20. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +22 -16
  21. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +1 -1
  22. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +4 -4
  23. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +17 -1
  24. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +2 -2
  25. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +3 -3
  26. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +1 -1
  27. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +1 -1
  28. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +1 -1
  29. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +1 -1
  30. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +1 -1
  31. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +1 -1
  32. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +1 -1
  33. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +1 -1
  34. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +1 -1
  35. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +1 -1
  36. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +1 -1
  37. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +1 -1
  38. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +1 -1
  39. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +2 -2
  40. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +1 -1
  41. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +1 -1
  42. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +2 -2
  43. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +1 -1
  44. data/lib/twilio-ruby/rest/chat/v1/service.rb +2 -2
  45. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +1 -1
  46. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +2 -2
  47. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +1 -1
  48. data/lib/twilio-ruby/rest/chat/v2/service.rb +4 -4
  49. data/lib/twilio-ruby/rest/chat/v3/channel.rb +2 -2
  50. data/lib/twilio-ruby/rest/client.rb +14 -0
  51. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +195 -0
  52. data/lib/twilio-ruby/rest/content/v1/content.rb +346 -0
  53. data/lib/twilio-ruby/rest/content/v1.rb +45 -0
  54. data/lib/twilio-ruby/rest/content.rb +47 -0
  55. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +1 -1
  56. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +1 -1
  57. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +1 -1
  58. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +1 -1
  59. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +1 -1
  60. data/lib/twilio-ruby/rest/events/v1/schema.rb +1 -1
  61. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +1 -1
  62. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +156 -0
  63. data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +190 -0
  64. data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +166 -0
  65. data/lib/twilio-ruby/rest/flex_api/v1.rb +21 -0
  66. data/lib/twilio-ruby/rest/flex_api.rb +18 -0
  67. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +7 -0
  68. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +7 -0
  69. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +1 -1
  70. data/lib/twilio-ruby/rest/insights/v1/room.rb +3 -3
  71. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +1 -1
  72. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +2 -2
  73. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +1 -1
  74. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +2 -2
  75. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +1 -1
  76. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +2 -2
  77. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +1 -1
  78. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +4 -4
  79. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +81 -6
  80. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +1 -1
  81. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +2 -2
  82. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +1 -1
  83. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
  84. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +267 -0
  85. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +71 -1
  86. data/lib/twilio-ruby/rest/messaging/v1/service.rb +1 -1
  87. data/lib/twilio-ruby/rest/messaging/v1.rb +34 -0
  88. data/lib/twilio-ruby/rest/messaging.rb +18 -0
  89. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +7 -0
  90. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +1 -1
  91. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
  92. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
  93. data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
  94. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
  95. data/lib/twilio-ruby/rest/oauth/v1.rb +56 -0
  96. data/lib/twilio-ruby/rest/oauth.rb +62 -0
  97. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  98. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +2 -2
  99. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +1 -1
  100. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +2 -2
  101. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +1 -1
  102. data/lib/twilio-ruby/rest/preview.rb +0 -33
  103. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +1 -1
  104. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +1 -14
  105. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +5 -46
  106. data/lib/twilio-ruby/rest/proxy/v1/service.rb +1 -1
  107. data/lib/twilio-ruby/rest/studio/v1/flow.rb +1 -1
  108. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +1 -1
  109. data/lib/twilio-ruby/rest/studio/v2/flow.rb +1 -1
  110. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +1 -1
  111. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +1 -1
  112. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +240 -0
  113. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +4 -4
  114. data/lib/twilio-ruby/rest/supersim/v1.rb +7 -0
  115. data/lib/twilio-ruby/rest/supersim.rb +6 -0
  116. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +1 -1
  117. data/lib/twilio-ruby/rest/sync/v1/service.rb +1 -1
  118. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +1 -1
  119. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +18 -5
  120. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +3 -3
  121. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +12 -12
  122. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +5 -5
  123. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +10 -4
  124. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +3 -3
  125. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +6 -6
  126. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  127. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +9 -3
  128. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +13 -13
  129. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +2 -2
  130. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +1 -1
  131. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +13 -13
  132. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +3 -3
  133. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +2 -2
  134. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +1 -9
  135. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +1 -7
  136. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +0 -8
  137. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +0 -8
  138. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +0 -6
  139. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +0 -8
  140. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +2 -2
  141. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +2 -2
  142. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +0 -8
  143. data/lib/twilio-ruby/rest/verify/v2/service.rb +1 -1
  144. data/lib/twilio-ruby/rest/verify/v2/template.rb +7 -0
  145. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +4 -4
  146. data/lib/twilio-ruby/rest/video/v1/composition.rb +3 -3
  147. data/lib/twilio-ruby/rest/video/v1/recording.rb +2 -2
  148. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +2 -2
  149. data/lib/twilio-ruby/rest/video/v1/room.rb +4 -4
  150. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +2 -2
  151. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +1 -1
  152. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +1 -1
  153. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +3 -3
  154. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +2 -2
  155. data/lib/twilio-ruby/twiml/voice_response.rb +10 -6
  156. data/lib/twilio-ruby/version.rb +1 -1
  157. metadata +20 -8
  158. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  159. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +0 -225
  160. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  161. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  162. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  163. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -65
@@ -0,0 +1,190 @@
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 FlexApi < Domain
12
+ class V1 < Version
13
+ class GoodDataList < ListResource
14
+ ##
15
+ # Initialize the GoodDataList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [GoodDataList] GoodDataList
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.FlexApi.V1.GoodDataList>'
29
+ end
30
+ end
31
+
32
+ class GoodDataPage < Page
33
+ ##
34
+ # Initialize the GoodDataPage
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 [GoodDataPage] GoodDataPage
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 GoodDataInstance
48
+ # @param [Hash] payload Payload response from the API
49
+ # @return [GoodDataInstance] GoodDataInstance
50
+ def get_instance(payload)
51
+ GoodDataInstance.new(@version, payload, )
52
+ end
53
+
54
+ ##
55
+ # Provide a user friendly representation
56
+ def to_s
57
+ '<Twilio.FlexApi.V1.GoodDataPage>'
58
+ end
59
+ end
60
+
61
+ class GoodDataContext < InstanceContext
62
+ ##
63
+ # Initialize the GoodDataContext
64
+ # @param [Version] version Version that contains the resource
65
+ # @return [GoodDataContext] GoodDataContext
66
+ def initialize(version)
67
+ super(version)
68
+
69
+ # Path Solution
70
+ @solution = {}
71
+ @uri = "/Accounts/GoodData"
72
+ end
73
+
74
+ ##
75
+ # Create the GoodDataInstance
76
+ # @param [String] token The Token HTTP request header
77
+ # @return [GoodDataInstance] Created GoodDataInstance
78
+ def create(token: :unset)
79
+ headers = Twilio::Values.of({'Token' => token, })
80
+
81
+ payload = @version.create('POST', @uri, headers: headers)
82
+
83
+ GoodDataInstance.new(@version, payload, )
84
+ end
85
+
86
+ ##
87
+ # Provide a user friendly representation
88
+ def to_s
89
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
90
+ "#<Twilio.FlexApi.V1.GoodDataContext #{context}>"
91
+ end
92
+
93
+ ##
94
+ # Provide a detailed, user friendly representation
95
+ def inspect
96
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
97
+ "#<Twilio.FlexApi.V1.GoodDataContext #{context}>"
98
+ end
99
+ end
100
+
101
+ class GoodDataInstance < InstanceResource
102
+ ##
103
+ # Initialize the GoodDataInstance
104
+ # @param [Version] version Version that contains the resource
105
+ # @param [Hash] payload payload that contains response from Twilio
106
+ # @return [GoodDataInstance] GoodDataInstance
107
+ def initialize(version, payload)
108
+ super(version)
109
+
110
+ # Marshaled Properties
111
+ @properties = {
112
+ 'workspace_id' => payload['workspace_id'],
113
+ 'session_expiry' => payload['session_expiry'],
114
+ 'session_id' => payload['session_id'],
115
+ 'gd_base_url' => payload['gd_base_url'],
116
+ 'url' => payload['url'],
117
+ }
118
+
119
+ # Context
120
+ @instance_context = nil
121
+ @params = {}
122
+ end
123
+
124
+ ##
125
+ # Generate an instance context for the instance, the context is capable of
126
+ # performing various actions. All instance actions are proxied to the context
127
+ # @return [GoodDataContext] GoodDataContext for this GoodDataInstance
128
+ def context
129
+ unless @instance_context
130
+ @instance_context = GoodDataContext.new(@version, )
131
+ end
132
+ @instance_context
133
+ end
134
+
135
+ ##
136
+ # @return [String] Unique workspace ID in gooddata
137
+ def workspace_id
138
+ @properties['workspace_id']
139
+ end
140
+
141
+ ##
142
+ # @return [String] The session expiry date and time
143
+ def session_expiry
144
+ @properties['session_expiry']
145
+ end
146
+
147
+ ##
148
+ # @return [String] Unique session ID
149
+ def session_id
150
+ @properties['session_id']
151
+ end
152
+
153
+ ##
154
+ # @return [String] GoodData login base URL
155
+ def gd_base_url
156
+ @properties['gd_base_url']
157
+ end
158
+
159
+ ##
160
+ # @return [String] The URL of this resource.
161
+ def url
162
+ @properties['url']
163
+ end
164
+
165
+ ##
166
+ # Create the GoodDataInstance
167
+ # @param [String] token The Token HTTP request header
168
+ # @return [GoodDataInstance] Created GoodDataInstance
169
+ def create(token: :unset)
170
+ context.create(token: token, )
171
+ end
172
+
173
+ ##
174
+ # Provide a user friendly representation
175
+ def to_s
176
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
177
+ "<Twilio.FlexApi.V1.GoodDataInstance #{values}>"
178
+ end
179
+
180
+ ##
181
+ # Provide a detailed, user friendly representation
182
+ def inspect
183
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
184
+ "<Twilio.FlexApi.V1.GoodDataInstance #{values}>"
185
+ end
186
+ end
187
+ end
188
+ end
189
+ end
190
+ end
@@ -0,0 +1,166 @@
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 FlexApi < Domain
12
+ class V1 < Version
13
+ class UserRolesList < ListResource
14
+ ##
15
+ # Initialize the UserRolesList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [UserRolesList] UserRolesList
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.FlexApi.V1.UserRolesList>'
29
+ end
30
+ end
31
+
32
+ class UserRolesPage < Page
33
+ ##
34
+ # Initialize the UserRolesPage
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 [UserRolesPage] UserRolesPage
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 UserRolesInstance
48
+ # @param [Hash] payload Payload response from the API
49
+ # @return [UserRolesInstance] UserRolesInstance
50
+ def get_instance(payload)
51
+ UserRolesInstance.new(@version, payload, )
52
+ end
53
+
54
+ ##
55
+ # Provide a user friendly representation
56
+ def to_s
57
+ '<Twilio.FlexApi.V1.UserRolesPage>'
58
+ end
59
+ end
60
+
61
+ class UserRolesContext < InstanceContext
62
+ ##
63
+ # Initialize the UserRolesContext
64
+ # @param [Version] version Version that contains the resource
65
+ # @return [UserRolesContext] UserRolesContext
66
+ def initialize(version)
67
+ super(version)
68
+
69
+ # Path Solution
70
+ @solution = {}
71
+ @uri = "/Accounts/UserRoles"
72
+ end
73
+
74
+ ##
75
+ # Fetch the UserRolesInstance
76
+ # @param [String] token The Token HTTP request header
77
+ # @return [UserRolesInstance] Fetched UserRolesInstance
78
+ def fetch(token: :unset)
79
+ headers = Twilio::Values.of({'Token' => token, })
80
+
81
+ payload = @version.fetch('GET', @uri, headers: headers)
82
+
83
+ UserRolesInstance.new(@version, payload, )
84
+ end
85
+
86
+ ##
87
+ # Provide a user friendly representation
88
+ def to_s
89
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
90
+ "#<Twilio.FlexApi.V1.UserRolesContext #{context}>"
91
+ end
92
+
93
+ ##
94
+ # Provide a detailed, user friendly representation
95
+ def inspect
96
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
97
+ "#<Twilio.FlexApi.V1.UserRolesContext #{context}>"
98
+ end
99
+ end
100
+
101
+ class UserRolesInstance < InstanceResource
102
+ ##
103
+ # Initialize the UserRolesInstance
104
+ # @param [Version] version Version that contains the resource
105
+ # @param [Hash] payload payload that contains response from Twilio
106
+ # @return [UserRolesInstance] UserRolesInstance
107
+ def initialize(version, payload)
108
+ super(version)
109
+
110
+ # Marshaled Properties
111
+ @properties = {'roles' => payload['roles'], 'url' => payload['url'], }
112
+
113
+ # Context
114
+ @instance_context = nil
115
+ @params = {}
116
+ end
117
+
118
+ ##
119
+ # Generate an instance context for the instance, the context is capable of
120
+ # performing various actions. All instance actions are proxied to the context
121
+ # @return [UserRolesContext] UserRolesContext for this UserRolesInstance
122
+ def context
123
+ unless @instance_context
124
+ @instance_context = UserRolesContext.new(@version, )
125
+ end
126
+ @instance_context
127
+ end
128
+
129
+ ##
130
+ # @return [Array[String]] Flex Insights roles for the user
131
+ def roles
132
+ @properties['roles']
133
+ end
134
+
135
+ ##
136
+ # @return [String] The url
137
+ def url
138
+ @properties['url']
139
+ end
140
+
141
+ ##
142
+ # Fetch the UserRolesInstance
143
+ # @param [String] token The Token HTTP request header
144
+ # @return [UserRolesInstance] Fetched UserRolesInstance
145
+ def fetch(token: :unset)
146
+ context.fetch(token: token, )
147
+ end
148
+
149
+ ##
150
+ # Provide a user friendly representation
151
+ def to_s
152
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
153
+ "<Twilio.FlexApi.V1.UserRolesInstance #{values}>"
154
+ end
155
+
156
+ ##
157
+ # Provide a detailed, user friendly representation
158
+ def inspect
159
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
160
+ "<Twilio.FlexApi.V1.UserRolesInstance #{values}>"
161
+ end
162
+ end
163
+ end
164
+ end
165
+ end
166
+ end
@@ -15,13 +15,22 @@ module Twilio
15
15
  def initialize(domain)
16
16
  super
17
17
  @version = 'v1'
18
+ @assessments = nil
18
19
  @channel = nil
19
20
  @configuration = nil
20
21
  @flex_flow = nil
22
+ @good_data = nil
21
23
  @interaction = nil
24
+ @user_roles = nil
22
25
  @web_channel = nil
23
26
  end
24
27
 
28
+ ##
29
+ # @return [Twilio::REST::Flex_api::V1::AssessmentsContext]
30
+ def assessments
31
+ @assessments ||= AssessmentsContext.new self
32
+ end
33
+
25
34
  ##
26
35
  # @param [String] sid The SID of the Flex chat channel resource to fetch.
27
36
  # @return [Twilio::REST::Flex_api::V1::ChannelContext] if sid was passed.
@@ -58,6 +67,12 @@ module Twilio
58
67
  end
59
68
  end
60
69
 
70
+ ##
71
+ # @return [Twilio::REST::Flex_api::V1::GoodDataContext]
72
+ def good_data
73
+ @good_data ||= GoodDataContext.new self
74
+ end
75
+
61
76
  ##
62
77
  # @param [String] sid The SID of the Interaction resource to fetch.
63
78
  # @return [Twilio::REST::Flex_api::V1::InteractionContext] if sid was passed.
@@ -73,6 +88,12 @@ module Twilio
73
88
  end
74
89
  end
75
90
 
91
+ ##
92
+ # @return [Twilio::REST::Flex_api::V1::UserRolesContext]
93
+ def user_roles
94
+ @user_roles ||= UserRolesContext.new self
95
+ end
96
+
76
97
  ##
77
98
  # @param [String] sid The SID of the WebChannel resource to fetch.
78
99
  # @return [Twilio::REST::Flex_api::V1::WebChannelContext] if sid was passed.
@@ -28,6 +28,12 @@ module Twilio
28
28
  @v1 ||= V1.new self
29
29
  end
30
30
 
31
+ ##
32
+ # @return [Twilio::REST::Flex_api::V1::AssessmentsInstance]
33
+ def assessments
34
+ self.v1.assessments()
35
+ end
36
+
31
37
  ##
32
38
  # @param [String] sid The unique string that we created to identify the Channel
33
39
  # resource.
@@ -52,6 +58,12 @@ module Twilio
52
58
  self.v1.flex_flow(sid)
53
59
  end
54
60
 
61
+ ##
62
+ # @return [Twilio::REST::Flex_api::V1::GoodDataInstance]
63
+ def good_data
64
+ self.v1.good_data()
65
+ end
66
+
55
67
  ##
56
68
  # @param [String] sid The unique string created by Twilio to identify an
57
69
  # Interaction resource, prefixed with KD.
@@ -61,6 +73,12 @@ module Twilio
61
73
  self.v1.interaction(sid)
62
74
  end
63
75
 
76
+ ##
77
+ # @return [Twilio::REST::Flex_api::V1::UserRolesInstance]
78
+ def user_roles
79
+ self.v1.user_roles()
80
+ end
81
+
64
82
  ##
65
83
  # @param [String] sid The unique string that we created to identify the WebChannel
66
84
  # resource.
@@ -117,6 +117,7 @@ module Twilio
117
117
  'call_sid' => payload['call_sid'],
118
118
  'call_type' => payload['call_type'],
119
119
  'call_state' => payload['call_state'],
120
+ 'answered_by' => payload['answered_by'],
120
121
  'processing_state' => payload['processing_state'],
121
122
  'created_time' => Twilio.deserialize_iso8601_datetime(payload['created_time']),
122
123
  'start_time' => Twilio.deserialize_iso8601_datetime(payload['start_time']),
@@ -177,6 +178,12 @@ module Twilio
177
178
  @properties['call_state']
178
179
  end
179
180
 
181
+ ##
182
+ # @return [call_summary.AnsweredBy] The answered_by
183
+ def answered_by
184
+ @properties['answered_by']
185
+ end
186
+
180
187
  ##
181
188
  # @return [call_summary.ProcessingState] The processing_state
182
189
  def processing_state
@@ -268,6 +268,7 @@ module Twilio
268
268
  @properties = {
269
269
  'account_sid' => payload['account_sid'],
270
270
  'call_sid' => payload['call_sid'],
271
+ 'answered_by' => payload['answered_by'],
271
272
  'call_type' => payload['call_type'],
272
273
  'call_state' => payload['call_state'],
273
274
  'processing_state' => payload['processing_state'],
@@ -302,6 +303,12 @@ module Twilio
302
303
  @properties['call_sid']
303
304
  end
304
305
 
306
+ ##
307
+ # @return [call_summaries.AnsweredBy] The answered_by
308
+ def answered_by
309
+ @properties['answered_by']
310
+ end
311
+
305
312
  ##
306
313
  # @return [call_summaries.CallType] The call_type
307
314
  def call_type
@@ -210,7 +210,7 @@ module Twilio
210
210
  'participant_identity' => payload['participant_identity'],
211
211
  'join_time' => Twilio.deserialize_iso8601_datetime(payload['join_time']),
212
212
  'leave_time' => Twilio.deserialize_iso8601_datetime(payload['leave_time']),
213
- 'duration_sec' => payload['duration_sec'].to_i,
213
+ 'duration_sec' => payload['duration_sec'] == nil ? payload['duration_sec'] : payload['duration_sec'].to_i,
214
214
  'account_sid' => payload['account_sid'],
215
215
  'room_sid' => payload['room_sid'],
216
216
  'status' => payload['status'],
@@ -283,9 +283,9 @@ module Twilio
283
283
  'max_concurrent_participants' => payload['max_concurrent_participants'] == nil ? payload['max_concurrent_participants'] : payload['max_concurrent_participants'].to_i,
284
284
  'codecs' => payload['codecs'],
285
285
  'media_region' => payload['media_region'],
286
- 'duration_sec' => payload['duration_sec'].to_i,
287
- 'total_participant_duration_sec' => payload['total_participant_duration_sec'].to_i,
288
- 'total_recording_duration_sec' => payload['total_recording_duration_sec'].to_i,
286
+ 'duration_sec' => payload['duration_sec'] == nil ? payload['duration_sec'] : payload['duration_sec'].to_i,
287
+ 'total_participant_duration_sec' => payload['total_participant_duration_sec'] == nil ? payload['total_participant_duration_sec'] : payload['total_participant_duration_sec'].to_i,
288
+ 'total_recording_duration_sec' => payload['total_recording_duration_sec'] == nil ? payload['total_recording_duration_sec'] : payload['total_recording_duration_sec'].to_i,
289
289
  'processing_state' => payload['processing_state'],
290
290
  'recording_enabled' => payload['recording_enabled'],
291
291
  'edge_location' => payload['edge_location'],
@@ -268,7 +268,7 @@ module Twilio
268
268
  'was_edited' => payload['was_edited'],
269
269
  'from' => payload['from'],
270
270
  'body' => payload['body'],
271
- 'index' => payload['index'].to_i,
271
+ 'index' => payload['index'] == nil ? payload['index'] : payload['index'].to_i,
272
272
  'url' => payload['url'],
273
273
  }
274
274
 
@@ -323,8 +323,8 @@ module Twilio
323
323
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
324
324
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
325
325
  'created_by' => payload['created_by'],
326
- 'members_count' => payload['members_count'].to_i,
327
- 'messages_count' => payload['messages_count'].to_i,
326
+ 'members_count' => payload['members_count'] == nil ? payload['members_count'] : payload['members_count'].to_i,
327
+ 'messages_count' => payload['messages_count'] == nil ? payload['messages_count'] : payload['messages_count'].to_i,
328
328
  'url' => payload['url'],
329
329
  'links' => payload['links'],
330
330
  }
@@ -268,7 +268,7 @@ module Twilio
268
268
  'is_notifiable' => payload['is_notifiable'],
269
269
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
270
270
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
271
- 'joined_channels_count' => payload['joined_channels_count'].to_i,
271
+ 'joined_channels_count' => payload['joined_channels_count'] == nil ? payload['joined_channels_count'] : payload['joined_channels_count'].to_i,
272
272
  'links' => payload['links'],
273
273
  'url' => payload['url'],
274
274
  }
@@ -430,8 +430,8 @@ module Twilio
430
430
  'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
431
431
  'read_status_enabled' => payload['read_status_enabled'],
432
432
  'reachability_enabled' => payload['reachability_enabled'],
433
- 'typing_indicator_timeout' => payload['typing_indicator_timeout'].to_i,
434
- 'consumption_report_interval' => payload['consumption_report_interval'].to_i,
433
+ 'typing_indicator_timeout' => payload['typing_indicator_timeout'] == nil ? payload['typing_indicator_timeout'] : payload['typing_indicator_timeout'].to_i,
434
+ 'consumption_report_interval' => payload['consumption_report_interval'] == nil ? payload['consumption_report_interval'] : payload['consumption_report_interval'].to_i,
435
435
  'limits' => payload['limits'],
436
436
  'webhooks' => payload['webhooks'],
437
437
  'pre_webhook_url' => payload['pre_webhook_url'],
@@ -302,7 +302,7 @@ module Twilio
302
302
  'was_edited' => payload['was_edited'],
303
303
  'from' => payload['from'],
304
304
  'body' => payload['body'],
305
- 'index' => payload['index'].to_i,
305
+ 'index' => payload['index'] == nil ? payload['index'] : payload['index'].to_i,
306
306
  'type' => payload['type'],
307
307
  'media' => payload['media'],
308
308
  'url' => payload['url'],
@@ -368,8 +368,8 @@ module Twilio
368
368
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
369
369
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
370
370
  'created_by' => payload['created_by'],
371
- 'members_count' => payload['members_count'].to_i,
372
- 'messages_count' => payload['messages_count'].to_i,
371
+ 'members_count' => payload['members_count'] == nil ? payload['members_count'] : payload['members_count'].to_i,
372
+ 'messages_count' => payload['messages_count'] == nil ? payload['messages_count'] : payload['messages_count'].to_i,
373
373
  'url' => payload['url'],
374
374
  'links' => payload['links'],
375
375
  }
@@ -303,7 +303,7 @@ module Twilio
303
303
  'is_notifiable' => payload['is_notifiable'],
304
304
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
305
305
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
306
- 'joined_channels_count' => payload['joined_channels_count'].to_i,
306
+ 'joined_channels_count' => payload['joined_channels_count'] == nil ? payload['joined_channels_count'] : payload['joined_channels_count'].to_i,
307
307
  'links' => payload['links'],
308
308
  'url' => payload['url'],
309
309
  }
@@ -384,15 +384,15 @@ module Twilio
384
384
  'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
385
385
  'read_status_enabled' => payload['read_status_enabled'],
386
386
  'reachability_enabled' => payload['reachability_enabled'],
387
- 'typing_indicator_timeout' => payload['typing_indicator_timeout'].to_i,
388
- 'consumption_report_interval' => payload['consumption_report_interval'].to_i,
387
+ 'typing_indicator_timeout' => payload['typing_indicator_timeout'] == nil ? payload['typing_indicator_timeout'] : payload['typing_indicator_timeout'].to_i,
388
+ 'consumption_report_interval' => payload['consumption_report_interval'] == nil ? payload['consumption_report_interval'] : payload['consumption_report_interval'].to_i,
389
389
  'limits' => payload['limits'],
390
390
  'pre_webhook_url' => payload['pre_webhook_url'],
391
391
  'post_webhook_url' => payload['post_webhook_url'],
392
392
  'webhook_method' => payload['webhook_method'],
393
393
  'webhook_filters' => payload['webhook_filters'],
394
- 'pre_webhook_retry_count' => payload['pre_webhook_retry_count'].to_i,
395
- 'post_webhook_retry_count' => payload['post_webhook_retry_count'].to_i,
394
+ 'pre_webhook_retry_count' => payload['pre_webhook_retry_count'] == nil ? payload['pre_webhook_retry_count'] : payload['pre_webhook_retry_count'].to_i,
395
+ 'post_webhook_retry_count' => payload['post_webhook_retry_count'] == nil ? payload['post_webhook_retry_count'] : payload['post_webhook_retry_count'].to_i,
396
396
  'notifications' => payload['notifications'],
397
397
  'media' => payload['media'],
398
398
  'url' => payload['url'],