sentdm 0.3.1 → 0.4.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 +9 -9
- data/lib/sentdm/client.rb +0 -1
- data/lib/sentdm/models/api_meta.rb +1 -9
- data/lib/sentdm/models/brand_data.rb +235 -198
- data/lib/sentdm/models/brand_with_kyc.rb +249 -214
- data/lib/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rb +0 -1
- data/lib/sentdm/models/contact_create_params.rb +13 -6
- data/lib/sentdm/models/contact_delete_params.rb +8 -1
- data/lib/sentdm/models/contact_list_params.rb +10 -2
- data/lib/sentdm/models/contact_retrieve_params.rb +7 -1
- data/lib/sentdm/models/contact_update_params.rb +13 -6
- data/lib/sentdm/models/me_retrieve_params.rb +7 -1
- data/lib/sentdm/models/me_retrieve_response.rb +152 -7
- data/lib/sentdm/models/message_retrieve_activities_params.rb +7 -1
- data/lib/sentdm/models/message_retrieve_activities_response.rb +19 -5
- data/lib/sentdm/models/message_retrieve_status_params.rb +7 -1
- data/lib/sentdm/models/message_retrieve_status_response.rb +8 -1
- data/lib/sentdm/models/message_send_params.rb +17 -10
- data/lib/sentdm/models/mutation_request.rb +6 -6
- data/lib/sentdm/models/profile_complete_params.rb +13 -6
- data/lib/sentdm/models/profile_create_params.rb +192 -10
- data/lib/sentdm/models/profile_delete_params.rb +18 -18
- data/lib/sentdm/models/profile_detail.rb +144 -95
- data/lib/sentdm/models/profile_list_params.rb +7 -1
- data/lib/sentdm/models/profile_retrieve_params.rb +7 -1
- data/lib/sentdm/models/profile_update_params.rb +142 -22
- data/lib/sentdm/models/template_create_params.rb +17 -10
- data/lib/sentdm/models/template_delete_params.rb +13 -6
- data/lib/sentdm/models/template_list_params.rb +18 -2
- data/lib/sentdm/models/template_retrieve_params.rb +7 -1
- data/lib/sentdm/models/template_update_params.rb +17 -10
- data/lib/sentdm/models/template_variable.rb +7 -1
- data/lib/sentdm/models/user_invite_params.rb +13 -6
- data/lib/sentdm/models/user_list_params.rb +7 -1
- data/lib/sentdm/models/user_remove_params.rb +17 -17
- data/lib/sentdm/models/user_retrieve_params.rb +7 -1
- data/lib/sentdm/models/user_update_role_params.rb +15 -16
- data/lib/sentdm/models/webhook_create_params.rb +13 -6
- data/lib/sentdm/models/webhook_delete_params.rb +7 -1
- data/lib/sentdm/models/webhook_list_event_types_params.rb +7 -1
- data/lib/sentdm/models/webhook_list_events_params.rb +7 -1
- data/lib/sentdm/models/webhook_list_params.rb +7 -1
- data/lib/sentdm/models/webhook_retrieve_params.rb +7 -1
- data/lib/sentdm/models/webhook_rotate_secret_params.rb +7 -1
- data/lib/sentdm/models/webhook_test_params.rb +13 -6
- data/lib/sentdm/models/webhook_toggle_status_params.rb +13 -6
- data/lib/sentdm/models/webhook_update_params.rb +13 -6
- data/lib/sentdm/models.rb +0 -12
- data/lib/sentdm/resources/brands/campaigns.rb +0 -129
- data/lib/sentdm/resources/brands.rb +0 -112
- data/lib/sentdm/resources/contacts.rb +43 -20
- data/lib/sentdm/resources/lookup.rb +0 -21
- data/lib/sentdm/resources/me.rb +24 -5
- data/lib/sentdm/resources/messages.rb +24 -8
- data/lib/sentdm/resources/profiles.rb +116 -32
- data/lib/sentdm/resources/templates.rb +47 -24
- data/lib/sentdm/resources/users.rb +40 -23
- data/lib/sentdm/resources/webhooks.rb +92 -34
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +1 -14
- data/rbi/sentdm/client.rbi +0 -1
- data/rbi/sentdm/models/api_meta.rbi +4 -18
- data/rbi/sentdm/models/brand_data.rbi +326 -203
- data/rbi/sentdm/models/brand_with_kyc.rbi +334 -216
- data/rbi/sentdm/models/brands/tcr_campaign_with_use_cases.rbi +6 -8
- data/rbi/sentdm/models/contact_create_params.rbi +19 -10
- data/rbi/sentdm/models/contact_delete_params.rbi +9 -0
- data/rbi/sentdm/models/contact_list_params.rbi +11 -0
- data/rbi/sentdm/models/contact_retrieve_params.rbi +13 -2
- data/rbi/sentdm/models/contact_update_params.rbi +19 -10
- data/rbi/sentdm/models/me_retrieve_params.rbi +16 -5
- data/rbi/sentdm/models/me_retrieve_response.rbi +316 -16
- data/rbi/sentdm/models/message_retrieve_activities_params.rbi +13 -2
- data/rbi/sentdm/models/message_retrieve_activities_response.rbi +18 -6
- data/rbi/sentdm/models/message_retrieve_status_params.rbi +13 -2
- data/rbi/sentdm/models/message_retrieve_status_response.rbi +6 -0
- data/rbi/sentdm/models/message_send_params.rbi +22 -13
- data/rbi/sentdm/models/mutation_request.rbi +10 -10
- data/rbi/sentdm/models/profile_complete_params.rbi +19 -10
- data/rbi/sentdm/models/profile_create_params.rbi +323 -15
- data/rbi/sentdm/models/profile_delete_params.rbi +36 -24
- data/rbi/sentdm/models/profile_detail.rbi +184 -128
- data/rbi/sentdm/models/profile_list_params.rbi +16 -5
- data/rbi/sentdm/models/profile_retrieve_params.rbi +13 -2
- data/rbi/sentdm/models/profile_update_params.rbi +231 -30
- data/rbi/sentdm/models/template_create_params.rbi +22 -13
- data/rbi/sentdm/models/template_delete_params.rbi +19 -10
- data/rbi/sentdm/models/template_list_params.rbi +19 -0
- data/rbi/sentdm/models/template_retrieve_params.rbi +13 -2
- data/rbi/sentdm/models/template_update_params.rbi +22 -13
- data/rbi/sentdm/models/template_variable.rbi +6 -0
- data/rbi/sentdm/models/user_invite_params.rbi +19 -10
- data/rbi/sentdm/models/user_list_params.rbi +16 -5
- data/rbi/sentdm/models/user_remove_params.rbi +35 -23
- data/rbi/sentdm/models/user_retrieve_params.rbi +13 -2
- data/rbi/sentdm/models/user_update_role_params.rbi +23 -25
- data/rbi/sentdm/models/webhook_create_params.rbi +19 -10
- data/rbi/sentdm/models/webhook_delete_params.rbi +13 -2
- data/rbi/sentdm/models/webhook_list_event_types_params.rbi +16 -5
- data/rbi/sentdm/models/webhook_list_events_params.rbi +16 -1
- data/rbi/sentdm/models/webhook_list_params.rbi +9 -0
- data/rbi/sentdm/models/webhook_retrieve_params.rbi +13 -2
- data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +15 -1
- data/rbi/sentdm/models/webhook_test_params.rbi +19 -10
- data/rbi/sentdm/models/webhook_toggle_status_params.rbi +19 -10
- data/rbi/sentdm/models/webhook_update_params.rbi +19 -10
- data/rbi/sentdm/models.rbi +0 -12
- data/rbi/sentdm/resources/brands/campaigns.rbi +0 -95
- data/rbi/sentdm/resources/brands.rbi +0 -80
- data/rbi/sentdm/resources/contacts.rbi +37 -12
- data/rbi/sentdm/resources/lookup.rbi +0 -12
- data/rbi/sentdm/resources/me.rbi +25 -7
- data/rbi/sentdm/resources/messages.rbi +17 -4
- data/rbi/sentdm/resources/profiles.rbi +178 -38
- data/rbi/sentdm/resources/templates.rbi +47 -19
- data/rbi/sentdm/resources/users.rbi +47 -25
- data/rbi/sentdm/resources/webhooks.rbi +92 -20
- data/sig/sentdm/models/api_meta.rbs +2 -16
- data/sig/sentdm/models/brand_data.rbs +188 -142
- data/sig/sentdm/models/brand_with_kyc.rbs +184 -133
- data/sig/sentdm/models/contact_create_params.rbs +16 -5
- data/sig/sentdm/models/contact_delete_params.rbs +11 -1
- data/sig/sentdm/models/contact_list_params.rbs +8 -1
- data/sig/sentdm/models/contact_retrieve_params.rbs +12 -2
- data/sig/sentdm/models/contact_update_params.rbs +13 -6
- data/sig/sentdm/models/me_retrieve_params.rbs +14 -3
- data/sig/sentdm/models/me_retrieve_response.rbs +134 -7
- data/sig/sentdm/models/message_retrieve_activities_params.rbs +12 -2
- data/sig/sentdm/models/message_retrieve_activities_response.rbs +9 -4
- data/sig/sentdm/models/message_retrieve_status_params.rbs +12 -2
- data/sig/sentdm/models/message_retrieve_status_response.rbs +5 -0
- data/sig/sentdm/models/message_send_params.rbs +15 -8
- data/sig/sentdm/models/mutation_request.rbs +5 -5
- data/sig/sentdm/models/profile_complete_params.rbs +13 -6
- data/sig/sentdm/models/profile_create_params.rbs +111 -7
- data/sig/sentdm/models/profile_delete_params.rbs +23 -13
- data/sig/sentdm/models/profile_detail.rbs +105 -84
- data/sig/sentdm/models/profile_list_params.rbs +14 -3
- data/sig/sentdm/models/profile_retrieve_params.rbs +8 -1
- data/sig/sentdm/models/profile_update_params.rbs +86 -17
- data/sig/sentdm/models/template_create_params.rbs +15 -8
- data/sig/sentdm/models/template_delete_params.rbs +16 -5
- data/sig/sentdm/models/template_list_params.rbs +13 -1
- data/sig/sentdm/models/template_retrieve_params.rbs +12 -2
- data/sig/sentdm/models/template_update_params.rbs +15 -8
- data/sig/sentdm/models/template_variable.rbs +5 -0
- data/sig/sentdm/models/user_invite_params.rbs +13 -6
- data/sig/sentdm/models/user_list_params.rbs +14 -3
- data/sig/sentdm/models/user_remove_params.rbs +23 -13
- data/sig/sentdm/models/user_retrieve_params.rbs +8 -1
- data/sig/sentdm/models/user_update_role_params.rbs +17 -17
- data/sig/sentdm/models/webhook_create_params.rbs +13 -6
- data/sig/sentdm/models/webhook_delete_params.rbs +12 -2
- data/sig/sentdm/models/webhook_list_event_types_params.rbs +13 -3
- data/sig/sentdm/models/webhook_list_events_params.rbs +13 -1
- data/sig/sentdm/models/webhook_list_params.rbs +13 -1
- data/sig/sentdm/models/webhook_retrieve_params.rbs +12 -2
- data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -1
- data/sig/sentdm/models/webhook_test_params.rbs +13 -6
- data/sig/sentdm/models/webhook_toggle_status_params.rbs +17 -5
- data/sig/sentdm/models/webhook_update_params.rbs +13 -6
- data/sig/sentdm/models.rbs +0 -12
- data/sig/sentdm/resources/brands/campaigns.rbs +0 -29
- data/sig/sentdm/resources/brands.rbs +0 -25
- data/sig/sentdm/resources/contacts.rbs +7 -2
- data/sig/sentdm/resources/lookup.rbs +0 -5
- data/sig/sentdm/resources/me.rbs +1 -0
- data/sig/sentdm/resources/messages.rbs +4 -1
- data/sig/sentdm/resources/profiles.rbs +19 -8
- data/sig/sentdm/resources/templates.rbs +9 -3
- data/sig/sentdm/resources/users.rbs +10 -7
- data/sig/sentdm/resources/webhooks.rbs +18 -5
- metadata +1 -40
- data/lib/sentdm/models/api_response_brand_with_kyc.rb +0 -43
- data/lib/sentdm/models/brand_create_params.rb +0 -41
- data/lib/sentdm/models/brand_delete_params.rb +0 -34
- data/lib/sentdm/models/brand_list_params.rb +0 -14
- data/lib/sentdm/models/brand_list_response.rb +0 -43
- data/lib/sentdm/models/brand_update_params.rb +0 -48
- data/lib/sentdm/models/brands/campaign_create_params.rb +0 -50
- data/lib/sentdm/models/brands/campaign_delete_params.rb +0 -43
- data/lib/sentdm/models/brands/campaign_list_params.rb +0 -22
- data/lib/sentdm/models/brands/campaign_list_response.rb +0 -47
- data/lib/sentdm/models/brands/campaign_update_params.rb +0 -57
- data/lib/sentdm/models/lookup_retrieve_phone_info_params.rb +0 -20
- data/lib/sentdm/models/lookup_retrieve_phone_info_response.rb +0 -104
- data/rbi/sentdm/models/api_response_brand_with_kyc.rbi +0 -74
- data/rbi/sentdm/models/brand_create_params.rbi +0 -68
- data/rbi/sentdm/models/brand_delete_params.rbi +0 -68
- data/rbi/sentdm/models/brand_list_params.rbi +0 -27
- data/rbi/sentdm/models/brand_list_response.rbi +0 -71
- data/rbi/sentdm/models/brand_update_params.rbi +0 -74
- data/rbi/sentdm/models/brands/campaign_create_params.rbi +0 -79
- data/rbi/sentdm/models/brands/campaign_delete_params.rbi +0 -84
- data/rbi/sentdm/models/brands/campaign_list_params.rbi +0 -37
- data/rbi/sentdm/models/brands/campaign_list_response.rbi +0 -82
- data/rbi/sentdm/models/brands/campaign_update_params.rbi +0 -85
- data/rbi/sentdm/models/lookup_retrieve_phone_info_params.rbi +0 -38
- data/rbi/sentdm/models/lookup_retrieve_phone_info_response.rbi +0 -183
- data/sig/sentdm/models/api_response_brand_with_kyc.rbs +0 -39
- data/sig/sentdm/models/brand_create_params.rbs +0 -36
- data/sig/sentdm/models/brand_delete_params.rbs +0 -36
- data/sig/sentdm/models/brand_list_params.rbs +0 -14
- data/sig/sentdm/models/brand_list_response.rbs +0 -39
- data/sig/sentdm/models/brand_update_params.rbs +0 -45
- data/sig/sentdm/models/brands/campaign_create_params.rbs +0 -47
- data/sig/sentdm/models/brands/campaign_delete_params.rbs +0 -46
- data/sig/sentdm/models/brands/campaign_list_params.rbs +0 -25
- data/sig/sentdm/models/brands/campaign_list_response.rbs +0 -41
- data/sig/sentdm/models/brands/campaign_update_params.rbs +0 -52
- data/sig/sentdm/models/lookup_retrieve_phone_info_params.rbs +0 -23
- data/sig/sentdm/models/lookup_retrieve_phone_info_response.rbs +0 -102
|
@@ -83,13 +83,26 @@ module Sentdm
|
|
|
83
83
|
)
|
|
84
84
|
end
|
|
85
85
|
|
|
86
|
-
# Customer ID (organization or profile)
|
|
86
|
+
# Customer ID (organization, account, or profile)
|
|
87
87
|
sig { returns(T.nilable(String)) }
|
|
88
88
|
attr_reader :id
|
|
89
89
|
|
|
90
90
|
sig { params(id: String).void }
|
|
91
91
|
attr_writer :id
|
|
92
92
|
|
|
93
|
+
# Messaging channel configuration
|
|
94
|
+
sig do
|
|
95
|
+
returns(T.nilable(Sentdm::Models::MeRetrieveResponse::Data::Channels))
|
|
96
|
+
end
|
|
97
|
+
attr_reader :channels
|
|
98
|
+
|
|
99
|
+
sig do
|
|
100
|
+
params(
|
|
101
|
+
channels: Sentdm::Models::MeRetrieveResponse::Data::Channels::OrHash
|
|
102
|
+
).void
|
|
103
|
+
end
|
|
104
|
+
attr_writer :channels
|
|
105
|
+
|
|
93
106
|
# When the account was created
|
|
94
107
|
sig { returns(T.nilable(Time)) }
|
|
95
108
|
attr_reader :created_at
|
|
@@ -101,6 +114,10 @@ module Sentdm
|
|
|
101
114
|
sig { returns(T.nilable(String)) }
|
|
102
115
|
attr_accessor :description
|
|
103
116
|
|
|
117
|
+
# Contact email address
|
|
118
|
+
sig { returns(T.nilable(String)) }
|
|
119
|
+
attr_accessor :email
|
|
120
|
+
|
|
104
121
|
# Account icon URL
|
|
105
122
|
sig { returns(T.nilable(String)) }
|
|
106
123
|
attr_accessor :icon
|
|
@@ -112,7 +129,12 @@ module Sentdm
|
|
|
112
129
|
sig { params(name: String).void }
|
|
113
130
|
attr_writer :name
|
|
114
131
|
|
|
115
|
-
#
|
|
132
|
+
# Organization ID (only for profile type — the parent organization)
|
|
133
|
+
sig { returns(T.nilable(String)) }
|
|
134
|
+
attr_accessor :organization_id
|
|
135
|
+
|
|
136
|
+
# List of profiles (populated for organization type, empty for user and profile
|
|
137
|
+
# types)
|
|
116
138
|
sig do
|
|
117
139
|
returns(
|
|
118
140
|
T.nilable(
|
|
@@ -120,7 +142,17 @@ module Sentdm
|
|
|
120
142
|
)
|
|
121
143
|
)
|
|
122
144
|
end
|
|
123
|
-
|
|
145
|
+
attr_reader :profiles
|
|
146
|
+
|
|
147
|
+
sig do
|
|
148
|
+
params(
|
|
149
|
+
profiles:
|
|
150
|
+
T::Array[
|
|
151
|
+
Sentdm::Models::MeRetrieveResponse::Data::Profile::OrHash
|
|
152
|
+
]
|
|
153
|
+
).void
|
|
154
|
+
end
|
|
155
|
+
attr_writer :profiles
|
|
124
156
|
|
|
125
157
|
# Profile settings (only for profile type)
|
|
126
158
|
sig { returns(T.nilable(Sentdm::ProfileSettings)) }
|
|
@@ -131,47 +163,75 @@ module Sentdm
|
|
|
131
163
|
end
|
|
132
164
|
attr_writer :settings
|
|
133
165
|
|
|
166
|
+
# Short name / abbreviation (only for profile type)
|
|
167
|
+
sig { returns(T.nilable(String)) }
|
|
168
|
+
attr_accessor :short_name
|
|
169
|
+
|
|
134
170
|
# Profile status (only for profile type): incomplete, pending_review, approved,
|
|
135
171
|
# etc.
|
|
136
172
|
sig { returns(T.nilable(String)) }
|
|
137
173
|
attr_accessor :status
|
|
138
174
|
|
|
175
|
+
# Account type: "organization" (has profiles), "user" (no profiles), or "profile"
|
|
176
|
+
# (child of an organization)
|
|
177
|
+
sig { returns(T.nilable(String)) }
|
|
178
|
+
attr_reader :type
|
|
179
|
+
|
|
180
|
+
sig { params(type: String).void }
|
|
181
|
+
attr_writer :type
|
|
182
|
+
|
|
139
183
|
# The response data (null if error)
|
|
140
184
|
sig do
|
|
141
185
|
params(
|
|
142
186
|
id: String,
|
|
187
|
+
channels:
|
|
188
|
+
Sentdm::Models::MeRetrieveResponse::Data::Channels::OrHash,
|
|
143
189
|
created_at: Time,
|
|
144
190
|
description: T.nilable(String),
|
|
191
|
+
email: T.nilable(String),
|
|
145
192
|
icon: T.nilable(String),
|
|
146
193
|
name: String,
|
|
194
|
+
organization_id: T.nilable(String),
|
|
147
195
|
profiles:
|
|
148
|
-
T
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
]
|
|
152
|
-
),
|
|
196
|
+
T::Array[
|
|
197
|
+
Sentdm::Models::MeRetrieveResponse::Data::Profile::OrHash
|
|
198
|
+
],
|
|
153
199
|
settings: T.nilable(Sentdm::ProfileSettings::OrHash),
|
|
154
|
-
|
|
200
|
+
short_name: T.nilable(String),
|
|
201
|
+
status: T.nilable(String),
|
|
202
|
+
type: String
|
|
155
203
|
).returns(T.attached_class)
|
|
156
204
|
end
|
|
157
205
|
def self.new(
|
|
158
|
-
# Customer ID (organization or profile)
|
|
206
|
+
# Customer ID (organization, account, or profile)
|
|
159
207
|
id: nil,
|
|
208
|
+
# Messaging channel configuration
|
|
209
|
+
channels: nil,
|
|
160
210
|
# When the account was created
|
|
161
211
|
created_at: nil,
|
|
162
212
|
# Account description
|
|
163
213
|
description: nil,
|
|
214
|
+
# Contact email address
|
|
215
|
+
email: nil,
|
|
164
216
|
# Account icon URL
|
|
165
217
|
icon: nil,
|
|
166
218
|
# Account name
|
|
167
219
|
name: nil,
|
|
168
|
-
#
|
|
220
|
+
# Organization ID (only for profile type — the parent organization)
|
|
221
|
+
organization_id: nil,
|
|
222
|
+
# List of profiles (populated for organization type, empty for user and profile
|
|
223
|
+
# types)
|
|
169
224
|
profiles: nil,
|
|
170
225
|
# Profile settings (only for profile type)
|
|
171
226
|
settings: nil,
|
|
227
|
+
# Short name / abbreviation (only for profile type)
|
|
228
|
+
short_name: nil,
|
|
172
229
|
# Profile status (only for profile type): incomplete, pending_review, approved,
|
|
173
230
|
# etc.
|
|
174
|
-
status: nil
|
|
231
|
+
status: nil,
|
|
232
|
+
# Account type: "organization" (has profiles), "user" (no profiles), or "profile"
|
|
233
|
+
# (child of an organization)
|
|
234
|
+
type: nil
|
|
175
235
|
)
|
|
176
236
|
end
|
|
177
237
|
|
|
@@ -179,22 +239,262 @@ module Sentdm
|
|
|
179
239
|
override.returns(
|
|
180
240
|
{
|
|
181
241
|
id: String,
|
|
242
|
+
channels: Sentdm::Models::MeRetrieveResponse::Data::Channels,
|
|
182
243
|
created_at: Time,
|
|
183
244
|
description: T.nilable(String),
|
|
245
|
+
email: T.nilable(String),
|
|
184
246
|
icon: T.nilable(String),
|
|
185
247
|
name: String,
|
|
248
|
+
organization_id: T.nilable(String),
|
|
186
249
|
profiles:
|
|
187
|
-
T
|
|
188
|
-
T::Array[Sentdm::Models::MeRetrieveResponse::Data::Profile]
|
|
189
|
-
),
|
|
250
|
+
T::Array[Sentdm::Models::MeRetrieveResponse::Data::Profile],
|
|
190
251
|
settings: T.nilable(Sentdm::ProfileSettings),
|
|
191
|
-
|
|
252
|
+
short_name: T.nilable(String),
|
|
253
|
+
status: T.nilable(String),
|
|
254
|
+
type: String
|
|
192
255
|
}
|
|
193
256
|
)
|
|
194
257
|
end
|
|
195
258
|
def to_hash
|
|
196
259
|
end
|
|
197
260
|
|
|
261
|
+
class Channels < Sentdm::Internal::Type::BaseModel
|
|
262
|
+
OrHash =
|
|
263
|
+
T.type_alias do
|
|
264
|
+
T.any(
|
|
265
|
+
Sentdm::Models::MeRetrieveResponse::Data::Channels,
|
|
266
|
+
Sentdm::Internal::AnyHash
|
|
267
|
+
)
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
# RCS channel (provider: vibes)
|
|
271
|
+
sig do
|
|
272
|
+
returns(
|
|
273
|
+
T.nilable(Sentdm::Models::MeRetrieveResponse::Data::Channels::Rcs)
|
|
274
|
+
)
|
|
275
|
+
end
|
|
276
|
+
attr_reader :rcs
|
|
277
|
+
|
|
278
|
+
sig do
|
|
279
|
+
params(
|
|
280
|
+
rcs:
|
|
281
|
+
Sentdm::Models::MeRetrieveResponse::Data::Channels::Rcs::OrHash
|
|
282
|
+
).void
|
|
283
|
+
end
|
|
284
|
+
attr_writer :rcs
|
|
285
|
+
|
|
286
|
+
# SMS channel (providers: telnyx, sinch)
|
|
287
|
+
sig do
|
|
288
|
+
returns(
|
|
289
|
+
T.nilable(Sentdm::Models::MeRetrieveResponse::Data::Channels::SMS)
|
|
290
|
+
)
|
|
291
|
+
end
|
|
292
|
+
attr_reader :sms
|
|
293
|
+
|
|
294
|
+
sig do
|
|
295
|
+
params(
|
|
296
|
+
sms:
|
|
297
|
+
Sentdm::Models::MeRetrieveResponse::Data::Channels::SMS::OrHash
|
|
298
|
+
).void
|
|
299
|
+
end
|
|
300
|
+
attr_writer :sms
|
|
301
|
+
|
|
302
|
+
# WhatsApp Business channel (provider: meta)
|
|
303
|
+
sig do
|
|
304
|
+
returns(
|
|
305
|
+
T.nilable(
|
|
306
|
+
Sentdm::Models::MeRetrieveResponse::Data::Channels::Whatsapp
|
|
307
|
+
)
|
|
308
|
+
)
|
|
309
|
+
end
|
|
310
|
+
attr_reader :whatsapp
|
|
311
|
+
|
|
312
|
+
sig do
|
|
313
|
+
params(
|
|
314
|
+
whatsapp:
|
|
315
|
+
Sentdm::Models::MeRetrieveResponse::Data::Channels::Whatsapp::OrHash
|
|
316
|
+
).void
|
|
317
|
+
end
|
|
318
|
+
attr_writer :whatsapp
|
|
319
|
+
|
|
320
|
+
# Messaging channel configuration
|
|
321
|
+
sig do
|
|
322
|
+
params(
|
|
323
|
+
rcs:
|
|
324
|
+
Sentdm::Models::MeRetrieveResponse::Data::Channels::Rcs::OrHash,
|
|
325
|
+
sms:
|
|
326
|
+
Sentdm::Models::MeRetrieveResponse::Data::Channels::SMS::OrHash,
|
|
327
|
+
whatsapp:
|
|
328
|
+
Sentdm::Models::MeRetrieveResponse::Data::Channels::Whatsapp::OrHash
|
|
329
|
+
).returns(T.attached_class)
|
|
330
|
+
end
|
|
331
|
+
def self.new(
|
|
332
|
+
# RCS channel (provider: vibes)
|
|
333
|
+
rcs: nil,
|
|
334
|
+
# SMS channel (providers: telnyx, sinch)
|
|
335
|
+
sms: nil,
|
|
336
|
+
# WhatsApp Business channel (provider: meta)
|
|
337
|
+
whatsapp: nil
|
|
338
|
+
)
|
|
339
|
+
end
|
|
340
|
+
|
|
341
|
+
sig do
|
|
342
|
+
override.returns(
|
|
343
|
+
{
|
|
344
|
+
rcs: Sentdm::Models::MeRetrieveResponse::Data::Channels::Rcs,
|
|
345
|
+
sms: Sentdm::Models::MeRetrieveResponse::Data::Channels::SMS,
|
|
346
|
+
whatsapp:
|
|
347
|
+
Sentdm::Models::MeRetrieveResponse::Data::Channels::Whatsapp
|
|
348
|
+
}
|
|
349
|
+
)
|
|
350
|
+
end
|
|
351
|
+
def to_hash
|
|
352
|
+
end
|
|
353
|
+
|
|
354
|
+
class Rcs < Sentdm::Internal::Type::BaseModel
|
|
355
|
+
OrHash =
|
|
356
|
+
T.type_alias do
|
|
357
|
+
T.any(
|
|
358
|
+
Sentdm::Models::MeRetrieveResponse::Data::Channels::Rcs,
|
|
359
|
+
Sentdm::Internal::AnyHash
|
|
360
|
+
)
|
|
361
|
+
end
|
|
362
|
+
|
|
363
|
+
# Whether RCS is configured for this account
|
|
364
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
365
|
+
attr_reader :configured
|
|
366
|
+
|
|
367
|
+
sig { params(configured: T::Boolean).void }
|
|
368
|
+
attr_writer :configured
|
|
369
|
+
|
|
370
|
+
# RCS-enabled phone number in E.164 format
|
|
371
|
+
sig { returns(T.nilable(String)) }
|
|
372
|
+
attr_accessor :phone_number
|
|
373
|
+
|
|
374
|
+
# RCS channel (provider: vibes)
|
|
375
|
+
sig do
|
|
376
|
+
params(
|
|
377
|
+
configured: T::Boolean,
|
|
378
|
+
phone_number: T.nilable(String)
|
|
379
|
+
).returns(T.attached_class)
|
|
380
|
+
end
|
|
381
|
+
def self.new(
|
|
382
|
+
# Whether RCS is configured for this account
|
|
383
|
+
configured: nil,
|
|
384
|
+
# RCS-enabled phone number in E.164 format
|
|
385
|
+
phone_number: nil
|
|
386
|
+
)
|
|
387
|
+
end
|
|
388
|
+
|
|
389
|
+
sig do
|
|
390
|
+
override.returns(
|
|
391
|
+
{ configured: T::Boolean, phone_number: T.nilable(String) }
|
|
392
|
+
)
|
|
393
|
+
end
|
|
394
|
+
def to_hash
|
|
395
|
+
end
|
|
396
|
+
end
|
|
397
|
+
|
|
398
|
+
class SMS < Sentdm::Internal::Type::BaseModel
|
|
399
|
+
OrHash =
|
|
400
|
+
T.type_alias do
|
|
401
|
+
T.any(
|
|
402
|
+
Sentdm::Models::MeRetrieveResponse::Data::Channels::SMS,
|
|
403
|
+
Sentdm::Internal::AnyHash
|
|
404
|
+
)
|
|
405
|
+
end
|
|
406
|
+
|
|
407
|
+
# Whether SMS is configured for this account
|
|
408
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
409
|
+
attr_reader :configured
|
|
410
|
+
|
|
411
|
+
sig { params(configured: T::Boolean).void }
|
|
412
|
+
attr_writer :configured
|
|
413
|
+
|
|
414
|
+
# Sending phone number in E.164 format
|
|
415
|
+
sig { returns(T.nilable(String)) }
|
|
416
|
+
attr_accessor :phone_number
|
|
417
|
+
|
|
418
|
+
# SMS channel (providers: telnyx, sinch)
|
|
419
|
+
sig do
|
|
420
|
+
params(
|
|
421
|
+
configured: T::Boolean,
|
|
422
|
+
phone_number: T.nilable(String)
|
|
423
|
+
).returns(T.attached_class)
|
|
424
|
+
end
|
|
425
|
+
def self.new(
|
|
426
|
+
# Whether SMS is configured for this account
|
|
427
|
+
configured: nil,
|
|
428
|
+
# Sending phone number in E.164 format
|
|
429
|
+
phone_number: nil
|
|
430
|
+
)
|
|
431
|
+
end
|
|
432
|
+
|
|
433
|
+
sig do
|
|
434
|
+
override.returns(
|
|
435
|
+
{ configured: T::Boolean, phone_number: T.nilable(String) }
|
|
436
|
+
)
|
|
437
|
+
end
|
|
438
|
+
def to_hash
|
|
439
|
+
end
|
|
440
|
+
end
|
|
441
|
+
|
|
442
|
+
class Whatsapp < Sentdm::Internal::Type::BaseModel
|
|
443
|
+
OrHash =
|
|
444
|
+
T.type_alias do
|
|
445
|
+
T.any(
|
|
446
|
+
Sentdm::Models::MeRetrieveResponse::Data::Channels::Whatsapp,
|
|
447
|
+
Sentdm::Internal::AnyHash
|
|
448
|
+
)
|
|
449
|
+
end
|
|
450
|
+
|
|
451
|
+
# WhatsApp Business display name
|
|
452
|
+
sig { returns(T.nilable(String)) }
|
|
453
|
+
attr_accessor :business_name
|
|
454
|
+
|
|
455
|
+
# Whether WhatsApp is configured for this account
|
|
456
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
457
|
+
attr_reader :configured
|
|
458
|
+
|
|
459
|
+
sig { params(configured: T::Boolean).void }
|
|
460
|
+
attr_writer :configured
|
|
461
|
+
|
|
462
|
+
# WhatsApp phone number in E.164 format
|
|
463
|
+
sig { returns(T.nilable(String)) }
|
|
464
|
+
attr_accessor :phone_number
|
|
465
|
+
|
|
466
|
+
# WhatsApp Business channel (provider: meta)
|
|
467
|
+
sig do
|
|
468
|
+
params(
|
|
469
|
+
business_name: T.nilable(String),
|
|
470
|
+
configured: T::Boolean,
|
|
471
|
+
phone_number: T.nilable(String)
|
|
472
|
+
).returns(T.attached_class)
|
|
473
|
+
end
|
|
474
|
+
def self.new(
|
|
475
|
+
# WhatsApp Business display name
|
|
476
|
+
business_name: nil,
|
|
477
|
+
# Whether WhatsApp is configured for this account
|
|
478
|
+
configured: nil,
|
|
479
|
+
# WhatsApp phone number in E.164 format
|
|
480
|
+
phone_number: nil
|
|
481
|
+
)
|
|
482
|
+
end
|
|
483
|
+
|
|
484
|
+
sig do
|
|
485
|
+
override.returns(
|
|
486
|
+
{
|
|
487
|
+
business_name: T.nilable(String),
|
|
488
|
+
configured: T::Boolean,
|
|
489
|
+
phone_number: T.nilable(String)
|
|
490
|
+
}
|
|
491
|
+
)
|
|
492
|
+
end
|
|
493
|
+
def to_hash
|
|
494
|
+
end
|
|
495
|
+
end
|
|
496
|
+
end
|
|
497
|
+
|
|
198
498
|
class Profile < Sentdm::Internal::Type::BaseModel
|
|
199
499
|
OrHash =
|
|
200
500
|
T.type_alias do
|
|
@@ -17,18 +17,29 @@ module Sentdm
|
|
|
17
17
|
sig { returns(String) }
|
|
18
18
|
attr_accessor :id
|
|
19
19
|
|
|
20
|
+
sig { returns(T.nilable(String)) }
|
|
21
|
+
attr_reader :x_profile_id
|
|
22
|
+
|
|
23
|
+
sig { params(x_profile_id: String).void }
|
|
24
|
+
attr_writer :x_profile_id
|
|
25
|
+
|
|
20
26
|
sig do
|
|
21
27
|
params(
|
|
22
28
|
id: String,
|
|
29
|
+
x_profile_id: String,
|
|
23
30
|
request_options: Sentdm::RequestOptions::OrHash
|
|
24
31
|
).returns(T.attached_class)
|
|
25
32
|
end
|
|
26
|
-
def self.new(id:, request_options: {})
|
|
33
|
+
def self.new(id:, x_profile_id: nil, request_options: {})
|
|
27
34
|
end
|
|
28
35
|
|
|
29
36
|
sig do
|
|
30
37
|
override.returns(
|
|
31
|
-
{
|
|
38
|
+
{
|
|
39
|
+
id: String,
|
|
40
|
+
x_profile_id: String,
|
|
41
|
+
request_options: Sentdm::RequestOptions
|
|
42
|
+
}
|
|
32
43
|
)
|
|
33
44
|
end
|
|
34
45
|
def to_hash
|
|
@@ -169,9 +169,10 @@ module Sentdm
|
|
|
169
169
|
)
|
|
170
170
|
end
|
|
171
171
|
|
|
172
|
-
#
|
|
172
|
+
# Active contact markup applied on top of the channel cost, formatted to 4 decimal
|
|
173
|
+
# places.
|
|
173
174
|
sig { returns(T.nilable(String)) }
|
|
174
|
-
attr_accessor :
|
|
175
|
+
attr_accessor :active_contact_price
|
|
175
176
|
|
|
176
177
|
# Human-readable description of the activity
|
|
177
178
|
sig { returns(T.nilable(String)) }
|
|
@@ -180,6 +181,11 @@ module Sentdm
|
|
|
180
181
|
sig { params(description: String).void }
|
|
181
182
|
attr_writer :description
|
|
182
183
|
|
|
184
|
+
# Channel cost for this activity (e.g., SMS/WhatsApp provider cost), formatted to
|
|
185
|
+
# 4 decimal places.
|
|
186
|
+
sig { returns(T.nilable(String)) }
|
|
187
|
+
attr_accessor :price
|
|
188
|
+
|
|
183
189
|
# Activity status (e.g., ACCEPTED, PROCESSED, SENT, DELIVERED, FAILED)
|
|
184
190
|
sig { returns(T.nilable(String)) }
|
|
185
191
|
attr_reader :status
|
|
@@ -197,17 +203,22 @@ module Sentdm
|
|
|
197
203
|
# A single message activity event for v3 API
|
|
198
204
|
sig do
|
|
199
205
|
params(
|
|
200
|
-
|
|
206
|
+
active_contact_price: T.nilable(String),
|
|
201
207
|
description: String,
|
|
208
|
+
price: T.nilable(String),
|
|
202
209
|
status: String,
|
|
203
210
|
timestamp: Time
|
|
204
211
|
).returns(T.attached_class)
|
|
205
212
|
end
|
|
206
213
|
def self.new(
|
|
207
|
-
#
|
|
208
|
-
|
|
214
|
+
# Active contact markup applied on top of the channel cost, formatted to 4 decimal
|
|
215
|
+
# places.
|
|
216
|
+
active_contact_price: nil,
|
|
209
217
|
# Human-readable description of the activity
|
|
210
218
|
description: nil,
|
|
219
|
+
# Channel cost for this activity (e.g., SMS/WhatsApp provider cost), formatted to
|
|
220
|
+
# 4 decimal places.
|
|
221
|
+
price: nil,
|
|
211
222
|
# Activity status (e.g., ACCEPTED, PROCESSED, SENT, DELIVERED, FAILED)
|
|
212
223
|
status: nil,
|
|
213
224
|
# When this activity occurred
|
|
@@ -218,8 +229,9 @@ module Sentdm
|
|
|
218
229
|
sig do
|
|
219
230
|
override.returns(
|
|
220
231
|
{
|
|
221
|
-
|
|
232
|
+
active_contact_price: T.nilable(String),
|
|
222
233
|
description: String,
|
|
234
|
+
price: T.nilable(String),
|
|
223
235
|
status: String,
|
|
224
236
|
timestamp: Time
|
|
225
237
|
}
|
|
@@ -14,18 +14,29 @@ module Sentdm
|
|
|
14
14
|
sig { returns(String) }
|
|
15
15
|
attr_accessor :id
|
|
16
16
|
|
|
17
|
+
sig { returns(T.nilable(String)) }
|
|
18
|
+
attr_reader :x_profile_id
|
|
19
|
+
|
|
20
|
+
sig { params(x_profile_id: String).void }
|
|
21
|
+
attr_writer :x_profile_id
|
|
22
|
+
|
|
17
23
|
sig do
|
|
18
24
|
params(
|
|
19
25
|
id: String,
|
|
26
|
+
x_profile_id: String,
|
|
20
27
|
request_options: Sentdm::RequestOptions::OrHash
|
|
21
28
|
).returns(T.attached_class)
|
|
22
29
|
end
|
|
23
|
-
def self.new(id:, request_options: {})
|
|
30
|
+
def self.new(id:, x_profile_id: nil, request_options: {})
|
|
24
31
|
end
|
|
25
32
|
|
|
26
33
|
sig do
|
|
27
34
|
override.returns(
|
|
28
|
-
{
|
|
35
|
+
{
|
|
36
|
+
id: String,
|
|
37
|
+
x_profile_id: String,
|
|
38
|
+
request_options: Sentdm::RequestOptions
|
|
39
|
+
}
|
|
29
40
|
)
|
|
30
41
|
end
|
|
31
42
|
def to_hash
|
|
@@ -101,6 +101,9 @@ module Sentdm
|
|
|
101
101
|
sig { params(id: String).void }
|
|
102
102
|
attr_writer :id
|
|
103
103
|
|
|
104
|
+
sig { returns(T.nilable(Float)) }
|
|
105
|
+
attr_accessor :active_contact_price
|
|
106
|
+
|
|
104
107
|
sig { returns(T.nilable(String)) }
|
|
105
108
|
attr_reader :channel
|
|
106
109
|
|
|
@@ -203,6 +206,7 @@ module Sentdm
|
|
|
203
206
|
sig do
|
|
204
207
|
params(
|
|
205
208
|
id: String,
|
|
209
|
+
active_contact_price: T.nilable(Float),
|
|
206
210
|
channel: String,
|
|
207
211
|
contact_id: String,
|
|
208
212
|
created_at: Time,
|
|
@@ -229,6 +233,7 @@ module Sentdm
|
|
|
229
233
|
end
|
|
230
234
|
def self.new(
|
|
231
235
|
id: nil,
|
|
236
|
+
active_contact_price: nil,
|
|
232
237
|
channel: nil,
|
|
233
238
|
contact_id: nil,
|
|
234
239
|
created_at: nil,
|
|
@@ -252,6 +257,7 @@ module Sentdm
|
|
|
252
257
|
override.returns(
|
|
253
258
|
{
|
|
254
259
|
id: String,
|
|
260
|
+
active_contact_price: T.nilable(Float),
|
|
255
261
|
channel: String,
|
|
256
262
|
contact_id: String,
|
|
257
263
|
created_at: Time,
|
|
@@ -17,6 +17,14 @@ module Sentdm
|
|
|
17
17
|
sig { returns(T.nilable(T::Array[String])) }
|
|
18
18
|
attr_accessor :channel
|
|
19
19
|
|
|
20
|
+
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
21
|
+
# for testing integrations without actual execution
|
|
22
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
23
|
+
attr_reader :sandbox
|
|
24
|
+
|
|
25
|
+
sig { params(sandbox: T::Boolean).void }
|
|
26
|
+
attr_writer :sandbox
|
|
27
|
+
|
|
20
28
|
# Template reference (by id or name, with optional parameters)
|
|
21
29
|
sig { returns(T.nilable(Sentdm::MessageSendParams::Template)) }
|
|
22
30
|
attr_reader :template
|
|
@@ -24,14 +32,6 @@ module Sentdm
|
|
|
24
32
|
sig { params(template: Sentdm::MessageSendParams::Template::OrHash).void }
|
|
25
33
|
attr_writer :template
|
|
26
34
|
|
|
27
|
-
# Test mode flag - when true, the operation is simulated without side effects
|
|
28
|
-
# Useful for testing integrations without actual execution
|
|
29
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
30
|
-
attr_reader :test_mode
|
|
31
|
-
|
|
32
|
-
sig { params(test_mode: T::Boolean).void }
|
|
33
|
-
attr_writer :test_mode
|
|
34
|
-
|
|
35
35
|
# List of recipient phone numbers in E.164 format (multi-recipient fan-out)
|
|
36
36
|
sig { returns(T.nilable(T::Array[String])) }
|
|
37
37
|
attr_reader :to
|
|
@@ -45,13 +45,20 @@ module Sentdm
|
|
|
45
45
|
sig { params(idempotency_key: String).void }
|
|
46
46
|
attr_writer :idempotency_key
|
|
47
47
|
|
|
48
|
+
sig { returns(T.nilable(String)) }
|
|
49
|
+
attr_reader :x_profile_id
|
|
50
|
+
|
|
51
|
+
sig { params(x_profile_id: String).void }
|
|
52
|
+
attr_writer :x_profile_id
|
|
53
|
+
|
|
48
54
|
sig do
|
|
49
55
|
params(
|
|
50
56
|
channel: T.nilable(T::Array[String]),
|
|
57
|
+
sandbox: T::Boolean,
|
|
51
58
|
template: Sentdm::MessageSendParams::Template::OrHash,
|
|
52
|
-
test_mode: T::Boolean,
|
|
53
59
|
to: T::Array[String],
|
|
54
60
|
idempotency_key: String,
|
|
61
|
+
x_profile_id: String,
|
|
55
62
|
request_options: Sentdm::RequestOptions::OrHash
|
|
56
63
|
).returns(T.attached_class)
|
|
57
64
|
end
|
|
@@ -60,14 +67,15 @@ module Sentdm
|
|
|
60
67
|
# separate message per recipient. "sent" = auto-detect, "rcs" = reserved
|
|
61
68
|
# (skipped). Defaults to ["sent"] (auto-detect) if omitted.
|
|
62
69
|
channel: nil,
|
|
70
|
+
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
71
|
+
# for testing integrations without actual execution
|
|
72
|
+
sandbox: nil,
|
|
63
73
|
# Template reference (by id or name, with optional parameters)
|
|
64
74
|
template: nil,
|
|
65
|
-
# Test mode flag - when true, the operation is simulated without side effects
|
|
66
|
-
# Useful for testing integrations without actual execution
|
|
67
|
-
test_mode: nil,
|
|
68
75
|
# List of recipient phone numbers in E.164 format (multi-recipient fan-out)
|
|
69
76
|
to: nil,
|
|
70
77
|
idempotency_key: nil,
|
|
78
|
+
x_profile_id: nil,
|
|
71
79
|
request_options: {}
|
|
72
80
|
)
|
|
73
81
|
end
|
|
@@ -76,10 +84,11 @@ module Sentdm
|
|
|
76
84
|
override.returns(
|
|
77
85
|
{
|
|
78
86
|
channel: T.nilable(T::Array[String]),
|
|
87
|
+
sandbox: T::Boolean,
|
|
79
88
|
template: Sentdm::MessageSendParams::Template,
|
|
80
|
-
test_mode: T::Boolean,
|
|
81
89
|
to: T::Array[String],
|
|
82
90
|
idempotency_key: String,
|
|
91
|
+
x_profile_id: String,
|
|
83
92
|
request_options: Sentdm::RequestOptions
|
|
84
93
|
}
|
|
85
94
|
)
|
|
@@ -8,23 +8,23 @@ module Sentdm
|
|
|
8
8
|
T.any(Sentdm::MutationRequest, Sentdm::Internal::AnyHash)
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
#
|
|
12
|
-
#
|
|
11
|
+
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
12
|
+
# for testing integrations without actual execution
|
|
13
13
|
sig { returns(T.nilable(T::Boolean)) }
|
|
14
|
-
attr_reader :
|
|
14
|
+
attr_reader :sandbox
|
|
15
15
|
|
|
16
|
-
sig { params(
|
|
17
|
-
attr_writer :
|
|
16
|
+
sig { params(sandbox: T::Boolean).void }
|
|
17
|
+
attr_writer :sandbox
|
|
18
18
|
|
|
19
|
-
sig { params(
|
|
19
|
+
sig { params(sandbox: T::Boolean).returns(T.attached_class) }
|
|
20
20
|
def self.new(
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
|
|
21
|
+
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
22
|
+
# for testing integrations without actual execution
|
|
23
|
+
sandbox: nil
|
|
24
24
|
)
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
-
sig { override.returns({
|
|
27
|
+
sig { override.returns({ sandbox: T::Boolean }) }
|
|
28
28
|
def to_hash
|
|
29
29
|
end
|
|
30
30
|
end
|