sentdm 0.30.0 → 0.32.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 (111) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -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/channel_event.rb +78 -0
  11. data/lib/sentdm/models/channel_event_payload.rb +128 -0
  12. data/lib/sentdm/models/contact_event.rb +69 -0
  13. data/lib/sentdm/models/contact_event_payload.rb +111 -0
  14. data/lib/sentdm/models/contact_list_params.rb +13 -13
  15. data/lib/sentdm/models/contact_response.rb +1 -0
  16. data/lib/sentdm/models/conversation_list_messages_params.rb +5 -5
  17. data/lib/sentdm/models/conversation_list_params.rb +5 -5
  18. data/lib/sentdm/models/inbound_message_event.rb +16 -8
  19. data/lib/sentdm/models/message_event.rb +16 -8
  20. data/lib/sentdm/models/message_event_payload.rb +11 -1
  21. data/lib/sentdm/models/template.rb +37 -5
  22. data/lib/sentdm/models/template_body.rb +20 -11
  23. data/lib/sentdm/models/template_body_content.rb +35 -3
  24. data/lib/sentdm/models/template_button.rb +8 -2
  25. data/lib/sentdm/models/template_button_props.rb +12 -1
  26. data/lib/sentdm/models/template_definition.rb +14 -2
  27. data/lib/sentdm/models/template_event.rb +16 -8
  28. data/lib/sentdm/models/template_event_payload.rb +31 -4
  29. data/lib/sentdm/models/template_list_params.rb +17 -17
  30. data/lib/sentdm/models/template_variable.rb +20 -3
  31. data/lib/sentdm/models/webhook_list_events_params.rb +5 -5
  32. data/lib/sentdm/models/webhook_list_events_response.rb +116 -168
  33. data/lib/sentdm/models/webhook_list_params.rb +11 -11
  34. data/lib/sentdm/models/webhook_response.rb +1 -0
  35. data/lib/sentdm/models.rb +8 -0
  36. data/lib/sentdm/resources/contacts.rb +8 -7
  37. data/lib/sentdm/resources/conversations.rb +10 -8
  38. data/lib/sentdm/resources/templates.rb +38 -11
  39. data/lib/sentdm/resources/webhooks.rb +12 -10
  40. data/lib/sentdm/version.rb +1 -1
  41. data/lib/sentdm.rb +9 -3
  42. data/rbi/sentdm/internal/contacts_page.rbi +71 -0
  43. data/rbi/sentdm/internal/conversations_page.rbi +71 -0
  44. data/rbi/sentdm/internal/templates_page.rbi +71 -0
  45. data/rbi/sentdm/internal/webhook_events_page.rbi +71 -0
  46. data/rbi/sentdm/internal/webhooks_page.rbi +71 -0
  47. data/rbi/sentdm/models/channel_event.rbi +128 -0
  48. data/rbi/sentdm/models/channel_event_payload.rbi +189 -0
  49. data/rbi/sentdm/models/contact_event.rbi +110 -0
  50. data/rbi/sentdm/models/contact_event_payload.rbi +164 -0
  51. data/rbi/sentdm/models/contact_list_params.rbi +19 -13
  52. data/rbi/sentdm/models/conversation_list_messages_params.rbi +12 -6
  53. data/rbi/sentdm/models/conversation_list_params.rbi +16 -5
  54. data/rbi/sentdm/models/inbound_message_event.rbi +18 -10
  55. data/rbi/sentdm/models/message_event.rbi +18 -10
  56. data/rbi/sentdm/models/message_event_payload.rbi +12 -0
  57. data/rbi/sentdm/models/template.rbi +58 -4
  58. data/rbi/sentdm/models/template_body.rbi +22 -13
  59. data/rbi/sentdm/models/template_body_content.rbi +59 -1
  60. data/rbi/sentdm/models/template_button.rbi +14 -2
  61. data/rbi/sentdm/models/template_button_props.rbi +22 -0
  62. data/rbi/sentdm/models/template_definition.rbi +20 -2
  63. data/rbi/sentdm/models/template_event.rbi +18 -10
  64. data/rbi/sentdm/models/template_event_payload.rbi +51 -8
  65. data/rbi/sentdm/models/template_list_params.rbi +22 -16
  66. data/rbi/sentdm/models/template_variable.rbi +28 -1
  67. data/rbi/sentdm/models/webhook_list_events_params.rbi +12 -6
  68. data/rbi/sentdm/models/webhook_list_events_response.rbi +120 -263
  69. data/rbi/sentdm/models/webhook_list_params.rbi +16 -10
  70. data/rbi/sentdm/models.rbi +8 -0
  71. data/rbi/sentdm/resources/contacts.rbi +6 -6
  72. data/rbi/sentdm/resources/conversations.rbi +14 -6
  73. data/rbi/sentdm/resources/templates.rbi +35 -9
  74. data/rbi/sentdm/resources/webhooks.rbi +12 -8
  75. data/sig/sentdm/internal/contacts_page.rbs +41 -0
  76. data/sig/sentdm/internal/conversations_page.rbs +41 -0
  77. data/sig/sentdm/internal/templates_page.rbs +44 -0
  78. data/sig/sentdm/internal/webhook_events_page.rbs +41 -0
  79. data/sig/sentdm/internal/webhooks_page.rbs +41 -0
  80. data/sig/sentdm/models/channel_event.rbs +44 -0
  81. data/sig/sentdm/models/channel_event_payload.rbs +63 -0
  82. data/sig/sentdm/models/contact_event.rbs +44 -0
  83. data/sig/sentdm/models/contact_event_payload.rbs +63 -0
  84. data/sig/sentdm/models/contact_list_params.rbs +11 -7
  85. data/sig/sentdm/models/conversation_list_messages_params.rbs +8 -4
  86. data/sig/sentdm/models/conversation_list_params.rbs +8 -4
  87. data/sig/sentdm/models/inbound_message_event.rbs +5 -0
  88. data/sig/sentdm/models/message_event.rbs +5 -0
  89. data/sig/sentdm/models/message_event_payload.rbs +5 -0
  90. data/sig/sentdm/models/template.rbs +5 -0
  91. data/sig/sentdm/models/template_event.rbs +5 -0
  92. data/sig/sentdm/models/template_event_payload.rbs +9 -6
  93. data/sig/sentdm/models/template_list_params.rbs +14 -10
  94. data/sig/sentdm/models/webhook_list_events_params.rbs +8 -4
  95. data/sig/sentdm/models/webhook_list_events_response.rbs +65 -127
  96. data/sig/sentdm/models/webhook_list_params.rbs +11 -7
  97. data/sig/sentdm/models.rbs +8 -0
  98. data/sig/sentdm/resources/contacts.rbs +3 -3
  99. data/sig/sentdm/resources/conversations.rbs +6 -6
  100. data/sig/sentdm/resources/templates.rbs +3 -3
  101. data/sig/sentdm/resources/webhooks.rbs +6 -6
  102. metadata +29 -11
  103. data/lib/sentdm/models/contact_list_response.rb +0 -65
  104. data/lib/sentdm/models/template_list_response.rb +0 -65
  105. data/lib/sentdm/models/webhook_list_response.rb +0 -65
  106. data/rbi/sentdm/models/contact_list_response.rbi +0 -128
  107. data/rbi/sentdm/models/template_list_response.rbi +0 -128
  108. data/rbi/sentdm/models/webhook_list_response.rbi +0 -128
  109. data/sig/sentdm/models/contact_list_response.rbs +0 -67
  110. data/sig/sentdm/models/template_list_response.rbs +0 -65
  111. data/sig/sentdm/models/webhook_list_response.rbs +0 -67
@@ -11,14 +11,6 @@ module Sentdm
11
11
  T.any(Sentdm::TemplateListParams, Sentdm::Internal::AnyHash)
12
12
  end
13
13
 
14
- # Page number (1-indexed)
15
- sig { returns(Integer) }
16
- attr_accessor :page
17
-
18
- # Number of items per page
19
- sig { returns(Integer) }
20
- attr_accessor :page_size
21
-
22
14
  # Optional category filter: MARKETING, UTILITY, AUTHENTICATION
23
15
  sig { returns(T.nilable(String)) }
24
16
  attr_accessor :category
@@ -31,6 +23,20 @@ module Sentdm
31
23
  sig { returns(T.nilable(T::Boolean)) }
32
24
  attr_accessor :is_welcome_playground
33
25
 
26
+ # Page number (1-indexed)
27
+ sig { returns(T.nilable(Integer)) }
28
+ attr_reader :page
29
+
30
+ sig { params(page: Integer).void }
31
+ attr_writer :page
32
+
33
+ # Number of items per page
34
+ sig { returns(T.nilable(Integer)) }
35
+ attr_reader :page_size
36
+
37
+ sig { params(page_size: Integer).void }
38
+ attr_writer :page_size
39
+
34
40
  # Optional search term for filtering templates
35
41
  sig { returns(T.nilable(String)) }
36
42
  attr_accessor :search
@@ -47,10 +53,10 @@ module Sentdm
47
53
 
48
54
  sig do
49
55
  params(
50
- page: Integer,
51
- page_size: Integer,
52
56
  category: T.nilable(String),
53
57
  is_welcome_playground: T.nilable(T::Boolean),
58
+ page: Integer,
59
+ page_size: Integer,
54
60
  search: T.nilable(String),
55
61
  status: T.nilable(String),
56
62
  x_profile_id: String,
@@ -58,10 +64,6 @@ module Sentdm
58
64
  ).returns(T.attached_class)
59
65
  end
60
66
  def self.new(
61
- # Page number (1-indexed)
62
- page:,
63
- # Number of items per page
64
- page_size:,
65
67
  # Optional category filter: MARKETING, UTILITY, AUTHENTICATION
66
68
  category: nil,
67
69
  # Accepted and ignored. It used to filter on the welcome-playground marker inside
@@ -70,6 +72,10 @@ module Sentdm
70
72
  # still passing is_welcome_playground keeps binding instead of the request shape
71
73
  # changing under it.
72
74
  is_welcome_playground: nil,
75
+ # Page number (1-indexed)
76
+ page: nil,
77
+ # Number of items per page
78
+ page_size: nil,
73
79
  # Optional search term for filtering templates
74
80
  search: nil,
75
81
  # Optional status filter: APPROVED, PENDING, REJECTED
@@ -82,10 +88,10 @@ module Sentdm
82
88
  sig do
83
89
  override.returns(
84
90
  {
85
- page: Integer,
86
- page_size: Integer,
87
91
  category: T.nilable(String),
88
92
  is_welcome_playground: T.nilable(T::Boolean),
93
+ page: Integer,
94
+ page_size: Integer,
89
95
  search: T.nilable(String),
90
96
  status: T.nilable(String),
91
97
  x_profile_id: String,
@@ -8,6 +8,9 @@ module Sentdm
8
8
  T.any(Sentdm::TemplateVariable, Sentdm::Internal::AnyHash)
9
9
  end
10
10
 
11
+ # The variable's name, and the key callers use for it in a send request's
12
+ # parameters object. Must start with a letter and hold only letters, digits and
13
+ # underscores.
11
14
  sig { returns(String) }
12
15
  attr_accessor :name
13
16
 
@@ -17,9 +20,17 @@ module Sentdm
17
20
  sig { params(props: Sentdm::TemplateVariable::Props::OrHash).void }
18
21
  attr_writer :props
19
22
 
23
+ # One of variable, link or media. Decides which Props fields are required.
20
24
  sig { returns(String) }
21
25
  attr_accessor :type
22
26
 
27
+ # The variable's index, and the number its {{index:variable}} placeholder refers
28
+ # to.
29
+ #
30
+ # Omitting it is only safe for a section holding a single variable. The field is a
31
+ # non-nullable int, so every variable that leaves it out defaults to 0, and a
32
+ # section with two such variables is refused by the unique-id rule ("variables
33
+ # must have unique IDs"). Number them from 0 in the order they appear.
23
34
  sig { returns(T.nilable(Integer)) }
24
35
  attr_reader :id
25
36
 
@@ -34,7 +45,23 @@ module Sentdm
34
45
  id: Integer
35
46
  ).returns(T.attached_class)
36
47
  end
37
- def self.new(name:, props:, type:, id: nil)
48
+ def self.new(
49
+ # The variable's name, and the key callers use for it in a send request's
50
+ # parameters object. Must start with a letter and hold only letters, digits and
51
+ # underscores.
52
+ name:,
53
+ props:,
54
+ # One of variable, link or media. Decides which Props fields are required.
55
+ type:,
56
+ # The variable's index, and the number its {{index:variable}} placeholder refers
57
+ # to.
58
+ #
59
+ # Omitting it is only safe for a section holding a single variable. The field is a
60
+ # non-nullable int, so every variable that leaves it out defaults to 0, and a
61
+ # section with two such variables is refused by the unique-id rule ("variables
62
+ # must have unique IDs"). Number them from 0 in the order they appear.
63
+ id: nil
64
+ )
38
65
  end
39
66
 
40
67
  sig do
@@ -14,11 +14,17 @@ module Sentdm
14
14
  sig { returns(String) }
15
15
  attr_accessor :id
16
16
 
17
- sig { returns(Integer) }
18
- attr_accessor :page
17
+ sig { returns(T.nilable(Integer)) }
18
+ attr_reader :page
19
19
 
20
- sig { returns(Integer) }
21
- attr_accessor :page_size
20
+ sig { params(page: Integer).void }
21
+ attr_writer :page
22
+
23
+ sig { returns(T.nilable(Integer)) }
24
+ attr_reader :page_size
25
+
26
+ sig { params(page_size: Integer).void }
27
+ attr_writer :page_size
22
28
 
23
29
  sig { returns(T.nilable(String)) }
24
30
  attr_accessor :search
@@ -41,8 +47,8 @@ module Sentdm
41
47
  end
42
48
  def self.new(
43
49
  id:,
44
- page:,
45
- page_size:,
50
+ page: nil,
51
+ page_size: nil,
46
52
  search: nil,
47
53
  x_profile_id: nil,
48
54
  request_options: {}
@@ -11,309 +11,166 @@ module Sentdm
11
11
  )
12
12
  end
13
13
 
14
- # A paginated list of webhook delivery records.
14
+ sig { returns(T.nilable(String)) }
15
+ attr_reader :id
16
+
17
+ sig { params(id: String).void }
18
+ attr_writer :id
19
+
20
+ sig { returns(T.nilable(Time)) }
21
+ attr_reader :created_at
22
+
23
+ sig { params(created_at: Time).void }
24
+ attr_writer :created_at
25
+
26
+ sig { returns(T.nilable(Integer)) }
27
+ attr_reader :delivery_attempts
28
+
29
+ sig { params(delivery_attempts: Integer).void }
30
+ attr_writer :delivery_attempts
31
+
32
+ sig { returns(T.nilable(String)) }
33
+ attr_reader :delivery_status
34
+
35
+ sig { params(delivery_status: String).void }
36
+ attr_writer :delivery_status
37
+
38
+ sig { returns(T.nilable(String)) }
39
+ attr_accessor :error_message
40
+
41
+ # The exact event body that was delivered, or attempted, for this record. One of
42
+ # the four webhook envelopes: a message status change, an inbound message, a
43
+ # template status change, or a contact consent signal. Read field and event to
44
+ # tell which, the same way your endpoint does.
15
45
  sig do
16
- returns(T.nilable(Sentdm::Models::WebhookListEventsResponse::Data))
46
+ returns(
47
+ T.nilable(
48
+ Sentdm::Models::WebhookListEventsResponse::EventData::Variants
49
+ )
50
+ )
17
51
  end
18
- attr_reader :data
52
+ attr_reader :event_data
19
53
 
20
54
  sig do
21
55
  params(
22
- data:
23
- T.nilable(Sentdm::Models::WebhookListEventsResponse::Data::OrHash)
56
+ event_data:
57
+ T.any(
58
+ Sentdm::MessageEvent::OrHash,
59
+ Sentdm::InboundMessageEvent::OrHash,
60
+ Sentdm::TemplateEvent::OrHash,
61
+ Sentdm::ChannelEvent::OrHash,
62
+ Sentdm::ContactEvent::OrHash
63
+ )
24
64
  ).void
25
65
  end
26
- attr_writer :data
66
+ attr_writer :event_data
27
67
 
28
- # Error information
29
- sig { returns(T.nilable(Sentdm::ErrorDetail)) }
30
- attr_reader :error
68
+ sig { returns(T.nilable(String)) }
69
+ attr_reader :event_type
31
70
 
32
- sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
33
- attr_writer :error
71
+ sig { params(event_type: String).void }
72
+ attr_writer :event_type
34
73
 
35
- # Request and response metadata
36
- sig { returns(T.nilable(Sentdm::APIMeta)) }
37
- attr_reader :meta
74
+ sig { returns(T.nilable(Integer)) }
75
+ attr_accessor :http_status_code
38
76
 
39
- sig { params(meta: Sentdm::APIMeta::OrHash).void }
40
- attr_writer :meta
77
+ sig { returns(T.nilable(Time)) }
78
+ attr_accessor :processing_completed_at
41
79
 
42
- # Indicates whether the request was successful
43
- sig { returns(T.nilable(T::Boolean)) }
44
- attr_reader :success
80
+ sig { returns(T.nilable(Time)) }
81
+ attr_accessor :processing_started_at
45
82
 
46
- sig { params(success: T::Boolean).void }
47
- attr_writer :success
83
+ sig { returns(T.nilable(String)) }
84
+ attr_accessor :response_body
48
85
 
49
- # Standard API response envelope for all v3 endpoints
50
86
  sig do
51
87
  params(
52
- data:
53
- T.nilable(Sentdm::Models::WebhookListEventsResponse::Data::OrHash),
54
- error: T.nilable(Sentdm::ErrorDetail::OrHash),
55
- meta: Sentdm::APIMeta::OrHash,
56
- success: T::Boolean
88
+ id: String,
89
+ created_at: Time,
90
+ delivery_attempts: Integer,
91
+ delivery_status: String,
92
+ error_message: T.nilable(String),
93
+ event_data:
94
+ T.any(
95
+ Sentdm::MessageEvent::OrHash,
96
+ Sentdm::InboundMessageEvent::OrHash,
97
+ Sentdm::TemplateEvent::OrHash,
98
+ Sentdm::ChannelEvent::OrHash,
99
+ Sentdm::ContactEvent::OrHash
100
+ ),
101
+ event_type: String,
102
+ http_status_code: T.nilable(Integer),
103
+ processing_completed_at: T.nilable(Time),
104
+ processing_started_at: T.nilable(Time),
105
+ response_body: T.nilable(String)
57
106
  ).returns(T.attached_class)
58
107
  end
59
108
  def self.new(
60
- # A paginated list of webhook delivery records.
61
- data: nil,
62
- # Error information
63
- error: nil,
64
- # Request and response metadata
65
- meta: nil,
66
- # Indicates whether the request was successful
67
- success: nil
109
+ id: nil,
110
+ created_at: nil,
111
+ delivery_attempts: nil,
112
+ delivery_status: nil,
113
+ error_message: nil,
114
+ # The exact event body that was delivered, or attempted, for this record. One of
115
+ # the four webhook envelopes: a message status change, an inbound message, a
116
+ # template status change, or a contact consent signal. Read field and event to
117
+ # tell which, the same way your endpoint does.
118
+ event_data: nil,
119
+ event_type: nil,
120
+ http_status_code: nil,
121
+ processing_completed_at: nil,
122
+ processing_started_at: nil,
123
+ response_body: nil
68
124
  )
69
125
  end
70
126
 
71
127
  sig do
72
128
  override.returns(
73
129
  {
74
- data: T.nilable(Sentdm::Models::WebhookListEventsResponse::Data),
75
- error: T.nilable(Sentdm::ErrorDetail),
76
- meta: Sentdm::APIMeta,
77
- success: T::Boolean
130
+ id: String,
131
+ created_at: Time,
132
+ delivery_attempts: Integer,
133
+ delivery_status: String,
134
+ error_message: T.nilable(String),
135
+ event_data:
136
+ Sentdm::Models::WebhookListEventsResponse::EventData::Variants,
137
+ event_type: String,
138
+ http_status_code: T.nilable(Integer),
139
+ processing_completed_at: T.nilable(Time),
140
+ processing_started_at: T.nilable(Time),
141
+ response_body: T.nilable(String)
78
142
  }
79
143
  )
80
144
  end
81
145
  def to_hash
82
146
  end
83
147
 
84
- class Data < Sentdm::Internal::Type::BaseModel
85
- OrHash =
148
+ # The exact event body that was delivered, or attempted, for this record. One of
149
+ # the four webhook envelopes: a message status change, an inbound message, a
150
+ # template status change, or a contact consent signal. Read field and event to
151
+ # tell which, the same way your endpoint does.
152
+ module EventData
153
+ extend Sentdm::Internal::Type::Union
154
+
155
+ Variants =
86
156
  T.type_alias do
87
157
  T.any(
88
- Sentdm::Models::WebhookListEventsResponse::Data,
89
- Sentdm::Internal::AnyHash
158
+ Sentdm::MessageEvent,
159
+ Sentdm::InboundMessageEvent,
160
+ Sentdm::TemplateEvent,
161
+ Sentdm::ChannelEvent,
162
+ Sentdm::ContactEvent
90
163
  )
91
164
  end
92
165
 
93
- # The events on this page.
94
- sig do
95
- returns(
96
- T.nilable(
97
- T::Array[Sentdm::Models::WebhookListEventsResponse::Data::Event]
98
- )
99
- )
100
- end
101
- attr_reader :events
102
-
103
- sig do
104
- params(
105
- events:
106
- T::Array[
107
- Sentdm::Models::WebhookListEventsResponse::Data::Event::OrHash
108
- ]
109
- ).void
110
- end
111
- attr_writer :events
112
-
113
- # Pagination metadata for list responses
114
- sig { returns(T.nilable(Sentdm::PaginationMeta)) }
115
- attr_reader :pagination
116
-
117
- sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
118
- attr_writer :pagination
119
-
120
- # A paginated list of webhook delivery records.
121
- sig do
122
- params(
123
- events:
124
- T::Array[
125
- Sentdm::Models::WebhookListEventsResponse::Data::Event::OrHash
126
- ],
127
- pagination: Sentdm::PaginationMeta::OrHash
128
- ).returns(T.attached_class)
129
- end
130
- def self.new(
131
- # The events on this page.
132
- events: nil,
133
- # Pagination metadata for list responses
134
- pagination: nil
135
- )
136
- end
137
-
138
166
  sig do
139
167
  override.returns(
140
- {
141
- events:
142
- T::Array[
143
- Sentdm::Models::WebhookListEventsResponse::Data::Event
144
- ],
145
- pagination: Sentdm::PaginationMeta
146
- }
168
+ T::Array[
169
+ Sentdm::Models::WebhookListEventsResponse::EventData::Variants
170
+ ]
147
171
  )
148
172
  end
149
- def to_hash
150
- end
151
-
152
- class Event < Sentdm::Internal::Type::BaseModel
153
- OrHash =
154
- T.type_alias do
155
- T.any(
156
- Sentdm::Models::WebhookListEventsResponse::Data::Event,
157
- Sentdm::Internal::AnyHash
158
- )
159
- end
160
-
161
- sig { returns(T.nilable(String)) }
162
- attr_reader :id
163
-
164
- sig { params(id: String).void }
165
- attr_writer :id
166
-
167
- sig { returns(T.nilable(Time)) }
168
- attr_reader :created_at
169
-
170
- sig { params(created_at: Time).void }
171
- attr_writer :created_at
172
-
173
- sig { returns(T.nilable(Integer)) }
174
- attr_reader :delivery_attempts
175
-
176
- sig { params(delivery_attempts: Integer).void }
177
- attr_writer :delivery_attempts
178
-
179
- sig { returns(T.nilable(String)) }
180
- attr_reader :delivery_status
181
-
182
- sig { params(delivery_status: String).void }
183
- attr_writer :delivery_status
184
-
185
- sig { returns(T.nilable(String)) }
186
- attr_accessor :error_message
187
-
188
- # The exact event body that was delivered, or attempted, for this record. One of
189
- # the three webhook envelopes: a message status change, an inbound message, or a
190
- # template status change. Read field and event to tell which, the same way your
191
- # endpoint does.
192
- sig do
193
- returns(
194
- T.nilable(
195
- Sentdm::Models::WebhookListEventsResponse::Data::Event::EventData::Variants
196
- )
197
- )
198
- end
199
- attr_reader :event_data
200
-
201
- sig do
202
- params(
203
- event_data:
204
- T.any(
205
- Sentdm::MessageEvent::OrHash,
206
- Sentdm::InboundMessageEvent::OrHash,
207
- Sentdm::TemplateEvent::OrHash
208
- )
209
- ).void
210
- end
211
- attr_writer :event_data
212
-
213
- sig { returns(T.nilable(String)) }
214
- attr_reader :event_type
215
-
216
- sig { params(event_type: String).void }
217
- attr_writer :event_type
218
-
219
- sig { returns(T.nilable(Integer)) }
220
- attr_accessor :http_status_code
221
-
222
- sig { returns(T.nilable(Time)) }
223
- attr_accessor :processing_completed_at
224
-
225
- sig { returns(T.nilable(Time)) }
226
- attr_accessor :processing_started_at
227
-
228
- sig { returns(T.nilable(String)) }
229
- attr_accessor :response_body
230
-
231
- sig do
232
- params(
233
- id: String,
234
- created_at: Time,
235
- delivery_attempts: Integer,
236
- delivery_status: String,
237
- error_message: T.nilable(String),
238
- event_data:
239
- T.any(
240
- Sentdm::MessageEvent::OrHash,
241
- Sentdm::InboundMessageEvent::OrHash,
242
- Sentdm::TemplateEvent::OrHash
243
- ),
244
- event_type: String,
245
- http_status_code: T.nilable(Integer),
246
- processing_completed_at: T.nilable(Time),
247
- processing_started_at: T.nilable(Time),
248
- response_body: T.nilable(String)
249
- ).returns(T.attached_class)
250
- end
251
- def self.new(
252
- id: nil,
253
- created_at: nil,
254
- delivery_attempts: nil,
255
- delivery_status: nil,
256
- error_message: nil,
257
- # The exact event body that was delivered, or attempted, for this record. One of
258
- # the three webhook envelopes: a message status change, an inbound message, or a
259
- # template status change. Read field and event to tell which, the same way your
260
- # endpoint does.
261
- event_data: nil,
262
- event_type: nil,
263
- http_status_code: nil,
264
- processing_completed_at: nil,
265
- processing_started_at: nil,
266
- response_body: nil
267
- )
268
- end
269
-
270
- sig do
271
- override.returns(
272
- {
273
- id: String,
274
- created_at: Time,
275
- delivery_attempts: Integer,
276
- delivery_status: String,
277
- error_message: T.nilable(String),
278
- event_data:
279
- Sentdm::Models::WebhookListEventsResponse::Data::Event::EventData::Variants,
280
- event_type: String,
281
- http_status_code: T.nilable(Integer),
282
- processing_completed_at: T.nilable(Time),
283
- processing_started_at: T.nilable(Time),
284
- response_body: T.nilable(String)
285
- }
286
- )
287
- end
288
- def to_hash
289
- end
290
-
291
- # The exact event body that was delivered, or attempted, for this record. One of
292
- # the three webhook envelopes: a message status change, an inbound message, or a
293
- # template status change. Read field and event to tell which, the same way your
294
- # endpoint does.
295
- module EventData
296
- extend Sentdm::Internal::Type::Union
297
-
298
- Variants =
299
- T.type_alias do
300
- T.any(
301
- Sentdm::MessageEvent,
302
- Sentdm::InboundMessageEvent,
303
- Sentdm::TemplateEvent
304
- )
305
- end
306
-
307
- sig do
308
- override.returns(
309
- T::Array[
310
- Sentdm::Models::WebhookListEventsResponse::Data::Event::EventData::Variants
311
- ]
312
- )
313
- end
314
- def self.variants
315
- end
316
- end
173
+ def self.variants
317
174
  end
318
175
  end
319
176
  end
@@ -11,15 +11,21 @@ module Sentdm
11
11
  T.any(Sentdm::WebhookListParams, Sentdm::Internal::AnyHash)
12
12
  end
13
13
 
14
- sig { returns(Integer) }
15
- attr_accessor :page
16
-
17
- sig { returns(Integer) }
18
- attr_accessor :page_size
19
-
20
14
  sig { returns(T.nilable(T::Boolean)) }
21
15
  attr_accessor :is_active
22
16
 
17
+ sig { returns(T.nilable(Integer)) }
18
+ attr_reader :page
19
+
20
+ sig { params(page: Integer).void }
21
+ attr_writer :page
22
+
23
+ sig { returns(T.nilable(Integer)) }
24
+ attr_reader :page_size
25
+
26
+ sig { params(page_size: Integer).void }
27
+ attr_writer :page_size
28
+
23
29
  sig { returns(T.nilable(String)) }
24
30
  attr_accessor :search
25
31
 
@@ -31,18 +37,18 @@ module Sentdm
31
37
 
32
38
  sig do
33
39
  params(
40
+ is_active: T.nilable(T::Boolean),
34
41
  page: Integer,
35
42
  page_size: Integer,
36
- is_active: T.nilable(T::Boolean),
37
43
  search: T.nilable(String),
38
44
  x_profile_id: String,
39
45
  request_options: Sentdm::RequestOptions::OrHash
40
46
  ).returns(T.attached_class)
41
47
  end
42
48
  def self.new(
43
- page:,
44
- page_size:,
45
49
  is_active: nil,
50
+ page: nil,
51
+ page_size: nil,
46
52
  search: nil,
47
53
  x_profile_id: nil,
48
54
  request_options: {}
@@ -52,9 +58,9 @@ module Sentdm
52
58
  sig do
53
59
  override.returns(
54
60
  {
61
+ is_active: T.nilable(T::Boolean),
55
62
  page: Integer,
56
63
  page_size: Integer,
57
- is_active: T.nilable(T::Boolean),
58
64
  search: T.nilable(String),
59
65
  x_profile_id: String,
60
66
  request_options: Sentdm::RequestOptions
@@ -31,10 +31,18 @@ module Sentdm
31
31
 
32
32
  BrandsBrandData = Sentdm::Models::BrandsBrandData
33
33
 
34
+ ChannelEvent = Sentdm::Models::ChannelEvent
35
+
36
+ ChannelEventPayload = Sentdm::Models::ChannelEventPayload
37
+
34
38
  ContactCreateParams = Sentdm::Models::ContactCreateParams
35
39
 
36
40
  ContactDeleteParams = Sentdm::Models::ContactDeleteParams
37
41
 
42
+ ContactEvent = Sentdm::Models::ContactEvent
43
+
44
+ ContactEventPayload = Sentdm::Models::ContactEventPayload
45
+
38
46
  ContactListParams = Sentdm::Models::ContactListParams
39
47
 
40
48
  ContactMessageSummary = Sentdm::Models::ContactMessageSummary