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.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +29 -1
  4. data/lib/sentdm/internal/contacts_page.rb +115 -0
  5. data/lib/sentdm/internal/conversations_page.rb +115 -0
  6. data/lib/sentdm/internal/templates_page.rb +115 -0
  7. data/lib/sentdm/internal/webhook_events_page.rb +115 -0
  8. data/lib/sentdm/internal/webhooks_page.rb +115 -0
  9. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -1
  10. data/lib/sentdm/models/contact_list_params.rb +13 -13
  11. data/lib/sentdm/models/contact_response.rb +1 -0
  12. data/lib/sentdm/models/conversation_list_messages_params.rb +5 -5
  13. data/lib/sentdm/models/conversation_list_params.rb +5 -5
  14. data/lib/sentdm/models/template.rb +1 -0
  15. data/lib/sentdm/models/template_list_params.rb +17 -17
  16. data/lib/sentdm/models/webhook_list_events_params.rb +5 -5
  17. data/lib/sentdm/models/webhook_list_events_response.rb +108 -168
  18. data/lib/sentdm/models/webhook_list_params.rb +11 -11
  19. data/lib/sentdm/models/webhook_response.rb +1 -0
  20. data/lib/sentdm/resources/contacts.rb +8 -7
  21. data/lib/sentdm/resources/conversations.rb +10 -8
  22. data/lib/sentdm/resources/templates.rb +10 -9
  23. data/lib/sentdm/resources/webhooks.rb +12 -10
  24. data/lib/sentdm/version.rb +1 -1
  25. data/lib/sentdm.rb +5 -3
  26. data/rbi/sentdm/internal/contacts_page.rbi +71 -0
  27. data/rbi/sentdm/internal/conversations_page.rbi +71 -0
  28. data/rbi/sentdm/internal/templates_page.rbi +71 -0
  29. data/rbi/sentdm/internal/webhook_events_page.rbi +71 -0
  30. data/rbi/sentdm/internal/webhooks_page.rbi +71 -0
  31. data/rbi/sentdm/models/contact_list_params.rbi +19 -13
  32. data/rbi/sentdm/models/conversation_list_messages_params.rbi +12 -6
  33. data/rbi/sentdm/models/conversation_list_params.rbi +16 -5
  34. data/rbi/sentdm/models/template_list_params.rbi +22 -16
  35. data/rbi/sentdm/models/webhook_list_events_params.rbi +12 -6
  36. data/rbi/sentdm/models/webhook_list_events_response.rbi +114 -263
  37. data/rbi/sentdm/models/webhook_list_params.rbi +16 -10
  38. data/rbi/sentdm/resources/contacts.rbi +6 -6
  39. data/rbi/sentdm/resources/conversations.rbi +14 -6
  40. data/rbi/sentdm/resources/templates.rbi +7 -7
  41. data/rbi/sentdm/resources/webhooks.rbi +12 -8
  42. data/sig/sentdm/internal/contacts_page.rbs +41 -0
  43. data/sig/sentdm/internal/conversations_page.rbs +41 -0
  44. data/sig/sentdm/internal/templates_page.rbs +44 -0
  45. data/sig/sentdm/internal/webhook_events_page.rbs +41 -0
  46. data/sig/sentdm/internal/webhooks_page.rbs +41 -0
  47. data/sig/sentdm/models/contact_list_params.rbs +11 -7
  48. data/sig/sentdm/models/conversation_list_messages_params.rbs +8 -4
  49. data/sig/sentdm/models/conversation_list_params.rbs +8 -4
  50. data/sig/sentdm/models/template_list_params.rbs +14 -10
  51. data/sig/sentdm/models/webhook_list_events_params.rbs +8 -4
  52. data/sig/sentdm/models/webhook_list_events_response.rbs +63 -127
  53. data/sig/sentdm/models/webhook_list_params.rbs +11 -7
  54. data/sig/sentdm/resources/contacts.rbs +3 -3
  55. data/sig/sentdm/resources/conversations.rbs +6 -6
  56. data/sig/sentdm/resources/templates.rbs +3 -3
  57. data/sig/sentdm/resources/webhooks.rbs +6 -6
  58. metadata +16 -10
  59. data/lib/sentdm/models/contact_list_response.rb +0 -65
  60. data/lib/sentdm/models/template_list_response.rb +0 -65
  61. data/lib/sentdm/models/webhook_list_response.rb +0 -65
  62. data/rbi/sentdm/models/contact_list_response.rbi +0 -128
  63. data/rbi/sentdm/models/template_list_response.rbi +0 -128
  64. data/rbi/sentdm/models/webhook_list_response.rbi +0 -128
  65. data/sig/sentdm/models/contact_list_response.rbs +0 -67
  66. data/sig/sentdm/models/template_list_response.rbs +0 -65
  67. data/sig/sentdm/models/webhook_list_response.rbs +0 -67
@@ -125,21 +125,17 @@ module Sentdm
125
125
  # Supports filtering by status, category, and search term.
126
126
  sig do
127
127
  params(
128
- page: Integer,
129
- page_size: Integer,
130
128
  category: T.nilable(String),
131
129
  is_welcome_playground: T.nilable(T::Boolean),
130
+ page: Integer,
131
+ page_size: Integer,
132
132
  search: T.nilable(String),
133
133
  status: T.nilable(String),
134
134
  x_profile_id: String,
135
135
  request_options: Sentdm::RequestOptions::OrHash
136
- ).returns(Sentdm::Models::TemplateListResponse)
136
+ ).returns(Sentdm::Internal::TemplatesPage[Sentdm::Template])
137
137
  end
138
138
  def list(
139
- # Query param: Page number (1-indexed)
140
- page:,
141
- # Query param: Number of items per page
142
- page_size:,
143
139
  # Query param: Optional category filter: MARKETING, UTILITY, AUTHENTICATION
144
140
  category: nil,
145
141
  # Query param: Accepted and ignored. It used to filter on the welcome-playground
@@ -148,6 +144,10 @@ module Sentdm
148
144
  # so a client still passing is_welcome_playground keeps binding instead of the
149
145
  # request shape changing under it.
150
146
  is_welcome_playground: nil,
147
+ # Query param: Page number (1-indexed)
148
+ page: nil,
149
+ # Query param: Number of items per page
150
+ page_size: nil,
151
151
  # Query param: Optional search term for filtering templates
152
152
  search: nil,
153
153
  # Query param: Optional status filter: APPROVED, PENDING, REJECTED
@@ -123,21 +123,21 @@ module Sentdm
123
123
  # Retrieves a paginated list of webhooks for the authenticated customer.
124
124
  sig do
125
125
  params(
126
+ is_active: T.nilable(T::Boolean),
126
127
  page: Integer,
127
128
  page_size: Integer,
128
- is_active: T.nilable(T::Boolean),
129
129
  search: T.nilable(String),
130
130
  x_profile_id: String,
131
131
  request_options: Sentdm::RequestOptions::OrHash
132
- ).returns(Sentdm::Models::WebhookListResponse)
132
+ ).returns(Sentdm::Internal::WebhooksPage[Sentdm::WebhookResponse])
133
133
  end
134
134
  def list(
135
135
  # Query param
136
- page:,
136
+ is_active: nil,
137
137
  # Query param
138
- page_size:,
138
+ page: nil,
139
139
  # Query param
140
- is_active: nil,
140
+ page_size: nil,
141
141
  # Query param
142
142
  search: nil,
143
143
  # Header param: Profile UUID to scope the request to a child profile. Only
@@ -189,15 +189,19 @@ module Sentdm
189
189
  search: T.nilable(String),
190
190
  x_profile_id: String,
191
191
  request_options: Sentdm::RequestOptions::OrHash
192
- ).returns(Sentdm::Models::WebhookListEventsResponse)
192
+ ).returns(
193
+ Sentdm::Internal::WebhookEventsPage[
194
+ Sentdm::Models::WebhookListEventsResponse
195
+ ]
196
+ )
193
197
  end
194
198
  def list_events(
195
199
  # Path param
196
200
  id,
197
201
  # Query param
198
- page:,
202
+ page: nil,
199
203
  # Query param
200
- page_size:,
204
+ page_size: nil,
201
205
  # Query param
202
206
  search: nil,
203
207
  # Header param: Profile UUID to scope the request to a child profile. Only
@@ -0,0 +1,41 @@
1
+ module Sentdm
2
+ module Internal
3
+ class ContactsPage[Elem]
4
+ include Sentdm::Internal::Type::BasePage[Elem]
5
+
6
+ attr_accessor data: Data
7
+
8
+ def inspect: -> String
9
+
10
+ type data = { contacts: ::Array[top], pagination: Data::Pagination }
11
+ class Data < Sentdm::Internal::Type::BaseModel
12
+ attr_reader contacts: ::Array[top]?
13
+
14
+ def contacts=: (::Array[top]) -> ::Array[top]
15
+
16
+ attr_reader pagination: Data::Pagination?
17
+
18
+ def pagination=: (Data::Pagination) -> Data::Pagination
19
+
20
+ def initialize: (
21
+ ?contacts: ::Array[top],
22
+ ?pagination: Data::Pagination
23
+ ) -> void
24
+
25
+ def to_hash: -> { contacts: ::Array[top], pagination: Data::Pagination }
26
+
27
+ type pagination = { has_more: bool }
28
+
29
+ class Pagination < Sentdm::Internal::Type::BaseModel
30
+ attr_reader has_more: bool?
31
+
32
+ def has_more=: (bool) -> bool
33
+
34
+ def initialize: (?has_more: bool) -> void
35
+
36
+ def to_hash: -> { has_more: bool }
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,41 @@
1
+ module Sentdm
2
+ module Internal
3
+ class ConversationsPage[Elem]
4
+ include Sentdm::Internal::Type::BasePage[Elem]
5
+
6
+ attr_accessor data: Data
7
+
8
+ def inspect: -> String
9
+
10
+ type data = { messages: ::Array[top], pagination: Data::Pagination }
11
+ class Data < Sentdm::Internal::Type::BaseModel
12
+ attr_reader messages: ::Array[top]?
13
+
14
+ def messages=: (::Array[top]) -> ::Array[top]
15
+
16
+ attr_reader pagination: Data::Pagination?
17
+
18
+ def pagination=: (Data::Pagination) -> Data::Pagination
19
+
20
+ def initialize: (
21
+ ?messages: ::Array[top],
22
+ ?pagination: Data::Pagination
23
+ ) -> void
24
+
25
+ def to_hash: -> { messages: ::Array[top], pagination: Data::Pagination }
26
+
27
+ type pagination = { has_more: bool }
28
+
29
+ class Pagination < Sentdm::Internal::Type::BaseModel
30
+ attr_reader has_more: bool?
31
+
32
+ def has_more=: (bool) -> bool
33
+
34
+ def initialize: (?has_more: bool) -> void
35
+
36
+ def to_hash: -> { has_more: bool }
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,44 @@
1
+ module Sentdm
2
+ module Internal
3
+ class TemplatesPage[Elem]
4
+ include Sentdm::Internal::Type::BasePage[Elem]
5
+
6
+ attr_accessor data: Data
7
+
8
+ def inspect: -> String
9
+
10
+ type data = { pagination: Data::Pagination, templates: ::Array[top] }
11
+ class Data < Sentdm::Internal::Type::BaseModel
12
+ attr_reader pagination: Data::Pagination?
13
+
14
+ def pagination=: (Data::Pagination) -> Data::Pagination
15
+
16
+ attr_reader templates: ::Array[top]?
17
+
18
+ def templates=: (::Array[top]) -> ::Array[top]
19
+
20
+ def initialize: (
21
+ ?pagination: Data::Pagination,
22
+ ?templates: ::Array[top]
23
+ ) -> void
24
+
25
+ def to_hash: -> {
26
+ pagination: Data::Pagination,
27
+ templates: ::Array[top]
28
+ }
29
+
30
+ type pagination = { has_more: bool }
31
+
32
+ class Pagination < Sentdm::Internal::Type::BaseModel
33
+ attr_reader has_more: bool?
34
+
35
+ def has_more=: (bool) -> bool
36
+
37
+ def initialize: (?has_more: bool) -> void
38
+
39
+ def to_hash: -> { has_more: bool }
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,41 @@
1
+ module Sentdm
2
+ module Internal
3
+ class WebhookEventsPage[Elem]
4
+ include Sentdm::Internal::Type::BasePage[Elem]
5
+
6
+ attr_accessor data: Data
7
+
8
+ def inspect: -> String
9
+
10
+ type data = { events: ::Array[top], pagination: Data::Pagination }
11
+ class Data < Sentdm::Internal::Type::BaseModel
12
+ attr_reader events: ::Array[top]?
13
+
14
+ def events=: (::Array[top]) -> ::Array[top]
15
+
16
+ attr_reader pagination: Data::Pagination?
17
+
18
+ def pagination=: (Data::Pagination) -> Data::Pagination
19
+
20
+ def initialize: (
21
+ ?events: ::Array[top],
22
+ ?pagination: Data::Pagination
23
+ ) -> void
24
+
25
+ def to_hash: -> { events: ::Array[top], pagination: Data::Pagination }
26
+
27
+ type pagination = { has_more: bool }
28
+
29
+ class Pagination < Sentdm::Internal::Type::BaseModel
30
+ attr_reader has_more: bool?
31
+
32
+ def has_more=: (bool) -> bool
33
+
34
+ def initialize: (?has_more: bool) -> void
35
+
36
+ def to_hash: -> { has_more: bool }
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,41 @@
1
+ module Sentdm
2
+ module Internal
3
+ class WebhooksPage[Elem]
4
+ include Sentdm::Internal::Type::BasePage[Elem]
5
+
6
+ attr_accessor data: Data
7
+
8
+ def inspect: -> String
9
+
10
+ type data = { pagination: Data::Pagination, webhooks: ::Array[top] }
11
+ class Data < Sentdm::Internal::Type::BaseModel
12
+ attr_reader pagination: Data::Pagination?
13
+
14
+ def pagination=: (Data::Pagination) -> Data::Pagination
15
+
16
+ attr_reader webhooks: ::Array[top]?
17
+
18
+ def webhooks=: (::Array[top]) -> ::Array[top]
19
+
20
+ def initialize: (
21
+ ?pagination: Data::Pagination,
22
+ ?webhooks: ::Array[top]
23
+ ) -> void
24
+
25
+ def to_hash: -> { pagination: Data::Pagination, webhooks: ::Array[top] }
26
+
27
+ type pagination = { has_more: bool }
28
+
29
+ class Pagination < Sentdm::Internal::Type::BaseModel
30
+ attr_reader has_more: bool?
31
+
32
+ def has_more=: (bool) -> bool
33
+
34
+ def initialize: (?has_more: bool) -> void
35
+
36
+ def to_hash: -> { has_more: bool }
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -2,9 +2,9 @@ module Sentdm
2
2
  module Models
3
3
  type contact_list_params =
4
4
  {
5
+ channel: String?,
5
6
  page: Integer,
6
7
  page_size: Integer,
7
- channel: String?,
8
8
  phone: String?,
9
9
  search: String?,
10
10
  x_profile_id: String
@@ -15,11 +15,15 @@ module Sentdm
15
15
  extend Sentdm::Internal::Type::RequestParameters::Converter
16
16
  include Sentdm::Internal::Type::RequestParameters
17
17
 
18
- attr_accessor page: Integer
18
+ attr_accessor channel: String?
19
19
 
20
- attr_accessor page_size: Integer
20
+ attr_reader page: Integer?
21
21
 
22
- attr_accessor channel: String?
22
+ def page=: (Integer) -> Integer
23
+
24
+ attr_reader page_size: Integer?
25
+
26
+ def page_size=: (Integer) -> Integer
23
27
 
24
28
  attr_accessor phone: String?
25
29
 
@@ -30,9 +34,9 @@ module Sentdm
30
34
  def x_profile_id=: (String) -> String
31
35
 
32
36
  def initialize: (
33
- page: Integer,
34
- page_size: Integer,
35
37
  ?channel: String?,
38
+ ?page: Integer,
39
+ ?page_size: Integer,
36
40
  ?phone: String?,
37
41
  ?search: String?,
38
42
  ?x_profile_id: String,
@@ -40,9 +44,9 @@ module Sentdm
40
44
  ) -> void
41
45
 
42
46
  def to_hash: -> {
47
+ channel: String?,
43
48
  page: Integer,
44
49
  page_size: Integer,
45
- channel: String?,
46
50
  phone: String?,
47
51
  search: String?,
48
52
  x_profile_id: String,
@@ -10,9 +10,13 @@ module Sentdm
10
10
 
11
11
  attr_accessor id: String
12
12
 
13
- attr_accessor page: Integer
13
+ attr_reader page: Integer?
14
14
 
15
- attr_accessor page_size: Integer
15
+ def page=: (Integer) -> Integer
16
+
17
+ attr_reader page_size: Integer?
18
+
19
+ def page_size=: (Integer) -> Integer
16
20
 
17
21
  attr_reader x_profile_id: String?
18
22
 
@@ -20,8 +24,8 @@ module Sentdm
20
24
 
21
25
  def initialize: (
22
26
  id: String,
23
- page: Integer,
24
- page_size: Integer,
27
+ ?page: Integer,
28
+ ?page_size: Integer,
25
29
  ?x_profile_id: String,
26
30
  ?request_options: Sentdm::request_opts
27
31
  ) -> void
@@ -8,17 +8,21 @@ module Sentdm
8
8
  extend Sentdm::Internal::Type::RequestParameters::Converter
9
9
  include Sentdm::Internal::Type::RequestParameters
10
10
 
11
- attr_accessor page: Integer
11
+ attr_reader page: Integer?
12
12
 
13
- attr_accessor page_size: Integer
13
+ def page=: (Integer) -> Integer
14
+
15
+ attr_reader page_size: Integer?
16
+
17
+ def page_size=: (Integer) -> Integer
14
18
 
15
19
  attr_reader x_profile_id: String?
16
20
 
17
21
  def x_profile_id=: (String) -> String
18
22
 
19
23
  def initialize: (
20
- page: Integer,
21
- page_size: Integer,
24
+ ?page: Integer,
25
+ ?page_size: Integer,
22
26
  ?x_profile_id: String,
23
27
  ?request_options: Sentdm::request_opts
24
28
  ) -> void
@@ -2,10 +2,10 @@ module Sentdm
2
2
  module Models
3
3
  type template_list_params =
4
4
  {
5
- page: Integer,
6
- page_size: Integer,
7
5
  category: String?,
8
6
  is_welcome_playground: bool?,
7
+ page: Integer,
8
+ page_size: Integer,
9
9
  search: String?,
10
10
  status: String?,
11
11
  x_profile_id: String
@@ -16,14 +16,18 @@ module Sentdm
16
16
  extend Sentdm::Internal::Type::RequestParameters::Converter
17
17
  include Sentdm::Internal::Type::RequestParameters
18
18
 
19
- attr_accessor page: Integer
20
-
21
- attr_accessor page_size: Integer
22
-
23
19
  attr_accessor category: String?
24
20
 
25
21
  attr_accessor is_welcome_playground: bool?
26
22
 
23
+ attr_reader page: Integer?
24
+
25
+ def page=: (Integer) -> Integer
26
+
27
+ attr_reader page_size: Integer?
28
+
29
+ def page_size=: (Integer) -> Integer
30
+
27
31
  attr_accessor search: String?
28
32
 
29
33
  attr_accessor status: String?
@@ -33,10 +37,10 @@ module Sentdm
33
37
  def x_profile_id=: (String) -> String
34
38
 
35
39
  def initialize: (
36
- page: Integer,
37
- page_size: Integer,
38
40
  ?category: String?,
39
41
  ?is_welcome_playground: bool?,
42
+ ?page: Integer,
43
+ ?page_size: Integer,
40
44
  ?search: String?,
41
45
  ?status: String?,
42
46
  ?x_profile_id: String,
@@ -44,10 +48,10 @@ module Sentdm
44
48
  ) -> void
45
49
 
46
50
  def to_hash: -> {
47
- page: Integer,
48
- page_size: Integer,
49
51
  category: String?,
50
52
  is_welcome_playground: bool?,
53
+ page: Integer,
54
+ page_size: Integer,
51
55
  search: String?,
52
56
  status: String?,
53
57
  x_profile_id: String,
@@ -16,9 +16,13 @@ module Sentdm
16
16
 
17
17
  attr_accessor id: String
18
18
 
19
- attr_accessor page: Integer
19
+ attr_reader page: Integer?
20
20
 
21
- attr_accessor page_size: Integer
21
+ def page=: (Integer) -> Integer
22
+
23
+ attr_reader page_size: Integer?
24
+
25
+ def page_size=: (Integer) -> Integer
22
26
 
23
27
  attr_accessor search: String?
24
28
 
@@ -28,8 +32,8 @@ module Sentdm
28
32
 
29
33
  def initialize: (
30
34
  id: String,
31
- page: Integer,
32
- page_size: Integer,
35
+ ?page: Integer,
36
+ ?page_size: Integer,
33
37
  ?search: String?,
34
38
  ?x_profile_id: String,
35
39
  ?request_options: Sentdm::request_opts