sentdm 0.26.0 → 0.28.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 +40 -0
- data/README.md +1 -27
- data/lib/sentdm/client.rb +71 -8
- data/lib/sentdm/internal/type/base_model.rb +5 -5
- data/lib/sentdm/models/contact_create_response.rb +249 -0
- data/lib/sentdm/models/contact_delete_params.rb +16 -2
- data/lib/sentdm/models/contact_list_response.rb +299 -16
- data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +186 -0
- data/lib/sentdm/models/contact_retrieve_response.rb +249 -0
- data/lib/sentdm/models/contact_update_response.rb +249 -0
- data/lib/sentdm/models/conversation_list_messages_response.rb +436 -0
- data/lib/sentdm/models/conversation_list_response.rb +433 -0
- data/lib/sentdm/models/inbound_message_event.rb +52 -0
- data/lib/sentdm/models/inbound_message_event_payload.rb +81 -0
- data/lib/sentdm/models/me_retrieve_response.rb +242 -12
- data/lib/sentdm/models/message_event.rb +53 -0
- data/lib/sentdm/models/message_event_payload.rb +92 -0
- data/lib/sentdm/models/message_retrieve_activities_response.rb +165 -7
- data/lib/sentdm/models/message_retrieve_status_response.rb +74 -6
- data/lib/sentdm/models/message_send_response.rb +113 -28
- data/lib/sentdm/models/number_lookup_response.rb +74 -6
- data/lib/sentdm/models/profile_complete_response.rb +74 -6
- data/lib/sentdm/models/profile_create_params.rb +378 -26
- data/lib/sentdm/models/profile_create_response.rb +760 -0
- data/lib/sentdm/models/profile_delete_params.rb +16 -2
- data/lib/sentdm/models/profile_list_response.rb +825 -14
- data/lib/sentdm/models/profile_retrieve_response.rb +762 -0
- data/lib/sentdm/models/profile_update_params.rb +391 -24
- data/lib/sentdm/models/profile_update_response.rb +760 -0
- data/lib/sentdm/models/profiles/campaign_create_params.rb +156 -3
- data/lib/sentdm/models/profiles/campaign_create_response.rb +420 -0
- data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
- data/lib/sentdm/models/profiles/campaign_list_response.rb +421 -0
- data/lib/sentdm/models/profiles/campaign_update_params.rb +156 -3
- data/lib/sentdm/models/profiles/campaign_update_response.rb +420 -0
- data/lib/sentdm/models/template_create_response.rb +209 -0
- data/lib/sentdm/models/template_event.rb +52 -0
- data/lib/sentdm/models/template_event_payload.rb +88 -0
- data/lib/sentdm/models/template_list_params.rb +9 -2
- data/lib/sentdm/models/template_list_response.rb +262 -16
- data/lib/sentdm/models/template_retrieve_response.rb +209 -0
- data/lib/sentdm/models/template_update_response.rb +209 -0
- data/lib/sentdm/models/user_invite_response.rb +201 -0
- data/lib/sentdm/models/user_list_response.rb +259 -14
- data/lib/sentdm/models/user_remove_params.rb +16 -2
- data/lib/sentdm/models/user_retrieve_response.rb +201 -0
- data/lib/sentdm/models/user_update_role_response.rb +201 -0
- data/lib/sentdm/models/webhook_create_response.rb +229 -0
- data/lib/sentdm/models/webhook_list_event_types_response.rb +213 -13
- data/lib/sentdm/models/webhook_list_events_response.rb +207 -16
- data/lib/sentdm/models/webhook_list_response.rb +280 -15
- data/lib/sentdm/models/webhook_retrieve_response.rb +229 -0
- data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
- data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
- data/lib/sentdm/models/webhook_test_response.rb +74 -6
- data/lib/sentdm/models/webhook_toggle_status_response.rb +229 -0
- data/lib/sentdm/models/webhook_update_response.rb +229 -0
- data/lib/sentdm/models.rb +11 -51
- data/lib/sentdm/resources/contacts.rb +30 -13
- data/lib/sentdm/resources/conversations.rb +12 -4
- data/lib/sentdm/resources/me.rb +6 -1
- data/lib/sentdm/resources/messages.rb +17 -5
- data/lib/sentdm/resources/numbers.rb +6 -1
- data/lib/sentdm/resources/profiles/campaigns.rb +47 -9
- data/lib/sentdm/resources/profiles.rb +137 -61
- data/lib/sentdm/resources/templates.rb +14 -8
- data/lib/sentdm/resources/users.rb +15 -10
- data/lib/sentdm/resources/webhooks.rb +19 -9
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +28 -32
- data/rbi/sentdm/client.rbi +71 -8
- data/rbi/sentdm/models/contact_create_response.rbi +407 -0
- data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
- data/rbi/sentdm/models/contact_list_response.rbi +527 -21
- data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +397 -0
- data/rbi/sentdm/models/contact_retrieve_response.rbi +409 -0
- data/rbi/sentdm/models/contact_update_response.rbi +407 -0
- data/rbi/sentdm/models/conversation_list_messages_response.rbi +843 -0
- data/rbi/sentdm/models/conversation_list_response.rbi +819 -0
- data/rbi/sentdm/models/inbound_message_event.rbi +88 -0
- data/rbi/sentdm/models/inbound_message_event_payload.rbi +122 -0
- data/rbi/sentdm/models/me_retrieve_response.rbi +367 -16
- data/rbi/sentdm/models/message_event.rbi +86 -0
- data/rbi/sentdm/models/message_event_payload.rbi +132 -0
- data/rbi/sentdm/models/message_retrieve_activities_response.rbi +335 -11
- data/rbi/sentdm/models/message_retrieve_status_response.rbi +148 -8
- data/rbi/sentdm/models/message_send_response.rbi +178 -32
- data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
- data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
- data/rbi/sentdm/models/profile_create_params.rbi +592 -42
- data/rbi/sentdm/models/profile_create_response.rbi +1226 -0
- data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
- data/rbi/sentdm/models/profile_list_response.rbi +1366 -18
- data/rbi/sentdm/models/profile_retrieve_response.rbi +1230 -0
- data/rbi/sentdm/models/profile_update_params.rbi +610 -30
- data/rbi/sentdm/models/profile_update_response.rbi +1226 -0
- data/rbi/sentdm/models/profiles/campaign_create_params.rbi +218 -4
- data/rbi/sentdm/models/profiles/campaign_create_response.rbi +674 -0
- data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
- data/rbi/sentdm/models/profiles/campaign_list_response.rbi +667 -0
- data/rbi/sentdm/models/profiles/campaign_update_params.rbi +218 -4
- data/rbi/sentdm/models/profiles/campaign_update_response.rbi +674 -0
- data/rbi/sentdm/models/template_create_response.rbi +349 -0
- data/rbi/sentdm/models/template_event.rbi +84 -0
- data/rbi/sentdm/models/template_event_payload.rbi +131 -0
- data/rbi/sentdm/models/template_list_params.rbi +10 -2
- data/rbi/sentdm/models/template_list_response.rbi +469 -21
- data/rbi/sentdm/models/template_retrieve_response.rbi +355 -0
- data/rbi/sentdm/models/template_update_response.rbi +349 -0
- data/rbi/sentdm/models/user_invite_response.rbi +336 -0
- data/rbi/sentdm/models/user_list_response.rbi +463 -18
- data/rbi/sentdm/models/user_remove_params.rbi +19 -2
- data/rbi/sentdm/models/user_retrieve_response.rbi +336 -0
- data/rbi/sentdm/models/user_update_role_response.rbi +341 -0
- data/rbi/sentdm/models/webhook_create_response.rbi +361 -0
- data/rbi/sentdm/models/webhook_list_event_types_response.rbi +433 -16
- data/rbi/sentdm/models/webhook_list_events_response.rbi +379 -19
- data/rbi/sentdm/models/webhook_list_response.rbi +480 -19
- data/rbi/sentdm/models/webhook_retrieve_response.rbi +363 -0
- data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
- data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
- data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
- data/rbi/sentdm/models/webhook_toggle_status_response.rbi +379 -0
- data/rbi/sentdm/models/webhook_update_response.rbi +361 -0
- data/rbi/sentdm/models.rbi +11 -53
- data/rbi/sentdm/resources/contacts.rbi +24 -9
- data/rbi/sentdm/resources/conversations.rbi +10 -2
- data/rbi/sentdm/resources/me.rbi +6 -1
- data/rbi/sentdm/resources/messages.rbi +17 -5
- data/rbi/sentdm/resources/numbers.rbi +6 -1
- data/rbi/sentdm/resources/profiles/campaigns.rbi +36 -6
- data/rbi/sentdm/resources/profiles.rbi +177 -68
- data/rbi/sentdm/resources/templates.rbi +15 -5
- data/rbi/sentdm/resources/users.rbi +12 -6
- data/rbi/sentdm/resources/webhooks.rbi +15 -5
- data/sig/sentdm/models/contact_create_response.rbs +216 -0
- data/sig/sentdm/models/contact_delete_params.rbs +10 -6
- data/sig/sentdm/models/contact_list_response.rbs +263 -20
- data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +182 -0
- data/sig/sentdm/models/contact_retrieve_response.rbs +216 -0
- data/sig/sentdm/models/contact_update_response.rbs +216 -0
- data/sig/sentdm/models/conversation_list_messages_response.rbs +404 -0
- data/sig/sentdm/models/conversation_list_response.rbs +404 -0
- data/sig/sentdm/models/inbound_message_event.rbs +39 -0
- data/sig/sentdm/models/inbound_message_event_payload.rbs +69 -0
- data/sig/sentdm/models/me_retrieve_response.rbs +176 -18
- data/sig/sentdm/models/message_event.rbs +39 -0
- data/sig/sentdm/models/message_event_payload.rbs +72 -0
- data/sig/sentdm/models/message_retrieve_activities_response.rbs +147 -12
- data/sig/sentdm/models/message_retrieve_status_response.rbs +71 -9
- data/sig/sentdm/models/message_send_response.rbs +71 -9
- data/sig/sentdm/models/number_lookup_response.rbs +71 -9
- data/sig/sentdm/models/profile_complete_response.rbs +71 -9
- data/sig/sentdm/models/profile_create_params.rbs +271 -24
- data/sig/sentdm/models/profile_create_response.rbs +559 -0
- data/sig/sentdm/models/profile_delete_params.rbs +10 -6
- data/sig/sentdm/models/profile_list_response.rbs +615 -15
- data/sig/sentdm/models/profile_retrieve_response.rbs +559 -0
- data/sig/sentdm/models/profile_update_params.rbs +263 -12
- data/sig/sentdm/models/profile_update_response.rbs +559 -0
- data/sig/sentdm/models/profiles/campaign_create_params.rbs +108 -4
- data/sig/sentdm/models/profiles/campaign_create_response.rbs +357 -0
- data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
- data/sig/sentdm/models/profiles/campaign_list_response.rbs +357 -0
- data/sig/sentdm/models/profiles/campaign_update_params.rbs +108 -4
- data/sig/sentdm/models/profiles/campaign_update_response.rbs +357 -0
- data/sig/sentdm/models/template_create_response.rbs +182 -0
- data/sig/sentdm/models/template_event.rbs +39 -0
- data/sig/sentdm/models/template_event_payload.rbs +76 -0
- data/sig/sentdm/models/template_list_response.rbs +230 -19
- data/sig/sentdm/models/template_retrieve_response.rbs +182 -0
- data/sig/sentdm/models/template_update_response.rbs +182 -0
- data/sig/sentdm/models/user_invite_response.rbs +177 -0
- data/sig/sentdm/models/user_list_response.rbs +233 -15
- data/sig/sentdm/models/user_remove_params.rbs +10 -6
- data/sig/sentdm/models/user_retrieve_response.rbs +177 -0
- data/sig/sentdm/models/user_update_role_response.rbs +177 -0
- data/sig/sentdm/models/webhook_create_response.rbs +208 -0
- data/sig/sentdm/models/webhook_list_event_types_response.rbs +203 -15
- data/sig/sentdm/models/webhook_list_events_response.rbs +160 -19
- data/sig/sentdm/models/webhook_list_response.rbs +255 -20
- data/sig/sentdm/models/webhook_retrieve_response.rbs +208 -0
- data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
- data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
- data/sig/sentdm/models/webhook_test_response.rbs +71 -9
- data/sig/sentdm/models/webhook_toggle_status_response.rbs +208 -0
- data/sig/sentdm/models/webhook_update_response.rbs +208 -0
- data/sig/sentdm/models.rbs +11 -51
- data/sig/sentdm/resources/contacts.rbs +4 -4
- data/sig/sentdm/resources/conversations.rbs +2 -2
- data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
- data/sig/sentdm/resources/profiles.rbs +11 -11
- data/sig/sentdm/resources/templates.rbs +3 -3
- data/sig/sentdm/resources/users.rbs +3 -3
- data/sig/sentdm/resources/webhooks.rbs +4 -4
- metadata +86 -98
- data/lib/sentdm/models/api_meta.rb +0 -34
- data/lib/sentdm/models/api_response_of_contact.rb +0 -46
- data/lib/sentdm/models/api_response_of_contact_message_summary.rb +0 -43
- data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -43
- data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
- data/lib/sentdm/models/api_response_of_user.rb +0 -43
- data/lib/sentdm/models/api_response_template.rb +0 -43
- data/lib/sentdm/models/api_response_webhook.rb +0 -43
- data/lib/sentdm/models/billing_contact_info.rb +0 -47
- data/lib/sentdm/models/brand_business_info.rb +0 -114
- data/lib/sentdm/models/brand_compliance_info.rb +0 -67
- data/lib/sentdm/models/brand_contact_info.rb +0 -58
- data/lib/sentdm/models/brands_brand_data.rb +0 -34
- data/lib/sentdm/models/contact_message_summary.rb +0 -76
- data/lib/sentdm/models/contact_response.rb +0 -126
- data/lib/sentdm/models/conversation_messages_list.rb +0 -245
- data/lib/sentdm/models/error_detail.rb +0 -42
- data/lib/sentdm/models/mutation_request.rb +0 -20
- data/lib/sentdm/models/pagination_meta.rb +0 -80
- data/lib/sentdm/models/payment_details.rb +0 -44
- data/lib/sentdm/models/profile_detail.rb +0 -597
- data/lib/sentdm/models/profile_settings.rb +0 -66
- data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +0 -45
- data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +0 -45
- data/lib/sentdm/models/profiles/brand_campaign.rb +0 -247
- data/lib/sentdm/models/profiles/campaign_data.rb +0 -130
- data/lib/sentdm/models/profiles/campaign_use_case.rb +0 -71
- data/lib/sentdm/models/profiles/campaign_use_case_data.rb +0 -29
- data/lib/sentdm/models/template.rb +0 -90
- data/lib/sentdm/models/user_response.rb +0 -82
- data/lib/sentdm/models/webhook_event_type.rb +0 -45
- data/lib/sentdm/models/webhook_response.rb +0 -95
- data/rbi/sentdm/models/api_meta.rbi +0 -55
- data/rbi/sentdm/models/api_response_of_contact.rbi +0 -74
- data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +0 -79
- data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +0 -79
- data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
- data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
- data/rbi/sentdm/models/api_response_template.rbi +0 -74
- data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
- data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
- data/rbi/sentdm/models/brand_business_info.rbi +0 -162
- data/rbi/sentdm/models/brand_compliance_info.rbi +0 -84
- data/rbi/sentdm/models/brand_contact_info.rbi +0 -78
- data/rbi/sentdm/models/brands_brand_data.rbi +0 -65
- data/rbi/sentdm/models/contact_message_summary.rbi +0 -144
- data/rbi/sentdm/models/contact_response.rbi +0 -183
- data/rbi/sentdm/models/conversation_messages_list.rbi +0 -419
- data/rbi/sentdm/models/error_detail.rbi +0 -66
- data/rbi/sentdm/models/mutation_request.rbi +0 -32
- data/rbi/sentdm/models/pagination_meta.rbi +0 -135
- data/rbi/sentdm/models/payment_details.rbi +0 -59
- data/rbi/sentdm/models/profile_detail.rbi +0 -866
- data/rbi/sentdm/models/profile_settings.rbi +0 -86
- data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +0 -81
- data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +0 -76
- data/rbi/sentdm/models/profiles/brand_campaign.rbi +0 -299
- data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -146
- data/rbi/sentdm/models/profiles/campaign_use_case.rbi +0 -110
- data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +0 -51
- data/rbi/sentdm/models/template.rbi +0 -129
- data/rbi/sentdm/models/user_response.rbi +0 -118
- data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
- data/rbi/sentdm/models/webhook_response.rbi +0 -140
- data/sig/sentdm/models/api_meta.rbs +0 -27
- data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
- data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +0 -39
- data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +0 -39
- data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
- data/sig/sentdm/models/api_response_of_user.rbs +0 -39
- data/sig/sentdm/models/api_response_template.rbs +0 -39
- data/sig/sentdm/models/api_response_webhook.rbs +0 -39
- data/sig/sentdm/models/billing_contact_info.rbs +0 -30
- data/sig/sentdm/models/brand_business_info.rbs +0 -89
- data/sig/sentdm/models/brand_compliance_info.rbs +0 -50
- data/sig/sentdm/models/brand_contact_info.rbs +0 -45
- data/sig/sentdm/models/brands_brand_data.rbs +0 -30
- data/sig/sentdm/models/contact_message_summary.rbs +0 -84
- data/sig/sentdm/models/contact_response.rbs +0 -111
- data/sig/sentdm/models/conversation_messages_list.rbs +0 -240
- data/sig/sentdm/models/error_detail.rbs +0 -39
- data/sig/sentdm/models/mutation_request.rbs +0 -15
- data/sig/sentdm/models/pagination_meta.rbs +0 -67
- data/sig/sentdm/models/payment_details.rbs +0 -30
- data/sig/sentdm/models/profile_detail.rbs +0 -469
- data/sig/sentdm/models/profile_settings.rbs +0 -50
- data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +0 -41
- data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +0 -41
- data/sig/sentdm/models/profiles/brand_campaign.rbs +0 -194
- data/sig/sentdm/models/profiles/campaign_data.rbs +0 -87
- data/sig/sentdm/models/profiles/campaign_use_case.rbs +0 -66
- data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +0 -27
- data/sig/sentdm/models/template.rbs +0 -79
- data/sig/sentdm/models/user_response.rbs +0 -72
- data/sig/sentdm/models/webhook_event_type.rbs +0 -51
- data/sig/sentdm/models/webhook_response.rbs +0 -103
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# typed: strong
|
|
2
|
-
|
|
3
|
-
module Sentdm
|
|
4
|
-
module Models
|
|
5
|
-
class ProfileSettings < Sentdm::Internal::Type::BaseModel
|
|
6
|
-
OrHash =
|
|
7
|
-
T.type_alias do
|
|
8
|
-
T.any(Sentdm::ProfileSettings, Sentdm::Internal::AnyHash)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
# Whether contacts are shared across profiles in the organization
|
|
12
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
13
|
-
attr_accessor :allow_contact_sharing
|
|
14
|
-
|
|
15
|
-
# Whether templates are shared across profiles in the organization
|
|
16
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
17
|
-
attr_accessor :allow_template_sharing
|
|
18
|
-
|
|
19
|
-
# Billing model: profile, organization, or profile_and_organization
|
|
20
|
-
sig { returns(T.nilable(String)) }
|
|
21
|
-
attr_accessor :billing_model
|
|
22
|
-
|
|
23
|
-
# Whether this profile inherits contacts from the organization
|
|
24
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
25
|
-
attr_accessor :inherit_contacts
|
|
26
|
-
|
|
27
|
-
# Whether this profile inherits TCR brand from the organization
|
|
28
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
29
|
-
attr_accessor :inherit_tcr_brand
|
|
30
|
-
|
|
31
|
-
# Whether this profile inherits TCR campaign from the organization
|
|
32
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
33
|
-
attr_accessor :inherit_tcr_campaign
|
|
34
|
-
|
|
35
|
-
# Whether this profile inherits templates from the organization
|
|
36
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
37
|
-
attr_accessor :inherit_templates
|
|
38
|
-
|
|
39
|
-
# Profile configuration settings
|
|
40
|
-
sig do
|
|
41
|
-
params(
|
|
42
|
-
allow_contact_sharing: T.nilable(T::Boolean),
|
|
43
|
-
allow_template_sharing: T.nilable(T::Boolean),
|
|
44
|
-
billing_model: T.nilable(String),
|
|
45
|
-
inherit_contacts: T.nilable(T::Boolean),
|
|
46
|
-
inherit_tcr_brand: T.nilable(T::Boolean),
|
|
47
|
-
inherit_tcr_campaign: T.nilable(T::Boolean),
|
|
48
|
-
inherit_templates: T.nilable(T::Boolean)
|
|
49
|
-
).returns(T.attached_class)
|
|
50
|
-
end
|
|
51
|
-
def self.new(
|
|
52
|
-
# Whether contacts are shared across profiles in the organization
|
|
53
|
-
allow_contact_sharing: nil,
|
|
54
|
-
# Whether templates are shared across profiles in the organization
|
|
55
|
-
allow_template_sharing: nil,
|
|
56
|
-
# Billing model: profile, organization, or profile_and_organization
|
|
57
|
-
billing_model: nil,
|
|
58
|
-
# Whether this profile inherits contacts from the organization
|
|
59
|
-
inherit_contacts: nil,
|
|
60
|
-
# Whether this profile inherits TCR brand from the organization
|
|
61
|
-
inherit_tcr_brand: nil,
|
|
62
|
-
# Whether this profile inherits TCR campaign from the organization
|
|
63
|
-
inherit_tcr_campaign: nil,
|
|
64
|
-
# Whether this profile inherits templates from the organization
|
|
65
|
-
inherit_templates: nil
|
|
66
|
-
)
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
sig do
|
|
70
|
-
override.returns(
|
|
71
|
-
{
|
|
72
|
-
allow_contact_sharing: T.nilable(T::Boolean),
|
|
73
|
-
allow_template_sharing: T.nilable(T::Boolean),
|
|
74
|
-
billing_model: T.nilable(String),
|
|
75
|
-
inherit_contacts: T.nilable(T::Boolean),
|
|
76
|
-
inherit_tcr_brand: T.nilable(T::Boolean),
|
|
77
|
-
inherit_tcr_campaign: T.nilable(T::Boolean),
|
|
78
|
-
inherit_templates: T.nilable(T::Boolean)
|
|
79
|
-
}
|
|
80
|
-
)
|
|
81
|
-
end
|
|
82
|
-
def to_hash
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
end
|
|
86
|
-
end
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# typed: strong
|
|
2
|
-
|
|
3
|
-
module Sentdm
|
|
4
|
-
module Models
|
|
5
|
-
module Profiles
|
|
6
|
-
class APIResponseOfBrandCampaign < Sentdm::Internal::Type::BaseModel
|
|
7
|
-
OrHash =
|
|
8
|
-
T.type_alias do
|
|
9
|
-
T.any(
|
|
10
|
-
Sentdm::Profiles::APIResponseOfBrandCampaign,
|
|
11
|
-
Sentdm::Internal::AnyHash
|
|
12
|
-
)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
# A 10DLC campaign registered for a brand.
|
|
16
|
-
sig { returns(T.nilable(Sentdm::Profiles::BrandCampaign)) }
|
|
17
|
-
attr_reader :data
|
|
18
|
-
|
|
19
|
-
sig do
|
|
20
|
-
params(data: T.nilable(Sentdm::Profiles::BrandCampaign::OrHash)).void
|
|
21
|
-
end
|
|
22
|
-
attr_writer :data
|
|
23
|
-
|
|
24
|
-
# Error information
|
|
25
|
-
sig { returns(T.nilable(Sentdm::ErrorDetail)) }
|
|
26
|
-
attr_reader :error
|
|
27
|
-
|
|
28
|
-
sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
|
|
29
|
-
attr_writer :error
|
|
30
|
-
|
|
31
|
-
# Request and response metadata
|
|
32
|
-
sig { returns(T.nilable(Sentdm::APIMeta)) }
|
|
33
|
-
attr_reader :meta
|
|
34
|
-
|
|
35
|
-
sig { params(meta: Sentdm::APIMeta::OrHash).void }
|
|
36
|
-
attr_writer :meta
|
|
37
|
-
|
|
38
|
-
# Indicates whether the request was successful
|
|
39
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
40
|
-
attr_reader :success
|
|
41
|
-
|
|
42
|
-
sig { params(success: T::Boolean).void }
|
|
43
|
-
attr_writer :success
|
|
44
|
-
|
|
45
|
-
# Standard API response envelope for all v3 endpoints
|
|
46
|
-
sig do
|
|
47
|
-
params(
|
|
48
|
-
data: T.nilable(Sentdm::Profiles::BrandCampaign::OrHash),
|
|
49
|
-
error: T.nilable(Sentdm::ErrorDetail::OrHash),
|
|
50
|
-
meta: Sentdm::APIMeta::OrHash,
|
|
51
|
-
success: T::Boolean
|
|
52
|
-
).returns(T.attached_class)
|
|
53
|
-
end
|
|
54
|
-
def self.new(
|
|
55
|
-
# A 10DLC campaign registered for a brand.
|
|
56
|
-
data: nil,
|
|
57
|
-
# Error information
|
|
58
|
-
error: nil,
|
|
59
|
-
# Request and response metadata
|
|
60
|
-
meta: nil,
|
|
61
|
-
# Indicates whether the request was successful
|
|
62
|
-
success: nil
|
|
63
|
-
)
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
sig do
|
|
67
|
-
override.returns(
|
|
68
|
-
{
|
|
69
|
-
data: T.nilable(Sentdm::Profiles::BrandCampaign),
|
|
70
|
-
error: T.nilable(Sentdm::ErrorDetail),
|
|
71
|
-
meta: Sentdm::APIMeta,
|
|
72
|
-
success: T::Boolean
|
|
73
|
-
}
|
|
74
|
-
)
|
|
75
|
-
end
|
|
76
|
-
def to_hash
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
end
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# typed: strong
|
|
2
|
-
|
|
3
|
-
module Sentdm
|
|
4
|
-
module Models
|
|
5
|
-
module Profiles
|
|
6
|
-
class APIResponseOfListOfBrandCampaign < Sentdm::Internal::Type::BaseModel
|
|
7
|
-
OrHash =
|
|
8
|
-
T.type_alias do
|
|
9
|
-
T.any(
|
|
10
|
-
Sentdm::Profiles::APIResponseOfListOfBrandCampaign,
|
|
11
|
-
Sentdm::Internal::AnyHash
|
|
12
|
-
)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
# The response data (null if error)
|
|
16
|
-
sig { returns(T.nilable(T::Array[Sentdm::Profiles::BrandCampaign])) }
|
|
17
|
-
attr_accessor :data
|
|
18
|
-
|
|
19
|
-
# Error information
|
|
20
|
-
sig { returns(T.nilable(Sentdm::ErrorDetail)) }
|
|
21
|
-
attr_reader :error
|
|
22
|
-
|
|
23
|
-
sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
|
|
24
|
-
attr_writer :error
|
|
25
|
-
|
|
26
|
-
# Request and response metadata
|
|
27
|
-
sig { returns(T.nilable(Sentdm::APIMeta)) }
|
|
28
|
-
attr_reader :meta
|
|
29
|
-
|
|
30
|
-
sig { params(meta: Sentdm::APIMeta::OrHash).void }
|
|
31
|
-
attr_writer :meta
|
|
32
|
-
|
|
33
|
-
# Indicates whether the request was successful
|
|
34
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
35
|
-
attr_reader :success
|
|
36
|
-
|
|
37
|
-
sig { params(success: T::Boolean).void }
|
|
38
|
-
attr_writer :success
|
|
39
|
-
|
|
40
|
-
# Standard API response envelope for all v3 endpoints
|
|
41
|
-
sig do
|
|
42
|
-
params(
|
|
43
|
-
data: T.nilable(T::Array[Sentdm::Profiles::BrandCampaign::OrHash]),
|
|
44
|
-
error: T.nilable(Sentdm::ErrorDetail::OrHash),
|
|
45
|
-
meta: Sentdm::APIMeta::OrHash,
|
|
46
|
-
success: T::Boolean
|
|
47
|
-
).returns(T.attached_class)
|
|
48
|
-
end
|
|
49
|
-
def self.new(
|
|
50
|
-
# The response data (null if error)
|
|
51
|
-
data: nil,
|
|
52
|
-
# Error information
|
|
53
|
-
error: nil,
|
|
54
|
-
# Request and response metadata
|
|
55
|
-
meta: nil,
|
|
56
|
-
# Indicates whether the request was successful
|
|
57
|
-
success: nil
|
|
58
|
-
)
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
sig do
|
|
62
|
-
override.returns(
|
|
63
|
-
{
|
|
64
|
-
data: T.nilable(T::Array[Sentdm::Profiles::BrandCampaign]),
|
|
65
|
-
error: T.nilable(Sentdm::ErrorDetail),
|
|
66
|
-
meta: Sentdm::APIMeta,
|
|
67
|
-
success: T::Boolean
|
|
68
|
-
}
|
|
69
|
-
)
|
|
70
|
-
end
|
|
71
|
-
def to_hash
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
end
|
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
# typed: strong
|
|
2
|
-
|
|
3
|
-
module Sentdm
|
|
4
|
-
module Models
|
|
5
|
-
module Profiles
|
|
6
|
-
class BrandCampaign < Sentdm::Internal::Type::BaseModel
|
|
7
|
-
OrHash =
|
|
8
|
-
T.type_alias do
|
|
9
|
-
T.any(Sentdm::Profiles::BrandCampaign, Sentdm::Internal::AnyHash)
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
sig { returns(T.nilable(String)) }
|
|
13
|
-
attr_reader :id
|
|
14
|
-
|
|
15
|
-
sig { params(id: String).void }
|
|
16
|
-
attr_writer :id
|
|
17
|
-
|
|
18
|
-
sig { returns(T.nilable(Time)) }
|
|
19
|
-
attr_accessor :billed_date
|
|
20
|
-
|
|
21
|
-
sig { returns(T.nilable(String)) }
|
|
22
|
-
attr_accessor :brand_id
|
|
23
|
-
|
|
24
|
-
sig { returns(T.nilable(Float)) }
|
|
25
|
-
attr_accessor :cost
|
|
26
|
-
|
|
27
|
-
sig { returns(T.nilable(Time)) }
|
|
28
|
-
attr_reader :created_at
|
|
29
|
-
|
|
30
|
-
sig { params(created_at: Time).void }
|
|
31
|
-
attr_writer :created_at
|
|
32
|
-
|
|
33
|
-
sig { returns(T.nilable(String)) }
|
|
34
|
-
attr_reader :customer_id
|
|
35
|
-
|
|
36
|
-
sig { params(customer_id: String).void }
|
|
37
|
-
attr_writer :customer_id
|
|
38
|
-
|
|
39
|
-
# True once every carrier has completed its DCA election and the campaign is
|
|
40
|
-
# operationally ready for traffic.
|
|
41
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
42
|
-
attr_accessor :dca_elections_complete
|
|
43
|
-
|
|
44
|
-
sig { returns(T.nilable(Time)) }
|
|
45
|
-
attr_accessor :dca_elections_completed_at
|
|
46
|
-
|
|
47
|
-
sig { returns(T.nilable(String)) }
|
|
48
|
-
attr_reader :description
|
|
49
|
-
|
|
50
|
-
sig { params(description: String).void }
|
|
51
|
-
attr_writer :description
|
|
52
|
-
|
|
53
|
-
# True when the one-time campaign submission fee has already been charged.
|
|
54
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
55
|
-
attr_reader :has_submission_transaction
|
|
56
|
-
|
|
57
|
-
sig { params(has_submission_transaction: T::Boolean).void }
|
|
58
|
-
attr_writer :has_submission_transaction
|
|
59
|
-
|
|
60
|
-
sig { returns(T.nilable(String)) }
|
|
61
|
-
attr_accessor :help_keywords
|
|
62
|
-
|
|
63
|
-
sig { returns(T.nilable(String)) }
|
|
64
|
-
attr_accessor :help_message
|
|
65
|
-
|
|
66
|
-
sig { returns(T.nilable(String)) }
|
|
67
|
-
attr_accessor :message_flow
|
|
68
|
-
|
|
69
|
-
sig { returns(T.nilable(String)) }
|
|
70
|
-
attr_reader :name
|
|
71
|
-
|
|
72
|
-
sig { params(name: String).void }
|
|
73
|
-
attr_writer :name
|
|
74
|
-
|
|
75
|
-
sig { returns(T.nilable(String)) }
|
|
76
|
-
attr_accessor :optin_keywords
|
|
77
|
-
|
|
78
|
-
sig { returns(T.nilable(String)) }
|
|
79
|
-
attr_accessor :optin_message
|
|
80
|
-
|
|
81
|
-
sig { returns(T.nilable(String)) }
|
|
82
|
-
attr_accessor :optout_keywords
|
|
83
|
-
|
|
84
|
-
sig { returns(T.nilable(String)) }
|
|
85
|
-
attr_accessor :optout_message
|
|
86
|
-
|
|
87
|
-
sig { returns(T.nilable(String)) }
|
|
88
|
-
attr_accessor :privacy_policy_link
|
|
89
|
-
|
|
90
|
-
sig do
|
|
91
|
-
returns(
|
|
92
|
-
T.nilable(Sentdm::Profiles::BrandCampaign::Status::TaggedSymbol)
|
|
93
|
-
)
|
|
94
|
-
end
|
|
95
|
-
attr_accessor :status
|
|
96
|
-
|
|
97
|
-
sig { returns(T.nilable(Time)) }
|
|
98
|
-
attr_accessor :submitted_at
|
|
99
|
-
|
|
100
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
101
|
-
attr_reader :submitted_to_tcr
|
|
102
|
-
|
|
103
|
-
sig { params(submitted_to_tcr: T::Boolean).void }
|
|
104
|
-
attr_writer :submitted_to_tcr
|
|
105
|
-
|
|
106
|
-
# The Campaign Registry identifier, once the campaign has been accepted.
|
|
107
|
-
sig { returns(T.nilable(String)) }
|
|
108
|
-
attr_accessor :tcr_campaign_id
|
|
109
|
-
|
|
110
|
-
# Surfaced so customers can see why a submission did not reach the registry.
|
|
111
|
-
sig { returns(T.nilable(String)) }
|
|
112
|
-
attr_accessor :tcr_sync_error
|
|
113
|
-
|
|
114
|
-
sig { returns(T.nilable(String)) }
|
|
115
|
-
attr_accessor :terms_and_conditions_link
|
|
116
|
-
|
|
117
|
-
# Campaign type (for example KYC or App).
|
|
118
|
-
sig { returns(T.nilable(String)) }
|
|
119
|
-
attr_reader :type
|
|
120
|
-
|
|
121
|
-
sig { params(type: String).void }
|
|
122
|
-
attr_writer :type
|
|
123
|
-
|
|
124
|
-
sig { returns(T.nilable(Time)) }
|
|
125
|
-
attr_accessor :updated_at
|
|
126
|
-
|
|
127
|
-
sig { returns(T.nilable(T::Array[Sentdm::Profiles::CampaignUseCase])) }
|
|
128
|
-
attr_reader :use_cases
|
|
129
|
-
|
|
130
|
-
sig do
|
|
131
|
-
params(
|
|
132
|
-
use_cases: T::Array[Sentdm::Profiles::CampaignUseCase::OrHash]
|
|
133
|
-
).void
|
|
134
|
-
end
|
|
135
|
-
attr_writer :use_cases
|
|
136
|
-
|
|
137
|
-
# Expected messaging volume for this campaign — customer-supplied on
|
|
138
|
-
# create/update, and the input to both the TCR usecase classification (LOW_VOLUME
|
|
139
|
-
# vs MIXED/specific) and the campaign fee tier. Surfaced so customers can read
|
|
140
|
-
# back the value they set.
|
|
141
|
-
sig { returns(T.nilable(String)) }
|
|
142
|
-
attr_accessor :volume
|
|
143
|
-
|
|
144
|
-
# A 10DLC campaign registered for a brand.
|
|
145
|
-
sig do
|
|
146
|
-
params(
|
|
147
|
-
id: String,
|
|
148
|
-
billed_date: T.nilable(Time),
|
|
149
|
-
brand_id: T.nilable(String),
|
|
150
|
-
cost: T.nilable(Float),
|
|
151
|
-
created_at: Time,
|
|
152
|
-
customer_id: String,
|
|
153
|
-
dca_elections_complete: T.nilable(T::Boolean),
|
|
154
|
-
dca_elections_completed_at: T.nilable(Time),
|
|
155
|
-
description: String,
|
|
156
|
-
has_submission_transaction: T::Boolean,
|
|
157
|
-
help_keywords: T.nilable(String),
|
|
158
|
-
help_message: T.nilable(String),
|
|
159
|
-
message_flow: T.nilable(String),
|
|
160
|
-
name: String,
|
|
161
|
-
optin_keywords: T.nilable(String),
|
|
162
|
-
optin_message: T.nilable(String),
|
|
163
|
-
optout_keywords: T.nilable(String),
|
|
164
|
-
optout_message: T.nilable(String),
|
|
165
|
-
privacy_policy_link: T.nilable(String),
|
|
166
|
-
status:
|
|
167
|
-
T.nilable(Sentdm::Profiles::BrandCampaign::Status::OrSymbol),
|
|
168
|
-
submitted_at: T.nilable(Time),
|
|
169
|
-
submitted_to_tcr: T::Boolean,
|
|
170
|
-
tcr_campaign_id: T.nilable(String),
|
|
171
|
-
tcr_sync_error: T.nilable(String),
|
|
172
|
-
terms_and_conditions_link: T.nilable(String),
|
|
173
|
-
type: String,
|
|
174
|
-
updated_at: T.nilable(Time),
|
|
175
|
-
use_cases: T::Array[Sentdm::Profiles::CampaignUseCase::OrHash],
|
|
176
|
-
volume: T.nilable(String)
|
|
177
|
-
).returns(T.attached_class)
|
|
178
|
-
end
|
|
179
|
-
def self.new(
|
|
180
|
-
id: nil,
|
|
181
|
-
billed_date: nil,
|
|
182
|
-
brand_id: nil,
|
|
183
|
-
cost: nil,
|
|
184
|
-
created_at: nil,
|
|
185
|
-
customer_id: nil,
|
|
186
|
-
# True once every carrier has completed its DCA election and the campaign is
|
|
187
|
-
# operationally ready for traffic.
|
|
188
|
-
dca_elections_complete: nil,
|
|
189
|
-
dca_elections_completed_at: nil,
|
|
190
|
-
description: nil,
|
|
191
|
-
# True when the one-time campaign submission fee has already been charged.
|
|
192
|
-
has_submission_transaction: nil,
|
|
193
|
-
help_keywords: nil,
|
|
194
|
-
help_message: nil,
|
|
195
|
-
message_flow: nil,
|
|
196
|
-
name: nil,
|
|
197
|
-
optin_keywords: nil,
|
|
198
|
-
optin_message: nil,
|
|
199
|
-
optout_keywords: nil,
|
|
200
|
-
optout_message: nil,
|
|
201
|
-
privacy_policy_link: nil,
|
|
202
|
-
status: nil,
|
|
203
|
-
submitted_at: nil,
|
|
204
|
-
submitted_to_tcr: nil,
|
|
205
|
-
# The Campaign Registry identifier, once the campaign has been accepted.
|
|
206
|
-
tcr_campaign_id: nil,
|
|
207
|
-
# Surfaced so customers can see why a submission did not reach the registry.
|
|
208
|
-
tcr_sync_error: nil,
|
|
209
|
-
terms_and_conditions_link: nil,
|
|
210
|
-
# Campaign type (for example KYC or App).
|
|
211
|
-
type: nil,
|
|
212
|
-
updated_at: nil,
|
|
213
|
-
use_cases: nil,
|
|
214
|
-
# Expected messaging volume for this campaign — customer-supplied on
|
|
215
|
-
# create/update, and the input to both the TCR usecase classification (LOW_VOLUME
|
|
216
|
-
# vs MIXED/specific) and the campaign fee tier. Surfaced so customers can read
|
|
217
|
-
# back the value they set.
|
|
218
|
-
volume: nil
|
|
219
|
-
)
|
|
220
|
-
end
|
|
221
|
-
|
|
222
|
-
sig do
|
|
223
|
-
override.returns(
|
|
224
|
-
{
|
|
225
|
-
id: String,
|
|
226
|
-
billed_date: T.nilable(Time),
|
|
227
|
-
brand_id: T.nilable(String),
|
|
228
|
-
cost: T.nilable(Float),
|
|
229
|
-
created_at: Time,
|
|
230
|
-
customer_id: String,
|
|
231
|
-
dca_elections_complete: T.nilable(T::Boolean),
|
|
232
|
-
dca_elections_completed_at: T.nilable(Time),
|
|
233
|
-
description: String,
|
|
234
|
-
has_submission_transaction: T::Boolean,
|
|
235
|
-
help_keywords: T.nilable(String),
|
|
236
|
-
help_message: T.nilable(String),
|
|
237
|
-
message_flow: T.nilable(String),
|
|
238
|
-
name: String,
|
|
239
|
-
optin_keywords: T.nilable(String),
|
|
240
|
-
optin_message: T.nilable(String),
|
|
241
|
-
optout_keywords: T.nilable(String),
|
|
242
|
-
optout_message: T.nilable(String),
|
|
243
|
-
privacy_policy_link: T.nilable(String),
|
|
244
|
-
status:
|
|
245
|
-
T.nilable(
|
|
246
|
-
Sentdm::Profiles::BrandCampaign::Status::TaggedSymbol
|
|
247
|
-
),
|
|
248
|
-
submitted_at: T.nilable(Time),
|
|
249
|
-
submitted_to_tcr: T::Boolean,
|
|
250
|
-
tcr_campaign_id: T.nilable(String),
|
|
251
|
-
tcr_sync_error: T.nilable(String),
|
|
252
|
-
terms_and_conditions_link: T.nilable(String),
|
|
253
|
-
type: String,
|
|
254
|
-
updated_at: T.nilable(Time),
|
|
255
|
-
use_cases: T::Array[Sentdm::Profiles::CampaignUseCase],
|
|
256
|
-
volume: T.nilable(String)
|
|
257
|
-
}
|
|
258
|
-
)
|
|
259
|
-
end
|
|
260
|
-
def to_hash
|
|
261
|
-
end
|
|
262
|
-
|
|
263
|
-
module Status
|
|
264
|
-
extend Sentdm::Internal::Type::Enum
|
|
265
|
-
|
|
266
|
-
TaggedSymbol =
|
|
267
|
-
T.type_alias do
|
|
268
|
-
T.all(Symbol, Sentdm::Profiles::BrandCampaign::Status)
|
|
269
|
-
end
|
|
270
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
271
|
-
|
|
272
|
-
SENT_CREATED =
|
|
273
|
-
T.let(
|
|
274
|
-
:SENT_CREATED,
|
|
275
|
-
Sentdm::Profiles::BrandCampaign::Status::TaggedSymbol
|
|
276
|
-
)
|
|
277
|
-
ACTIVE =
|
|
278
|
-
T.let(
|
|
279
|
-
:ACTIVE,
|
|
280
|
-
Sentdm::Profiles::BrandCampaign::Status::TaggedSymbol
|
|
281
|
-
)
|
|
282
|
-
EXPIRED =
|
|
283
|
-
T.let(
|
|
284
|
-
:EXPIRED,
|
|
285
|
-
Sentdm::Profiles::BrandCampaign::Status::TaggedSymbol
|
|
286
|
-
)
|
|
287
|
-
|
|
288
|
-
sig do
|
|
289
|
-
override.returns(
|
|
290
|
-
T::Array[Sentdm::Profiles::BrandCampaign::Status::TaggedSymbol]
|
|
291
|
-
)
|
|
292
|
-
end
|
|
293
|
-
def self.values
|
|
294
|
-
end
|
|
295
|
-
end
|
|
296
|
-
end
|
|
297
|
-
end
|
|
298
|
-
end
|
|
299
|
-
end
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
# typed: strong
|
|
2
|
-
|
|
3
|
-
module Sentdm
|
|
4
|
-
module Models
|
|
5
|
-
module Profiles
|
|
6
|
-
class CampaignData < Sentdm::Internal::Type::BaseModel
|
|
7
|
-
OrHash =
|
|
8
|
-
T.type_alias do
|
|
9
|
-
T.any(Sentdm::Profiles::CampaignData, Sentdm::Internal::AnyHash)
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
# Campaign description
|
|
13
|
-
sig { returns(String) }
|
|
14
|
-
attr_accessor :description
|
|
15
|
-
|
|
16
|
-
# Campaign name
|
|
17
|
-
sig { returns(String) }
|
|
18
|
-
attr_accessor :name
|
|
19
|
-
|
|
20
|
-
# Campaign type (e.g., "KYC", "App")
|
|
21
|
-
sig { returns(String) }
|
|
22
|
-
attr_accessor :type
|
|
23
|
-
|
|
24
|
-
# List of use cases with sample messages
|
|
25
|
-
sig { returns(T::Array[Sentdm::Profiles::CampaignUseCaseData]) }
|
|
26
|
-
attr_accessor :use_cases
|
|
27
|
-
|
|
28
|
-
# Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
|
|
29
|
-
sig { returns(T.nilable(String)) }
|
|
30
|
-
attr_accessor :help_keywords
|
|
31
|
-
|
|
32
|
-
# Message sent when user requests help
|
|
33
|
-
sig { returns(T.nilable(String)) }
|
|
34
|
-
attr_accessor :help_message
|
|
35
|
-
|
|
36
|
-
# Description of how messages flow in the campaign
|
|
37
|
-
sig { returns(T.nilable(String)) }
|
|
38
|
-
attr_accessor :message_flow
|
|
39
|
-
|
|
40
|
-
# Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
|
|
41
|
-
sig { returns(T.nilable(String)) }
|
|
42
|
-
attr_accessor :optin_keywords
|
|
43
|
-
|
|
44
|
-
# Message sent when user opts in
|
|
45
|
-
sig { returns(T.nilable(String)) }
|
|
46
|
-
attr_accessor :optin_message
|
|
47
|
-
|
|
48
|
-
# Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
|
|
49
|
-
sig { returns(T.nilable(String)) }
|
|
50
|
-
attr_accessor :optout_keywords
|
|
51
|
-
|
|
52
|
-
# Message sent when user opts out
|
|
53
|
-
sig { returns(T.nilable(String)) }
|
|
54
|
-
attr_accessor :optout_message
|
|
55
|
-
|
|
56
|
-
# URL to privacy policy
|
|
57
|
-
sig { returns(T.nilable(String)) }
|
|
58
|
-
attr_accessor :privacy_policy_link
|
|
59
|
-
|
|
60
|
-
# URL to terms and conditions
|
|
61
|
-
sig { returns(T.nilable(String)) }
|
|
62
|
-
attr_accessor :terms_and_conditions_link
|
|
63
|
-
|
|
64
|
-
# Expected messaging volume for this campaign. Numeric string (e.g. "1999",
|
|
65
|
-
# "5000"); values below 2000 bill at the low-volume tier.
|
|
66
|
-
sig { returns(T.nilable(String)) }
|
|
67
|
-
attr_accessor :volume
|
|
68
|
-
|
|
69
|
-
# Campaign data for create or update operation
|
|
70
|
-
sig do
|
|
71
|
-
params(
|
|
72
|
-
description: String,
|
|
73
|
-
name: String,
|
|
74
|
-
type: String,
|
|
75
|
-
use_cases: T::Array[Sentdm::Profiles::CampaignUseCaseData::OrHash],
|
|
76
|
-
help_keywords: T.nilable(String),
|
|
77
|
-
help_message: T.nilable(String),
|
|
78
|
-
message_flow: T.nilable(String),
|
|
79
|
-
optin_keywords: T.nilable(String),
|
|
80
|
-
optin_message: T.nilable(String),
|
|
81
|
-
optout_keywords: T.nilable(String),
|
|
82
|
-
optout_message: T.nilable(String),
|
|
83
|
-
privacy_policy_link: T.nilable(String),
|
|
84
|
-
terms_and_conditions_link: T.nilable(String),
|
|
85
|
-
volume: T.nilable(String)
|
|
86
|
-
).returns(T.attached_class)
|
|
87
|
-
end
|
|
88
|
-
def self.new(
|
|
89
|
-
# Campaign description
|
|
90
|
-
description:,
|
|
91
|
-
# Campaign name
|
|
92
|
-
name:,
|
|
93
|
-
# Campaign type (e.g., "KYC", "App")
|
|
94
|
-
type:,
|
|
95
|
-
# List of use cases with sample messages
|
|
96
|
-
use_cases:,
|
|
97
|
-
# Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
|
|
98
|
-
help_keywords: nil,
|
|
99
|
-
# Message sent when user requests help
|
|
100
|
-
help_message: nil,
|
|
101
|
-
# Description of how messages flow in the campaign
|
|
102
|
-
message_flow: nil,
|
|
103
|
-
# Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
|
|
104
|
-
optin_keywords: nil,
|
|
105
|
-
# Message sent when user opts in
|
|
106
|
-
optin_message: nil,
|
|
107
|
-
# Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
|
|
108
|
-
optout_keywords: nil,
|
|
109
|
-
# Message sent when user opts out
|
|
110
|
-
optout_message: nil,
|
|
111
|
-
# URL to privacy policy
|
|
112
|
-
privacy_policy_link: nil,
|
|
113
|
-
# URL to terms and conditions
|
|
114
|
-
terms_and_conditions_link: nil,
|
|
115
|
-
# Expected messaging volume for this campaign. Numeric string (e.g. "1999",
|
|
116
|
-
# "5000"); values below 2000 bill at the low-volume tier.
|
|
117
|
-
volume: nil
|
|
118
|
-
)
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
sig do
|
|
122
|
-
override.returns(
|
|
123
|
-
{
|
|
124
|
-
description: String,
|
|
125
|
-
name: String,
|
|
126
|
-
type: String,
|
|
127
|
-
use_cases: T::Array[Sentdm::Profiles::CampaignUseCaseData],
|
|
128
|
-
help_keywords: T.nilable(String),
|
|
129
|
-
help_message: T.nilable(String),
|
|
130
|
-
message_flow: T.nilable(String),
|
|
131
|
-
optin_keywords: T.nilable(String),
|
|
132
|
-
optin_message: T.nilable(String),
|
|
133
|
-
optout_keywords: T.nilable(String),
|
|
134
|
-
optout_message: T.nilable(String),
|
|
135
|
-
privacy_policy_link: T.nilable(String),
|
|
136
|
-
terms_and_conditions_link: T.nilable(String),
|
|
137
|
-
volume: T.nilable(String)
|
|
138
|
-
}
|
|
139
|
-
)
|
|
140
|
-
end
|
|
141
|
-
def to_hash
|
|
142
|
-
end
|
|
143
|
-
end
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
end
|