sentdm 0.30.0 → 0.31.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/CHANGELOG.md +13 -0
- data/README.md +29 -1
- data/lib/sentdm/internal/contacts_page.rb +115 -0
- data/lib/sentdm/internal/conversations_page.rb +115 -0
- data/lib/sentdm/internal/templates_page.rb +115 -0
- data/lib/sentdm/internal/webhook_events_page.rb +115 -0
- data/lib/sentdm/internal/webhooks_page.rb +115 -0
- data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -1
- data/lib/sentdm/models/contact_list_params.rb +13 -13
- data/lib/sentdm/models/contact_response.rb +1 -0
- data/lib/sentdm/models/conversation_list_messages_params.rb +5 -5
- data/lib/sentdm/models/conversation_list_params.rb +5 -5
- data/lib/sentdm/models/template.rb +1 -0
- data/lib/sentdm/models/template_list_params.rb +17 -17
- data/lib/sentdm/models/webhook_list_events_params.rb +5 -5
- data/lib/sentdm/models/webhook_list_events_response.rb +108 -168
- data/lib/sentdm/models/webhook_list_params.rb +11 -11
- data/lib/sentdm/models/webhook_response.rb +1 -0
- data/lib/sentdm/resources/contacts.rb +8 -7
- data/lib/sentdm/resources/conversations.rb +10 -8
- data/lib/sentdm/resources/templates.rb +10 -9
- data/lib/sentdm/resources/webhooks.rb +12 -10
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +5 -3
- data/rbi/sentdm/internal/contacts_page.rbi +71 -0
- data/rbi/sentdm/internal/conversations_page.rbi +71 -0
- data/rbi/sentdm/internal/templates_page.rbi +71 -0
- data/rbi/sentdm/internal/webhook_events_page.rbi +71 -0
- data/rbi/sentdm/internal/webhooks_page.rbi +71 -0
- data/rbi/sentdm/models/contact_list_params.rbi +19 -13
- data/rbi/sentdm/models/conversation_list_messages_params.rbi +12 -6
- data/rbi/sentdm/models/conversation_list_params.rbi +16 -5
- data/rbi/sentdm/models/template_list_params.rbi +22 -16
- data/rbi/sentdm/models/webhook_list_events_params.rbi +12 -6
- data/rbi/sentdm/models/webhook_list_events_response.rbi +114 -263
- data/rbi/sentdm/models/webhook_list_params.rbi +16 -10
- data/rbi/sentdm/resources/contacts.rbi +6 -6
- data/rbi/sentdm/resources/conversations.rbi +14 -6
- data/rbi/sentdm/resources/templates.rbi +7 -7
- data/rbi/sentdm/resources/webhooks.rbi +12 -8
- data/sig/sentdm/internal/contacts_page.rbs +41 -0
- data/sig/sentdm/internal/conversations_page.rbs +41 -0
- data/sig/sentdm/internal/templates_page.rbs +44 -0
- data/sig/sentdm/internal/webhook_events_page.rbs +41 -0
- data/sig/sentdm/internal/webhooks_page.rbs +41 -0
- data/sig/sentdm/models/contact_list_params.rbs +11 -7
- data/sig/sentdm/models/conversation_list_messages_params.rbs +8 -4
- data/sig/sentdm/models/conversation_list_params.rbs +8 -4
- data/sig/sentdm/models/template_list_params.rbs +14 -10
- data/sig/sentdm/models/webhook_list_events_params.rbs +8 -4
- data/sig/sentdm/models/webhook_list_events_response.rbs +63 -127
- data/sig/sentdm/models/webhook_list_params.rbs +11 -7
- data/sig/sentdm/resources/contacts.rbs +3 -3
- data/sig/sentdm/resources/conversations.rbs +6 -6
- data/sig/sentdm/resources/templates.rbs +3 -3
- data/sig/sentdm/resources/webhooks.rbs +6 -6
- metadata +16 -10
- data/lib/sentdm/models/contact_list_response.rb +0 -65
- data/lib/sentdm/models/template_list_response.rb +0 -65
- data/lib/sentdm/models/webhook_list_response.rb +0 -65
- data/rbi/sentdm/models/contact_list_response.rbi +0 -128
- data/rbi/sentdm/models/template_list_response.rbi +0 -128
- data/rbi/sentdm/models/webhook_list_response.rbi +0 -128
- data/sig/sentdm/models/contact_list_response.rbs +0 -67
- data/sig/sentdm/models/template_list_response.rbs +0 -65
- data/sig/sentdm/models/webhook_list_response.rbs +0 -67
|
@@ -131,16 +131,16 @@ module Sentdm
|
|
|
131
131
|
# Retrieves a paginated list of message templates for the authenticated customer.
|
|
132
132
|
# Supports filtering by status, category, and search term.
|
|
133
133
|
#
|
|
134
|
-
# @overload list(
|
|
135
|
-
#
|
|
136
|
-
# @param page [Integer] Query param: Page number (1-indexed)
|
|
137
|
-
#
|
|
138
|
-
# @param page_size [Integer] Query param: Number of items per page
|
|
134
|
+
# @overload list(category: nil, is_welcome_playground: nil, page: nil, page_size: nil, search: nil, status: nil, x_profile_id: nil, request_options: {})
|
|
139
135
|
#
|
|
140
136
|
# @param category [String, nil] Query param: Optional category filter: MARKETING, UTILITY, AUTHENTICATION
|
|
141
137
|
#
|
|
142
138
|
# @param is_welcome_playground [Boolean, nil] Query param: Accepted and ignored. It used to filter on the welcome-playground m
|
|
143
139
|
#
|
|
140
|
+
# @param page [Integer] Query param: Page number (1-indexed)
|
|
141
|
+
#
|
|
142
|
+
# @param page_size [Integer] Query param: Number of items per page
|
|
143
|
+
#
|
|
144
144
|
# @param search [String, nil] Query param: Optional search term for filtering templates
|
|
145
145
|
#
|
|
146
146
|
# @param status [String, nil] Query param: Optional status filter: APPROVED, PENDING, REJECTED
|
|
@@ -149,11 +149,11 @@ module Sentdm
|
|
|
149
149
|
#
|
|
150
150
|
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
151
151
|
#
|
|
152
|
-
# @return [Sentdm::Models::
|
|
152
|
+
# @return [Sentdm::Internal::TemplatesPage<Sentdm::Models::Template>]
|
|
153
153
|
#
|
|
154
154
|
# @see Sentdm::Models::TemplateListParams
|
|
155
|
-
def list(params)
|
|
156
|
-
query_params = [:
|
|
155
|
+
def list(params = {})
|
|
156
|
+
query_params = [:category, :is_welcome_playground, :page, :page_size, :search, :status]
|
|
157
157
|
parsed, options = Sentdm::TemplateListParams.dump_request(params)
|
|
158
158
|
query = Sentdm::Internal::Util.encode_query_params(parsed.slice(*query_params))
|
|
159
159
|
@client.request(
|
|
@@ -161,7 +161,8 @@ module Sentdm
|
|
|
161
161
|
path: "v3/templates",
|
|
162
162
|
query: query,
|
|
163
163
|
headers: parsed.except(*query_params).transform_keys(x_profile_id: "x-profile-id"),
|
|
164
|
-
|
|
164
|
+
page: Sentdm::Internal::TemplatesPage,
|
|
165
|
+
model: Sentdm::Template,
|
|
165
166
|
options: options
|
|
166
167
|
)
|
|
167
168
|
end
|
|
@@ -134,25 +134,25 @@ module Sentdm
|
|
|
134
134
|
#
|
|
135
135
|
# Retrieves a paginated list of webhooks for the authenticated customer.
|
|
136
136
|
#
|
|
137
|
-
# @overload list(page
|
|
137
|
+
# @overload list(is_active: nil, page: nil, page_size: nil, search: nil, x_profile_id: nil, request_options: {})
|
|
138
|
+
#
|
|
139
|
+
# @param is_active [Boolean, nil] Query param
|
|
138
140
|
#
|
|
139
141
|
# @param page [Integer] Query param
|
|
140
142
|
#
|
|
141
143
|
# @param page_size [Integer] Query param
|
|
142
144
|
#
|
|
143
|
-
# @param is_active [Boolean, nil] Query param
|
|
144
|
-
#
|
|
145
145
|
# @param search [String, nil] Query param
|
|
146
146
|
#
|
|
147
147
|
# @param x_profile_id [String] Header param: Profile UUID to scope the request to a child profile. Only organiz
|
|
148
148
|
#
|
|
149
149
|
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
150
150
|
#
|
|
151
|
-
# @return [Sentdm::Models::
|
|
151
|
+
# @return [Sentdm::Internal::WebhooksPage<Sentdm::Models::WebhookResponse>]
|
|
152
152
|
#
|
|
153
153
|
# @see Sentdm::Models::WebhookListParams
|
|
154
|
-
def list(params)
|
|
155
|
-
query_params = [:
|
|
154
|
+
def list(params = {})
|
|
155
|
+
query_params = [:is_active, :page, :page_size, :search]
|
|
156
156
|
parsed, options = Sentdm::WebhookListParams.dump_request(params)
|
|
157
157
|
query = Sentdm::Internal::Util.encode_query_params(parsed.slice(*query_params))
|
|
158
158
|
@client.request(
|
|
@@ -160,7 +160,8 @@ module Sentdm
|
|
|
160
160
|
path: "v3/webhooks",
|
|
161
161
|
query: query,
|
|
162
162
|
headers: parsed.except(*query_params).transform_keys(x_profile_id: "x-profile-id"),
|
|
163
|
-
|
|
163
|
+
page: Sentdm::Internal::WebhooksPage,
|
|
164
|
+
model: Sentdm::WebhookResponse,
|
|
164
165
|
options: options
|
|
165
166
|
)
|
|
166
167
|
end
|
|
@@ -222,7 +223,7 @@ module Sentdm
|
|
|
222
223
|
#
|
|
223
224
|
# Retrieves a paginated list of delivery events for the specified webhook.
|
|
224
225
|
#
|
|
225
|
-
# @overload list_events(id, page
|
|
226
|
+
# @overload list_events(id, page: nil, page_size: nil, search: nil, x_profile_id: nil, request_options: {})
|
|
226
227
|
#
|
|
227
228
|
# @param id [String] Path param
|
|
228
229
|
#
|
|
@@ -236,10 +237,10 @@ module Sentdm
|
|
|
236
237
|
#
|
|
237
238
|
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
238
239
|
#
|
|
239
|
-
# @return [Sentdm::Models::WebhookListEventsResponse]
|
|
240
|
+
# @return [Sentdm::Internal::WebhookEventsPage<Sentdm::Models::WebhookListEventsResponse>]
|
|
240
241
|
#
|
|
241
242
|
# @see Sentdm::Models::WebhookListEventsParams
|
|
242
|
-
def list_events(id, params)
|
|
243
|
+
def list_events(id, params = {})
|
|
243
244
|
query_params = [:page, :page_size, :search]
|
|
244
245
|
parsed, options = Sentdm::WebhookListEventsParams.dump_request(params)
|
|
245
246
|
query = Sentdm::Internal::Util.encode_query_params(parsed.slice(*query_params))
|
|
@@ -248,6 +249,7 @@ module Sentdm
|
|
|
248
249
|
path: ["v3/webhooks/%1$s/events", id],
|
|
249
250
|
query: query,
|
|
250
251
|
headers: parsed.except(*query_params).transform_keys(x_profile_id: "x-profile-id"),
|
|
252
|
+
page: Sentdm::Internal::WebhookEventsPage,
|
|
251
253
|
model: Sentdm::Models::WebhookListEventsResponse,
|
|
252
254
|
options: options
|
|
253
255
|
)
|
data/lib/sentdm/version.rb
CHANGED
data/lib/sentdm.rb
CHANGED
|
@@ -52,6 +52,11 @@ require_relative "sentdm/errors"
|
|
|
52
52
|
require_relative "sentdm/internal/transport/base_client"
|
|
53
53
|
require_relative "sentdm/internal/transport/pooled_net_requester"
|
|
54
54
|
require_relative "sentdm/client"
|
|
55
|
+
require_relative "sentdm/internal/contacts_page"
|
|
56
|
+
require_relative "sentdm/internal/conversations_page"
|
|
57
|
+
require_relative "sentdm/internal/templates_page"
|
|
58
|
+
require_relative "sentdm/internal/webhook_events_page"
|
|
59
|
+
require_relative "sentdm/internal/webhooks_page"
|
|
55
60
|
require_relative "sentdm/models/mutation_request"
|
|
56
61
|
require_relative "sentdm/models/api_meta"
|
|
57
62
|
require_relative "sentdm/models/api_response_of_contact"
|
|
@@ -70,7 +75,6 @@ require_relative "sentdm/models/brands_brand_data"
|
|
|
70
75
|
require_relative "sentdm/models/contact_create_params"
|
|
71
76
|
require_relative "sentdm/models/contact_delete_params"
|
|
72
77
|
require_relative "sentdm/models/contact_list_params"
|
|
73
|
-
require_relative "sentdm/models/contact_list_response"
|
|
74
78
|
require_relative "sentdm/models/contact_message_summary"
|
|
75
79
|
require_relative "sentdm/models/contact_response"
|
|
76
80
|
require_relative "sentdm/models/contact_retrieve_message_summary_params"
|
|
@@ -133,7 +137,6 @@ require_relative "sentdm/models/template_event_payload"
|
|
|
133
137
|
require_relative "sentdm/models/template_footer"
|
|
134
138
|
require_relative "sentdm/models/template_header"
|
|
135
139
|
require_relative "sentdm/models/template_list_params"
|
|
136
|
-
require_relative "sentdm/models/template_list_response"
|
|
137
140
|
require_relative "sentdm/models/template_retrieve_params"
|
|
138
141
|
require_relative "sentdm/models/template_update_params"
|
|
139
142
|
require_relative "sentdm/models/template_variable"
|
|
@@ -152,7 +155,6 @@ require_relative "sentdm/models/webhook_list_events_response"
|
|
|
152
155
|
require_relative "sentdm/models/webhook_list_event_types_params"
|
|
153
156
|
require_relative "sentdm/models/webhook_list_event_types_response"
|
|
154
157
|
require_relative "sentdm/models/webhook_list_params"
|
|
155
|
-
require_relative "sentdm/models/webhook_list_response"
|
|
156
158
|
require_relative "sentdm/models/webhook_response"
|
|
157
159
|
require_relative "sentdm/models/webhook_retrieve_params"
|
|
158
160
|
require_relative "sentdm/models/webhook_rotate_secret_params"
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Internal
|
|
5
|
+
class ContactsPage
|
|
6
|
+
include Sentdm::Internal::Type::BasePage
|
|
7
|
+
|
|
8
|
+
Elem = type_member
|
|
9
|
+
|
|
10
|
+
sig { returns(Data) }
|
|
11
|
+
attr_accessor :data
|
|
12
|
+
|
|
13
|
+
# @api private
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
def inspect
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
class Data < Sentdm::Internal::Type::BaseModel
|
|
19
|
+
OrHash = T.type_alias { T.any(Data, Sentdm::Internal::AnyHash) }
|
|
20
|
+
|
|
21
|
+
sig { returns(T.nilable(T::Array[T.anything])) }
|
|
22
|
+
attr_reader :contacts
|
|
23
|
+
|
|
24
|
+
sig { params(contacts: T::Array[T.anything]).void }
|
|
25
|
+
attr_writer :contacts
|
|
26
|
+
|
|
27
|
+
sig { returns(T.nilable(Data::Pagination)) }
|
|
28
|
+
attr_reader :pagination
|
|
29
|
+
|
|
30
|
+
sig { params(pagination: Data::Pagination::OrHash).void }
|
|
31
|
+
attr_writer :pagination
|
|
32
|
+
|
|
33
|
+
sig do
|
|
34
|
+
params(
|
|
35
|
+
contacts: T::Array[T.anything],
|
|
36
|
+
pagination: Data::Pagination::OrHash
|
|
37
|
+
).returns(T.attached_class)
|
|
38
|
+
end
|
|
39
|
+
def self.new(contacts: nil, pagination: nil)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
sig do
|
|
43
|
+
override.returns(
|
|
44
|
+
{ contacts: T::Array[T.anything], pagination: Data::Pagination }
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
def to_hash
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
class Pagination < Sentdm::Internal::Type::BaseModel
|
|
51
|
+
OrHash =
|
|
52
|
+
T.type_alias { T.any(Data::Pagination, Sentdm::Internal::AnyHash) }
|
|
53
|
+
|
|
54
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
55
|
+
attr_reader :has_more
|
|
56
|
+
|
|
57
|
+
sig { params(has_more: T::Boolean).void }
|
|
58
|
+
attr_writer :has_more
|
|
59
|
+
|
|
60
|
+
sig { params(has_more: T::Boolean).returns(T.attached_class) }
|
|
61
|
+
def self.new(has_more: nil)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
sig { override.returns({ has_more: T::Boolean }) }
|
|
65
|
+
def to_hash
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Internal
|
|
5
|
+
class ConversationsPage
|
|
6
|
+
include Sentdm::Internal::Type::BasePage
|
|
7
|
+
|
|
8
|
+
Elem = type_member
|
|
9
|
+
|
|
10
|
+
sig { returns(Data) }
|
|
11
|
+
attr_accessor :data
|
|
12
|
+
|
|
13
|
+
# @api private
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
def inspect
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
class Data < Sentdm::Internal::Type::BaseModel
|
|
19
|
+
OrHash = T.type_alias { T.any(Data, Sentdm::Internal::AnyHash) }
|
|
20
|
+
|
|
21
|
+
sig { returns(T.nilable(T::Array[T.anything])) }
|
|
22
|
+
attr_reader :messages
|
|
23
|
+
|
|
24
|
+
sig { params(messages: T::Array[T.anything]).void }
|
|
25
|
+
attr_writer :messages
|
|
26
|
+
|
|
27
|
+
sig { returns(T.nilable(Data::Pagination)) }
|
|
28
|
+
attr_reader :pagination
|
|
29
|
+
|
|
30
|
+
sig { params(pagination: Data::Pagination::OrHash).void }
|
|
31
|
+
attr_writer :pagination
|
|
32
|
+
|
|
33
|
+
sig do
|
|
34
|
+
params(
|
|
35
|
+
messages: T::Array[T.anything],
|
|
36
|
+
pagination: Data::Pagination::OrHash
|
|
37
|
+
).returns(T.attached_class)
|
|
38
|
+
end
|
|
39
|
+
def self.new(messages: nil, pagination: nil)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
sig do
|
|
43
|
+
override.returns(
|
|
44
|
+
{ messages: T::Array[T.anything], pagination: Data::Pagination }
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
def to_hash
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
class Pagination < Sentdm::Internal::Type::BaseModel
|
|
51
|
+
OrHash =
|
|
52
|
+
T.type_alias { T.any(Data::Pagination, Sentdm::Internal::AnyHash) }
|
|
53
|
+
|
|
54
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
55
|
+
attr_reader :has_more
|
|
56
|
+
|
|
57
|
+
sig { params(has_more: T::Boolean).void }
|
|
58
|
+
attr_writer :has_more
|
|
59
|
+
|
|
60
|
+
sig { params(has_more: T::Boolean).returns(T.attached_class) }
|
|
61
|
+
def self.new(has_more: nil)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
sig { override.returns({ has_more: T::Boolean }) }
|
|
65
|
+
def to_hash
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Internal
|
|
5
|
+
class TemplatesPage
|
|
6
|
+
include Sentdm::Internal::Type::BasePage
|
|
7
|
+
|
|
8
|
+
Elem = type_member
|
|
9
|
+
|
|
10
|
+
sig { returns(Data) }
|
|
11
|
+
attr_accessor :data
|
|
12
|
+
|
|
13
|
+
# @api private
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
def inspect
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
class Data < Sentdm::Internal::Type::BaseModel
|
|
19
|
+
OrHash = T.type_alias { T.any(Data, Sentdm::Internal::AnyHash) }
|
|
20
|
+
|
|
21
|
+
sig { returns(T.nilable(Data::Pagination)) }
|
|
22
|
+
attr_reader :pagination
|
|
23
|
+
|
|
24
|
+
sig { params(pagination: Data::Pagination::OrHash).void }
|
|
25
|
+
attr_writer :pagination
|
|
26
|
+
|
|
27
|
+
sig { returns(T.nilable(T::Array[T.anything])) }
|
|
28
|
+
attr_reader :templates
|
|
29
|
+
|
|
30
|
+
sig { params(templates: T::Array[T.anything]).void }
|
|
31
|
+
attr_writer :templates
|
|
32
|
+
|
|
33
|
+
sig do
|
|
34
|
+
params(
|
|
35
|
+
pagination: Data::Pagination::OrHash,
|
|
36
|
+
templates: T::Array[T.anything]
|
|
37
|
+
).returns(T.attached_class)
|
|
38
|
+
end
|
|
39
|
+
def self.new(pagination: nil, templates: nil)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
sig do
|
|
43
|
+
override.returns(
|
|
44
|
+
{ pagination: Data::Pagination, templates: T::Array[T.anything] }
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
def to_hash
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
class Pagination < Sentdm::Internal::Type::BaseModel
|
|
51
|
+
OrHash =
|
|
52
|
+
T.type_alias { T.any(Data::Pagination, Sentdm::Internal::AnyHash) }
|
|
53
|
+
|
|
54
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
55
|
+
attr_reader :has_more
|
|
56
|
+
|
|
57
|
+
sig { params(has_more: T::Boolean).void }
|
|
58
|
+
attr_writer :has_more
|
|
59
|
+
|
|
60
|
+
sig { params(has_more: T::Boolean).returns(T.attached_class) }
|
|
61
|
+
def self.new(has_more: nil)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
sig { override.returns({ has_more: T::Boolean }) }
|
|
65
|
+
def to_hash
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Internal
|
|
5
|
+
class WebhookEventsPage
|
|
6
|
+
include Sentdm::Internal::Type::BasePage
|
|
7
|
+
|
|
8
|
+
Elem = type_member
|
|
9
|
+
|
|
10
|
+
sig { returns(Data) }
|
|
11
|
+
attr_accessor :data
|
|
12
|
+
|
|
13
|
+
# @api private
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
def inspect
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
class Data < Sentdm::Internal::Type::BaseModel
|
|
19
|
+
OrHash = T.type_alias { T.any(Data, Sentdm::Internal::AnyHash) }
|
|
20
|
+
|
|
21
|
+
sig { returns(T.nilable(T::Array[T.anything])) }
|
|
22
|
+
attr_reader :events
|
|
23
|
+
|
|
24
|
+
sig { params(events: T::Array[T.anything]).void }
|
|
25
|
+
attr_writer :events
|
|
26
|
+
|
|
27
|
+
sig { returns(T.nilable(Data::Pagination)) }
|
|
28
|
+
attr_reader :pagination
|
|
29
|
+
|
|
30
|
+
sig { params(pagination: Data::Pagination::OrHash).void }
|
|
31
|
+
attr_writer :pagination
|
|
32
|
+
|
|
33
|
+
sig do
|
|
34
|
+
params(
|
|
35
|
+
events: T::Array[T.anything],
|
|
36
|
+
pagination: Data::Pagination::OrHash
|
|
37
|
+
).returns(T.attached_class)
|
|
38
|
+
end
|
|
39
|
+
def self.new(events: nil, pagination: nil)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
sig do
|
|
43
|
+
override.returns(
|
|
44
|
+
{ events: T::Array[T.anything], pagination: Data::Pagination }
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
def to_hash
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
class Pagination < Sentdm::Internal::Type::BaseModel
|
|
51
|
+
OrHash =
|
|
52
|
+
T.type_alias { T.any(Data::Pagination, Sentdm::Internal::AnyHash) }
|
|
53
|
+
|
|
54
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
55
|
+
attr_reader :has_more
|
|
56
|
+
|
|
57
|
+
sig { params(has_more: T::Boolean).void }
|
|
58
|
+
attr_writer :has_more
|
|
59
|
+
|
|
60
|
+
sig { params(has_more: T::Boolean).returns(T.attached_class) }
|
|
61
|
+
def self.new(has_more: nil)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
sig { override.returns({ has_more: T::Boolean }) }
|
|
65
|
+
def to_hash
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Internal
|
|
5
|
+
class WebhooksPage
|
|
6
|
+
include Sentdm::Internal::Type::BasePage
|
|
7
|
+
|
|
8
|
+
Elem = type_member
|
|
9
|
+
|
|
10
|
+
sig { returns(Data) }
|
|
11
|
+
attr_accessor :data
|
|
12
|
+
|
|
13
|
+
# @api private
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
def inspect
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
class Data < Sentdm::Internal::Type::BaseModel
|
|
19
|
+
OrHash = T.type_alias { T.any(Data, Sentdm::Internal::AnyHash) }
|
|
20
|
+
|
|
21
|
+
sig { returns(T.nilable(Data::Pagination)) }
|
|
22
|
+
attr_reader :pagination
|
|
23
|
+
|
|
24
|
+
sig { params(pagination: Data::Pagination::OrHash).void }
|
|
25
|
+
attr_writer :pagination
|
|
26
|
+
|
|
27
|
+
sig { returns(T.nilable(T::Array[T.anything])) }
|
|
28
|
+
attr_reader :webhooks
|
|
29
|
+
|
|
30
|
+
sig { params(webhooks: T::Array[T.anything]).void }
|
|
31
|
+
attr_writer :webhooks
|
|
32
|
+
|
|
33
|
+
sig do
|
|
34
|
+
params(
|
|
35
|
+
pagination: Data::Pagination::OrHash,
|
|
36
|
+
webhooks: T::Array[T.anything]
|
|
37
|
+
).returns(T.attached_class)
|
|
38
|
+
end
|
|
39
|
+
def self.new(pagination: nil, webhooks: nil)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
sig do
|
|
43
|
+
override.returns(
|
|
44
|
+
{ pagination: Data::Pagination, webhooks: T::Array[T.anything] }
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
def to_hash
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
class Pagination < Sentdm::Internal::Type::BaseModel
|
|
51
|
+
OrHash =
|
|
52
|
+
T.type_alias { T.any(Data::Pagination, Sentdm::Internal::AnyHash) }
|
|
53
|
+
|
|
54
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
55
|
+
attr_reader :has_more
|
|
56
|
+
|
|
57
|
+
sig { params(has_more: T::Boolean).void }
|
|
58
|
+
attr_writer :has_more
|
|
59
|
+
|
|
60
|
+
sig { params(has_more: T::Boolean).returns(T.attached_class) }
|
|
61
|
+
def self.new(has_more: nil)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
sig { override.returns({ has_more: T::Boolean }) }
|
|
65
|
+
def to_hash
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -11,17 +11,23 @@ module Sentdm
|
|
|
11
11
|
T.any(Sentdm::ContactListParams, Sentdm::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# Optional channel filter (sms, whatsapp)
|
|
15
|
+
sig { returns(T.nilable(String)) }
|
|
16
|
+
attr_accessor :channel
|
|
17
|
+
|
|
14
18
|
# Page number (1-indexed)
|
|
15
|
-
sig { returns(Integer) }
|
|
16
|
-
|
|
19
|
+
sig { returns(T.nilable(Integer)) }
|
|
20
|
+
attr_reader :page
|
|
21
|
+
|
|
22
|
+
sig { params(page: Integer).void }
|
|
23
|
+
attr_writer :page
|
|
17
24
|
|
|
18
25
|
# Number of items per page
|
|
19
|
-
sig { returns(Integer) }
|
|
20
|
-
|
|
26
|
+
sig { returns(T.nilable(Integer)) }
|
|
27
|
+
attr_reader :page_size
|
|
21
28
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
attr_accessor :channel
|
|
29
|
+
sig { params(page_size: Integer).void }
|
|
30
|
+
attr_writer :page_size
|
|
25
31
|
|
|
26
32
|
# Optional phone number filter (alternative to list view)
|
|
27
33
|
sig { returns(T.nilable(String)) }
|
|
@@ -39,9 +45,9 @@ module Sentdm
|
|
|
39
45
|
|
|
40
46
|
sig do
|
|
41
47
|
params(
|
|
48
|
+
channel: T.nilable(String),
|
|
42
49
|
page: Integer,
|
|
43
50
|
page_size: Integer,
|
|
44
|
-
channel: T.nilable(String),
|
|
45
51
|
phone: T.nilable(String),
|
|
46
52
|
search: T.nilable(String),
|
|
47
53
|
x_profile_id: String,
|
|
@@ -49,12 +55,12 @@ module Sentdm
|
|
|
49
55
|
).returns(T.attached_class)
|
|
50
56
|
end
|
|
51
57
|
def self.new(
|
|
52
|
-
# Page number (1-indexed)
|
|
53
|
-
page:,
|
|
54
|
-
# Number of items per page
|
|
55
|
-
page_size:,
|
|
56
58
|
# Optional channel filter (sms, whatsapp)
|
|
57
59
|
channel: nil,
|
|
60
|
+
# Page number (1-indexed)
|
|
61
|
+
page: nil,
|
|
62
|
+
# Number of items per page
|
|
63
|
+
page_size: nil,
|
|
58
64
|
# Optional phone number filter (alternative to list view)
|
|
59
65
|
phone: nil,
|
|
60
66
|
# Optional search term for filtering contacts
|
|
@@ -67,9 +73,9 @@ module Sentdm
|
|
|
67
73
|
sig do
|
|
68
74
|
override.returns(
|
|
69
75
|
{
|
|
76
|
+
channel: T.nilable(String),
|
|
70
77
|
page: Integer,
|
|
71
78
|
page_size: Integer,
|
|
72
|
-
channel: T.nilable(String),
|
|
73
79
|
phone: T.nilable(String),
|
|
74
80
|
search: T.nilable(String),
|
|
75
81
|
x_profile_id: String,
|
|
@@ -17,11 +17,17 @@ module Sentdm
|
|
|
17
17
|
sig { returns(String) }
|
|
18
18
|
attr_accessor :id
|
|
19
19
|
|
|
20
|
-
sig { returns(Integer) }
|
|
21
|
-
|
|
20
|
+
sig { returns(T.nilable(Integer)) }
|
|
21
|
+
attr_reader :page
|
|
22
22
|
|
|
23
|
-
sig {
|
|
24
|
-
|
|
23
|
+
sig { params(page: Integer).void }
|
|
24
|
+
attr_writer :page
|
|
25
|
+
|
|
26
|
+
sig { returns(T.nilable(Integer)) }
|
|
27
|
+
attr_reader :page_size
|
|
28
|
+
|
|
29
|
+
sig { params(page_size: Integer).void }
|
|
30
|
+
attr_writer :page_size
|
|
25
31
|
|
|
26
32
|
sig { returns(T.nilable(String)) }
|
|
27
33
|
attr_reader :x_profile_id
|
|
@@ -40,8 +46,8 @@ module Sentdm
|
|
|
40
46
|
end
|
|
41
47
|
def self.new(
|
|
42
48
|
id:,
|
|
43
|
-
page
|
|
44
|
-
page_size
|
|
49
|
+
page: nil,
|
|
50
|
+
page_size: nil,
|
|
45
51
|
x_profile_id: nil,
|
|
46
52
|
request_options: {}
|
|
47
53
|
)
|
|
@@ -11,11 +11,17 @@ module Sentdm
|
|
|
11
11
|
T.any(Sentdm::ConversationListParams, Sentdm::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
sig { returns(Integer) }
|
|
15
|
-
|
|
14
|
+
sig { returns(T.nilable(Integer)) }
|
|
15
|
+
attr_reader :page
|
|
16
16
|
|
|
17
|
-
sig {
|
|
18
|
-
|
|
17
|
+
sig { params(page: Integer).void }
|
|
18
|
+
attr_writer :page
|
|
19
|
+
|
|
20
|
+
sig { returns(T.nilable(Integer)) }
|
|
21
|
+
attr_reader :page_size
|
|
22
|
+
|
|
23
|
+
sig { params(page_size: Integer).void }
|
|
24
|
+
attr_writer :page_size
|
|
19
25
|
|
|
20
26
|
sig { returns(T.nilable(String)) }
|
|
21
27
|
attr_reader :x_profile_id
|
|
@@ -31,7 +37,12 @@ module Sentdm
|
|
|
31
37
|
request_options: Sentdm::RequestOptions::OrHash
|
|
32
38
|
).returns(T.attached_class)
|
|
33
39
|
end
|
|
34
|
-
def self.new(
|
|
40
|
+
def self.new(
|
|
41
|
+
page: nil,
|
|
42
|
+
page_size: nil,
|
|
43
|
+
x_profile_id: nil,
|
|
44
|
+
request_options: {}
|
|
45
|
+
)
|
|
35
46
|
end
|
|
36
47
|
|
|
37
48
|
sig do
|