vonage 7.21.0 → 7.22.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8839127b442d9de3ee98bfc35f38bf76c967389bcf02136a28c8232f497f94bb
4
- data.tar.gz: c52b8d863d3326153f6678a9234457eb945b155f6fdfa2b782e45abbc4c5d16b
3
+ metadata.gz: 56d2728bfe79b6d7361f68189aae31b7509fae3e97260fa413f2e99ccc72d14c
4
+ data.tar.gz: ccca6115ec963b7e687e2c227ae31b026ec88c92ccc205fc39df46fe43827adf
5
5
  SHA512:
6
- metadata.gz: bf2d3ae171d5278f8c8d9c68129e3ba70b1edce0d16fb414bf0ecae7995c27620fbaca284f40c121dc128e6388f1485fa4bfa069f52e38b029d2f76397a73b0e
7
- data.tar.gz: 49897746fc8dc49fd67b01e3366215cc6298a59f771c1544b0004d2dcdac07c5d4b2263f383ac6c17e9d9bf7ca483bb4922bcc4ebdcdb0167a4823ac4387f627
6
+ metadata.gz: 0fdeaffdc2859873b73370cd32db48c540e38e88a637ed096f830694be07c221cbd663185631266d52b41c281051946f932aaf1afda7589a5a76b634f26ad37e
7
+ data.tar.gz: 0a75edbe4f910371aa672a554e2933f3514cd1b93c6557f7fd2f47c4c4f9465170d6c5c309ad99f676448dfe141261e4b0ce0879517f47ee1c99a49cce6d1cfd
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,11 @@
1
+ # typed: true
2
+
3
+ class Vonage::Conversation::Event::ListResponse < Vonage::Response
4
+ include Enumerable
5
+
6
+ def each
7
+ return enum_for(:each) unless block_given?
8
+
9
+ @entity._embedded.each { |item| yield item }
10
+ end
11
+ end
@@ -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,11 @@
1
+ # typed: true
2
+
3
+ class Vonage::Conversation::ListResponse < Vonage::Response
4
+ include Enumerable
5
+
6
+ def each
7
+ return enum_for(:each) unless block_given?
8
+
9
+ @entity._embedded.conversations.each { |item| yield item }
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+
3
+ class Vonage::Conversation::Member::ListResponse < Vonage::Response
4
+ include Enumerable
5
+
6
+ def each
7
+ return enum_for(:each) unless block_given?
8
+
9
+ @entity._embedded.members.each { |item| yield item }
10
+ end
11
+ 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,11 @@
1
+ # typed: true
2
+
3
+ class Vonage::Conversation::User::ConversationsListResponse < Vonage::Response
4
+ include Enumerable
5
+
6
+ def each
7
+ return enum_for(:each) unless block_given?
8
+
9
+ @entity._embedded.conversations.each { |item| yield item }
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+
3
+ class Vonage::Conversation::User::SessionsListResponse < Vonage::Response
4
+ include Enumerable
5
+
6
+ def each
7
+ return enum_for(:each) unless block_given?
8
+
9
+ @entity._embedded.sessions.each { |item| yield item }
10
+ end
11
+ 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
@@ -9,6 +9,8 @@ module Vonage
9
9
 
10
10
  # Create a member.
11
11
  #
12
+ # @deprecated Please use {Vonage::Conversation::Member#create} instead
13
+ #
12
14
  # @option params [String] :action
13
15
  # Invite or join a member to a conversation.
14
16
  # Must be one of: `invite` or `join`.
@@ -40,11 +42,14 @@ module Vonage
40
42
  # @see https://developer.nexmo.com/api/conversation#createMember
41
43
  #
42
44
  def create(conversation_id, params)
45
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation::Member#create` instead.')
43
46
  request('/beta/conversations/' + conversation_id + '/members', params: params, type: Post)
44
47
  end
45
48
 
46
49
  # List members.
47
50
  #
51
+ # @deprecated Please use {Vonage::Conversation::Member#list} instead
52
+ #
48
53
  # @param [String] conversation_id
49
54
  #
50
55
  # @option params [Boolean] :auto_advance
@@ -56,11 +61,14 @@ module Vonage
56
61
  # @see https://developer.nexmo.com/api/conversation#getMembers
57
62
  #
58
63
  def list(conversation_id, params = nil, auto_advance = true)
64
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation::Member#list` instead.')
59
65
  request('/beta/conversations/' + conversation_id + '/members', params: params)
60
66
  end
61
67
 
62
68
  # Retrieve a member.
63
69
  #
70
+ # @deprecated Please use {Vonage::Conversation::Member#find} instead
71
+ #
64
72
  # @param [String] conversation_id
65
73
  # @param [String] member_id
66
74
  #
@@ -69,11 +77,14 @@ module Vonage
69
77
  # @see https://developer.nexmo.com/api/conversation#getMember
70
78
  #
71
79
  def get(conversation_id, member_id)
80
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation::Member#find` instead.')
72
81
  request('/beta/conversations/' + conversation_id + '/members/' + member_id)
73
82
  end
74
83
 
75
84
  # Update a member.
76
85
  #
86
+ # @deprecated Please use {Vonage::Conversation::Member#update} instead
87
+ #
77
88
  # @option params [String] :action
78
89
  # Invite or join a member to a conversation.
79
90
  #
@@ -89,11 +100,14 @@ module Vonage
89
100
  # @see https://developer.nexmo.com/api/conversation#updateMember
90
101
  #
91
102
  def update(conversation_id, member_id, params)
103
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation::Member#update` instead.')
92
104
  request('/beta/conversations/' + conversation_id + '/members/' + member_id, params: params, type: Put)
93
105
  end
94
106
 
95
107
  # Delete a member.
96
108
  #
109
+ # @deprecated
110
+ #
97
111
  # @param [String] conversation_id
98
112
  # @param [String] member_id
99
113
  #
@@ -102,6 +116,7 @@ module Vonage
102
116
  # @see https://developer.nexmo.com/api/conversation#deleteMember
103
117
  #
104
118
  def delete(conversation_id, member_id)
119
+ logger.info('This method is deprecated and will be removed in a future release.')
105
120
  request('/beta/conversations/' + conversation_id + '/members/' + member_id, type: Delete)
106
121
  end
107
122
  end
@@ -9,6 +9,8 @@ module Vonage
9
9
 
10
10
  # Create a user.
11
11
  #
12
+ # @deprecated Please use {Vonage::Users#create} instead
13
+ #
12
14
  # @option params [String] :name
13
15
  # Unique name for a user.
14
16
  #
@@ -26,11 +28,14 @@ module Vonage
26
28
  # @see https://developer.nexmo.com/api/conversation#createUser
27
29
  #
28
30
  def create(params)
31
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Users#create` instead.')
29
32
  request('/beta/users', params: params, type: Post)
30
33
  end
31
34
 
32
35
  # List users.
33
36
  #
37
+ # @deprecated Please use {Vonage::Users#list} instead
38
+ #
34
39
  # @option params [Boolean] :auto_advance
35
40
  # Set this to `false` to not auto-advance through all the pages in the record
36
41
  # and collect all the data. The default is `true`.
@@ -40,11 +45,14 @@ module Vonage
40
45
  # @see https://developer.nexmo.com/api/conversation#getUsers
41
46
  #
42
47
  def list(params = nil, auto_advance = true)
48
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Users#list` instead.')
43
49
  request('/beta/users', params: params)
44
50
  end
45
51
 
46
52
  # Retrieve a user.
47
53
  #
54
+ # @deprecated Please use {Vonage::Users#find} instead
55
+ #
48
56
  # @param [String] id
49
57
  #
50
58
  # @return [Response]
@@ -52,11 +60,14 @@ module Vonage
52
60
  # @see https://developer.nexmo.com/api/conversation#getUser
53
61
  #
54
62
  def get(id)
63
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Users#find` instead.')
55
64
  request('/beta/users/' + id)
56
65
  end
57
66
 
58
67
  # Update a user.
59
68
  #
69
+ # @deprecated Please use {Vonage::Users#update} instead
70
+ #
60
71
  # @option params [String] :name
61
72
  # Unique name for a user.
62
73
  #
@@ -79,11 +90,14 @@ module Vonage
79
90
  # @see https://developer.nexmo.com/api/conversation#updateUser
80
91
  #
81
92
  def update(id, params)
93
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Users#update` instead.')
82
94
  request('/beta/users/' + id, params: params, type: Put)
83
95
  end
84
96
 
85
97
  # Delete a user.
86
98
  #
99
+ # @deprecated Please use {Vonage::Users#delete} instead
100
+ #
87
101
  # @param [String] id
88
102
  #
89
103
  # @return [Response]
@@ -91,6 +105,7 @@ module Vonage
91
105
  # @see https://developer.nexmo.com/api/conversation#deleteUser
92
106
  #
93
107
  def delete(id)
108
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Users#delete` instead.')
94
109
  request('/beta/users/' + id, type: Delete)
95
110
  end
96
111
  end
@@ -11,6 +11,8 @@ module Vonage
11
11
 
12
12
  # Create a conversation.
13
13
  #
14
+ # @deprecated Please use {Vonage::Conversation#create} instead
15
+ #
14
16
  # @example
15
17
  # response = client.conversations.create(name: 'Example Conversation', display_name: 'Example Display Name')
16
18
  #
@@ -37,11 +39,14 @@ module Vonage
37
39
  #
38
40
  sig { params(params: T::Hash[Symbol, T.untyped]).returns(Vonage::Response) }
39
41
  def create(params)
42
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation#create` instead.')
40
43
  request('/beta/conversations', params: params, type: Post)
41
44
  end
42
45
 
43
46
  # List all conversations associated with your application.
44
47
  #
48
+ # @deprecated Please use {Vonage::Conversation#list} instead
49
+ #
45
50
  # @example
46
51
  # response = client.conversations.list
47
52
  #
@@ -71,6 +76,7 @@ module Vonage
71
76
  #
72
77
  sig { params(params: T.nilable(T::Hash[Symbol, T.untyped]), auto_advance: T::Boolean).returns(Vonage::Response) }
73
78
  def list(params = nil, auto_advance = true)
79
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation#list` instead.')
74
80
  if params && !params.key?(:auto_advance)
75
81
  params.merge!(auto_advance: true)
76
82
  end
@@ -80,6 +86,8 @@ module Vonage
80
86
 
81
87
  # Retrieve a conversation.
82
88
  #
89
+ # @deprecated Please use {Vonage::Conversation#find} instead
90
+ #
83
91
  # @example
84
92
  # response = client.conversations.get(id)
85
93
  #
@@ -91,11 +99,14 @@ module Vonage
91
99
  #
92
100
  sig { params(id: String).returns(Vonage::Response) }
93
101
  def get(id)
102
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation#find` instead.')
94
103
  request('/beta/conversations/' + id)
95
104
  end
96
105
 
97
106
  # Update a conversation.
98
107
  #
108
+ # @deprecated Please use {Vonage::Conversation#update} instead
109
+ #
99
110
  # @example
100
111
  # response = client.conversations.update(id, display_name: 'Updated conversation')
101
112
  #
@@ -127,11 +138,14 @@ module Vonage
127
138
  params: T::Hash[Symbol, T.untyped]
128
139
  ).returns(Vonage::Response) }
129
140
  def update(id, params)
141
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation#update` instead.')
130
142
  request('/beta/conversations/' + id, params: params, type: Put)
131
143
  end
132
144
 
133
145
  # Delete a conversation.
134
146
  #
147
+ # @deprecated Please use {Vonage::Conversation#delete} instead
148
+ #
135
149
  # @example
136
150
  # response = client.conversations.delete(id)
137
151
  #
@@ -143,11 +157,14 @@ module Vonage
143
157
  #
144
158
  sig { params(id: String).returns(Vonage::Response) }
145
159
  def delete(id)
160
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation#delete` instead.')
146
161
  request('/beta/conversations/' + id, type: Delete)
147
162
  end
148
163
 
149
164
  # Record a conversation.
150
165
  #
166
+ # @deprecated
167
+ #
151
168
  # @example
152
169
  # response = client.conversations.record(id, action: 'start')
153
170
  #
@@ -178,13 +195,17 @@ module Vonage
178
195
  params: T::Hash[Symbol, T.untyped]
179
196
  ).returns(Vonage::Response) }
180
197
  def record(id, params)
198
+ logger.info('This method is deprecated and will be removed in a future release.')
181
199
  request('/v1/conversations/' + id + '/record', params: params, type: Put)
182
200
  end
183
201
 
184
202
  # @return [Events]
185
203
  #
204
+ # @deprecated Please use {Vonage::Conversation#event} instead
205
+ #
186
206
  sig { returns(T.nilable(Vonage::Conversations::Events)) }
187
207
  def events
208
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation#event` instead.')
188
209
  @events = T.let(@events, T.nilable(Vonage::Conversations::Events))
189
210
  @config = T.let(@config, T.nilable(Vonage::Config))
190
211
  @events ||= Events.new(@config)
@@ -192,24 +213,33 @@ module Vonage
192
213
 
193
214
  # @return [Legs]
194
215
  #
216
+ # @deprecated
217
+ #
195
218
  sig { returns(T.nilable(Vonage::Conversations::Legs)) }
196
219
  def legs
220
+ logger.info('This method is deprecated and will be removed in a future release.')
197
221
  @legs = T.let(@legs, T.nilable(Vonage::Conversations::Legs))
198
222
  @legs ||= Legs.new(@config)
199
223
  end
200
224
 
201
225
  # @return [Members]
202
226
  #
227
+ # @deprecated Please use {Vonage::Conversation#member} instead
228
+ #
203
229
  sig { returns(T.nilable(Vonage::Conversations::Members)) }
204
230
  def members
231
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation#member` instead.')
205
232
  @members = T.let(@members, T.nilable(Vonage::Conversations::Members))
206
233
  @members ||= Members.new(@config)
207
234
  end
208
235
 
209
236
  # @return [Users]
210
237
  #
238
+ # @deprecated Please use {Vonage::Conversation#user} instead
239
+ #
211
240
  sig { returns(T.nilable(Vonage::Conversations::Users)) }
212
241
  def users
242
+ logger.info('This method is deprecated and will be removed in a future release. Please use `Vonage::Conversation#user` instead.')
213
243
  @users = T.let(@users, T.nilable(Vonage::Conversations::Users))
214
244
  @users ||= Users.new(@config)
215
245
  end
@@ -1,5 +1,5 @@
1
1
  # typed: strong
2
2
 
3
3
  module Vonage
4
- VERSION = '7.21.0'
4
+ VERSION = '7.22.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vonage
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.21.0
4
+ version: 7.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vonage
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-21 00:00:00.000000000 Z
11
+ date: 2024-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: vonage-jwt
@@ -142,6 +142,15 @@ files:
142
142
  - lib/vonage/client.rb
143
143
  - lib/vonage/client_error.rb
144
144
  - lib/vonage/config.rb
145
+ - lib/vonage/conversation.rb
146
+ - lib/vonage/conversation/event.rb
147
+ - lib/vonage/conversation/event/list_response.rb
148
+ - lib/vonage/conversation/list_response.rb
149
+ - lib/vonage/conversation/member.rb
150
+ - lib/vonage/conversation/member/list_response.rb
151
+ - lib/vonage/conversation/user.rb
152
+ - lib/vonage/conversation/user/conversations_list_response.rb
153
+ - lib/vonage/conversation/user/sessions_list_response.rb
145
154
  - lib/vonage/conversations.rb
146
155
  - lib/vonage/conversations/events.rb
147
156
  - lib/vonage/conversations/legs.rb