bandwidth-sdk 3.3.0 → 3.8.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.
- checksums.yaml +4 -4
- data/lib/bandwidth.rb +2 -0
- data/lib/bandwidth/api_helper.rb +14 -9
- data/lib/bandwidth/client.rb +11 -2
- data/lib/bandwidth/configuration.rb +23 -5
- data/lib/bandwidth/http/auth/web_rtc_basic_auth.rb +22 -0
- data/lib/bandwidth/messaging_lib/messaging/client.rb +7 -2
- data/lib/bandwidth/messaging_lib/messaging/controllers/api_controller.rb +18 -12
- data/lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth.rb +1 -0
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/client.rb +7 -2
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/api_controller.rb +38 -9
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/exceptions/invalid_request_exception.rb +29 -0
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/models/two_factor_code_request_schema.rb +30 -4
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/models/two_factor_verify_request_schema.rb +33 -10
- data/lib/bandwidth/voice_lib/bxml/verbs/bridge.rb +22 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/conference.rb +28 -0
- data/lib/bandwidth/voice_lib/voice.rb +5 -0
- data/lib/bandwidth/voice_lib/voice/client.rb +7 -2
- data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +352 -115
- data/lib/bandwidth/voice_lib/voice/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/voice_lib/voice/models/api_create_call_request.rb +20 -2
- data/lib/bandwidth/voice_lib/voice/models/call_engine_modify_conference_request.rb +35 -0
- data/lib/bandwidth/voice_lib/voice/models/conference_detail.rb +105 -0
- data/lib/bandwidth/voice_lib/voice/models/conference_event_method_enum.rb +35 -0
- data/lib/bandwidth/voice_lib/voice/models/conference_member_detail.rb +80 -0
- data/lib/bandwidth/voice_lib/voice/models/disconnect_cause_enum.rb +4 -1
- data/lib/bandwidth/voice_lib/voice/models/recording_metadata_response.rb +1 -1
- data/lib/bandwidth/voice_lib/voice/models/status1_enum.rb +8 -14
- data/lib/bandwidth/voice_lib/voice/models/status2_enum.rb +32 -0
- data/lib/bandwidth/voice_lib/voice/models/status_enum.rb +4 -13
- data/lib/bandwidth/voice_lib/voice/models/transcription.rb +1 -1
- data/lib/bandwidth/web_rtc_lib/web_rtc.rb +21 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/client.rb +49 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/api_controller.rb +692 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb +49 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/exceptions/error_exception.rb +34 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/accounts_participants_response.rb +47 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant.rb +83 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant_subscription.rb +35 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/publish_permission_enum.rb +17 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/session.rb +44 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/subscriptions.rb +54 -0
- metadata +22 -2
@@ -50,6 +50,14 @@ module Bandwidth
|
|
50
50
|
# @return [String]
|
51
51
|
attr_accessor :application_id
|
52
52
|
|
53
|
+
# Format is E164
|
54
|
+
# @return [String]
|
55
|
+
attr_accessor :obfuscated_to
|
56
|
+
|
57
|
+
# Format is E164
|
58
|
+
# @return [String]
|
59
|
+
attr_accessor :obfuscated_from
|
60
|
+
|
53
61
|
# A mapping from model property names to API property names.
|
54
62
|
def self.names
|
55
63
|
@_hash = {} if @_hash.nil?
|
@@ -64,6 +72,8 @@ module Bandwidth
|
|
64
72
|
@_hash['disconnect_method'] = 'disconnectMethod'
|
65
73
|
@_hash['tag'] = 'tag'
|
66
74
|
@_hash['application_id'] = 'applicationId'
|
75
|
+
@_hash['obfuscated_to'] = 'obfuscatedTo'
|
76
|
+
@_hash['obfuscated_from'] = 'obfuscatedFrom'
|
67
77
|
@_hash
|
68
78
|
end
|
69
79
|
|
@@ -77,7 +87,9 @@ module Bandwidth
|
|
77
87
|
answer_method = nil,
|
78
88
|
disconnect_url = nil,
|
79
89
|
disconnect_method = nil,
|
80
|
-
tag = nil
|
90
|
+
tag = nil,
|
91
|
+
obfuscated_to = nil,
|
92
|
+
obfuscated_from = nil)
|
81
93
|
@from = from
|
82
94
|
@to = to
|
83
95
|
@call_timeout = call_timeout
|
@@ -89,6 +101,8 @@ module Bandwidth
|
|
89
101
|
@disconnect_method = disconnect_method
|
90
102
|
@tag = tag
|
91
103
|
@application_id = application_id
|
104
|
+
@obfuscated_to = obfuscated_to
|
105
|
+
@obfuscated_from = obfuscated_from
|
92
106
|
end
|
93
107
|
|
94
108
|
# Creates an instance of the object from a hash.
|
@@ -107,6 +121,8 @@ module Bandwidth
|
|
107
121
|
disconnect_url = hash['disconnectUrl']
|
108
122
|
disconnect_method = hash['disconnectMethod']
|
109
123
|
tag = hash['tag']
|
124
|
+
obfuscated_to = hash['obfuscatedTo']
|
125
|
+
obfuscated_from = hash['obfuscatedFrom']
|
110
126
|
|
111
127
|
# Create object from extracted values.
|
112
128
|
ApiCreateCallRequest.new(from,
|
@@ -119,7 +135,9 @@ module Bandwidth
|
|
119
135
|
answer_method,
|
120
136
|
disconnect_url,
|
121
137
|
disconnect_method,
|
122
|
-
tag
|
138
|
+
tag,
|
139
|
+
obfuscated_to,
|
140
|
+
obfuscated_from)
|
123
141
|
end
|
124
142
|
end
|
125
143
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# CallEngineModifyConferenceRequest Model.
|
8
|
+
class CallEngineModifyConferenceRequest < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [StatusEnum]
|
11
|
+
attr_accessor :status
|
12
|
+
|
13
|
+
# A mapping from model property names to API property names.
|
14
|
+
def self.names
|
15
|
+
@_hash = {} if @_hash.nil?
|
16
|
+
@_hash['status'] = 'status'
|
17
|
+
@_hash
|
18
|
+
end
|
19
|
+
|
20
|
+
def initialize(status = nil)
|
21
|
+
@status = status
|
22
|
+
end
|
23
|
+
|
24
|
+
# Creates an instance of the object from a hash.
|
25
|
+
def self.from_hash(hash)
|
26
|
+
return nil unless hash
|
27
|
+
|
28
|
+
# Extract variables from the hash.
|
29
|
+
status = hash['status']
|
30
|
+
|
31
|
+
# Create object from extracted values.
|
32
|
+
CallEngineModifyConferenceRequest.new(status)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,105 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# ConferenceDetail Model.
|
8
|
+
class ConferenceDetail < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [String]
|
11
|
+
attr_accessor :id
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :name
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [Long]
|
19
|
+
attr_accessor :created_time
|
20
|
+
|
21
|
+
# TODO: Write general description for this method
|
22
|
+
# @return [Long]
|
23
|
+
attr_accessor :completed_time
|
24
|
+
|
25
|
+
# TODO: Write general description for this method
|
26
|
+
# @return [String]
|
27
|
+
attr_accessor :conference_event_url
|
28
|
+
|
29
|
+
# TODO: Write general description for this method
|
30
|
+
# @return [ConferenceEventMethodEnum]
|
31
|
+
attr_accessor :conference_event_method
|
32
|
+
|
33
|
+
# TODO: Write general description for this method
|
34
|
+
# @return [String]
|
35
|
+
attr_accessor :tag
|
36
|
+
|
37
|
+
# TODO: Write general description for this method
|
38
|
+
# @return [List of ConferenceMemberDetail]
|
39
|
+
attr_accessor :active_members
|
40
|
+
|
41
|
+
# A mapping from model property names to API property names.
|
42
|
+
def self.names
|
43
|
+
@_hash = {} if @_hash.nil?
|
44
|
+
@_hash['id'] = 'id'
|
45
|
+
@_hash['name'] = 'name'
|
46
|
+
@_hash['created_time'] = 'createdTime'
|
47
|
+
@_hash['completed_time'] = 'completedTime'
|
48
|
+
@_hash['conference_event_url'] = 'conferenceEventUrl'
|
49
|
+
@_hash['conference_event_method'] = 'conferenceEventMethod'
|
50
|
+
@_hash['tag'] = 'tag'
|
51
|
+
@_hash['active_members'] = 'activeMembers'
|
52
|
+
@_hash
|
53
|
+
end
|
54
|
+
|
55
|
+
def initialize(id = nil,
|
56
|
+
name = nil,
|
57
|
+
created_time = nil,
|
58
|
+
completed_time = nil,
|
59
|
+
conference_event_url = nil,
|
60
|
+
conference_event_method = nil,
|
61
|
+
tag = nil,
|
62
|
+
active_members = nil)
|
63
|
+
@id = id
|
64
|
+
@name = name
|
65
|
+
@created_time = created_time
|
66
|
+
@completed_time = completed_time
|
67
|
+
@conference_event_url = conference_event_url
|
68
|
+
@conference_event_method = conference_event_method
|
69
|
+
@tag = tag
|
70
|
+
@active_members = active_members
|
71
|
+
end
|
72
|
+
|
73
|
+
# Creates an instance of the object from a hash.
|
74
|
+
def self.from_hash(hash)
|
75
|
+
return nil unless hash
|
76
|
+
|
77
|
+
# Extract variables from the hash.
|
78
|
+
id = hash['id']
|
79
|
+
name = hash['name']
|
80
|
+
created_time = hash['createdTime']
|
81
|
+
completed_time = hash['completedTime']
|
82
|
+
conference_event_url = hash['conferenceEventUrl']
|
83
|
+
conference_event_method = hash['conferenceEventMethod']
|
84
|
+
tag = hash['tag']
|
85
|
+
# Parameter is an array, so we need to iterate through it
|
86
|
+
active_members = nil
|
87
|
+
unless hash['activeMembers'].nil?
|
88
|
+
active_members = []
|
89
|
+
hash['activeMembers'].each do |structure|
|
90
|
+
active_members << (ConferenceMemberDetail.from_hash(structure) if structure)
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
# Create object from extracted values.
|
95
|
+
ConferenceDetail.new(id,
|
96
|
+
name,
|
97
|
+
created_time,
|
98
|
+
completed_time,
|
99
|
+
conference_event_url,
|
100
|
+
conference_event_method,
|
101
|
+
tag,
|
102
|
+
active_members)
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# ConferenceEventMethod.
|
8
|
+
class ConferenceEventMethodEnum
|
9
|
+
CONFERENCE_EVENT_METHOD_ENUM = [
|
10
|
+
# TODO: Write general description for GET
|
11
|
+
GET = 'GET'.freeze,
|
12
|
+
|
13
|
+
# TODO: Write general description for HEAD
|
14
|
+
HEAD = 'HEAD'.freeze,
|
15
|
+
|
16
|
+
# TODO: Write general description for POST
|
17
|
+
POST = 'POST'.freeze,
|
18
|
+
|
19
|
+
# TODO: Write general description for PUT
|
20
|
+
PUT = 'PUT'.freeze,
|
21
|
+
|
22
|
+
# TODO: Write general description for PATCH
|
23
|
+
PATCH = 'PATCH'.freeze,
|
24
|
+
|
25
|
+
# TODO: Write general description for DELETE
|
26
|
+
DELETE = 'DELETE'.freeze,
|
27
|
+
|
28
|
+
# TODO: Write general description for OPTIONS
|
29
|
+
OPTIONS = 'OPTIONS'.freeze,
|
30
|
+
|
31
|
+
# TODO: Write general description for TRACE
|
32
|
+
TRACE = 'TRACE'.freeze
|
33
|
+
].freeze
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# ConferenceMemberDetail Model.
|
8
|
+
class ConferenceMemberDetail < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [String]
|
11
|
+
attr_accessor :call_id
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :conference_id
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [String]
|
19
|
+
attr_accessor :member_url
|
20
|
+
|
21
|
+
# TODO: Write general description for this method
|
22
|
+
# @return [Boolean]
|
23
|
+
attr_accessor :mute
|
24
|
+
|
25
|
+
# TODO: Write general description for this method
|
26
|
+
# @return [Boolean]
|
27
|
+
attr_accessor :hold
|
28
|
+
|
29
|
+
# TODO: Write general description for this method
|
30
|
+
# @return [List of String]
|
31
|
+
attr_accessor :call_ids_to_coach
|
32
|
+
|
33
|
+
# A mapping from model property names to API property names.
|
34
|
+
def self.names
|
35
|
+
@_hash = {} if @_hash.nil?
|
36
|
+
@_hash['call_id'] = 'callId'
|
37
|
+
@_hash['conference_id'] = 'conferenceId'
|
38
|
+
@_hash['member_url'] = 'memberUrl'
|
39
|
+
@_hash['mute'] = 'mute'
|
40
|
+
@_hash['hold'] = 'hold'
|
41
|
+
@_hash['call_ids_to_coach'] = 'callIdsToCoach'
|
42
|
+
@_hash
|
43
|
+
end
|
44
|
+
|
45
|
+
def initialize(call_id = nil,
|
46
|
+
conference_id = nil,
|
47
|
+
member_url = nil,
|
48
|
+
mute = nil,
|
49
|
+
hold = nil,
|
50
|
+
call_ids_to_coach = nil)
|
51
|
+
@call_id = call_id
|
52
|
+
@conference_id = conference_id
|
53
|
+
@member_url = member_url
|
54
|
+
@mute = mute
|
55
|
+
@hold = hold
|
56
|
+
@call_ids_to_coach = call_ids_to_coach
|
57
|
+
end
|
58
|
+
|
59
|
+
# Creates an instance of the object from a hash.
|
60
|
+
def self.from_hash(hash)
|
61
|
+
return nil unless hash
|
62
|
+
|
63
|
+
# Extract variables from the hash.
|
64
|
+
call_id = hash['callId']
|
65
|
+
conference_id = hash['conferenceId']
|
66
|
+
member_url = hash['memberUrl']
|
67
|
+
mute = hash['mute']
|
68
|
+
hold = hash['hold']
|
69
|
+
call_ids_to_coach = hash['callIdsToCoach']
|
70
|
+
|
71
|
+
# Create object from extracted values.
|
72
|
+
ConferenceMemberDetail.new(call_id,
|
73
|
+
conference_id,
|
74
|
+
member_url,
|
75
|
+
mute,
|
76
|
+
hold,
|
77
|
+
call_ids_to_coach)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -38,7 +38,10 @@ module Bandwidth
|
|
38
38
|
NODECAPACITYEXCEEDED = 'node-capacity-exceeded'.freeze,
|
39
39
|
|
40
40
|
# TODO: Write general description for UNKNOWN
|
41
|
-
UNKNOWN = 'unknown'.freeze
|
41
|
+
UNKNOWN = 'unknown'.freeze,
|
42
|
+
|
43
|
+
# TODO: Write general description for APPLICATIONERROR
|
44
|
+
APPLICATIONERROR = 'application-error'.freeze
|
42
45
|
].freeze
|
43
46
|
end
|
44
47
|
end
|
@@ -7,26 +7,20 @@ module Bandwidth
|
|
7
7
|
# Status1.
|
8
8
|
class Status1Enum
|
9
9
|
STATUS1_ENUM = [
|
10
|
-
# TODO: Write general description for REQUESTED
|
11
|
-
REQUESTED = 'requested'.freeze,
|
12
|
-
|
13
|
-
# TODO: Write general description for NONE
|
14
|
-
NONE = 'none'.freeze,
|
15
|
-
|
16
10
|
# TODO: Write general description for PROCESSING
|
17
11
|
PROCESSING = 'processing'.freeze,
|
18
12
|
|
19
|
-
# TODO: Write general description for
|
20
|
-
|
13
|
+
# TODO: Write general description for PARTIAL
|
14
|
+
PARTIAL = 'partial'.freeze,
|
21
15
|
|
22
|
-
# TODO: Write general description for
|
23
|
-
|
16
|
+
# TODO: Write general description for COMPLETE
|
17
|
+
COMPLETE = 'complete'.freeze,
|
24
18
|
|
25
|
-
# TODO: Write general description for
|
26
|
-
|
19
|
+
# TODO: Write general description for DELETED
|
20
|
+
DELETED = 'deleted'.freeze,
|
27
21
|
|
28
|
-
# TODO: Write general description for
|
29
|
-
|
22
|
+
# TODO: Write general description for ERROR
|
23
|
+
ERROR = 'error'.freeze
|
30
24
|
].freeze
|
31
25
|
end
|
32
26
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# Status2.
|
8
|
+
class Status2Enum
|
9
|
+
STATUS2_ENUM = [
|
10
|
+
# TODO: Write general description for NONE
|
11
|
+
NONE = 'none'.freeze,
|
12
|
+
|
13
|
+
# TODO: Write general description for PROCESSING
|
14
|
+
PROCESSING = 'processing'.freeze,
|
15
|
+
|
16
|
+
# TODO: Write general description for AVAILABLE
|
17
|
+
AVAILABLE = 'available'.freeze,
|
18
|
+
|
19
|
+
# TODO: Write general description for ERROR
|
20
|
+
ERROR = 'error'.freeze,
|
21
|
+
|
22
|
+
# TODO: Write general description for TIMEOUT
|
23
|
+
TIMEOUT = 'timeout'.freeze,
|
24
|
+
|
25
|
+
# TODO: Write general description for FILESIZETOOBIG
|
26
|
+
FILESIZETOOBIG = 'file-size-too-big'.freeze,
|
27
|
+
|
28
|
+
# TODO: Write general description for FILESIZETOOSMALL
|
29
|
+
FILESIZETOOSMALL = 'file-size-too-small'.freeze
|
30
|
+
].freeze
|
31
|
+
end
|
32
|
+
end
|
@@ -7,20 +7,11 @@ module Bandwidth
|
|
7
7
|
# Status.
|
8
8
|
class StatusEnum
|
9
9
|
STATUS_ENUM = [
|
10
|
-
# TODO: Write general description for
|
11
|
-
|
10
|
+
# TODO: Write general description for ACTIVE
|
11
|
+
ACTIVE = 'active'.freeze,
|
12
12
|
|
13
|
-
# TODO: Write general description for
|
14
|
-
|
15
|
-
|
16
|
-
# TODO: Write general description for COMPLETE
|
17
|
-
COMPLETE = 'complete'.freeze,
|
18
|
-
|
19
|
-
# TODO: Write general description for DELETED
|
20
|
-
DELETED = 'deleted'.freeze,
|
21
|
-
|
22
|
-
# TODO: Write general description for ERROR
|
23
|
-
ERROR = 'error'.freeze
|
13
|
+
# TODO: Write general description for COMPLETED
|
14
|
+
COMPLETED = 'completed'.freeze
|
24
15
|
].freeze
|
25
16
|
end
|
26
17
|
end
|