sentdm 0.5.0 → 0.8.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 +41 -0
- data/README.md +31 -1
- data/lib/sentdm/internal/type/base_model.rb +5 -5
- data/lib/sentdm/models/api_response_of_contact.rb +9 -6
- data/lib/sentdm/models/api_response_of_profile_detail.rb +6 -6
- data/lib/sentdm/models/api_response_of_user.rb +6 -6
- data/lib/sentdm/models/api_response_template.rb +6 -6
- data/lib/sentdm/models/api_response_webhook.rb +4 -4
- data/lib/sentdm/models/brands_brand_data.rb +16 -252
- data/lib/sentdm/models/contact_delete_params.rb +1 -1
- data/lib/sentdm/models/contact_list_response.rb +9 -9
- data/lib/sentdm/models/me_retrieve_response.rb +35 -21
- data/lib/sentdm/models/message_retrieve_activities_response.rb +7 -7
- data/lib/sentdm/models/message_retrieve_status_response.rb +7 -7
- data/lib/sentdm/models/message_send_params.rb +5 -3
- data/lib/sentdm/models/message_send_response.rb +7 -7
- data/lib/sentdm/models/{mutation_request_base.rb → mutation_request.rb} +2 -2
- data/lib/sentdm/models/number_lookup_response.rb +4 -4
- data/lib/sentdm/models/pagination_meta.rb +3 -3
- data/lib/sentdm/models/{profile_complete_setup_params.rb → profile_complete_params.rb} +3 -3
- data/lib/sentdm/models/{profile_complete_setup_response.rb → profile_complete_response.rb} +1 -1
- data/lib/sentdm/models/profile_create_params.rb +20 -23
- data/lib/sentdm/models/profile_delete_params.rb +1 -1
- data/lib/sentdm/models/profile_detail.rb +12 -22
- data/lib/sentdm/models/profile_list_response.rb +7 -7
- data/lib/sentdm/models/profile_update_params.rb +9 -13
- data/lib/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rb +4 -4
- data/lib/sentdm/models/profiles/base_dto.rb +32 -0
- data/lib/sentdm/models/profiles/campaign_create_params.rb +2 -2
- data/lib/sentdm/models/profiles/campaign_data.rb +5 -26
- data/lib/sentdm/models/profiles/campaign_delete_params.rb +1 -1
- data/lib/sentdm/models/profiles/campaign_list_response.rb +4 -4
- data/lib/sentdm/models/profiles/campaign_update_params.rb +2 -2
- data/lib/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +29 -0
- data/lib/sentdm/models/profiles/tcr_campaign_with_use_cases.rb +2 -2
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +34 -0
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +40 -0
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +38 -0
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +81 -0
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +34 -0
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +39 -0
- data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rb +116 -0
- data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rb +75 -0
- data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rb +58 -0
- data/lib/sentdm/models/template_create_params.rb +3 -2
- data/lib/sentdm/models/template_definition.rb +19 -263
- data/lib/sentdm/models/template_list_response.rb +9 -9
- data/lib/sentdm/models/template_update_params.rb +3 -2
- data/lib/sentdm/models/user_list_response.rb +7 -7
- data/lib/sentdm/models/user_remove_params.rb +1 -1
- data/lib/sentdm/models/webhook_list_event_types_response.rb +4 -4
- data/lib/sentdm/models/webhook_list_events_response.rb +4 -4
- data/lib/sentdm/models/webhook_list_response.rb +4 -4
- data/lib/sentdm/models/webhook_rotate_secret_params.rb +1 -1
- data/lib/sentdm/models/webhook_rotate_secret_response.rb +4 -4
- data/lib/sentdm/models/webhook_test_response.rb +4 -4
- data/lib/sentdm/models.rb +29 -4
- data/lib/sentdm/resources/messages.rb +1 -1
- data/lib/sentdm/resources/profiles/campaigns.rb +2 -2
- data/lib/sentdm/resources/profiles.rb +12 -12
- data/lib/sentdm/resources/templates.rb +2 -2
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +14 -4
- data/rbi/sentdm/models/api_response_of_contact.rbi +6 -6
- data/rbi/sentdm/models/api_response_of_profile_detail.rbi +6 -6
- data/rbi/sentdm/models/api_response_of_user.rbi +6 -6
- data/rbi/sentdm/models/api_response_template.rbi +6 -6
- data/rbi/sentdm/models/api_response_webhook.rbi +4 -4
- data/rbi/sentdm/models/brands_brand_data.rbi +53 -355
- data/rbi/sentdm/models/contact_delete_params.rbi +1 -1
- data/rbi/sentdm/models/contact_list_response.rbi +9 -9
- data/rbi/sentdm/models/me_retrieve_response.rbi +33 -21
- data/rbi/sentdm/models/message_retrieve_activities_response.rbi +7 -7
- data/rbi/sentdm/models/message_retrieve_status_response.rbi +7 -7
- data/rbi/sentdm/models/message_send_params.rbi +6 -3
- data/rbi/sentdm/models/message_send_response.rbi +7 -7
- data/rbi/sentdm/models/{mutation_request_base.rbi → mutation_request.rbi} +2 -2
- data/rbi/sentdm/models/number_lookup_response.rbi +4 -4
- data/rbi/sentdm/models/pagination_meta.rbi +3 -3
- data/rbi/sentdm/models/{profile_complete_setup_params.rbi → profile_complete_params.rbi} +2 -2
- data/rbi/sentdm/models/{profile_complete_setup_response.rbi → profile_complete_response.rbi} +1 -1
- data/rbi/sentdm/models/profile_create_params.rbi +27 -33
- data/rbi/sentdm/models/profile_delete_params.rbi +1 -1
- data/rbi/sentdm/models/profile_detail.rbi +9 -22
- data/rbi/sentdm/models/profile_list_response.rbi +7 -7
- data/rbi/sentdm/models/profile_update_params.rbi +12 -20
- data/rbi/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rbi +4 -4
- data/rbi/sentdm/models/profiles/base_dto.rbi +53 -0
- data/rbi/sentdm/models/profiles/campaign_create_params.rbi +2 -2
- data/rbi/sentdm/models/profiles/campaign_data.rbi +14 -49
- data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -1
- data/rbi/sentdm/models/profiles/campaign_list_response.rbi +4 -4
- data/rbi/sentdm/models/profiles/campaign_update_params.rbi +2 -2
- data/rbi/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +51 -0
- data/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi +2 -2
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +56 -0
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +76 -0
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +79 -0
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +104 -0
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +60 -0
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +62 -0
- data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbi +180 -0
- data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbi +95 -0
- data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbi +81 -0
- data/rbi/sentdm/models/template_create_params.rbi +4 -2
- data/rbi/sentdm/models/template_definition.rbi +82 -415
- data/rbi/sentdm/models/template_list_response.rbi +9 -9
- data/rbi/sentdm/models/template_update_params.rbi +4 -2
- data/rbi/sentdm/models/user_list_response.rbi +7 -7
- data/rbi/sentdm/models/user_remove_params.rbi +1 -1
- data/rbi/sentdm/models/webhook_list_event_types_response.rbi +4 -4
- data/rbi/sentdm/models/webhook_list_events_response.rbi +4 -4
- data/rbi/sentdm/models/webhook_list_response.rbi +4 -4
- data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -1
- data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +4 -4
- data/rbi/sentdm/models/webhook_test_response.rbi +4 -4
- data/rbi/sentdm/models.rbi +29 -4
- data/rbi/sentdm/resources/messages.rbi +2 -1
- data/rbi/sentdm/resources/profiles/campaigns.rbi +2 -2
- data/rbi/sentdm/resources/profiles.rbi +20 -26
- data/rbi/sentdm/resources/templates.rbi +4 -2
- data/sig/sentdm/models/brands_brand_data.rbs +12 -192
- data/sig/sentdm/models/contact_delete_params.rbs +1 -1
- data/sig/sentdm/models/{mutation_request_base.rbs → mutation_request.rbs} +2 -2
- data/sig/sentdm/models/{profile_complete_setup_params.rbs → profile_complete_params.rbs} +2 -2
- data/sig/sentdm/models/profile_complete_response.rbs +5 -0
- data/sig/sentdm/models/profile_delete_params.rbs +1 -1
- data/sig/sentdm/models/profiles/base_dto.rbs +27 -0
- data/sig/sentdm/models/profiles/campaign_data.rbs +4 -26
- data/sig/sentdm/models/profiles/campaign_delete_params.rbs +1 -1
- data/sig/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +27 -0
- data/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs +2 -2
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +24 -0
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +30 -0
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +38 -0
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +75 -0
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +32 -0
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +32 -0
- data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbs +89 -0
- data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbs +55 -0
- data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbs +45 -0
- data/sig/sentdm/models/template_definition.rbs +20 -233
- data/sig/sentdm/models/user_remove_params.rbs +1 -1
- data/sig/sentdm/models/webhook_rotate_secret_params.rbs +1 -1
- data/sig/sentdm/models.rbs +20 -4
- data/sig/sentdm/resources/profiles.rbs +1 -1
- metadata +44 -14
- data/lib/sentdm/models/base_dto.rb +0 -30
- data/rbi/sentdm/models/base_dto.rbi +0 -49
- data/sig/sentdm/models/base_dto.rbs +0 -25
- data/sig/sentdm/models/profile_complete_setup_response.rbs +0 -5
|
@@ -23,14 +23,14 @@ module Sentdm
|
|
|
23
23
|
end
|
|
24
24
|
attr_writer :data
|
|
25
25
|
|
|
26
|
-
# Error
|
|
26
|
+
# Error information
|
|
27
27
|
sig { returns(T.nilable(Sentdm::APIError)) }
|
|
28
28
|
attr_reader :error
|
|
29
29
|
|
|
30
30
|
sig { params(error: T.nilable(Sentdm::APIError::OrHash)).void }
|
|
31
31
|
attr_writer :error
|
|
32
32
|
|
|
33
|
-
#
|
|
33
|
+
# Request and response metadata
|
|
34
34
|
sig { returns(T.nilable(Sentdm::APIMeta)) }
|
|
35
35
|
attr_reader :meta
|
|
36
36
|
|
|
@@ -56,9 +56,9 @@ module Sentdm
|
|
|
56
56
|
def self.new(
|
|
57
57
|
# The response data (null if error)
|
|
58
58
|
data: nil,
|
|
59
|
-
# Error
|
|
59
|
+
# Error information
|
|
60
60
|
error: nil,
|
|
61
|
-
#
|
|
61
|
+
# Request and response metadata
|
|
62
62
|
meta: nil,
|
|
63
63
|
# Indicates whether the request was successful
|
|
64
64
|
success: nil
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Profiles
|
|
6
|
+
class BaseDto < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(Sentdm::Profiles::BaseDto, Sentdm::Internal::AnyHash)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# Unique identifier
|
|
13
|
+
sig { returns(T.nilable(String)) }
|
|
14
|
+
attr_reader :id
|
|
15
|
+
|
|
16
|
+
sig { params(id: String).void }
|
|
17
|
+
attr_writer :id
|
|
18
|
+
|
|
19
|
+
sig { returns(T.nilable(Time)) }
|
|
20
|
+
attr_reader :created_at
|
|
21
|
+
|
|
22
|
+
sig { params(created_at: Time).void }
|
|
23
|
+
attr_writer :created_at
|
|
24
|
+
|
|
25
|
+
sig { returns(T.nilable(Time)) }
|
|
26
|
+
attr_accessor :updated_at
|
|
27
|
+
|
|
28
|
+
sig do
|
|
29
|
+
params(
|
|
30
|
+
id: String,
|
|
31
|
+
created_at: Time,
|
|
32
|
+
updated_at: T.nilable(Time)
|
|
33
|
+
).returns(T.attached_class)
|
|
34
|
+
end
|
|
35
|
+
def self.new(
|
|
36
|
+
# Unique identifier
|
|
37
|
+
id: nil,
|
|
38
|
+
created_at: nil,
|
|
39
|
+
updated_at: nil
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
sig do
|
|
44
|
+
override.returns(
|
|
45
|
+
{ id: String, created_at: Time, updated_at: T.nilable(Time) }
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
def to_hash
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -18,7 +18,7 @@ module Sentdm
|
|
|
18
18
|
sig { returns(String) }
|
|
19
19
|
attr_accessor :profile_id
|
|
20
20
|
|
|
21
|
-
# Campaign data
|
|
21
|
+
# Campaign data for create or update operation
|
|
22
22
|
sig { returns(Sentdm::Profiles::CampaignData) }
|
|
23
23
|
attr_reader :campaign
|
|
24
24
|
|
|
@@ -57,7 +57,7 @@ module Sentdm
|
|
|
57
57
|
end
|
|
58
58
|
def self.new(
|
|
59
59
|
profile_id:,
|
|
60
|
-
# Campaign data
|
|
60
|
+
# Campaign data for create or update operation
|
|
61
61
|
campaign:,
|
|
62
62
|
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
63
63
|
# for testing integrations without actual execution
|
|
@@ -22,7 +22,13 @@ module Sentdm
|
|
|
22
22
|
attr_accessor :type
|
|
23
23
|
|
|
24
24
|
# List of use cases with sample messages
|
|
25
|
-
sig
|
|
25
|
+
sig do
|
|
26
|
+
returns(
|
|
27
|
+
T::Array[
|
|
28
|
+
Sentdm::Profiles::SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData
|
|
29
|
+
]
|
|
30
|
+
)
|
|
31
|
+
end
|
|
26
32
|
attr_accessor :use_cases
|
|
27
33
|
|
|
28
34
|
# Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
|
|
@@ -68,7 +74,9 @@ module Sentdm
|
|
|
68
74
|
name: String,
|
|
69
75
|
type: String,
|
|
70
76
|
use_cases:
|
|
71
|
-
T::Array[
|
|
77
|
+
T::Array[
|
|
78
|
+
Sentdm::Profiles::SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData::OrHash
|
|
79
|
+
],
|
|
72
80
|
help_keywords: T.nilable(String),
|
|
73
81
|
help_message: T.nilable(String),
|
|
74
82
|
message_flow: T.nilable(String),
|
|
@@ -116,7 +124,10 @@ module Sentdm
|
|
|
116
124
|
description: String,
|
|
117
125
|
name: String,
|
|
118
126
|
type: String,
|
|
119
|
-
use_cases:
|
|
127
|
+
use_cases:
|
|
128
|
+
T::Array[
|
|
129
|
+
Sentdm::Profiles::SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData
|
|
130
|
+
],
|
|
120
131
|
help_keywords: T.nilable(String),
|
|
121
132
|
help_message: T.nilable(String),
|
|
122
133
|
message_flow: T.nilable(String),
|
|
@@ -131,52 +142,6 @@ module Sentdm
|
|
|
131
142
|
end
|
|
132
143
|
def to_hash
|
|
133
144
|
end
|
|
134
|
-
|
|
135
|
-
class UseCase < Sentdm::Internal::Type::BaseModel
|
|
136
|
-
OrHash =
|
|
137
|
-
T.type_alias do
|
|
138
|
-
T.any(
|
|
139
|
-
Sentdm::Profiles::CampaignData::UseCase,
|
|
140
|
-
Sentdm::Internal::AnyHash
|
|
141
|
-
)
|
|
142
|
-
end
|
|
143
|
-
|
|
144
|
-
# US messaging use case category
|
|
145
|
-
sig { returns(Sentdm::Profiles::MessagingUseCaseUs::OrSymbol) }
|
|
146
|
-
attr_accessor :messaging_use_case_us
|
|
147
|
-
|
|
148
|
-
# Sample messages for this use case (1-5 messages, max 1024 characters each)
|
|
149
|
-
sig { returns(T::Array[String]) }
|
|
150
|
-
attr_accessor :sample_messages
|
|
151
|
-
|
|
152
|
-
# Campaign use case with sample messages
|
|
153
|
-
sig do
|
|
154
|
-
params(
|
|
155
|
-
messaging_use_case_us:
|
|
156
|
-
Sentdm::Profiles::MessagingUseCaseUs::OrSymbol,
|
|
157
|
-
sample_messages: T::Array[String]
|
|
158
|
-
).returns(T.attached_class)
|
|
159
|
-
end
|
|
160
|
-
def self.new(
|
|
161
|
-
# US messaging use case category
|
|
162
|
-
messaging_use_case_us:,
|
|
163
|
-
# Sample messages for this use case (1-5 messages, max 1024 characters each)
|
|
164
|
-
sample_messages:
|
|
165
|
-
)
|
|
166
|
-
end
|
|
167
|
-
|
|
168
|
-
sig do
|
|
169
|
-
override.returns(
|
|
170
|
-
{
|
|
171
|
-
messaging_use_case_us:
|
|
172
|
-
Sentdm::Profiles::MessagingUseCaseUs::OrSymbol,
|
|
173
|
-
sample_messages: T::Array[String]
|
|
174
|
-
}
|
|
175
|
-
)
|
|
176
|
-
end
|
|
177
|
-
def to_hash
|
|
178
|
-
end
|
|
179
|
-
end
|
|
180
145
|
end
|
|
181
146
|
end
|
|
182
147
|
end
|
|
@@ -20,14 +20,14 @@ module Sentdm
|
|
|
20
20
|
end
|
|
21
21
|
attr_accessor :data
|
|
22
22
|
|
|
23
|
-
# Error
|
|
23
|
+
# Error information
|
|
24
24
|
sig { returns(T.nilable(Sentdm::APIError)) }
|
|
25
25
|
attr_reader :error
|
|
26
26
|
|
|
27
27
|
sig { params(error: T.nilable(Sentdm::APIError::OrHash)).void }
|
|
28
28
|
attr_writer :error
|
|
29
29
|
|
|
30
|
-
#
|
|
30
|
+
# Request and response metadata
|
|
31
31
|
sig { returns(T.nilable(Sentdm::APIMeta)) }
|
|
32
32
|
attr_reader :meta
|
|
33
33
|
|
|
@@ -56,9 +56,9 @@ module Sentdm
|
|
|
56
56
|
def self.new(
|
|
57
57
|
# The response data (null if error)
|
|
58
58
|
data: nil,
|
|
59
|
-
# Error
|
|
59
|
+
# Error information
|
|
60
60
|
error: nil,
|
|
61
|
-
#
|
|
61
|
+
# Request and response metadata
|
|
62
62
|
meta: nil,
|
|
63
63
|
# Indicates whether the request was successful
|
|
64
64
|
success: nil
|
|
@@ -21,7 +21,7 @@ module Sentdm
|
|
|
21
21
|
sig { returns(String) }
|
|
22
22
|
attr_accessor :campaign_id
|
|
23
23
|
|
|
24
|
-
# Campaign data
|
|
24
|
+
# Campaign data for create or update operation
|
|
25
25
|
sig { returns(Sentdm::Profiles::CampaignData) }
|
|
26
26
|
attr_reader :campaign
|
|
27
27
|
|
|
@@ -62,7 +62,7 @@ module Sentdm
|
|
|
62
62
|
def self.new(
|
|
63
63
|
profile_id:,
|
|
64
64
|
campaign_id:,
|
|
65
|
-
# Campaign data
|
|
65
|
+
# Campaign data for create or update operation
|
|
66
66
|
campaign:,
|
|
67
67
|
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
68
68
|
# for testing integrations without actual execution
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Profiles
|
|
6
|
+
class SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
Sentdm::Profiles::SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData,
|
|
11
|
+
Sentdm::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
sig { returns(Sentdm::Profiles::MessagingUseCaseUs::OrSymbol) }
|
|
16
|
+
attr_accessor :messaging_use_case_us
|
|
17
|
+
|
|
18
|
+
# Sample messages for this use case (1-5 messages, max 1024 characters each)
|
|
19
|
+
sig { returns(T::Array[String]) }
|
|
20
|
+
attr_accessor :sample_messages
|
|
21
|
+
|
|
22
|
+
# Campaign use case with sample messages
|
|
23
|
+
sig do
|
|
24
|
+
params(
|
|
25
|
+
messaging_use_case_us:
|
|
26
|
+
Sentdm::Profiles::MessagingUseCaseUs::OrSymbol,
|
|
27
|
+
sample_messages: T::Array[String]
|
|
28
|
+
).returns(T.attached_class)
|
|
29
|
+
end
|
|
30
|
+
def self.new(
|
|
31
|
+
messaging_use_case_us:,
|
|
32
|
+
# Sample messages for this use case (1-5 messages, max 1024 characters each)
|
|
33
|
+
sample_messages:
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
sig do
|
|
38
|
+
override.returns(
|
|
39
|
+
{
|
|
40
|
+
messaging_use_case_us:
|
|
41
|
+
Sentdm::Profiles::MessagingUseCaseUs::OrSymbol,
|
|
42
|
+
sample_messages: T::Array[String]
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
def to_hash
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
5
|
module Profiles
|
|
6
|
-
class TcrCampaignWithUseCases < Sentdm::Models::BaseDto
|
|
6
|
+
class TcrCampaignWithUseCases < Sentdm::Models::Profiles::BaseDto
|
|
7
7
|
OrHash =
|
|
8
8
|
T.type_alias do
|
|
9
9
|
T.any(
|
|
@@ -331,7 +331,7 @@ module Sentdm
|
|
|
331
331
|
end
|
|
332
332
|
end
|
|
333
333
|
|
|
334
|
-
class UseCase < Sentdm::Models::BaseDto
|
|
334
|
+
class UseCase < Sentdm::Models::Profiles::BaseDto
|
|
335
335
|
OrHash =
|
|
336
336
|
T.type_alias do
|
|
337
337
|
T.any(
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class SentDmServicesCommonContractsPocOsAuthenticationConfig < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Sentdm::SentDmServicesCommonContractsPocOsAuthenticationConfig,
|
|
10
|
+
Sentdm::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Whether to add the security recommendation text: "For your security, do not
|
|
15
|
+
# share this code."
|
|
16
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
17
|
+
attr_reader :add_security_recommendation
|
|
18
|
+
|
|
19
|
+
sig { params(add_security_recommendation: T::Boolean).void }
|
|
20
|
+
attr_writer :add_security_recommendation
|
|
21
|
+
|
|
22
|
+
# Code expiration time in minutes (1-90). If set, adds footer: "This code expires
|
|
23
|
+
# in X minutes."
|
|
24
|
+
sig { returns(T.nilable(Integer)) }
|
|
25
|
+
attr_accessor :code_expiration_minutes
|
|
26
|
+
|
|
27
|
+
# Configuration for AUTHENTICATION category templates
|
|
28
|
+
sig do
|
|
29
|
+
params(
|
|
30
|
+
add_security_recommendation: T::Boolean,
|
|
31
|
+
code_expiration_minutes: T.nilable(Integer)
|
|
32
|
+
).returns(T.attached_class)
|
|
33
|
+
end
|
|
34
|
+
def self.new(
|
|
35
|
+
# Whether to add the security recommendation text: "For your security, do not
|
|
36
|
+
# share this code."
|
|
37
|
+
add_security_recommendation: nil,
|
|
38
|
+
# Code expiration time in minutes (1-90). If set, adds footer: "This code expires
|
|
39
|
+
# in X minutes."
|
|
40
|
+
code_expiration_minutes: nil
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
sig do
|
|
45
|
+
override.returns(
|
|
46
|
+
{
|
|
47
|
+
add_security_recommendation: T::Boolean,
|
|
48
|
+
code_expiration_minutes: T.nilable(Integer)
|
|
49
|
+
}
|
|
50
|
+
)
|
|
51
|
+
end
|
|
52
|
+
def to_hash
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class SentDmServicesCommonContractsPocOsTemplateBody < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Sentdm::SentDmServicesCommonContractsPocOsTemplateBody,
|
|
10
|
+
Sentdm::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Content that will be used for all channels (SMS and WhatsApp) unless
|
|
15
|
+
# channel-specific content is provided
|
|
16
|
+
sig { returns(T.nilable(Sentdm::TemplateBodyContent)) }
|
|
17
|
+
attr_reader :multi_channel
|
|
18
|
+
|
|
19
|
+
sig do
|
|
20
|
+
params(
|
|
21
|
+
multi_channel: T.nilable(Sentdm::TemplateBodyContent::OrHash)
|
|
22
|
+
).void
|
|
23
|
+
end
|
|
24
|
+
attr_writer :multi_channel
|
|
25
|
+
|
|
26
|
+
# SMS-specific content that overrides multi-channel content for SMS messages
|
|
27
|
+
sig { returns(T.nilable(Sentdm::TemplateBodyContent)) }
|
|
28
|
+
attr_reader :sms
|
|
29
|
+
|
|
30
|
+
sig { params(sms: T.nilable(Sentdm::TemplateBodyContent::OrHash)).void }
|
|
31
|
+
attr_writer :sms
|
|
32
|
+
|
|
33
|
+
# WhatsApp-specific content that overrides multi-channel content for WhatsApp
|
|
34
|
+
# messages
|
|
35
|
+
sig { returns(T.nilable(Sentdm::TemplateBodyContent)) }
|
|
36
|
+
attr_reader :whatsapp
|
|
37
|
+
|
|
38
|
+
sig do
|
|
39
|
+
params(whatsapp: T.nilable(Sentdm::TemplateBodyContent::OrHash)).void
|
|
40
|
+
end
|
|
41
|
+
attr_writer :whatsapp
|
|
42
|
+
|
|
43
|
+
# Body section of a message template with channel-specific content
|
|
44
|
+
sig do
|
|
45
|
+
params(
|
|
46
|
+
multi_channel: T.nilable(Sentdm::TemplateBodyContent::OrHash),
|
|
47
|
+
sms: T.nilable(Sentdm::TemplateBodyContent::OrHash),
|
|
48
|
+
whatsapp: T.nilable(Sentdm::TemplateBodyContent::OrHash)
|
|
49
|
+
).returns(T.attached_class)
|
|
50
|
+
end
|
|
51
|
+
def self.new(
|
|
52
|
+
# Content that will be used for all channels (SMS and WhatsApp) unless
|
|
53
|
+
# channel-specific content is provided
|
|
54
|
+
multi_channel: nil,
|
|
55
|
+
# SMS-specific content that overrides multi-channel content for SMS messages
|
|
56
|
+
sms: nil,
|
|
57
|
+
# WhatsApp-specific content that overrides multi-channel content for WhatsApp
|
|
58
|
+
# messages
|
|
59
|
+
whatsapp: nil
|
|
60
|
+
)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
sig do
|
|
64
|
+
override.returns(
|
|
65
|
+
{
|
|
66
|
+
multi_channel: T.nilable(Sentdm::TemplateBodyContent),
|
|
67
|
+
sms: T.nilable(Sentdm::TemplateBodyContent),
|
|
68
|
+
whatsapp: T.nilable(Sentdm::TemplateBodyContent)
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
end
|
|
72
|
+
def to_hash
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class SentDmServicesCommonContractsPocOsTemplateButton < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Sentdm::SentDmServicesCommonContractsPocOsTemplateButton,
|
|
10
|
+
Sentdm::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The unique identifier of the button (1-based index)
|
|
15
|
+
sig { returns(T.nilable(Integer)) }
|
|
16
|
+
attr_reader :id
|
|
17
|
+
|
|
18
|
+
sig { params(id: Integer).void }
|
|
19
|
+
attr_writer :id
|
|
20
|
+
|
|
21
|
+
# Properties specific to the button type
|
|
22
|
+
sig do
|
|
23
|
+
returns(
|
|
24
|
+
T.nilable(
|
|
25
|
+
Sentdm::SentDmServicesCommonContractsPocOsTemplateButtonProps
|
|
26
|
+
)
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
attr_reader :props
|
|
30
|
+
|
|
31
|
+
sig do
|
|
32
|
+
params(
|
|
33
|
+
props:
|
|
34
|
+
Sentdm::SentDmServicesCommonContractsPocOsTemplateButtonProps::OrHash
|
|
35
|
+
).void
|
|
36
|
+
end
|
|
37
|
+
attr_writer :props
|
|
38
|
+
|
|
39
|
+
# The type of button (e.g., QUICK_REPLY, URL, PHONE_NUMBER, VOICE_CALL, COPY_CODE)
|
|
40
|
+
sig { returns(T.nilable(String)) }
|
|
41
|
+
attr_reader :type
|
|
42
|
+
|
|
43
|
+
sig { params(type: String).void }
|
|
44
|
+
attr_writer :type
|
|
45
|
+
|
|
46
|
+
# Interactive button in a message template
|
|
47
|
+
sig do
|
|
48
|
+
params(
|
|
49
|
+
id: Integer,
|
|
50
|
+
props:
|
|
51
|
+
Sentdm::SentDmServicesCommonContractsPocOsTemplateButtonProps::OrHash,
|
|
52
|
+
type: String
|
|
53
|
+
).returns(T.attached_class)
|
|
54
|
+
end
|
|
55
|
+
def self.new(
|
|
56
|
+
# The unique identifier of the button (1-based index)
|
|
57
|
+
id: nil,
|
|
58
|
+
# Properties specific to the button type
|
|
59
|
+
props: nil,
|
|
60
|
+
# The type of button (e.g., QUICK_REPLY, URL, PHONE_NUMBER, VOICE_CALL, COPY_CODE)
|
|
61
|
+
type: nil
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
sig do
|
|
66
|
+
override.returns(
|
|
67
|
+
{
|
|
68
|
+
id: Integer,
|
|
69
|
+
props:
|
|
70
|
+
Sentdm::SentDmServicesCommonContractsPocOsTemplateButtonProps,
|
|
71
|
+
type: String
|
|
72
|
+
}
|
|
73
|
+
)
|
|
74
|
+
end
|
|
75
|
+
def to_hash
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class SentDmServicesCommonContractsPocOsTemplateButtonProps < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Sentdm::SentDmServicesCommonContractsPocOsTemplateButtonProps,
|
|
10
|
+
Sentdm::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(T.nilable(Integer)) }
|
|
15
|
+
attr_accessor :active_for
|
|
16
|
+
|
|
17
|
+
sig { returns(T.nilable(String)) }
|
|
18
|
+
attr_accessor :autofill_text
|
|
19
|
+
|
|
20
|
+
sig { returns(T.nilable(String)) }
|
|
21
|
+
attr_accessor :country_code
|
|
22
|
+
|
|
23
|
+
sig { returns(T.nilable(String)) }
|
|
24
|
+
attr_accessor :offer_code
|
|
25
|
+
|
|
26
|
+
sig { returns(T.nilable(String)) }
|
|
27
|
+
attr_accessor :otp_type
|
|
28
|
+
|
|
29
|
+
sig { returns(T.nilable(String)) }
|
|
30
|
+
attr_accessor :package_name
|
|
31
|
+
|
|
32
|
+
sig { returns(T.nilable(String)) }
|
|
33
|
+
attr_accessor :phone_number
|
|
34
|
+
|
|
35
|
+
sig { returns(T.nilable(String)) }
|
|
36
|
+
attr_accessor :quick_reply_type
|
|
37
|
+
|
|
38
|
+
sig { returns(T.nilable(String)) }
|
|
39
|
+
attr_accessor :signature_hash
|
|
40
|
+
|
|
41
|
+
sig { returns(T.nilable(String)) }
|
|
42
|
+
attr_accessor :text
|
|
43
|
+
|
|
44
|
+
sig { returns(T.nilable(String)) }
|
|
45
|
+
attr_accessor :url
|
|
46
|
+
|
|
47
|
+
sig { returns(T.nilable(String)) }
|
|
48
|
+
attr_accessor :url_type
|
|
49
|
+
|
|
50
|
+
sig do
|
|
51
|
+
params(
|
|
52
|
+
active_for: T.nilable(Integer),
|
|
53
|
+
autofill_text: T.nilable(String),
|
|
54
|
+
country_code: T.nilable(String),
|
|
55
|
+
offer_code: T.nilable(String),
|
|
56
|
+
otp_type: T.nilable(String),
|
|
57
|
+
package_name: T.nilable(String),
|
|
58
|
+
phone_number: T.nilable(String),
|
|
59
|
+
quick_reply_type: T.nilable(String),
|
|
60
|
+
signature_hash: T.nilable(String),
|
|
61
|
+
text: T.nilable(String),
|
|
62
|
+
url: T.nilable(String),
|
|
63
|
+
url_type: T.nilable(String)
|
|
64
|
+
).returns(T.attached_class)
|
|
65
|
+
end
|
|
66
|
+
def self.new(
|
|
67
|
+
active_for: nil,
|
|
68
|
+
autofill_text: nil,
|
|
69
|
+
country_code: nil,
|
|
70
|
+
offer_code: nil,
|
|
71
|
+
otp_type: nil,
|
|
72
|
+
package_name: nil,
|
|
73
|
+
phone_number: nil,
|
|
74
|
+
quick_reply_type: nil,
|
|
75
|
+
signature_hash: nil,
|
|
76
|
+
text: nil,
|
|
77
|
+
url: nil,
|
|
78
|
+
url_type: nil
|
|
79
|
+
)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
sig do
|
|
83
|
+
override.returns(
|
|
84
|
+
{
|
|
85
|
+
active_for: T.nilable(Integer),
|
|
86
|
+
autofill_text: T.nilable(String),
|
|
87
|
+
country_code: T.nilable(String),
|
|
88
|
+
offer_code: T.nilable(String),
|
|
89
|
+
otp_type: T.nilable(String),
|
|
90
|
+
package_name: T.nilable(String),
|
|
91
|
+
phone_number: T.nilable(String),
|
|
92
|
+
quick_reply_type: T.nilable(String),
|
|
93
|
+
signature_hash: T.nilable(String),
|
|
94
|
+
text: T.nilable(String),
|
|
95
|
+
url: T.nilable(String),
|
|
96
|
+
url_type: T.nilable(String)
|
|
97
|
+
}
|
|
98
|
+
)
|
|
99
|
+
end
|
|
100
|
+
def to_hash
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class SentDmServicesCommonContractsPocOsTemplateFooter < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Sentdm::SentDmServicesCommonContractsPocOsTemplateFooter,
|
|
10
|
+
Sentdm::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The footer template text with optional variable placeholders
|
|
15
|
+
sig { returns(T.nilable(String)) }
|
|
16
|
+
attr_reader :template
|
|
17
|
+
|
|
18
|
+
sig { params(template: String).void }
|
|
19
|
+
attr_writer :template
|
|
20
|
+
|
|
21
|
+
# The type of footer (typically "text")
|
|
22
|
+
sig { returns(T.nilable(String)) }
|
|
23
|
+
attr_accessor :type
|
|
24
|
+
|
|
25
|
+
# List of variables used in the footer template
|
|
26
|
+
sig { returns(T.nilable(T::Array[Sentdm::TemplateVariable])) }
|
|
27
|
+
attr_accessor :variables
|
|
28
|
+
|
|
29
|
+
# Footer section of a message template
|
|
30
|
+
sig do
|
|
31
|
+
params(
|
|
32
|
+
template: String,
|
|
33
|
+
type: T.nilable(String),
|
|
34
|
+
variables: T.nilable(T::Array[Sentdm::TemplateVariable::OrHash])
|
|
35
|
+
).returns(T.attached_class)
|
|
36
|
+
end
|
|
37
|
+
def self.new(
|
|
38
|
+
# The footer template text with optional variable placeholders
|
|
39
|
+
template: nil,
|
|
40
|
+
# The type of footer (typically "text")
|
|
41
|
+
type: nil,
|
|
42
|
+
# List of variables used in the footer template
|
|
43
|
+
variables: nil
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
sig do
|
|
48
|
+
override.returns(
|
|
49
|
+
{
|
|
50
|
+
template: String,
|
|
51
|
+
type: T.nilable(String),
|
|
52
|
+
variables: T.nilable(T::Array[Sentdm::TemplateVariable])
|
|
53
|
+
}
|
|
54
|
+
)
|
|
55
|
+
end
|
|
56
|
+
def to_hash
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|