vonage 7.21.0 → 7.25.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/lib/vonage/client.rb +9 -0
- data/lib/vonage/conversation/event/list_response.rb +11 -0
- data/lib/vonage/conversation/event.rb +108 -0
- data/lib/vonage/conversation/list_response.rb +11 -0
- data/lib/vonage/conversation/member/list_response.rb +11 -0
- data/lib/vonage/conversation/member.rb +134 -0
- data/lib/vonage/conversation/user/conversations_list_response.rb +11 -0
- data/lib/vonage/conversation/user/sessions_list_response.rb +11 -0
- data/lib/vonage/conversation/user.rb +67 -0
- data/lib/vonage/conversation.rb +164 -0
- data/lib/vonage/conversations/events.rb +12 -0
- data/lib/vonage/conversations/legs.rb +6 -0
- data/lib/vonage/conversations/members.rb +15 -0
- data/lib/vonage/conversations/users.rb +15 -0
- data/lib/vonage/conversations.rb +30 -0
- data/lib/vonage/keys.rb +6 -1
- data/lib/vonage/messaging.rb +8 -3
- data/lib/vonage/verify2/channels/sms.rb +10 -0
- data/lib/vonage/verify2/channels/whats_app.rb +3 -2
- data/lib/vonage/verify2.rb +7 -0
- data/lib/vonage/version.rb +1 -1
- data/lib/vonage/video/captions.rb +67 -0
- data/lib/vonage/video/renders/list_response.rb +11 -0
- data/lib/vonage/video/renders.rb +107 -0
- data/lib/vonage/video/web_socket.rb +61 -0
- data/lib/vonage/video.rb +19 -0
- metadata +16 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 508c457f8278aae1d8cc3951a8b4c38423ab63307917c4bbc09960f45cbafa9f
|
4
|
+
data.tar.gz: '00329df94f3ab44d6ab8d2552931438358f92ad59c121db87e1668bd1c336814'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 80d9743779edc4dca5c4c9babb6a8591d616e4ac2f393ca4932a5a8640574561b28c61c803dc7c397c99221f0a086bd4604f62e8b36b97c7fd2b7da85ddc88d0
|
7
|
+
data.tar.gz: 40756daa0add532dead58f6d7d057e5bfc8f5d39a9bd84515bcdc08f9a6686eb983b6859f45b71fde9e11b8f474dbecb8a2973ff7270fe8256d813e281783341
|
data/README.md
CHANGED
@@ -525,6 +525,7 @@ The following is a list of Vonage APIs for which the Ruby SDK currently provides
|
|
525
525
|
|
526
526
|
* [Account API](https://developer.vonage.com/en/account/overview)
|
527
527
|
* [Application API](https://developer.vonage.com/en/application/overview)
|
528
|
+
* [Conversation API](https://developer.vonage.com/en/conversation/overview)
|
528
529
|
* [Meetings API](https://developer.vonage.com/en/meetings/overview)
|
529
530
|
* [Messages API](https://developer.vonage.com/en/messages/overview)
|
530
531
|
* [Number Insight API](https://developer.vonage.com/en/number-insight/overview)
|
data/lib/vonage/client.rb
CHANGED
@@ -40,8 +40,17 @@ module Vonage
|
|
40
40
|
@applications ||= T.let(Applications.new(config), T.nilable(Vonage::Applications))
|
41
41
|
end
|
42
42
|
|
43
|
+
# @return [Conversation]
|
44
|
+
#
|
45
|
+
sig { returns(T.nilable(Vonage::Conversation)) }
|
46
|
+
def conversation
|
47
|
+
@conversation ||= T.let(Conversation.new(config), T.nilable(Vonage::Conversation))
|
48
|
+
end
|
49
|
+
|
43
50
|
# @return [Conversations]
|
44
51
|
#
|
52
|
+
# @deprecated Please use {#conversation} instead
|
53
|
+
#
|
45
54
|
sig { returns(T.nilable(Vonage::Conversations)) }
|
46
55
|
def conversations
|
47
56
|
@conversations ||= T.let(Conversations.new(config), T.nilable(Vonage::Conversations))
|
@@ -0,0 +1,108 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Vonage
|
5
|
+
class Conversation::Event < Namespace
|
6
|
+
self.authentication = BearerToken
|
7
|
+
|
8
|
+
self.request_body = JSON
|
9
|
+
|
10
|
+
# List conversation events
|
11
|
+
#
|
12
|
+
# @example
|
13
|
+
# response = client.conversation.event.list(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a')
|
14
|
+
#
|
15
|
+
# @param [required, String] :conversation_id The conversation_id of the conversation to list events for
|
16
|
+
#
|
17
|
+
# @param [String] :start_id
|
18
|
+
# The ID to start returning events at
|
19
|
+
#
|
20
|
+
# @param [String] :end_id
|
21
|
+
# The ID to end returning events at
|
22
|
+
#
|
23
|
+
# @param [String] :event_type
|
24
|
+
# The type of event to search for. Does not currently support custom events
|
25
|
+
#
|
26
|
+
# @param [Integer] :page_size
|
27
|
+
# Return this amount of records in the response.
|
28
|
+
#
|
29
|
+
# @param ['asc', 'desc'] :order
|
30
|
+
# Return the records in ascending or descending order.
|
31
|
+
#
|
32
|
+
# @param [String] :cursor
|
33
|
+
# The cursor to start returning results from.
|
34
|
+
#
|
35
|
+
# @return [Conversation::Member::ListResponse]
|
36
|
+
#
|
37
|
+
# @see https://developer.vonage.com/en/api/conversation#getEvents
|
38
|
+
#
|
39
|
+
def list(conversation_id:, **params)
|
40
|
+
request("/v1/conversations/#{conversation_id}/events", params: params, response_class: ListResponse)
|
41
|
+
end
|
42
|
+
|
43
|
+
# Create an event
|
44
|
+
# @example
|
45
|
+
# response = client.conversation.event.create(
|
46
|
+
# conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a',
|
47
|
+
# type: 'message',
|
48
|
+
# body: {
|
49
|
+
# message_type: 'text',
|
50
|
+
# text: 'Hello World'
|
51
|
+
# }
|
52
|
+
# )
|
53
|
+
#
|
54
|
+
# @param [required, String] :conversation_id The conversation_id of the conversation to create the event for
|
55
|
+
#
|
56
|
+
# @param [required, String] :type
|
57
|
+
# Event type.
|
58
|
+
#
|
59
|
+
# @param [String] :from
|
60
|
+
#
|
61
|
+
# @option params [required, String] :from
|
62
|
+
#
|
63
|
+
# @param [Hash] :body
|
64
|
+
# The body of the event. There are many possible properties depending on the event type and message_type
|
65
|
+
#
|
66
|
+
# @return [Response]
|
67
|
+
#
|
68
|
+
# @see https://developer.vonage.com/en/api/conversation#createEvent
|
69
|
+
#
|
70
|
+
def create(conversation_id:, **params)
|
71
|
+
request("/v1/conversations/#{conversation_id}/events", params: params, type: Post)
|
72
|
+
end
|
73
|
+
|
74
|
+
# Get details of a specific event
|
75
|
+
#
|
76
|
+
# @example
|
77
|
+
# response = client.conversation.event.find(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a', event_id: 1)
|
78
|
+
#
|
79
|
+
# @param [required, String] :conversation_id
|
80
|
+
#
|
81
|
+
# @param [required, String] :event_id
|
82
|
+
#
|
83
|
+
# @return [Response]
|
84
|
+
#
|
85
|
+
# @see https://developer.vonage.com/en/api/conversation#getEvent
|
86
|
+
#
|
87
|
+
def find(conversation_id:, event_id:)
|
88
|
+
request("/v1/conversations/#{conversation_id}/events/#{event_id}")
|
89
|
+
end
|
90
|
+
|
91
|
+
# Delete an event.
|
92
|
+
#
|
93
|
+
# @example
|
94
|
+
# response = client.conversation.event.delete(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a', event_id: 1)
|
95
|
+
#
|
96
|
+
# @param [String] :conversation_id
|
97
|
+
#
|
98
|
+
# @param [String] :event_id
|
99
|
+
#
|
100
|
+
# @return [Response]
|
101
|
+
#
|
102
|
+
# @see https://developer.vonage.com/en/api/conversation#deleteEvent
|
103
|
+
#
|
104
|
+
def delete(conversation_id:, event_id:)
|
105
|
+
request("/v1/conversations/#{conversation_id}/events/#{event_id}", type: Delete)
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
@@ -0,0 +1,134 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Vonage
|
5
|
+
class Conversation::Member < Namespace
|
6
|
+
self.authentication = BearerToken
|
7
|
+
|
8
|
+
self.request_body = JSON
|
9
|
+
|
10
|
+
# List members of a conversation
|
11
|
+
#
|
12
|
+
# @example
|
13
|
+
# response = client.conversation.member.list(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a')
|
14
|
+
#
|
15
|
+
# @param [required, String] :conversation_id The conversation_id of the conversation to list members for
|
16
|
+
#
|
17
|
+
# @param [Integer] :page_size
|
18
|
+
# Return this amount of records in the response.
|
19
|
+
#
|
20
|
+
# @param ['asc', 'desc'] :order
|
21
|
+
# Return the records in ascending or descending order.
|
22
|
+
#
|
23
|
+
# @param [String] :cursor
|
24
|
+
# The cursor to start returning results from.
|
25
|
+
#
|
26
|
+
# @return [Conversation::Member::ListResponse]
|
27
|
+
#
|
28
|
+
# @see https://developer.vonage.com/en/api/conversation#getMembers
|
29
|
+
#
|
30
|
+
def list(conversation_id:, **params)
|
31
|
+
request("/v1/conversations/#{conversation_id}/members", params: params, response_class: ListResponse)
|
32
|
+
end
|
33
|
+
|
34
|
+
# Create a member.
|
35
|
+
#
|
36
|
+
# @example
|
37
|
+
# response = client.conversation.member.create(
|
38
|
+
# conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a',
|
39
|
+
# user: {
|
40
|
+
# id: 'USR-82e028d9-5201-4f1e-8188-604b2d3471ec'
|
41
|
+
# }
|
42
|
+
# )
|
43
|
+
#
|
44
|
+
# @param [required, String] :conversation_id The conversation_id of the conversation for which to create the member
|
45
|
+
#
|
46
|
+
# @param [String] :state Must be one of ['invited', 'joined']
|
47
|
+
#
|
48
|
+
# @param [Hash] :user (Either :id or :name is required)
|
49
|
+
# - @option user [String] :id The user_id of the user to add to the conversation
|
50
|
+
# - @option user [String] :name The name of the user to add to the conversation
|
51
|
+
#
|
52
|
+
# @param [Hash] :channel
|
53
|
+
# - @option channel [required, String] :type The type of channel
|
54
|
+
# - @option channel [Hash] :from
|
55
|
+
# - @option from [String] :type
|
56
|
+
# - @option from [String] :number
|
57
|
+
# - @option from [String] :id
|
58
|
+
# - @option channel [Hash] :to
|
59
|
+
# - @option from [String] :type
|
60
|
+
# - @option from [String] :user
|
61
|
+
# - @option from [String] :number
|
62
|
+
# - @option from [String] :id
|
63
|
+
#
|
64
|
+
# @param [Hash] :media
|
65
|
+
# - @option media [Boolean] :audio
|
66
|
+
# - @option media [Hash] :audio_settings
|
67
|
+
# - @option audio_settings [Boolean] :enabled
|
68
|
+
# - @option audio_settings [Boolean] :earmuffed
|
69
|
+
# - @option audio_settings [Boolean] :muted
|
70
|
+
#
|
71
|
+
# @param [String] :knocking_id
|
72
|
+
#
|
73
|
+
# @param [String] :member_id_inviting
|
74
|
+
#
|
75
|
+
# @param [String] :from
|
76
|
+
#
|
77
|
+
# @return [Response]
|
78
|
+
#
|
79
|
+
# @see https://developer.vonage.com/en/api/conversation#createMember
|
80
|
+
#
|
81
|
+
def create(conversation_id:, **params)
|
82
|
+
request("/v1/conversations/#{conversation_id}/members", params: params, type: Post)
|
83
|
+
end
|
84
|
+
|
85
|
+
# Retrieve a member
|
86
|
+
#
|
87
|
+
# @example
|
88
|
+
# response = client.conversation.member.find(
|
89
|
+
# conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a',
|
90
|
+
# member_id: 'MEM-63f61863-4a51-4f6b-86e1-46edebio0391'
|
91
|
+
# )
|
92
|
+
#
|
93
|
+
# @param [required, String] :conversation_id
|
94
|
+
#
|
95
|
+
# @param [required, String] :member_id
|
96
|
+
#
|
97
|
+
# @return [Response]
|
98
|
+
#
|
99
|
+
# @see https://developer.vonage.com/en/api/conversation#getMember
|
100
|
+
#
|
101
|
+
def find(conversation_id:, member_id:)
|
102
|
+
request("/v1/conversations/#{conversation_id}/members/#{member_id}", response_class: Vonage::Response)
|
103
|
+
end
|
104
|
+
|
105
|
+
# Update a member
|
106
|
+
#
|
107
|
+
# @example
|
108
|
+
# response = client.conversation.member.update(
|
109
|
+
# conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a',
|
110
|
+
# member_id: 'MEM-63f61863-4a51-4f6b-86e1-46edebio0391',
|
111
|
+
# state: 'left'
|
112
|
+
# )
|
113
|
+
#
|
114
|
+
# @param [required, String] :conversation_id
|
115
|
+
#
|
116
|
+
# @param [required, String] :member_id
|
117
|
+
#
|
118
|
+
# @param [String] :state Must be one of ['joined', 'left']
|
119
|
+
#
|
120
|
+
# @param [String] :from
|
121
|
+
#
|
122
|
+
# @param [Hash] :reason
|
123
|
+
# - @option reason [String] :code
|
124
|
+
# - @option reason [String] :text
|
125
|
+
#
|
126
|
+
# @return [Response]
|
127
|
+
#
|
128
|
+
# @see https://developer.vonage.com/en/api/conversation#updateMember
|
129
|
+
#
|
130
|
+
def update(conversation_id:, member_id:, **params)
|
131
|
+
request("/v1/conversations/#{conversation_id}/members/#{member_id}", params: params, type: Patch)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Vonage
|
5
|
+
class Conversation::User < Namespace
|
6
|
+
self.authentication = BearerToken
|
7
|
+
|
8
|
+
# List conversations associated with a user.
|
9
|
+
#
|
10
|
+
# @example
|
11
|
+
# response = client.conversation.user.list_conversations(user_id: 'USR-82e028d9-5201-4f1e-8188-604b2d3471ec')
|
12
|
+
#
|
13
|
+
# @param [required, String] :user_id The user_id of the user to list conversations for
|
14
|
+
#
|
15
|
+
# @param [String] :state Must be one of ['INVITED', 'JOINED', 'LEFT']
|
16
|
+
#
|
17
|
+
# @param [String] :order_by Must be one of ['created', 'custom_sort_key']
|
18
|
+
#
|
19
|
+
# @param [Boolean] :include_custom_data
|
20
|
+
# @param [String] :date_start
|
21
|
+
# Return the records that occurred after this point in time.
|
22
|
+
#
|
23
|
+
# @param [String] :date_start
|
24
|
+
# Return the records that occurred after this point in time.
|
25
|
+
#
|
26
|
+
# @param [Integer] :page_size
|
27
|
+
# Return this amount of records in the response.
|
28
|
+
#
|
29
|
+
# @param ['asc', 'desc'] :order
|
30
|
+
# Return the records in ascending or descending order.
|
31
|
+
#
|
32
|
+
# @param [String] :cursor
|
33
|
+
# The cursor to start returning results from.
|
34
|
+
#
|
35
|
+
# @return [Conversation::User::ConversationsListResponse]
|
36
|
+
#
|
37
|
+
# @see https://developer.vonage.com/en/api/conversation#getuserConversations
|
38
|
+
#
|
39
|
+
def list_conversations(user_id:, **params)
|
40
|
+
request("/v1/users/#{user_id}/conversations", params: params, response_class: ConversationsListResponse)
|
41
|
+
end
|
42
|
+
|
43
|
+
# List conversations associated with a user.
|
44
|
+
#
|
45
|
+
# @example
|
46
|
+
# response = client.conversation.user.list_sessions(user_id: 'USR-82e028d9-5201-4f1e-8188-604b2d3471ec')
|
47
|
+
#
|
48
|
+
# @param [required, String] :user_id The user_id of the user to list sessions for
|
49
|
+
#
|
50
|
+
# @param [Integer] :page_size
|
51
|
+
# Return this amount of records in the response.
|
52
|
+
#
|
53
|
+
# @param ['asc', 'desc'] :order
|
54
|
+
# Return the records in ascending or descending order.
|
55
|
+
#
|
56
|
+
# @param [String] :cursor
|
57
|
+
# The cursor to start returning results from.
|
58
|
+
#
|
59
|
+
# @return [Conversation::User::SessionsListResponse]
|
60
|
+
#
|
61
|
+
# @see https://developer.vonage.com/en/api/conversation#getuserSessions
|
62
|
+
#
|
63
|
+
def list_sessions(user_id:, **params)
|
64
|
+
request("/v1/users/#{user_id}/sessions", params: params, response_class: SessionsListResponse)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,164 @@
|
|
1
|
+
# typed: strict
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Vonage
|
5
|
+
class Conversation < Namespace
|
6
|
+
extend T::Sig
|
7
|
+
|
8
|
+
self.authentication = BearerToken
|
9
|
+
|
10
|
+
self.request_body = JSON
|
11
|
+
|
12
|
+
# List conversations associated with a Vonage application.
|
13
|
+
#
|
14
|
+
# @example
|
15
|
+
# response = client.conversation.list
|
16
|
+
#
|
17
|
+
# @param [String] :date_start
|
18
|
+
# Return the records that occurred after this point in time.
|
19
|
+
#
|
20
|
+
# @param [String] :date_end
|
21
|
+
# Return the records that occurred before this point in time.
|
22
|
+
#
|
23
|
+
# @param [Integer] :page_size
|
24
|
+
# Return this amount of records in the response.
|
25
|
+
#
|
26
|
+
# @param ['asc', 'desc'] :order
|
27
|
+
# Return the records in ascending or descending order.
|
28
|
+
#
|
29
|
+
# @param [String] :cursor
|
30
|
+
# The cursor to start returning results from.
|
31
|
+
#
|
32
|
+
# @return [Conversation::ListResponse]
|
33
|
+
#
|
34
|
+
# @see https://developer.vonage.com/en/api/conversation#listConversations
|
35
|
+
#
|
36
|
+
def list(**params)
|
37
|
+
request('/v1/conversations', params: params, response_class: ListResponse)
|
38
|
+
end
|
39
|
+
|
40
|
+
# Create a conversation.
|
41
|
+
#
|
42
|
+
# @example
|
43
|
+
# response = client.conversation.create(name: 'Example Conversation', display_name: 'Example Display Name')
|
44
|
+
#
|
45
|
+
# @param [String] :name
|
46
|
+
# Your internal conversation name. Must be unique.
|
47
|
+
#
|
48
|
+
# @param [String] :display_name
|
49
|
+
# The public facing name of the conversation.
|
50
|
+
#
|
51
|
+
# @param [String] :image_url
|
52
|
+
# An image URL that you associate with the conversation
|
53
|
+
#
|
54
|
+
# @param [Hash] :properties
|
55
|
+
# - :ttl (Integer) After how many seconds an empty conversation is deleted
|
56
|
+
# - :type (String)
|
57
|
+
# - :custom_sort_key (String)
|
58
|
+
# - :custom_data (Hash) Custom key/value pairs to be included with conversation data
|
59
|
+
#
|
60
|
+
# @option params [Array] :numbers An array of Hashes containing number information for different channels.
|
61
|
+
#
|
62
|
+
# @option params [Hash] :callback
|
63
|
+
# - @option callback :url (String)
|
64
|
+
# - @option callback :event_mask (String)
|
65
|
+
# - @option callback :params (Hash)
|
66
|
+
# - @option params :applicationId (String)
|
67
|
+
# - @option params :ncco_url (String)
|
68
|
+
# - @option callback :method (String) Must be one of ['POST', 'GET']
|
69
|
+
#
|
70
|
+
# @return [Response]
|
71
|
+
#
|
72
|
+
# @see https://developer.vonage.com/en/api/conversation#createConversation
|
73
|
+
#
|
74
|
+
def create(**params)
|
75
|
+
request('/v1/conversations', params: params, type: Post)
|
76
|
+
end
|
77
|
+
|
78
|
+
# Retrieve a conversation.
|
79
|
+
#
|
80
|
+
# @example
|
81
|
+
# response = client.conversation.find(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a')
|
82
|
+
#
|
83
|
+
# @param [String] :conversation_id
|
84
|
+
#
|
85
|
+
# @return [Response]
|
86
|
+
#
|
87
|
+
# @see https://developer.vonage.com/en/api/conversation#retrieveConversation
|
88
|
+
#
|
89
|
+
def find(conversation_id:)
|
90
|
+
request("/v1/conversations/#{conversation_id}")
|
91
|
+
end
|
92
|
+
|
93
|
+
# Update a conversation.
|
94
|
+
#
|
95
|
+
# @example
|
96
|
+
# response = client.conversation.update(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a', display_name: 'Updated conversation')
|
97
|
+
#
|
98
|
+
# @param [String] :name
|
99
|
+
# Your internal conversation name. Must be unique.
|
100
|
+
#
|
101
|
+
# @param [String] :display_name
|
102
|
+
# The public facing name of the conversation.
|
103
|
+
#
|
104
|
+
# @param [String] :image_url
|
105
|
+
# An image URL that you associate with the conversation
|
106
|
+
#
|
107
|
+
# @param [Hash] :properties
|
108
|
+
# - @option properties :ttl (Integer) After how many seconds an empty conversation is deleted
|
109
|
+
# - @option properties :type (String)
|
110
|
+
# - @option properties :custom_sort_key (String)
|
111
|
+
# - @option properties :custom_data (Hash) Custom key/value pairs to be included with conversation data
|
112
|
+
#
|
113
|
+
# @param [Array] :numbers An array of Hashes containing number information for different channels.
|
114
|
+
#
|
115
|
+
# @option params [Hash] :callback
|
116
|
+
# - @option callback :url (String)
|
117
|
+
# - @option callback :event_mask (String)
|
118
|
+
# - @option callback :params (Hash)
|
119
|
+
# - @option params :applicationId (String)
|
120
|
+
# - @option params :ncco_url (String)
|
121
|
+
# - @option callback :method (String) Must be one of ['POST', 'GET']
|
122
|
+
#
|
123
|
+
# @return [Response]
|
124
|
+
#
|
125
|
+
# @see https://developer.vonage.com/en/api/conversation#replaceConversation
|
126
|
+
#
|
127
|
+
def update(conversation_id:, **params)
|
128
|
+
request("/v1/conversations/#{conversation_id}", params: params, type: Put)
|
129
|
+
end
|
130
|
+
|
131
|
+
# Delete a conversation.
|
132
|
+
#
|
133
|
+
# @example
|
134
|
+
# response = client.conversation.delete(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a')
|
135
|
+
#
|
136
|
+
# @param [String] :conversation_id
|
137
|
+
#
|
138
|
+
# @return [Response]
|
139
|
+
#
|
140
|
+
# @see https://developer.vonage.com/en/api/conversation#deleteConversation
|
141
|
+
#
|
142
|
+
def delete(conversation_id:)
|
143
|
+
request("/v1/conversations/#{conversation_id}", type: Delete)
|
144
|
+
end
|
145
|
+
|
146
|
+
# @return [Conversation::User]
|
147
|
+
sig { returns(T.nilable(Vonage::Conversation::User)) }
|
148
|
+
def user
|
149
|
+
@user ||= User.new(@config)
|
150
|
+
end
|
151
|
+
|
152
|
+
# @return [Conversation::Member]
|
153
|
+
sig { returns(T.nilable(Vonage::Conversation::Member)) }
|
154
|
+
def member
|
155
|
+
@member ||= Member.new(@config)
|
156
|
+
end
|
157
|
+
|
158
|
+
# @return [Conversation::Event]
|
159
|
+
sig { returns(T.nilable(Vonage::Conversation::Event)) }
|
160
|
+
def event
|
161
|
+
@event ||= Event.new(@config)
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
@@ -9,6 +9,8 @@ module Vonage
|
|
9
9
|
|
10
10
|
# Create an event.
|
11
11
|
#
|
12
|
+
# @deprecated Please use {Vonage::Conversation::Event#create} instead
|
13
|
+
#
|
12
14
|
# @option params [required, String] :type
|
13
15
|
# Event type.
|
14
16
|
#
|
@@ -29,11 +31,14 @@ module Vonage
|
|
29
31
|
# @see https://developer.nexmo.com/api/conversation#createEvent
|
30
32
|
#
|
31
33
|
def create(conversation_id, params)
|
34
|
+
logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation::Event#create` instead.')
|
32
35
|
request('/beta/conversations/' + conversation_id + '/events', params: params, type: Post)
|
33
36
|
end
|
34
37
|
|
35
38
|
# List events.
|
36
39
|
#
|
40
|
+
# @deprecated Please use {Vonage::Conversation::Event#list} instead
|
41
|
+
#
|
37
42
|
# @param [String] conversation_id
|
38
43
|
#
|
39
44
|
# @option params [Boolean] :auto_advance
|
@@ -45,11 +50,14 @@ module Vonage
|
|
45
50
|
# @see https://developer.nexmo.com/api/conversation#getEvents
|
46
51
|
#
|
47
52
|
def list(conversation_id, params = nil, auto_advance = true)
|
53
|
+
logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation::Event#list` instead.')
|
48
54
|
request('/beta/conversations/' + conversation_id + '/events', params: params)
|
49
55
|
end
|
50
56
|
|
51
57
|
# Retrieve an event.
|
52
58
|
#
|
59
|
+
# @deprecated Please use {Vonage::Conversation::Event#find} instead
|
60
|
+
#
|
53
61
|
# @param [String] conversation_id
|
54
62
|
# @param [String] event_id
|
55
63
|
#
|
@@ -58,11 +66,14 @@ module Vonage
|
|
58
66
|
# @see https://developer.nexmo.com/api/conversation#getEvent
|
59
67
|
#
|
60
68
|
def get(conversation_id, event_id)
|
69
|
+
logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation::Event#find` instead.')
|
61
70
|
request('/beta/conversations/' + conversation_id + '/events/' + event_id.to_s)
|
62
71
|
end
|
63
72
|
|
64
73
|
# Delete an event.
|
65
74
|
#
|
75
|
+
# @deprecated Please use {Vonage::Conversation::Event#delete} instead
|
76
|
+
#
|
66
77
|
# @param [String] conversation_id
|
67
78
|
# @param [String] event_id
|
68
79
|
#
|
@@ -71,6 +82,7 @@ module Vonage
|
|
71
82
|
# @see https://developer.nexmo.com/api/conversation#deleteEvent
|
72
83
|
#
|
73
84
|
def delete(conversation_id, event_id)
|
85
|
+
logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation::Event#delete` instead.')
|
74
86
|
request('/beta/conversations/' + conversation_id + '/events/' + event_id.to_s, type: Delete)
|
75
87
|
end
|
76
88
|
end
|
@@ -7,6 +7,8 @@ module Vonage
|
|
7
7
|
|
8
8
|
# List legs.
|
9
9
|
#
|
10
|
+
# @deprecated
|
11
|
+
#
|
10
12
|
# @option params [Boolean] :auto_advance
|
11
13
|
# Set this to `false` to not auto-advance through all the pages in the record
|
12
14
|
# and collect all the data. The default is `true`.
|
@@ -16,11 +18,14 @@ module Vonage
|
|
16
18
|
# @see https://developer.nexmo.com/api/conversation#listLegs
|
17
19
|
#
|
18
20
|
def list(params = nil, auto_advance = true)
|
21
|
+
logger.info('This method is deprecated and will be removed in a future release.')
|
19
22
|
request('/beta/legs', params: params)
|
20
23
|
end
|
21
24
|
|
22
25
|
# Delete a leg.
|
23
26
|
#
|
27
|
+
# @deprecated
|
28
|
+
#
|
24
29
|
# @param [String] leg_id
|
25
30
|
#
|
26
31
|
# @return [Response]
|
@@ -28,6 +33,7 @@ module Vonage
|
|
28
33
|
# @see https://developer.nexmo.com/api/conversation#deleteLeg
|
29
34
|
#
|
30
35
|
def delete(leg_id)
|
36
|
+
logger.info('This method is deprecated and will be removed in a future release.')
|
31
37
|
request('/beta/legs/' + leg_id, type: Delete)
|
32
38
|
end
|
33
39
|
end
|