sentdm 0.25.0 → 0.26.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 +12 -0
- data/README.md +7 -11
- data/lib/sentdm/client.rb +4 -0
- data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
- data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +43 -0
- data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_authentication_config.rb → authentication_config.rb} +2 -3
- data/lib/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rb → brand_business_info.rb} +5 -7
- data/lib/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rb → brand_compliance_info.rb} +2 -10
- data/lib/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rb → brand_contact_info.rb} +1 -1
- data/lib/sentdm/models/brands_brand_data.rb +9 -13
- data/lib/sentdm/models/contact_message_summary.rb +76 -0
- data/lib/sentdm/models/contact_retrieve_message_summary_params.rb +26 -0
- data/lib/sentdm/models/conversation_list_messages_params.rb +38 -0
- data/lib/sentdm/models/conversation_list_params.rb +32 -0
- data/lib/sentdm/models/conversation_messages_list.rb +245 -0
- data/lib/sentdm/models/message_send_response.rb +2 -6
- data/lib/sentdm/models/profile_detail.rb +3 -11
- data/lib/sentdm/models/profile_update_params.rb +2 -2
- data/lib/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rb → api_response_of_brand_campaign.rb} +5 -5
- data/lib/sentdm/models/profiles/{campaign_list_response.rb → api_response_of_list_of_brand_campaign.rb} +4 -6
- data/lib/sentdm/models/profiles/{tcr_campaign_with_use_cases.rb → brand_campaign.rb} +63 -111
- data/lib/sentdm/models/profiles/campaign_data.rb +13 -6
- data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
- data/lib/sentdm/models/profiles/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb → campaign_use_case_data.rb} +1 -1
- data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rb → template_body.rb} +2 -3
- data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button.rb → template_button.rb} +5 -6
- data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rb → template_button_props.rb} +2 -3
- data/lib/sentdm/models/template_definition.rb +15 -19
- data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rb → template_footer.rb} +1 -1
- data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rb → template_header.rb} +2 -3
- data/lib/sentdm/models.rb +32 -27
- data/lib/sentdm/resources/contacts.rb +30 -0
- data/lib/sentdm/resources/conversations.rb +82 -0
- data/lib/sentdm/resources/messages.rb +4 -1
- data/lib/sentdm/resources/profiles/campaigns.rb +6 -6
- data/lib/sentdm/resources/profiles.rb +31 -19
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +22 -14
- data/rbi/sentdm/client.rbi +3 -0
- data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
- data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
- data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_authentication_config.rbi → authentication_config.rbi} +2 -5
- data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbi → brand_business_info.rbi} +12 -30
- data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbi → brand_compliance_info.rbi} +2 -13
- data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbi → brand_contact_info.rbi} +2 -5
- data/rbi/sentdm/models/brands_brand_data.rbi +12 -51
- data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
- data/rbi/sentdm/models/contact_retrieve_message_summary_params.rbi +49 -0
- data/rbi/sentdm/models/conversation_list_messages_params.rbi +65 -0
- data/rbi/sentdm/models/conversation_list_params.rbi +51 -0
- data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
- data/rbi/sentdm/models/message_send_response.rbi +2 -4
- data/rbi/sentdm/models/profile_detail.rbi +2 -10
- data/rbi/sentdm/models/profile_update_params.rbi +2 -2
- data/rbi/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rbi → api_response_of_brand_campaign.rbi} +8 -10
- data/rbi/sentdm/models/profiles/{campaign_list_response.rbi → api_response_of_list_of_brand_campaign.rbi} +5 -13
- data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
- data/rbi/sentdm/models/profiles/campaign_data.rbi +16 -18
- data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
- data/rbi/sentdm/models/profiles/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi → campaign_use_case_data.rbi} +2 -2
- data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rbi → template_body.rbi} +2 -7
- data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button.rbi → template_button.rbi} +6 -22
- data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rbi → template_button_props.rbi} +2 -5
- data/rbi/sentdm/models/template_definition.rbi +19 -87
- data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rbi → template_footer.rbi} +2 -5
- data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rbi → template_header.rbi} +2 -5
- data/rbi/sentdm/models.rbi +36 -27
- data/rbi/sentdm/resources/contacts.rbi +20 -0
- data/rbi/sentdm/resources/conversations.rbi +61 -0
- data/rbi/sentdm/resources/messages.rbi +4 -1
- data/rbi/sentdm/resources/profiles/campaigns.rbi +3 -3
- data/rbi/sentdm/resources/profiles.rbi +29 -18
- data/sig/sentdm/client.rbs +2 -0
- data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
- data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
- data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_authentication_config.rbs → authentication_config.rbs} +2 -2
- data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbs → brand_business_info.rbs} +7 -7
- data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbs → brand_compliance_info.rbs} +2 -7
- data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbs → brand_contact_info.rbs} +2 -2
- data/sig/sentdm/models/brands_brand_data.rbs +12 -12
- data/sig/sentdm/models/contact_message_summary.rbs +84 -0
- data/sig/sentdm/models/contact_retrieve_message_summary_params.rbs +30 -0
- data/sig/sentdm/models/conversation_list_messages_params.rbs +38 -0
- data/sig/sentdm/models/conversation_list_params.rbs +34 -0
- data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
- data/sig/sentdm/models/profile_detail.rbs +0 -5
- data/sig/sentdm/models/profiles/{campaign_list_response.rbs → api_response_of_brand_campaign.rbs} +6 -6
- data/sig/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rbs → api_response_of_list_of_brand_campaign.rbs} +6 -6
- data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
- data/sig/sentdm/models/profiles/campaign_data.rbs +12 -7
- data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
- data/sig/sentdm/models/profiles/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs → campaign_use_case_data.rbs} +2 -2
- data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rbs → template_body.rbs} +2 -2
- data/sig/sentdm/models/template_button.rbs +28 -0
- data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rbs → template_button_props.rbs} +2 -2
- data/sig/sentdm/models/template_definition.rbs +20 -20
- data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rbs → template_footer.rbs} +2 -2
- data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rbs → template_header.rbs} +2 -2
- data/sig/sentdm/models.rbs +32 -18
- data/sig/sentdm/resources/contacts.rbs +6 -0
- data/sig/sentdm/resources/conversations.rbs +22 -0
- data/sig/sentdm/resources/profiles/campaigns.rbs +3 -3
- metadata +68 -44
- data/lib/sentdm/models/profiles/base_dto.rb +0 -32
- data/rbi/sentdm/models/profiles/base_dto.rbi +0 -53
- data/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi +0 -425
- data/sig/sentdm/models/profiles/base_dto.rbs +0 -27
- data/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs +0 -306
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +0 -32
|
@@ -3,21 +3,11 @@
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
5
|
module Profiles
|
|
6
|
-
class
|
|
7
|
-
# @!attribute
|
|
8
|
-
#
|
|
9
|
-
# @return [String]
|
|
10
|
-
required :description, String
|
|
11
|
-
|
|
12
|
-
# @!attribute name
|
|
6
|
+
class BrandCampaign < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute id
|
|
13
8
|
#
|
|
14
|
-
# @return [String]
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
# @!attribute type
|
|
18
|
-
#
|
|
19
|
-
# @return [String]
|
|
20
|
-
required :type, String
|
|
9
|
+
# @return [String, nil]
|
|
10
|
+
optional :id, String
|
|
21
11
|
|
|
22
12
|
# @!attribute billed_date
|
|
23
13
|
#
|
|
@@ -34,10 +24,10 @@ module Sentdm
|
|
|
34
24
|
# @return [Float, nil]
|
|
35
25
|
optional :cost, Float, nil?: true
|
|
36
26
|
|
|
37
|
-
# @!attribute
|
|
27
|
+
# @!attribute created_at
|
|
38
28
|
#
|
|
39
|
-
# @return [
|
|
40
|
-
optional :
|
|
29
|
+
# @return [Time, nil]
|
|
30
|
+
optional :created_at, Time, api_name: :createdAt
|
|
41
31
|
|
|
42
32
|
# @!attribute customer_id
|
|
43
33
|
#
|
|
@@ -45,6 +35,8 @@ module Sentdm
|
|
|
45
35
|
optional :customer_id, String, api_name: :customerId
|
|
46
36
|
|
|
47
37
|
# @!attribute dca_elections_complete
|
|
38
|
+
# True once every carrier has completed its DCA election and the campaign is
|
|
39
|
+
# operationally ready for traffic.
|
|
48
40
|
#
|
|
49
41
|
# @return [Boolean, nil]
|
|
50
42
|
optional :dca_elections_complete,
|
|
@@ -57,10 +49,13 @@ module Sentdm
|
|
|
57
49
|
# @return [Time, nil]
|
|
58
50
|
optional :dca_elections_completed_at, Time, api_name: :dcaElectionsCompletedAt, nil?: true
|
|
59
51
|
|
|
52
|
+
# @!attribute description
|
|
53
|
+
#
|
|
54
|
+
# @return [String, nil]
|
|
55
|
+
optional :description, String
|
|
56
|
+
|
|
60
57
|
# @!attribute has_submission_transaction
|
|
61
|
-
# True when
|
|
62
|
-
# TCR_CAMPAIGN_SUBMISSION (the one-time submission fee was charged). Populated
|
|
63
|
-
# only by the campaigns-list path; defaults false on other responses.
|
|
58
|
+
# True when the one-time campaign submission fee has already been charged.
|
|
64
59
|
#
|
|
65
60
|
# @return [Boolean, nil]
|
|
66
61
|
optional :has_submission_transaction,
|
|
@@ -77,15 +72,15 @@ module Sentdm
|
|
|
77
72
|
# @return [String, nil]
|
|
78
73
|
optional :help_message, String, api_name: :helpMessage, nil?: true
|
|
79
74
|
|
|
80
|
-
# @!attribute
|
|
75
|
+
# @!attribute message_flow
|
|
81
76
|
#
|
|
82
77
|
# @return [String, nil]
|
|
83
|
-
optional :
|
|
78
|
+
optional :message_flow, String, api_name: :messageFlow, nil?: true
|
|
84
79
|
|
|
85
|
-
# @!attribute
|
|
80
|
+
# @!attribute name
|
|
86
81
|
#
|
|
87
82
|
# @return [String, nil]
|
|
88
|
-
optional :
|
|
83
|
+
optional :name, String
|
|
89
84
|
|
|
90
85
|
# @!attribute optin_keywords
|
|
91
86
|
#
|
|
@@ -112,23 +107,10 @@ module Sentdm
|
|
|
112
107
|
# @return [String, nil]
|
|
113
108
|
optional :privacy_policy_link, String, api_name: :privacyPolicyLink, nil?: true
|
|
114
109
|
|
|
115
|
-
# @!attribute reseller_id
|
|
116
|
-
#
|
|
117
|
-
# @return [String, nil]
|
|
118
|
-
optional :reseller_id, String, api_name: :resellerId, nil?: true
|
|
119
|
-
|
|
120
|
-
# @!attribute sharing_status
|
|
121
|
-
#
|
|
122
|
-
# @return [Symbol, Sentdm::Models::Profiles::TcrCampaignWithUseCases::SharingStatus, nil]
|
|
123
|
-
optional :sharing_status,
|
|
124
|
-
enum: -> { Sentdm::Profiles::TcrCampaignWithUseCases::SharingStatus },
|
|
125
|
-
api_name: :sharingStatus,
|
|
126
|
-
nil?: true
|
|
127
|
-
|
|
128
110
|
# @!attribute status
|
|
129
111
|
#
|
|
130
|
-
# @return [Symbol, Sentdm::Models::Profiles::
|
|
131
|
-
optional :status, enum: -> { Sentdm::Profiles::
|
|
112
|
+
# @return [Symbol, Sentdm::Models::Profiles::BrandCampaign::Status, nil]
|
|
113
|
+
optional :status, enum: -> { Sentdm::Profiles::BrandCampaign::Status }, nil?: true
|
|
132
114
|
|
|
133
115
|
# @!attribute submitted_at
|
|
134
116
|
#
|
|
@@ -141,46 +123,56 @@ module Sentdm
|
|
|
141
123
|
optional :submitted_to_tcr, Sentdm::Internal::Type::Boolean, api_name: :submittedToTCR
|
|
142
124
|
|
|
143
125
|
# @!attribute tcr_campaign_id
|
|
126
|
+
# The Campaign Registry identifier, once the campaign has been accepted.
|
|
144
127
|
#
|
|
145
128
|
# @return [String, nil]
|
|
146
129
|
optional :tcr_campaign_id, String, api_name: :tcrCampaignId, nil?: true
|
|
147
130
|
|
|
148
131
|
# @!attribute tcr_sync_error
|
|
132
|
+
# Surfaced so customers can see why a submission did not reach the registry.
|
|
149
133
|
#
|
|
150
134
|
# @return [String, nil]
|
|
151
135
|
optional :tcr_sync_error, String, api_name: :tcrSyncError, nil?: true
|
|
152
136
|
|
|
153
|
-
# @!attribute telnyx_campaign_id
|
|
154
|
-
#
|
|
155
|
-
# @return [String, nil]
|
|
156
|
-
optional :telnyx_campaign_id, String, api_name: :telnyxCampaignId, nil?: true
|
|
157
|
-
|
|
158
137
|
# @!attribute terms_and_conditions_link
|
|
159
138
|
#
|
|
160
139
|
# @return [String, nil]
|
|
161
140
|
optional :terms_and_conditions_link, String, api_name: :termsAndConditionsLink, nil?: true
|
|
162
141
|
|
|
163
|
-
# @!attribute
|
|
142
|
+
# @!attribute type
|
|
143
|
+
# Campaign type (for example KYC or App).
|
|
164
144
|
#
|
|
165
145
|
# @return [String, nil]
|
|
166
|
-
optional :
|
|
146
|
+
optional :type, String
|
|
147
|
+
|
|
148
|
+
# @!attribute updated_at
|
|
149
|
+
#
|
|
150
|
+
# @return [Time, nil]
|
|
151
|
+
optional :updated_at, Time, api_name: :updatedAt, nil?: true
|
|
167
152
|
|
|
168
153
|
# @!attribute use_cases
|
|
169
154
|
#
|
|
170
|
-
# @return [Array<Sentdm::Models::Profiles::
|
|
155
|
+
# @return [Array<Sentdm::Models::Profiles::CampaignUseCase>, nil]
|
|
171
156
|
optional :use_cases,
|
|
172
|
-
-> { Sentdm::Internal::Type::ArrayOf[Sentdm::Profiles::
|
|
157
|
+
-> { Sentdm::Internal::Type::ArrayOf[Sentdm::Profiles::CampaignUseCase] },
|
|
173
158
|
api_name: :useCases
|
|
174
159
|
|
|
175
|
-
# @!
|
|
176
|
-
#
|
|
177
|
-
#
|
|
160
|
+
# @!attribute volume
|
|
161
|
+
# Expected messaging volume for this campaign — customer-supplied on
|
|
162
|
+
# create/update, and the input to both the TCR usecase classification (LOW_VOLUME
|
|
163
|
+
# vs MIXED/specific) and the campaign fee tier. Surfaced so customers can read
|
|
164
|
+
# back the value they set.
|
|
178
165
|
#
|
|
179
|
-
# @
|
|
166
|
+
# @return [String, nil]
|
|
167
|
+
optional :volume, String, nil?: true
|
|
168
|
+
|
|
169
|
+
# @!method initialize(id: nil, billed_date: nil, brand_id: nil, cost: nil, created_at: nil, customer_id: nil, dca_elections_complete: nil, dca_elections_completed_at: nil, description: nil, has_submission_transaction: nil, help_keywords: nil, help_message: nil, message_flow: nil, name: nil, optin_keywords: nil, optin_message: nil, optout_keywords: nil, optout_message: nil, privacy_policy_link: nil, status: nil, submitted_at: nil, submitted_to_tcr: nil, tcr_campaign_id: nil, tcr_sync_error: nil, terms_and_conditions_link: nil, type: nil, updated_at: nil, use_cases: nil, volume: nil)
|
|
170
|
+
# Some parameter documentations has been truncated, see
|
|
171
|
+
# {Sentdm::Models::Profiles::BrandCampaign} for more details.
|
|
180
172
|
#
|
|
181
|
-
#
|
|
173
|
+
# A 10DLC campaign registered for a brand.
|
|
182
174
|
#
|
|
183
|
-
# @param
|
|
175
|
+
# @param id [String]
|
|
184
176
|
#
|
|
185
177
|
# @param billed_date [Time, nil]
|
|
186
178
|
#
|
|
@@ -188,24 +180,26 @@ module Sentdm
|
|
|
188
180
|
#
|
|
189
181
|
# @param cost [Float, nil]
|
|
190
182
|
#
|
|
191
|
-
# @param
|
|
183
|
+
# @param created_at [Time]
|
|
192
184
|
#
|
|
193
185
|
# @param customer_id [String]
|
|
194
186
|
#
|
|
195
|
-
# @param dca_elections_complete [Boolean, nil]
|
|
187
|
+
# @param dca_elections_complete [Boolean, nil] True once every carrier has completed its DCA election and the campaign is
|
|
196
188
|
#
|
|
197
189
|
# @param dca_elections_completed_at [Time, nil]
|
|
198
190
|
#
|
|
199
|
-
# @param
|
|
191
|
+
# @param description [String]
|
|
192
|
+
#
|
|
193
|
+
# @param has_submission_transaction [Boolean] True when the one-time campaign submission fee has already been charged.
|
|
200
194
|
#
|
|
201
195
|
# @param help_keywords [String, nil]
|
|
202
196
|
#
|
|
203
197
|
# @param help_message [String, nil]
|
|
204
198
|
#
|
|
205
|
-
# @param kyc_submission_form_id [String, nil]
|
|
206
|
-
#
|
|
207
199
|
# @param message_flow [String, nil]
|
|
208
200
|
#
|
|
201
|
+
# @param name [String]
|
|
202
|
+
#
|
|
209
203
|
# @param optin_keywords [String, nil]
|
|
210
204
|
#
|
|
211
205
|
# @param optin_message [String, nil]
|
|
@@ -216,39 +210,27 @@ module Sentdm
|
|
|
216
210
|
#
|
|
217
211
|
# @param privacy_policy_link [String, nil]
|
|
218
212
|
#
|
|
219
|
-
# @param
|
|
220
|
-
#
|
|
221
|
-
# @param sharing_status [Symbol, Sentdm::Models::Profiles::TcrCampaignWithUseCases::SharingStatus, nil]
|
|
222
|
-
#
|
|
223
|
-
# @param status [Symbol, Sentdm::Models::Profiles::TcrCampaignWithUseCases::Status, nil]
|
|
213
|
+
# @param status [Symbol, Sentdm::Models::Profiles::BrandCampaign::Status, nil]
|
|
224
214
|
#
|
|
225
215
|
# @param submitted_at [Time, nil]
|
|
226
216
|
#
|
|
227
217
|
# @param submitted_to_tcr [Boolean]
|
|
228
218
|
#
|
|
229
|
-
# @param tcr_campaign_id [String, nil]
|
|
219
|
+
# @param tcr_campaign_id [String, nil] The Campaign Registry identifier, once the campaign has been accepted.
|
|
230
220
|
#
|
|
231
|
-
# @param tcr_sync_error [String, nil]
|
|
232
|
-
#
|
|
233
|
-
# @param telnyx_campaign_id [String, nil]
|
|
221
|
+
# @param tcr_sync_error [String, nil] Surfaced so customers can see why a submission did not reach the registry.
|
|
234
222
|
#
|
|
235
223
|
# @param terms_and_conditions_link [String, nil]
|
|
236
224
|
#
|
|
237
|
-
# @param
|
|
225
|
+
# @param type [String] Campaign type (for example KYC or App).
|
|
238
226
|
#
|
|
239
|
-
# @param
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
PENDING = :PENDING
|
|
245
|
-
ACCEPTED = :ACCEPTED
|
|
246
|
-
DECLINED = :DECLINED
|
|
247
|
-
|
|
248
|
-
# @!method self.values
|
|
249
|
-
# @return [Array<Symbol>]
|
|
250
|
-
end
|
|
227
|
+
# @param updated_at [Time, nil]
|
|
228
|
+
#
|
|
229
|
+
# @param use_cases [Array<Sentdm::Models::Profiles::CampaignUseCase>]
|
|
230
|
+
#
|
|
231
|
+
# @param volume [String, nil] Expected messaging volume for this campaign — customer-supplied on create/update
|
|
251
232
|
|
|
233
|
+
# @see Sentdm::Models::Profiles::BrandCampaign#status
|
|
252
234
|
module Status
|
|
253
235
|
extend Sentdm::Internal::Type::Enum
|
|
254
236
|
|
|
@@ -259,36 +241,6 @@ module Sentdm
|
|
|
259
241
|
# @!method self.values
|
|
260
242
|
# @return [Array<Symbol>]
|
|
261
243
|
end
|
|
262
|
-
|
|
263
|
-
class UseCase < Sentdm::Models::Profiles::BaseDto
|
|
264
|
-
# @!attribute sample_messages
|
|
265
|
-
#
|
|
266
|
-
# @return [Array<String>]
|
|
267
|
-
required :sample_messages, Sentdm::Internal::Type::ArrayOf[String], api_name: :sampleMessages
|
|
268
|
-
|
|
269
|
-
# @!attribute campaign_id
|
|
270
|
-
#
|
|
271
|
-
# @return [String, nil]
|
|
272
|
-
optional :campaign_id, String, api_name: :campaignId
|
|
273
|
-
|
|
274
|
-
# @!attribute customer_id
|
|
275
|
-
#
|
|
276
|
-
# @return [String, nil]
|
|
277
|
-
optional :customer_id, String, api_name: :customerId
|
|
278
|
-
|
|
279
|
-
# @!attribute messaging_use_case_us
|
|
280
|
-
#
|
|
281
|
-
# @return [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs, nil]
|
|
282
|
-
optional :messaging_use_case_us,
|
|
283
|
-
enum: -> { Sentdm::Profiles::MessagingUseCaseUs },
|
|
284
|
-
api_name: :messagingUseCaseUs
|
|
285
|
-
|
|
286
|
-
# @!method initialize(sample_messages:, campaign_id: nil, customer_id: nil, messaging_use_case_us: nil)
|
|
287
|
-
# @param sample_messages [Array<String>]
|
|
288
|
-
# @param campaign_id [String]
|
|
289
|
-
# @param customer_id [String]
|
|
290
|
-
# @param messaging_use_case_us [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs]
|
|
291
|
-
end
|
|
292
244
|
end
|
|
293
245
|
end
|
|
294
246
|
end
|
|
@@ -25,11 +25,9 @@ module Sentdm
|
|
|
25
25
|
# @!attribute use_cases
|
|
26
26
|
# List of use cases with sample messages
|
|
27
27
|
#
|
|
28
|
-
# @return [Array<Sentdm::Models::Profiles::
|
|
28
|
+
# @return [Array<Sentdm::Models::Profiles::CampaignUseCaseData>]
|
|
29
29
|
required :use_cases,
|
|
30
|
-
-> {
|
|
31
|
-
Sentdm::Internal::Type::ArrayOf[Sentdm::Profiles::SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData]
|
|
32
|
-
},
|
|
30
|
+
-> { Sentdm::Internal::Type::ArrayOf[Sentdm::Profiles::CampaignUseCaseData] },
|
|
33
31
|
api_name: :useCases
|
|
34
32
|
|
|
35
33
|
# @!attribute help_keywords
|
|
@@ -86,7 +84,14 @@ module Sentdm
|
|
|
86
84
|
# @return [String, nil]
|
|
87
85
|
optional :terms_and_conditions_link, String, api_name: :termsAndConditionsLink, nil?: true
|
|
88
86
|
|
|
89
|
-
# @!
|
|
87
|
+
# @!attribute volume
|
|
88
|
+
# Expected messaging volume for this campaign. Numeric string (e.g. "1999",
|
|
89
|
+
# "5000"); values below 2000 bill at the low-volume tier.
|
|
90
|
+
#
|
|
91
|
+
# @return [String, nil]
|
|
92
|
+
optional :volume, String, nil?: true
|
|
93
|
+
|
|
94
|
+
# @!method initialize(description:, name:, type:, use_cases:, help_keywords: nil, help_message: nil, message_flow: nil, optin_keywords: nil, optin_message: nil, optout_keywords: nil, optout_message: nil, privacy_policy_link: nil, terms_and_conditions_link: nil, volume: nil)
|
|
90
95
|
# Some parameter documentations has been truncated, see
|
|
91
96
|
# {Sentdm::Models::Profiles::CampaignData} for more details.
|
|
92
97
|
#
|
|
@@ -98,7 +103,7 @@ module Sentdm
|
|
|
98
103
|
#
|
|
99
104
|
# @param type [String] Campaign type (e.g., "KYC", "App")
|
|
100
105
|
#
|
|
101
|
-
# @param use_cases [Array<Sentdm::Models::Profiles::
|
|
106
|
+
# @param use_cases [Array<Sentdm::Models::Profiles::CampaignUseCaseData>] List of use cases with sample messages
|
|
102
107
|
#
|
|
103
108
|
# @param help_keywords [String, nil] Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
|
|
104
109
|
#
|
|
@@ -117,6 +122,8 @@ module Sentdm
|
|
|
117
122
|
# @param privacy_policy_link [String, nil] URL to privacy policy
|
|
118
123
|
#
|
|
119
124
|
# @param terms_and_conditions_link [String, nil] URL to terms and conditions
|
|
125
|
+
#
|
|
126
|
+
# @param volume [String, nil] Expected messaging volume for this campaign. Numeric string (e.g. "1999", "5000"
|
|
120
127
|
end
|
|
121
128
|
end
|
|
122
129
|
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Profiles
|
|
6
|
+
class CampaignUseCase < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute id
|
|
8
|
+
#
|
|
9
|
+
# @return [String, nil]
|
|
10
|
+
optional :id, String
|
|
11
|
+
|
|
12
|
+
# @!attribute campaign_id
|
|
13
|
+
#
|
|
14
|
+
# @return [String, nil]
|
|
15
|
+
optional :campaign_id, String, api_name: :campaignId
|
|
16
|
+
|
|
17
|
+
# @!attribute created_at
|
|
18
|
+
#
|
|
19
|
+
# @return [Time, nil]
|
|
20
|
+
optional :created_at, Time, api_name: :createdAt
|
|
21
|
+
|
|
22
|
+
# @!attribute customer_id
|
|
23
|
+
#
|
|
24
|
+
# @return [String, nil]
|
|
25
|
+
optional :customer_id, String, api_name: :customerId
|
|
26
|
+
|
|
27
|
+
# @!attribute messaging_use_case_us
|
|
28
|
+
#
|
|
29
|
+
# @return [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs, nil]
|
|
30
|
+
optional :messaging_use_case_us,
|
|
31
|
+
enum: -> { Sentdm::Profiles::MessagingUseCaseUs },
|
|
32
|
+
api_name: :messagingUseCaseUs
|
|
33
|
+
|
|
34
|
+
# @!attribute sample_messages
|
|
35
|
+
# Sample messages submitted to the registry for this use case.
|
|
36
|
+
#
|
|
37
|
+
# @return [Array<String>, nil]
|
|
38
|
+
optional :sample_messages, Sentdm::Internal::Type::ArrayOf[String], api_name: :sampleMessages
|
|
39
|
+
|
|
40
|
+
# @!attribute updated_at
|
|
41
|
+
#
|
|
42
|
+
# @return [Time, nil]
|
|
43
|
+
optional :updated_at, Time, api_name: :updatedAt, nil?: true
|
|
44
|
+
|
|
45
|
+
# @!method initialize(id: nil, campaign_id: nil, created_at: nil, customer_id: nil, messaging_use_case_us: nil, sample_messages: nil, updated_at: nil)
|
|
46
|
+
# Customer-facing use-case representation for the public v3 campaign contract.
|
|
47
|
+
# Exists for the same reason as BrandCampaignV3Response: nesting the
|
|
48
|
+
# TcrCampaignUseCase database entity in a public response means any column added
|
|
49
|
+
# to that table silently becomes part of the customer-facing contract. This DTO is
|
|
50
|
+
# an explicit allowlist, so a new column stays invisible until it is added here on
|
|
51
|
+
# purpose. This mirrors exactly the fields the entity already serialized, so it
|
|
52
|
+
# removes nothing from the current response shape. It only closes the future-leak
|
|
53
|
+
# path.
|
|
54
|
+
#
|
|
55
|
+
# @param id [String]
|
|
56
|
+
#
|
|
57
|
+
# @param campaign_id [String]
|
|
58
|
+
#
|
|
59
|
+
# @param created_at [Time]
|
|
60
|
+
#
|
|
61
|
+
# @param customer_id [String]
|
|
62
|
+
#
|
|
63
|
+
# @param messaging_use_case_us [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs]
|
|
64
|
+
#
|
|
65
|
+
# @param sample_messages [Array<String>] Sample messages submitted to the registry for this use case.
|
|
66
|
+
#
|
|
67
|
+
# @param updated_at [Time, nil]
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
5
|
module Profiles
|
|
6
|
-
class
|
|
6
|
+
class CampaignUseCaseData < Sentdm::Internal::Type::BaseModel
|
|
7
7
|
# @!attribute messaging_use_case_us
|
|
8
8
|
#
|
|
9
9
|
# @return [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs]
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
|
-
class
|
|
5
|
+
class TemplateBody < Sentdm::Internal::Type::BaseModel
|
|
6
6
|
# @!attribute multi_channel
|
|
7
7
|
# Content that will be used for all channels (SMS and WhatsApp) unless
|
|
8
8
|
# channel-specific content is provided
|
|
@@ -31,8 +31,7 @@ module Sentdm
|
|
|
31
31
|
|
|
32
32
|
# @!method initialize(multi_channel: nil, rcs: nil, sms: nil, whatsapp: nil)
|
|
33
33
|
# Some parameter documentations has been truncated, see
|
|
34
|
-
# {Sentdm::Models::
|
|
35
|
-
# details.
|
|
34
|
+
# {Sentdm::Models::TemplateBody} for more details.
|
|
36
35
|
#
|
|
37
36
|
# Body section of a message template with channel-specific content
|
|
38
37
|
#
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
|
-
class
|
|
5
|
+
class TemplateButton < Sentdm::Internal::Type::BaseModel
|
|
6
6
|
# @!attribute props
|
|
7
7
|
# Properties specific to the button type
|
|
8
8
|
#
|
|
9
|
-
# @return [Sentdm::Models::
|
|
10
|
-
required :props, -> { Sentdm::
|
|
9
|
+
# @return [Sentdm::Models::TemplateButtonProps]
|
|
10
|
+
required :props, -> { Sentdm::TemplateButtonProps }
|
|
11
11
|
|
|
12
12
|
# @!attribute type
|
|
13
13
|
# The type of button (e.g., QUICK_REPLY, URL, PHONE_NUMBER, VOICE_CALL, COPY_CODE)
|
|
@@ -23,12 +23,11 @@ module Sentdm
|
|
|
23
23
|
|
|
24
24
|
# @!method initialize(props:, type:, id: nil)
|
|
25
25
|
# Some parameter documentations has been truncated, see
|
|
26
|
-
# {Sentdm::Models::
|
|
27
|
-
# details.
|
|
26
|
+
# {Sentdm::Models::TemplateButton} for more details.
|
|
28
27
|
#
|
|
29
28
|
# Interactive button in a message template
|
|
30
29
|
#
|
|
31
|
-
# @param props [Sentdm::Models::
|
|
30
|
+
# @param props [Sentdm::Models::TemplateButtonProps] Properties specific to the button type
|
|
32
31
|
#
|
|
33
32
|
# @param type [String] The type of button (e.g., QUICK_REPLY, URL, PHONE_NUMBER, VOICE_CALL, COPY_CODE)
|
|
34
33
|
#
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
|
-
class
|
|
5
|
+
class TemplateButtonProps < Sentdm::Internal::Type::BaseModel
|
|
6
6
|
# @!attribute active_for
|
|
7
7
|
#
|
|
8
8
|
# @return [Integer]
|
|
@@ -73,8 +73,7 @@ module Sentdm
|
|
|
73
73
|
|
|
74
74
|
# @!method initialize(active_for:, country_code:, offer_code:, phone_number:, quick_reply_type:, text:, url:, url_type:, variables:, autofill_text: nil, otp_type: nil, package_name: nil, signature_hash: nil)
|
|
75
75
|
# Some parameter documentations has been truncated, see
|
|
76
|
-
# {Sentdm::Models::
|
|
77
|
-
# details.
|
|
76
|
+
# {Sentdm::Models::TemplateButtonProps} for more details.
|
|
78
77
|
#
|
|
79
78
|
# @param active_for [Integer]
|
|
80
79
|
#
|
|
@@ -6,27 +6,23 @@ module Sentdm
|
|
|
6
6
|
# @!attribute body
|
|
7
7
|
# Body section of a message template with channel-specific content
|
|
8
8
|
#
|
|
9
|
-
# @return [Sentdm::Models::
|
|
10
|
-
required :body, -> { Sentdm::
|
|
9
|
+
# @return [Sentdm::Models::TemplateBody]
|
|
10
|
+
required :body, -> { Sentdm::TemplateBody }
|
|
11
11
|
|
|
12
12
|
# @!attribute authentication_config
|
|
13
13
|
# Configuration for AUTHENTICATION category templates
|
|
14
14
|
#
|
|
15
|
-
# @return [Sentdm::Models::
|
|
15
|
+
# @return [Sentdm::Models::AuthenticationConfig, nil]
|
|
16
16
|
optional :authentication_config,
|
|
17
|
-
-> { Sentdm::
|
|
17
|
+
-> { Sentdm::AuthenticationConfig },
|
|
18
18
|
api_name: :authenticationConfig,
|
|
19
19
|
nil?: true
|
|
20
20
|
|
|
21
21
|
# @!attribute buttons
|
|
22
22
|
# Optional list of interactive buttons (e.g., quick replies, URLs, phone numbers)
|
|
23
23
|
#
|
|
24
|
-
# @return [Array<Sentdm::Models::
|
|
25
|
-
optional :buttons,
|
|
26
|
-
-> {
|
|
27
|
-
Sentdm::Internal::Type::ArrayOf[Sentdm::SentDmServicesCommonContractsPocOsTemplateButton]
|
|
28
|
-
},
|
|
29
|
-
nil?: true
|
|
24
|
+
# @return [Array<Sentdm::Models::TemplateButton>, nil]
|
|
25
|
+
optional :buttons, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::TemplateButton] }, nil?: true
|
|
30
26
|
|
|
31
27
|
# @!attribute definition_version
|
|
32
28
|
# The version of the template definition format
|
|
@@ -37,30 +33,30 @@ module Sentdm
|
|
|
37
33
|
# @!attribute footer
|
|
38
34
|
# Footer section of a message template
|
|
39
35
|
#
|
|
40
|
-
# @return [Sentdm::Models::
|
|
41
|
-
optional :footer, -> { Sentdm::
|
|
36
|
+
# @return [Sentdm::Models::TemplateFooter, nil]
|
|
37
|
+
optional :footer, -> { Sentdm::TemplateFooter }, nil?: true
|
|
42
38
|
|
|
43
39
|
# @!attribute header
|
|
44
40
|
# Header section of a message template
|
|
45
41
|
#
|
|
46
|
-
# @return [Sentdm::Models::
|
|
47
|
-
optional :header, -> { Sentdm::
|
|
42
|
+
# @return [Sentdm::Models::TemplateHeader, nil]
|
|
43
|
+
optional :header, -> { Sentdm::TemplateHeader }, nil?: true
|
|
48
44
|
|
|
49
45
|
# @!method initialize(body:, authentication_config: nil, buttons: nil, definition_version: nil, footer: nil, header: nil)
|
|
50
46
|
# Complete definition of a message template including header, body, footer, and
|
|
51
47
|
# buttons
|
|
52
48
|
#
|
|
53
|
-
# @param body [Sentdm::Models::
|
|
49
|
+
# @param body [Sentdm::Models::TemplateBody] Body section of a message template with channel-specific content
|
|
54
50
|
#
|
|
55
|
-
# @param authentication_config [Sentdm::Models::
|
|
51
|
+
# @param authentication_config [Sentdm::Models::AuthenticationConfig, nil] Configuration for AUTHENTICATION category templates
|
|
56
52
|
#
|
|
57
|
-
# @param buttons [Array<Sentdm::Models::
|
|
53
|
+
# @param buttons [Array<Sentdm::Models::TemplateButton>, nil] Optional list of interactive buttons (e.g., quick replies, URLs, phone numbers)
|
|
58
54
|
#
|
|
59
55
|
# @param definition_version [String, nil] The version of the template definition format
|
|
60
56
|
#
|
|
61
|
-
# @param footer [Sentdm::Models::
|
|
57
|
+
# @param footer [Sentdm::Models::TemplateFooter, nil] Footer section of a message template
|
|
62
58
|
#
|
|
63
|
-
# @param header [Sentdm::Models::
|
|
59
|
+
# @param header [Sentdm::Models::TemplateHeader, nil] Header section of a message template
|
|
64
60
|
end
|
|
65
61
|
end
|
|
66
62
|
end
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
|
-
class
|
|
5
|
+
class TemplateFooter < Sentdm::Internal::Type::BaseModel
|
|
6
6
|
# @!attribute template
|
|
7
7
|
# The footer template text with optional variable placeholders
|
|
8
8
|
#
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
|
-
class
|
|
5
|
+
class TemplateHeader < Sentdm::Internal::Type::BaseModel
|
|
6
6
|
# @!attribute template
|
|
7
7
|
# The header template text with optional variable placeholders (e.g., "Welcome to
|
|
8
8
|
# {{0:variable}}")
|
|
@@ -24,8 +24,7 @@ module Sentdm
|
|
|
24
24
|
|
|
25
25
|
# @!method initialize(template:, type: nil, variables: nil)
|
|
26
26
|
# Some parameter documentations has been truncated, see
|
|
27
|
-
# {Sentdm::Models::
|
|
28
|
-
# details.
|
|
27
|
+
# {Sentdm::Models::TemplateHeader} for more details.
|
|
29
28
|
#
|
|
30
29
|
# Header section of a message template
|
|
31
30
|
#
|