sentdm 0.14.0 → 0.15.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 +8 -0
- data/README.md +1 -1
- data/lib/sentdm/models/contact_response.rb +15 -1
- data/lib/sentdm/models/contact_update_params.rb +14 -1
- data/lib/sentdm/models/message_retrieve_status_response.rb +12 -5
- data/lib/sentdm/resources/contacts.rb +3 -1
- data/lib/sentdm/version.rb +1 -1
- data/rbi/sentdm/models/contact_response.rbi +14 -0
- data/rbi/sentdm/models/contact_update_params.rbi +18 -0
- data/rbi/sentdm/models/message_retrieve_status_response.rbi +15 -12
- data/rbi/sentdm/resources/contacts.rbi +8 -0
- data/sig/sentdm/models/contact_response.rbs +5 -0
- data/sig/sentdm/models/contact_update_params.rbs +5 -0
- data/sig/sentdm/models/message_retrieve_status_response.rbs +15 -12
- data/sig/sentdm/resources/contacts.rbs +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4d991654f4a9e02eb0875ca96e4721e3442dae7bbec0ff4078333628cca5f7a1
|
|
4
|
+
data.tar.gz: 4d57c9c5beaa57188637bf293742f4d1575a7b43b7f28f54ffc694b661fc3a92
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 95f4ddee5e276312271679177dcc209b42ce6c0270dacdf01f6eb5c6bf422b960f6df824e5dd313e67f176ab07a7612b05795ed4641dc3217f87916a931d8b53
|
|
7
|
+
data.tar.gz: 1d074dc2fd83b3cc8f9fe0e7c6f355248b3926d752d930482e3121174a401f720973c627ad0242d92c6ae6435695b799dc22726335cebc8c10ae8eadec2e8601
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.15.0 (2026-04-21)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.14.0...v0.15.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.14.0...v0.15.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([766fd2a](https://github.com/sentdm/sent-dm-ruby/commit/766fd2ab76879a691e35141696b5ea2d2acbb3fc))
|
|
10
|
+
|
|
3
11
|
## 0.14.0 (2026-04-20)
|
|
4
12
|
|
|
5
13
|
Full Changelog: [v0.13.1...v0.14.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.13.1...v0.14.0)
|
data/README.md
CHANGED
|
@@ -15,6 +15,15 @@ module Sentdm
|
|
|
15
15
|
# @return [String, nil]
|
|
16
16
|
optional :available_channels, String
|
|
17
17
|
|
|
18
|
+
# @!attribute channel_consent
|
|
19
|
+
# Consent status by channel. Keys: "sms", "whatsapp". Values: "opted_in",
|
|
20
|
+
# "opted_out". All channels will have the same status because consent is global
|
|
21
|
+
# across channels. A STOP on any channel opts out of all channels; a START opts in
|
|
22
|
+
# to all.
|
|
23
|
+
#
|
|
24
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
25
|
+
optional :channel_consent, Sentdm::Internal::Type::HashOf[String], nil?: true
|
|
26
|
+
|
|
18
27
|
# @!attribute country_code
|
|
19
28
|
# Country calling code (e.g., 1 for US/Canada)
|
|
20
29
|
#
|
|
@@ -87,13 +96,18 @@ module Sentdm
|
|
|
87
96
|
# @return [Time, nil]
|
|
88
97
|
optional :updated_at, Time, nil?: true
|
|
89
98
|
|
|
90
|
-
# @!method initialize(id: nil, available_channels: nil, country_code: nil, created_at: nil, default_channel: nil, format_e164: nil, format_international: nil, format_national: nil, format_rfc: nil, is_inherited: nil, opt_out: nil, phone_number: nil, region_code: nil, updated_at: nil)
|
|
99
|
+
# @!method initialize(id: nil, available_channels: nil, channel_consent: nil, country_code: nil, created_at: nil, default_channel: nil, format_e164: nil, format_international: nil, format_national: nil, format_rfc: nil, is_inherited: nil, opt_out: nil, phone_number: nil, region_code: nil, updated_at: nil)
|
|
100
|
+
# Some parameter documentations has been truncated, see
|
|
101
|
+
# {Sentdm::Models::ContactResponse} for more details.
|
|
102
|
+
#
|
|
91
103
|
# Contact response for v3 API Uses snake_case for JSON property names
|
|
92
104
|
#
|
|
93
105
|
# @param id [String] Unique identifier for the contact
|
|
94
106
|
#
|
|
95
107
|
# @param available_channels [String] Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
|
|
96
108
|
#
|
|
109
|
+
# @param channel_consent [Hash{Symbol=>String}, nil] Consent status by channel. Keys: "sms", "whatsapp". Values: "opted_in", "opted_o
|
|
110
|
+
#
|
|
97
111
|
# @param country_code [String] Country calling code (e.g., 1 for US/Canada)
|
|
98
112
|
#
|
|
99
113
|
# @param created_at [Time] When the contact was created
|
|
@@ -12,6 +12,17 @@ module Sentdm
|
|
|
12
12
|
# @return [String]
|
|
13
13
|
required :id, String
|
|
14
14
|
|
|
15
|
+
# @!attribute channel_consent
|
|
16
|
+
# Consent status by channel. Keys: "sms", "whatsapp". Values: "opted_in",
|
|
17
|
+
# "opted_out". All entries must have the same status — mixed values (e.g., sms:
|
|
18
|
+
# opted_out + whatsapp: opted_in) are rejected with 400. The provided status is
|
|
19
|
+
# applied to ALL channels regardless of which keys are specified, because consent
|
|
20
|
+
# is global across channels. When provided, takes precedence over the opt_out
|
|
21
|
+
# field.
|
|
22
|
+
#
|
|
23
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
24
|
+
optional :channel_consent, Sentdm::Internal::Type::HashOf[String], nil?: true
|
|
25
|
+
|
|
15
26
|
# @!attribute default_channel
|
|
16
27
|
# Default messaging channel: "sms" or "whatsapp"
|
|
17
28
|
#
|
|
@@ -41,12 +52,14 @@ module Sentdm
|
|
|
41
52
|
# @return [String, nil]
|
|
42
53
|
optional :x_profile_id, String
|
|
43
54
|
|
|
44
|
-
# @!method initialize(id:, default_channel: nil, opt_out: nil, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
|
|
55
|
+
# @!method initialize(id:, channel_consent: nil, default_channel: nil, opt_out: nil, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
|
|
45
56
|
# Some parameter documentations has been truncated, see
|
|
46
57
|
# {Sentdm::Models::ContactUpdateParams} for more details.
|
|
47
58
|
#
|
|
48
59
|
# @param id [String]
|
|
49
60
|
#
|
|
61
|
+
# @param channel_consent [Hash{Symbol=>String}, nil] Consent status by channel. Keys: "sms", "whatsapp". Values: "opted_in", "opted_o
|
|
62
|
+
#
|
|
50
63
|
# @param default_channel [String, nil] Default messaging channel: "sms" or "whatsapp"
|
|
51
64
|
#
|
|
52
65
|
# @param opt_out [Boolean, nil] Whether the contact has opted out of messaging
|
|
@@ -71,6 +71,11 @@ module Sentdm
|
|
|
71
71
|
# @return [String, nil]
|
|
72
72
|
optional :customer_id, String
|
|
73
73
|
|
|
74
|
+
# @!attribute direction
|
|
75
|
+
#
|
|
76
|
+
# @return [String, nil]
|
|
77
|
+
optional :direction, String
|
|
78
|
+
|
|
74
79
|
# @!attribute events
|
|
75
80
|
#
|
|
76
81
|
# @return [Array<Sentdm::Models::MessageRetrieveStatusResponse::Data::Event>, nil]
|
|
@@ -115,7 +120,7 @@ module Sentdm
|
|
|
115
120
|
# @!attribute template_category
|
|
116
121
|
#
|
|
117
122
|
# @return [String, nil]
|
|
118
|
-
optional :template_category, String
|
|
123
|
+
optional :template_category, String, nil?: true
|
|
119
124
|
|
|
120
125
|
# @!attribute template_id
|
|
121
126
|
#
|
|
@@ -125,9 +130,9 @@ module Sentdm
|
|
|
125
130
|
# @!attribute template_name
|
|
126
131
|
#
|
|
127
132
|
# @return [String, nil]
|
|
128
|
-
optional :template_name, String
|
|
133
|
+
optional :template_name, String, nil?: true
|
|
129
134
|
|
|
130
|
-
# @!method initialize(id: nil, active_contact_price: nil, channel: nil, contact_id: nil, created_at: nil, customer_id: nil, events: nil, message_body: nil, phone: nil, phone_international: nil, price: nil, region_code: nil, status: nil, template_category: nil, template_id: nil, template_name: nil)
|
|
135
|
+
# @!method initialize(id: nil, active_contact_price: nil, channel: nil, contact_id: nil, created_at: nil, customer_id: nil, direction: nil, events: nil, message_body: nil, phone: nil, phone_international: nil, price: nil, region_code: nil, status: nil, template_category: nil, template_id: nil, template_name: nil)
|
|
131
136
|
# Some parameter documentations has been truncated, see
|
|
132
137
|
# {Sentdm::Models::MessageRetrieveStatusResponse::Data} for more details.
|
|
133
138
|
#
|
|
@@ -145,6 +150,8 @@ module Sentdm
|
|
|
145
150
|
#
|
|
146
151
|
# @param customer_id [String]
|
|
147
152
|
#
|
|
153
|
+
# @param direction [String]
|
|
154
|
+
#
|
|
148
155
|
# @param events [Array<Sentdm::Models::MessageRetrieveStatusResponse::Data::Event>, nil]
|
|
149
156
|
#
|
|
150
157
|
# @param message_body [Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody, nil] Structured message body format for database storage.
|
|
@@ -159,11 +166,11 @@ module Sentdm
|
|
|
159
166
|
#
|
|
160
167
|
# @param status [String]
|
|
161
168
|
#
|
|
162
|
-
# @param template_category [String]
|
|
169
|
+
# @param template_category [String, nil]
|
|
163
170
|
#
|
|
164
171
|
# @param template_id [String, nil]
|
|
165
172
|
#
|
|
166
|
-
# @param template_name [String]
|
|
173
|
+
# @param template_name [String, nil]
|
|
167
174
|
|
|
168
175
|
class Event < Sentdm::Internal::Type::BaseModel
|
|
169
176
|
# @!attribute description
|
|
@@ -73,10 +73,12 @@ module Sentdm
|
|
|
73
73
|
# Updates a contact's default channel and/or opt-out status. Inherited contacts
|
|
74
74
|
# cannot be updated.
|
|
75
75
|
#
|
|
76
|
-
# @overload update(id, default_channel: nil, opt_out: nil, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
|
|
76
|
+
# @overload update(id, channel_consent: nil, default_channel: nil, opt_out: nil, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
|
|
77
77
|
#
|
|
78
78
|
# @param id [String] Path param: Contact ID from route parameter
|
|
79
79
|
#
|
|
80
|
+
# @param channel_consent [Hash{Symbol=>String}, nil] Body param: Consent status by channel. Keys: "sms", "whatsapp". Values: "opted_i
|
|
81
|
+
#
|
|
80
82
|
# @param default_channel [String, nil] Body param: Default messaging channel: "sms" or "whatsapp"
|
|
81
83
|
#
|
|
82
84
|
# @param opt_out [Boolean, nil] Body param: Whether the contact has opted out of messaging
|
data/lib/sentdm/version.rb
CHANGED
|
@@ -22,6 +22,13 @@ module Sentdm
|
|
|
22
22
|
sig { params(available_channels: String).void }
|
|
23
23
|
attr_writer :available_channels
|
|
24
24
|
|
|
25
|
+
# Consent status by channel. Keys: "sms", "whatsapp". Values: "opted_in",
|
|
26
|
+
# "opted_out". All channels will have the same status because consent is global
|
|
27
|
+
# across channels. A STOP on any channel opts out of all channels; a START opts in
|
|
28
|
+
# to all.
|
|
29
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
30
|
+
attr_accessor :channel_consent
|
|
31
|
+
|
|
25
32
|
# Country calling code (e.g., 1 for US/Canada)
|
|
26
33
|
sig { returns(T.nilable(String)) }
|
|
27
34
|
attr_reader :country_code
|
|
@@ -108,6 +115,7 @@ module Sentdm
|
|
|
108
115
|
params(
|
|
109
116
|
id: String,
|
|
110
117
|
available_channels: String,
|
|
118
|
+
channel_consent: T.nilable(T::Hash[Symbol, String]),
|
|
111
119
|
country_code: String,
|
|
112
120
|
created_at: Time,
|
|
113
121
|
default_channel: String,
|
|
@@ -127,6 +135,11 @@ module Sentdm
|
|
|
127
135
|
id: nil,
|
|
128
136
|
# Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
|
|
129
137
|
available_channels: nil,
|
|
138
|
+
# Consent status by channel. Keys: "sms", "whatsapp". Values: "opted_in",
|
|
139
|
+
# "opted_out". All channels will have the same status because consent is global
|
|
140
|
+
# across channels. A STOP on any channel opts out of all channels; a START opts in
|
|
141
|
+
# to all.
|
|
142
|
+
channel_consent: nil,
|
|
130
143
|
# Country calling code (e.g., 1 for US/Canada)
|
|
131
144
|
country_code: nil,
|
|
132
145
|
# When the contact was created
|
|
@@ -159,6 +172,7 @@ module Sentdm
|
|
|
159
172
|
{
|
|
160
173
|
id: String,
|
|
161
174
|
available_channels: String,
|
|
175
|
+
channel_consent: T.nilable(T::Hash[Symbol, String]),
|
|
162
176
|
country_code: String,
|
|
163
177
|
created_at: Time,
|
|
164
178
|
default_channel: String,
|
|
@@ -14,6 +14,15 @@ module Sentdm
|
|
|
14
14
|
sig { returns(String) }
|
|
15
15
|
attr_accessor :id
|
|
16
16
|
|
|
17
|
+
# Consent status by channel. Keys: "sms", "whatsapp". Values: "opted_in",
|
|
18
|
+
# "opted_out". All entries must have the same status — mixed values (e.g., sms:
|
|
19
|
+
# opted_out + whatsapp: opted_in) are rejected with 400. The provided status is
|
|
20
|
+
# applied to ALL channels regardless of which keys are specified, because consent
|
|
21
|
+
# is global across channels. When provided, takes precedence over the opt_out
|
|
22
|
+
# field.
|
|
23
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
24
|
+
attr_accessor :channel_consent
|
|
25
|
+
|
|
17
26
|
# Default messaging channel: "sms" or "whatsapp"
|
|
18
27
|
sig { returns(T.nilable(String)) }
|
|
19
28
|
attr_accessor :default_channel
|
|
@@ -45,6 +54,7 @@ module Sentdm
|
|
|
45
54
|
sig do
|
|
46
55
|
params(
|
|
47
56
|
id: String,
|
|
57
|
+
channel_consent: T.nilable(T::Hash[Symbol, String]),
|
|
48
58
|
default_channel: T.nilable(String),
|
|
49
59
|
opt_out: T.nilable(T::Boolean),
|
|
50
60
|
sandbox: T::Boolean,
|
|
@@ -55,6 +65,13 @@ module Sentdm
|
|
|
55
65
|
end
|
|
56
66
|
def self.new(
|
|
57
67
|
id:,
|
|
68
|
+
# Consent status by channel. Keys: "sms", "whatsapp". Values: "opted_in",
|
|
69
|
+
# "opted_out". All entries must have the same status — mixed values (e.g., sms:
|
|
70
|
+
# opted_out + whatsapp: opted_in) are rejected with 400. The provided status is
|
|
71
|
+
# applied to ALL channels regardless of which keys are specified, because consent
|
|
72
|
+
# is global across channels. When provided, takes precedence over the opt_out
|
|
73
|
+
# field.
|
|
74
|
+
channel_consent: nil,
|
|
58
75
|
# Default messaging channel: "sms" or "whatsapp"
|
|
59
76
|
default_channel: nil,
|
|
60
77
|
# Whether the contact has opted out of messaging
|
|
@@ -72,6 +89,7 @@ module Sentdm
|
|
|
72
89
|
override.returns(
|
|
73
90
|
{
|
|
74
91
|
id: String,
|
|
92
|
+
channel_consent: T.nilable(T::Hash[Symbol, String]),
|
|
75
93
|
default_channel: T.nilable(String),
|
|
76
94
|
opt_out: T.nilable(T::Boolean),
|
|
77
95
|
sandbox: T::Boolean,
|
|
@@ -128,6 +128,12 @@ module Sentdm
|
|
|
128
128
|
sig { params(customer_id: String).void }
|
|
129
129
|
attr_writer :customer_id
|
|
130
130
|
|
|
131
|
+
sig { returns(T.nilable(String)) }
|
|
132
|
+
attr_reader :direction
|
|
133
|
+
|
|
134
|
+
sig { params(direction: String).void }
|
|
135
|
+
attr_writer :direction
|
|
136
|
+
|
|
131
137
|
sig do
|
|
132
138
|
returns(
|
|
133
139
|
T.nilable(
|
|
@@ -188,19 +194,13 @@ module Sentdm
|
|
|
188
194
|
attr_writer :status
|
|
189
195
|
|
|
190
196
|
sig { returns(T.nilable(String)) }
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
sig { params(template_category: String).void }
|
|
194
|
-
attr_writer :template_category
|
|
197
|
+
attr_accessor :template_category
|
|
195
198
|
|
|
196
199
|
sig { returns(T.nilable(String)) }
|
|
197
200
|
attr_accessor :template_id
|
|
198
201
|
|
|
199
202
|
sig { returns(T.nilable(String)) }
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
sig { params(template_name: String).void }
|
|
203
|
-
attr_writer :template_name
|
|
203
|
+
attr_accessor :template_name
|
|
204
204
|
|
|
205
205
|
# Message response for v3 API — same shape as v2 with snake_case JSON conventions
|
|
206
206
|
sig do
|
|
@@ -211,6 +211,7 @@ module Sentdm
|
|
|
211
211
|
contact_id: String,
|
|
212
212
|
created_at: Time,
|
|
213
213
|
customer_id: String,
|
|
214
|
+
direction: String,
|
|
214
215
|
events:
|
|
215
216
|
T.nilable(
|
|
216
217
|
T::Array[
|
|
@@ -226,9 +227,9 @@ module Sentdm
|
|
|
226
227
|
price: T.nilable(Float),
|
|
227
228
|
region_code: String,
|
|
228
229
|
status: String,
|
|
229
|
-
template_category: String,
|
|
230
|
+
template_category: T.nilable(String),
|
|
230
231
|
template_id: T.nilable(String),
|
|
231
|
-
template_name: String
|
|
232
|
+
template_name: T.nilable(String)
|
|
232
233
|
).returns(T.attached_class)
|
|
233
234
|
end
|
|
234
235
|
def self.new(
|
|
@@ -238,6 +239,7 @@ module Sentdm
|
|
|
238
239
|
contact_id: nil,
|
|
239
240
|
created_at: nil,
|
|
240
241
|
customer_id: nil,
|
|
242
|
+
direction: nil,
|
|
241
243
|
events: nil,
|
|
242
244
|
# Structured message body format for database storage. Preserves channel-specific
|
|
243
245
|
# components (header, body, footer, buttons).
|
|
@@ -262,6 +264,7 @@ module Sentdm
|
|
|
262
264
|
contact_id: String,
|
|
263
265
|
created_at: Time,
|
|
264
266
|
customer_id: String,
|
|
267
|
+
direction: String,
|
|
265
268
|
events:
|
|
266
269
|
T.nilable(
|
|
267
270
|
T::Array[
|
|
@@ -277,9 +280,9 @@ module Sentdm
|
|
|
277
280
|
price: T.nilable(Float),
|
|
278
281
|
region_code: String,
|
|
279
282
|
status: String,
|
|
280
|
-
template_category: String,
|
|
283
|
+
template_category: T.nilable(String),
|
|
281
284
|
template_id: T.nilable(String),
|
|
282
|
-
template_name: String
|
|
285
|
+
template_name: T.nilable(String)
|
|
283
286
|
}
|
|
284
287
|
)
|
|
285
288
|
end
|
|
@@ -58,6 +58,7 @@ module Sentdm
|
|
|
58
58
|
sig do
|
|
59
59
|
params(
|
|
60
60
|
id: String,
|
|
61
|
+
channel_consent: T.nilable(T::Hash[Symbol, String]),
|
|
61
62
|
default_channel: T.nilable(String),
|
|
62
63
|
opt_out: T.nilable(T::Boolean),
|
|
63
64
|
sandbox: T::Boolean,
|
|
@@ -69,6 +70,13 @@ module Sentdm
|
|
|
69
70
|
def update(
|
|
70
71
|
# Path param: Contact ID from route parameter
|
|
71
72
|
id,
|
|
73
|
+
# Body param: Consent status by channel. Keys: "sms", "whatsapp". Values:
|
|
74
|
+
# "opted_in", "opted_out". All entries must have the same status — mixed values
|
|
75
|
+
# (e.g., sms: opted_out + whatsapp: opted_in) are rejected with 400. The provided
|
|
76
|
+
# status is applied to ALL channels regardless of which keys are specified,
|
|
77
|
+
# because consent is global across channels. When provided, takes precedence over
|
|
78
|
+
# the opt_out field.
|
|
79
|
+
channel_consent: nil,
|
|
72
80
|
# Body param: Default messaging channel: "sms" or "whatsapp"
|
|
73
81
|
default_channel: nil,
|
|
74
82
|
# Body param: Whether the contact has opted out of messaging
|
|
@@ -4,6 +4,7 @@ module Sentdm
|
|
|
4
4
|
{
|
|
5
5
|
id: String,
|
|
6
6
|
available_channels: String,
|
|
7
|
+
channel_consent: ::Hash[Symbol, String]?,
|
|
7
8
|
country_code: String,
|
|
8
9
|
created_at: Time,
|
|
9
10
|
default_channel: String,
|
|
@@ -27,6 +28,8 @@ module Sentdm
|
|
|
27
28
|
|
|
28
29
|
def available_channels=: (String) -> String
|
|
29
30
|
|
|
31
|
+
attr_accessor channel_consent: ::Hash[Symbol, String]?
|
|
32
|
+
|
|
30
33
|
attr_reader country_code: String?
|
|
31
34
|
|
|
32
35
|
def country_code=: (String) -> String
|
|
@@ -76,6 +79,7 @@ module Sentdm
|
|
|
76
79
|
def initialize: (
|
|
77
80
|
?id: String,
|
|
78
81
|
?available_channels: String,
|
|
82
|
+
?channel_consent: ::Hash[Symbol, String]?,
|
|
79
83
|
?country_code: String,
|
|
80
84
|
?created_at: Time,
|
|
81
85
|
?default_channel: String,
|
|
@@ -93,6 +97,7 @@ module Sentdm
|
|
|
93
97
|
def to_hash: -> {
|
|
94
98
|
id: String,
|
|
95
99
|
available_channels: String,
|
|
100
|
+
channel_consent: ::Hash[Symbol, String]?,
|
|
96
101
|
country_code: String,
|
|
97
102
|
created_at: Time,
|
|
98
103
|
default_channel: String,
|
|
@@ -3,6 +3,7 @@ module Sentdm
|
|
|
3
3
|
type contact_update_params =
|
|
4
4
|
{
|
|
5
5
|
id: String,
|
|
6
|
+
channel_consent: ::Hash[Symbol, String]?,
|
|
6
7
|
default_channel: String?,
|
|
7
8
|
opt_out: bool?,
|
|
8
9
|
sandbox: bool,
|
|
@@ -17,6 +18,8 @@ module Sentdm
|
|
|
17
18
|
|
|
18
19
|
attr_accessor id: String
|
|
19
20
|
|
|
21
|
+
attr_accessor channel_consent: ::Hash[Symbol, String]?
|
|
22
|
+
|
|
20
23
|
attr_accessor default_channel: String?
|
|
21
24
|
|
|
22
25
|
attr_accessor opt_out: bool?
|
|
@@ -35,6 +38,7 @@ module Sentdm
|
|
|
35
38
|
|
|
36
39
|
def initialize: (
|
|
37
40
|
id: String,
|
|
41
|
+
?channel_consent: ::Hash[Symbol, String]?,
|
|
38
42
|
?default_channel: String?,
|
|
39
43
|
?opt_out: bool?,
|
|
40
44
|
?sandbox: bool,
|
|
@@ -45,6 +49,7 @@ module Sentdm
|
|
|
45
49
|
|
|
46
50
|
def to_hash: -> {
|
|
47
51
|
id: String,
|
|
52
|
+
channel_consent: ::Hash[Symbol, String]?,
|
|
48
53
|
default_channel: String?,
|
|
49
54
|
opt_out: bool?,
|
|
50
55
|
sandbox: bool,
|
|
@@ -43,6 +43,7 @@ module Sentdm
|
|
|
43
43
|
contact_id: String,
|
|
44
44
|
created_at: Time,
|
|
45
45
|
customer_id: String,
|
|
46
|
+
direction: String,
|
|
46
47
|
events: ::Array[Sentdm::Models::MessageRetrieveStatusResponse::Data::Event]?,
|
|
47
48
|
message_body: Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody?,
|
|
48
49
|
phone: String,
|
|
@@ -50,9 +51,9 @@ module Sentdm
|
|
|
50
51
|
price: Float?,
|
|
51
52
|
region_code: String,
|
|
52
53
|
status: String,
|
|
53
|
-
template_category: String
|
|
54
|
+
template_category: String?,
|
|
54
55
|
template_id: String?,
|
|
55
|
-
template_name: String
|
|
56
|
+
template_name: String?
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
class Data < Sentdm::Internal::Type::BaseModel
|
|
@@ -78,6 +79,10 @@ module Sentdm
|
|
|
78
79
|
|
|
79
80
|
def customer_id=: (String) -> String
|
|
80
81
|
|
|
82
|
+
attr_reader direction: String?
|
|
83
|
+
|
|
84
|
+
def direction=: (String) -> String
|
|
85
|
+
|
|
81
86
|
attr_accessor events: ::Array[Sentdm::Models::MessageRetrieveStatusResponse::Data::Event]?
|
|
82
87
|
|
|
83
88
|
attr_accessor message_body: Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody?
|
|
@@ -100,15 +105,11 @@ module Sentdm
|
|
|
100
105
|
|
|
101
106
|
def status=: (String) -> String
|
|
102
107
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
def template_category=: (String) -> String
|
|
108
|
+
attr_accessor template_category: String?
|
|
106
109
|
|
|
107
110
|
attr_accessor template_id: String?
|
|
108
111
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
def template_name=: (String) -> String
|
|
112
|
+
attr_accessor template_name: String?
|
|
112
113
|
|
|
113
114
|
def initialize: (
|
|
114
115
|
?id: String,
|
|
@@ -117,6 +118,7 @@ module Sentdm
|
|
|
117
118
|
?contact_id: String,
|
|
118
119
|
?created_at: Time,
|
|
119
120
|
?customer_id: String,
|
|
121
|
+
?direction: String,
|
|
120
122
|
?events: ::Array[Sentdm::Models::MessageRetrieveStatusResponse::Data::Event]?,
|
|
121
123
|
?message_body: Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody?,
|
|
122
124
|
?phone: String,
|
|
@@ -124,9 +126,9 @@ module Sentdm
|
|
|
124
126
|
?price: Float?,
|
|
125
127
|
?region_code: String,
|
|
126
128
|
?status: String,
|
|
127
|
-
?template_category: String
|
|
129
|
+
?template_category: String?,
|
|
128
130
|
?template_id: String?,
|
|
129
|
-
?template_name: String
|
|
131
|
+
?template_name: String?
|
|
130
132
|
) -> void
|
|
131
133
|
|
|
132
134
|
def to_hash: -> {
|
|
@@ -136,6 +138,7 @@ module Sentdm
|
|
|
136
138
|
contact_id: String,
|
|
137
139
|
created_at: Time,
|
|
138
140
|
customer_id: String,
|
|
141
|
+
direction: String,
|
|
139
142
|
events: ::Array[Sentdm::Models::MessageRetrieveStatusResponse::Data::Event]?,
|
|
140
143
|
message_body: Sentdm::Models::MessageRetrieveStatusResponse::Data::MessageBody?,
|
|
141
144
|
phone: String,
|
|
@@ -143,9 +146,9 @@ module Sentdm
|
|
|
143
146
|
price: Float?,
|
|
144
147
|
region_code: String,
|
|
145
148
|
status: String,
|
|
146
|
-
template_category: String
|
|
149
|
+
template_category: String?,
|
|
147
150
|
template_id: String?,
|
|
148
|
-
template_name: String
|
|
151
|
+
template_name: String?
|
|
149
152
|
}
|
|
150
153
|
|
|
151
154
|
type event = { description: String?, status: String, timestamp: Time }
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sentdm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.15.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sent
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-04-
|
|
11
|
+
date: 2026-04-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cgi
|