sentdm 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +9 -9
- data/lib/sentdm/client.rb +0 -1
- data/lib/sentdm/models/api_meta.rb +1 -9
- data/lib/sentdm/models/brand_data.rb +235 -198
- data/lib/sentdm/models/brand_with_kyc.rb +249 -214
- data/lib/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rb +0 -1
- data/lib/sentdm/models/contact_create_params.rb +13 -6
- data/lib/sentdm/models/contact_delete_params.rb +8 -1
- data/lib/sentdm/models/contact_list_params.rb +10 -2
- data/lib/sentdm/models/contact_retrieve_params.rb +7 -1
- data/lib/sentdm/models/contact_update_params.rb +13 -6
- data/lib/sentdm/models/me_retrieve_params.rb +7 -1
- data/lib/sentdm/models/me_retrieve_response.rb +152 -7
- data/lib/sentdm/models/message_retrieve_activities_params.rb +7 -1
- data/lib/sentdm/models/message_retrieve_activities_response.rb +19 -5
- data/lib/sentdm/models/message_retrieve_status_params.rb +7 -1
- data/lib/sentdm/models/message_retrieve_status_response.rb +8 -1
- data/lib/sentdm/models/message_send_params.rb +17 -10
- data/lib/sentdm/models/mutation_request.rb +6 -6
- data/lib/sentdm/models/profile_complete_params.rb +13 -6
- data/lib/sentdm/models/profile_create_params.rb +192 -10
- data/lib/sentdm/models/profile_delete_params.rb +18 -18
- data/lib/sentdm/models/profile_detail.rb +144 -95
- data/lib/sentdm/models/profile_list_params.rb +7 -1
- data/lib/sentdm/models/profile_retrieve_params.rb +7 -1
- data/lib/sentdm/models/profile_update_params.rb +142 -22
- data/lib/sentdm/models/template_create_params.rb +17 -10
- data/lib/sentdm/models/template_delete_params.rb +13 -6
- data/lib/sentdm/models/template_list_params.rb +18 -2
- data/lib/sentdm/models/template_retrieve_params.rb +7 -1
- data/lib/sentdm/models/template_update_params.rb +17 -10
- data/lib/sentdm/models/template_variable.rb +7 -1
- data/lib/sentdm/models/user_invite_params.rb +13 -6
- data/lib/sentdm/models/user_list_params.rb +7 -1
- data/lib/sentdm/models/user_remove_params.rb +17 -17
- data/lib/sentdm/models/user_retrieve_params.rb +7 -1
- data/lib/sentdm/models/user_update_role_params.rb +15 -16
- data/lib/sentdm/models/webhook_create_params.rb +13 -6
- data/lib/sentdm/models/webhook_delete_params.rb +7 -1
- data/lib/sentdm/models/webhook_list_event_types_params.rb +7 -1
- data/lib/sentdm/models/webhook_list_events_params.rb +7 -1
- data/lib/sentdm/models/webhook_list_params.rb +7 -1
- data/lib/sentdm/models/webhook_retrieve_params.rb +7 -1
- data/lib/sentdm/models/webhook_rotate_secret_params.rb +7 -1
- data/lib/sentdm/models/webhook_test_params.rb +13 -6
- data/lib/sentdm/models/webhook_toggle_status_params.rb +13 -6
- data/lib/sentdm/models/webhook_update_params.rb +13 -6
- data/lib/sentdm/models.rb +0 -12
- data/lib/sentdm/resources/brands/campaigns.rb +0 -129
- data/lib/sentdm/resources/brands.rb +0 -112
- data/lib/sentdm/resources/contacts.rb +43 -20
- data/lib/sentdm/resources/lookup.rb +0 -21
- data/lib/sentdm/resources/me.rb +24 -5
- data/lib/sentdm/resources/messages.rb +24 -8
- data/lib/sentdm/resources/profiles.rb +116 -32
- data/lib/sentdm/resources/templates.rb +47 -24
- data/lib/sentdm/resources/users.rb +40 -23
- data/lib/sentdm/resources/webhooks.rb +92 -34
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +1 -14
- data/rbi/sentdm/client.rbi +0 -1
- data/rbi/sentdm/models/api_meta.rbi +4 -18
- data/rbi/sentdm/models/brand_data.rbi +326 -203
- data/rbi/sentdm/models/brand_with_kyc.rbi +334 -216
- data/rbi/sentdm/models/brands/tcr_campaign_with_use_cases.rbi +6 -8
- data/rbi/sentdm/models/contact_create_params.rbi +19 -10
- data/rbi/sentdm/models/contact_delete_params.rbi +9 -0
- data/rbi/sentdm/models/contact_list_params.rbi +11 -0
- data/rbi/sentdm/models/contact_retrieve_params.rbi +13 -2
- data/rbi/sentdm/models/contact_update_params.rbi +19 -10
- data/rbi/sentdm/models/me_retrieve_params.rbi +16 -5
- data/rbi/sentdm/models/me_retrieve_response.rbi +316 -16
- data/rbi/sentdm/models/message_retrieve_activities_params.rbi +13 -2
- data/rbi/sentdm/models/message_retrieve_activities_response.rbi +18 -6
- data/rbi/sentdm/models/message_retrieve_status_params.rbi +13 -2
- data/rbi/sentdm/models/message_retrieve_status_response.rbi +6 -0
- data/rbi/sentdm/models/message_send_params.rbi +22 -13
- data/rbi/sentdm/models/mutation_request.rbi +10 -10
- data/rbi/sentdm/models/profile_complete_params.rbi +19 -10
- data/rbi/sentdm/models/profile_create_params.rbi +323 -15
- data/rbi/sentdm/models/profile_delete_params.rbi +36 -24
- data/rbi/sentdm/models/profile_detail.rbi +184 -128
- data/rbi/sentdm/models/profile_list_params.rbi +16 -5
- data/rbi/sentdm/models/profile_retrieve_params.rbi +13 -2
- data/rbi/sentdm/models/profile_update_params.rbi +231 -30
- data/rbi/sentdm/models/template_create_params.rbi +22 -13
- data/rbi/sentdm/models/template_delete_params.rbi +19 -10
- data/rbi/sentdm/models/template_list_params.rbi +19 -0
- data/rbi/sentdm/models/template_retrieve_params.rbi +13 -2
- data/rbi/sentdm/models/template_update_params.rbi +22 -13
- data/rbi/sentdm/models/template_variable.rbi +6 -0
- data/rbi/sentdm/models/user_invite_params.rbi +19 -10
- data/rbi/sentdm/models/user_list_params.rbi +16 -5
- data/rbi/sentdm/models/user_remove_params.rbi +35 -23
- data/rbi/sentdm/models/user_retrieve_params.rbi +13 -2
- data/rbi/sentdm/models/user_update_role_params.rbi +23 -25
- data/rbi/sentdm/models/webhook_create_params.rbi +19 -10
- data/rbi/sentdm/models/webhook_delete_params.rbi +13 -2
- data/rbi/sentdm/models/webhook_list_event_types_params.rbi +16 -5
- data/rbi/sentdm/models/webhook_list_events_params.rbi +16 -1
- data/rbi/sentdm/models/webhook_list_params.rbi +9 -0
- data/rbi/sentdm/models/webhook_retrieve_params.rbi +13 -2
- data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +15 -1
- data/rbi/sentdm/models/webhook_test_params.rbi +19 -10
- data/rbi/sentdm/models/webhook_toggle_status_params.rbi +19 -10
- data/rbi/sentdm/models/webhook_update_params.rbi +19 -10
- data/rbi/sentdm/models.rbi +0 -12
- data/rbi/sentdm/resources/brands/campaigns.rbi +0 -95
- data/rbi/sentdm/resources/brands.rbi +0 -80
- data/rbi/sentdm/resources/contacts.rbi +37 -12
- data/rbi/sentdm/resources/lookup.rbi +0 -12
- data/rbi/sentdm/resources/me.rbi +25 -7
- data/rbi/sentdm/resources/messages.rbi +17 -4
- data/rbi/sentdm/resources/profiles.rbi +178 -38
- data/rbi/sentdm/resources/templates.rbi +47 -19
- data/rbi/sentdm/resources/users.rbi +47 -25
- data/rbi/sentdm/resources/webhooks.rbi +92 -20
- data/sig/sentdm/models/api_meta.rbs +2 -16
- data/sig/sentdm/models/brand_data.rbs +188 -142
- data/sig/sentdm/models/brand_with_kyc.rbs +184 -133
- data/sig/sentdm/models/contact_create_params.rbs +16 -5
- data/sig/sentdm/models/contact_delete_params.rbs +11 -1
- data/sig/sentdm/models/contact_list_params.rbs +8 -1
- data/sig/sentdm/models/contact_retrieve_params.rbs +12 -2
- data/sig/sentdm/models/contact_update_params.rbs +13 -6
- data/sig/sentdm/models/me_retrieve_params.rbs +14 -3
- data/sig/sentdm/models/me_retrieve_response.rbs +134 -7
- data/sig/sentdm/models/message_retrieve_activities_params.rbs +12 -2
- data/sig/sentdm/models/message_retrieve_activities_response.rbs +9 -4
- data/sig/sentdm/models/message_retrieve_status_params.rbs +12 -2
- data/sig/sentdm/models/message_retrieve_status_response.rbs +5 -0
- data/sig/sentdm/models/message_send_params.rbs +15 -8
- data/sig/sentdm/models/mutation_request.rbs +5 -5
- data/sig/sentdm/models/profile_complete_params.rbs +13 -6
- data/sig/sentdm/models/profile_create_params.rbs +111 -7
- data/sig/sentdm/models/profile_delete_params.rbs +23 -13
- data/sig/sentdm/models/profile_detail.rbs +105 -84
- data/sig/sentdm/models/profile_list_params.rbs +14 -3
- data/sig/sentdm/models/profile_retrieve_params.rbs +8 -1
- data/sig/sentdm/models/profile_update_params.rbs +86 -17
- data/sig/sentdm/models/template_create_params.rbs +15 -8
- data/sig/sentdm/models/template_delete_params.rbs +16 -5
- data/sig/sentdm/models/template_list_params.rbs +13 -1
- data/sig/sentdm/models/template_retrieve_params.rbs +12 -2
- data/sig/sentdm/models/template_update_params.rbs +15 -8
- data/sig/sentdm/models/template_variable.rbs +5 -0
- data/sig/sentdm/models/user_invite_params.rbs +13 -6
- data/sig/sentdm/models/user_list_params.rbs +14 -3
- data/sig/sentdm/models/user_remove_params.rbs +23 -13
- data/sig/sentdm/models/user_retrieve_params.rbs +8 -1
- data/sig/sentdm/models/user_update_role_params.rbs +17 -17
- data/sig/sentdm/models/webhook_create_params.rbs +13 -6
- data/sig/sentdm/models/webhook_delete_params.rbs +12 -2
- data/sig/sentdm/models/webhook_list_event_types_params.rbs +13 -3
- data/sig/sentdm/models/webhook_list_events_params.rbs +13 -1
- data/sig/sentdm/models/webhook_list_params.rbs +13 -1
- data/sig/sentdm/models/webhook_retrieve_params.rbs +12 -2
- data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -1
- data/sig/sentdm/models/webhook_test_params.rbs +13 -6
- data/sig/sentdm/models/webhook_toggle_status_params.rbs +17 -5
- data/sig/sentdm/models/webhook_update_params.rbs +13 -6
- data/sig/sentdm/models.rbs +0 -12
- data/sig/sentdm/resources/brands/campaigns.rbs +0 -29
- data/sig/sentdm/resources/brands.rbs +0 -25
- data/sig/sentdm/resources/contacts.rbs +7 -2
- data/sig/sentdm/resources/lookup.rbs +0 -5
- data/sig/sentdm/resources/me.rbs +1 -0
- data/sig/sentdm/resources/messages.rbs +4 -1
- data/sig/sentdm/resources/profiles.rbs +19 -8
- data/sig/sentdm/resources/templates.rbs +9 -3
- data/sig/sentdm/resources/users.rbs +10 -7
- data/sig/sentdm/resources/webhooks.rbs +18 -5
- metadata +1 -40
- data/lib/sentdm/models/api_response_brand_with_kyc.rb +0 -43
- data/lib/sentdm/models/brand_create_params.rb +0 -41
- data/lib/sentdm/models/brand_delete_params.rb +0 -34
- data/lib/sentdm/models/brand_list_params.rb +0 -14
- data/lib/sentdm/models/brand_list_response.rb +0 -43
- data/lib/sentdm/models/brand_update_params.rb +0 -48
- data/lib/sentdm/models/brands/campaign_create_params.rb +0 -50
- data/lib/sentdm/models/brands/campaign_delete_params.rb +0 -43
- data/lib/sentdm/models/brands/campaign_list_params.rb +0 -22
- data/lib/sentdm/models/brands/campaign_list_response.rb +0 -47
- data/lib/sentdm/models/brands/campaign_update_params.rb +0 -57
- data/lib/sentdm/models/lookup_retrieve_phone_info_params.rb +0 -20
- data/lib/sentdm/models/lookup_retrieve_phone_info_response.rb +0 -104
- data/rbi/sentdm/models/api_response_brand_with_kyc.rbi +0 -74
- data/rbi/sentdm/models/brand_create_params.rbi +0 -68
- data/rbi/sentdm/models/brand_delete_params.rbi +0 -68
- data/rbi/sentdm/models/brand_list_params.rbi +0 -27
- data/rbi/sentdm/models/brand_list_response.rbi +0 -71
- data/rbi/sentdm/models/brand_update_params.rbi +0 -74
- data/rbi/sentdm/models/brands/campaign_create_params.rbi +0 -79
- data/rbi/sentdm/models/brands/campaign_delete_params.rbi +0 -84
- data/rbi/sentdm/models/brands/campaign_list_params.rbi +0 -37
- data/rbi/sentdm/models/brands/campaign_list_response.rbi +0 -82
- data/rbi/sentdm/models/brands/campaign_update_params.rbi +0 -85
- data/rbi/sentdm/models/lookup_retrieve_phone_info_params.rbi +0 -38
- data/rbi/sentdm/models/lookup_retrieve_phone_info_response.rbi +0 -183
- data/sig/sentdm/models/api_response_brand_with_kyc.rbs +0 -39
- data/sig/sentdm/models/brand_create_params.rbs +0 -36
- data/sig/sentdm/models/brand_delete_params.rbs +0 -36
- data/sig/sentdm/models/brand_list_params.rbs +0 -14
- data/sig/sentdm/models/brand_list_response.rbs +0 -39
- data/sig/sentdm/models/brand_update_params.rbs +0 -45
- data/sig/sentdm/models/brands/campaign_create_params.rbs +0 -47
- data/sig/sentdm/models/brands/campaign_delete_params.rbs +0 -46
- data/sig/sentdm/models/brands/campaign_list_params.rbs +0 -25
- data/sig/sentdm/models/brands/campaign_list_response.rbs +0 -41
- data/sig/sentdm/models/brands/campaign_update_params.rbs +0 -52
- data/sig/sentdm/models/lookup_retrieve_phone_info_params.rbs +0 -23
- data/sig/sentdm/models/lookup_retrieve_phone_info_response.rbs +0 -102
|
@@ -13,56 +13,34 @@ module Sentdm
|
|
|
13
13
|
sig { params(id: String).void }
|
|
14
14
|
attr_writer :id
|
|
15
15
|
|
|
16
|
-
#
|
|
17
|
-
sig { returns(T.nilable(Sentdm::
|
|
18
|
-
|
|
16
|
+
# Business details and address information
|
|
17
|
+
sig { returns(T.nilable(Sentdm::BrandWithKYC::Business)) }
|
|
18
|
+
attr_reader :business
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
# Business/brand name
|
|
25
|
-
sig { returns(T.nilable(String)) }
|
|
26
|
-
attr_accessor :business_name
|
|
27
|
-
|
|
28
|
-
# Contact's role in the business
|
|
29
|
-
sig { returns(T.nilable(String)) }
|
|
30
|
-
attr_accessor :business_role
|
|
31
|
-
|
|
32
|
-
# Business website URL
|
|
33
|
-
sig { returns(T.nilable(String)) }
|
|
34
|
-
attr_accessor :business_url
|
|
35
|
-
|
|
36
|
-
# City
|
|
37
|
-
sig { returns(T.nilable(String)) }
|
|
38
|
-
attr_accessor :city
|
|
39
|
-
|
|
40
|
-
# Contact email address
|
|
41
|
-
sig { returns(T.nilable(String)) }
|
|
42
|
-
attr_accessor :contact_email
|
|
43
|
-
|
|
44
|
-
# Primary contact name
|
|
45
|
-
sig { returns(T.nilable(String)) }
|
|
46
|
-
attr_reader :contact_name
|
|
47
|
-
|
|
48
|
-
sig { params(contact_name: String).void }
|
|
49
|
-
attr_writer :contact_name
|
|
20
|
+
sig do
|
|
21
|
+
params(business: T.nilable(Sentdm::BrandWithKYC::Business::OrHash)).void
|
|
22
|
+
end
|
|
23
|
+
attr_writer :business
|
|
50
24
|
|
|
51
|
-
#
|
|
52
|
-
sig { returns(T.nilable(
|
|
53
|
-
|
|
25
|
+
# Compliance and TCR-related information
|
|
26
|
+
sig { returns(T.nilable(Sentdm::BrandWithKYC::Compliance)) }
|
|
27
|
+
attr_reader :compliance
|
|
54
28
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
29
|
+
sig do
|
|
30
|
+
params(
|
|
31
|
+
compliance: T.nilable(Sentdm::BrandWithKYC::Compliance::OrHash)
|
|
32
|
+
).void
|
|
33
|
+
end
|
|
34
|
+
attr_writer :compliance
|
|
58
35
|
|
|
59
|
-
#
|
|
60
|
-
sig { returns(T.nilable(
|
|
61
|
-
|
|
36
|
+
# Contact information for the brand
|
|
37
|
+
sig { returns(T.nilable(Sentdm::BrandWithKYC::Contact)) }
|
|
38
|
+
attr_reader :contact
|
|
62
39
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
40
|
+
sig do
|
|
41
|
+
params(contact: T.nilable(Sentdm::BrandWithKYC::Contact::OrHash)).void
|
|
42
|
+
end
|
|
43
|
+
attr_writer :contact
|
|
66
44
|
|
|
67
45
|
# When the brand was created
|
|
68
46
|
sig { returns(T.nilable(Time)) }
|
|
@@ -75,92 +53,34 @@ module Sentdm
|
|
|
75
53
|
sig { returns(T.nilable(String)) }
|
|
76
54
|
attr_accessor :csp_id
|
|
77
55
|
|
|
78
|
-
# List of destination countries for messaging
|
|
79
|
-
sig { returns(T.nilable(T::Array[Sentdm::DestinationCountry])) }
|
|
80
|
-
attr_reader :destination_countries
|
|
81
|
-
|
|
82
|
-
sig do
|
|
83
|
-
params(
|
|
84
|
-
destination_countries: T::Array[Sentdm::DestinationCountry::OrHash]
|
|
85
|
-
).void
|
|
86
|
-
end
|
|
87
|
-
attr_writer :destination_countries
|
|
88
|
-
|
|
89
|
-
# Business entity type
|
|
90
|
-
sig { returns(T.nilable(String)) }
|
|
91
|
-
attr_accessor :entity_type
|
|
92
|
-
|
|
93
|
-
# Expected daily messaging volume
|
|
94
|
-
sig { returns(T.nilable(String)) }
|
|
95
|
-
attr_accessor :expected_messaging_volume
|
|
96
|
-
|
|
97
56
|
# TCR brand identity verification status
|
|
98
57
|
sig do
|
|
99
58
|
returns(T.nilable(Sentdm::BrandWithKYC::IdentityStatus::TaggedSymbol))
|
|
100
59
|
end
|
|
101
60
|
attr_accessor :identity_status
|
|
102
61
|
|
|
103
|
-
# Whether this brand is inherited from parent organization
|
|
62
|
+
# Whether this brand is inherited from the parent organization
|
|
104
63
|
sig { returns(T.nilable(T::Boolean)) }
|
|
105
64
|
attr_reader :is_inherited
|
|
106
65
|
|
|
107
66
|
sig { params(is_inherited: T::Boolean).void }
|
|
108
67
|
attr_writer :is_inherited
|
|
109
68
|
|
|
110
|
-
# Whether this is a TCR application
|
|
111
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
112
|
-
attr_reader :is_tcr_application
|
|
113
|
-
|
|
114
|
-
sig { params(is_tcr_application: T::Boolean).void }
|
|
115
|
-
attr_writer :is_tcr_application
|
|
116
|
-
|
|
117
|
-
# Additional notes
|
|
118
|
-
sig { returns(T.nilable(String)) }
|
|
119
|
-
attr_accessor :notes
|
|
120
|
-
|
|
121
|
-
# Phone number prefix for messaging
|
|
122
|
-
sig { returns(T.nilable(String)) }
|
|
123
|
-
attr_accessor :phone_number_prefix
|
|
124
|
-
|
|
125
|
-
# Postal/ZIP code
|
|
126
|
-
sig { returns(T.nilable(String)) }
|
|
127
|
-
attr_accessor :postal_code
|
|
128
|
-
|
|
129
|
-
# Primary messaging use case description
|
|
130
|
-
sig { returns(T.nilable(String)) }
|
|
131
|
-
attr_accessor :primary_use_case
|
|
132
|
-
|
|
133
|
-
# State/province code
|
|
134
|
-
sig { returns(T.nilable(String)) }
|
|
135
|
-
attr_accessor :state
|
|
136
|
-
|
|
137
69
|
# TCR brand status
|
|
138
70
|
sig { returns(T.nilable(Sentdm::BrandWithKYC::Status::TaggedSymbol)) }
|
|
139
71
|
attr_accessor :status
|
|
140
72
|
|
|
141
|
-
# Street address
|
|
142
|
-
sig { returns(T.nilable(String)) }
|
|
143
|
-
attr_accessor :street
|
|
144
|
-
|
|
145
73
|
# When the brand was submitted to TCR
|
|
146
74
|
sig { returns(T.nilable(Time)) }
|
|
147
75
|
attr_accessor :submitted_at
|
|
148
76
|
|
|
149
|
-
# Whether this brand
|
|
77
|
+
# Whether this brand has been submitted to TCR
|
|
150
78
|
sig { returns(T.nilable(T::Boolean)) }
|
|
151
79
|
attr_reader :submitted_to_tcr
|
|
152
80
|
|
|
153
81
|
sig { params(submitted_to_tcr: T::Boolean).void }
|
|
154
82
|
attr_writer :submitted_to_tcr
|
|
155
83
|
|
|
156
|
-
# Tax ID/EIN number
|
|
157
|
-
sig { returns(T.nilable(String)) }
|
|
158
|
-
attr_accessor :tax_id
|
|
159
|
-
|
|
160
|
-
# Type of tax ID
|
|
161
|
-
sig { returns(T.nilable(String)) }
|
|
162
|
-
attr_accessor :tax_id_type
|
|
163
|
-
|
|
164
84
|
# TCR brand ID (populated after TCR submission)
|
|
165
85
|
sig { returns(T.nilable(String)) }
|
|
166
86
|
attr_accessor :tcr_brand_id
|
|
@@ -173,125 +93,56 @@ module Sentdm
|
|
|
173
93
|
sig { returns(T.nilable(Time)) }
|
|
174
94
|
attr_accessor :updated_at
|
|
175
95
|
|
|
176
|
-
#
|
|
177
|
-
|
|
178
|
-
attr_accessor :vertical
|
|
179
|
-
|
|
180
|
-
# Flattened brand response with embedded KYC information
|
|
96
|
+
# Brand response with nested contact, business, and compliance sections — mirrors
|
|
97
|
+
# the request structure.
|
|
181
98
|
sig do
|
|
182
99
|
params(
|
|
183
100
|
id: String,
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
business_role: T.nilable(String),
|
|
188
|
-
business_url: T.nilable(String),
|
|
189
|
-
city: T.nilable(String),
|
|
190
|
-
contact_email: T.nilable(String),
|
|
191
|
-
contact_name: String,
|
|
192
|
-
contact_phone: T.nilable(String),
|
|
193
|
-
contact_phone_country_code: T.nilable(String),
|
|
194
|
-
country: T.nilable(String),
|
|
195
|
-
country_of_registration: T.nilable(String),
|
|
101
|
+
business: T.nilable(Sentdm::BrandWithKYC::Business::OrHash),
|
|
102
|
+
compliance: T.nilable(Sentdm::BrandWithKYC::Compliance::OrHash),
|
|
103
|
+
contact: T.nilable(Sentdm::BrandWithKYC::Contact::OrHash),
|
|
196
104
|
created_at: Time,
|
|
197
105
|
csp_id: T.nilable(String),
|
|
198
|
-
destination_countries: T::Array[Sentdm::DestinationCountry::OrHash],
|
|
199
|
-
entity_type: T.nilable(String),
|
|
200
|
-
expected_messaging_volume: T.nilable(String),
|
|
201
106
|
identity_status:
|
|
202
107
|
T.nilable(Sentdm::BrandWithKYC::IdentityStatus::OrSymbol),
|
|
203
108
|
is_inherited: T::Boolean,
|
|
204
|
-
is_tcr_application: T::Boolean,
|
|
205
|
-
notes: T.nilable(String),
|
|
206
|
-
phone_number_prefix: T.nilable(String),
|
|
207
|
-
postal_code: T.nilable(String),
|
|
208
|
-
primary_use_case: T.nilable(String),
|
|
209
|
-
state: T.nilable(String),
|
|
210
109
|
status: T.nilable(Sentdm::BrandWithKYC::Status::OrSymbol),
|
|
211
|
-
street: T.nilable(String),
|
|
212
110
|
submitted_at: T.nilable(Time),
|
|
213
111
|
submitted_to_tcr: T::Boolean,
|
|
214
|
-
tax_id: T.nilable(String),
|
|
215
|
-
tax_id_type: T.nilable(String),
|
|
216
112
|
tcr_brand_id: T.nilable(String),
|
|
217
113
|
universal_ein: T.nilable(String),
|
|
218
|
-
updated_at: T.nilable(Time)
|
|
219
|
-
vertical: T.nilable(Sentdm::TcrVertical::OrSymbol)
|
|
114
|
+
updated_at: T.nilable(Time)
|
|
220
115
|
).returns(T.attached_class)
|
|
221
116
|
end
|
|
222
117
|
def self.new(
|
|
223
118
|
# Unique identifier for the brand
|
|
224
119
|
id: nil,
|
|
225
|
-
#
|
|
226
|
-
|
|
227
|
-
#
|
|
228
|
-
|
|
229
|
-
#
|
|
230
|
-
|
|
231
|
-
# Contact's role in the business
|
|
232
|
-
business_role: nil,
|
|
233
|
-
# Business website URL
|
|
234
|
-
business_url: nil,
|
|
235
|
-
# City
|
|
236
|
-
city: nil,
|
|
237
|
-
# Contact email address
|
|
238
|
-
contact_email: nil,
|
|
239
|
-
# Primary contact name
|
|
240
|
-
contact_name: nil,
|
|
241
|
-
# Contact phone number
|
|
242
|
-
contact_phone: nil,
|
|
243
|
-
# Contact phone country code
|
|
244
|
-
contact_phone_country_code: nil,
|
|
245
|
-
# Country code
|
|
246
|
-
country: nil,
|
|
247
|
-
# Country where the business is registered
|
|
248
|
-
country_of_registration: nil,
|
|
120
|
+
# Business details and address information
|
|
121
|
+
business: nil,
|
|
122
|
+
# Compliance and TCR-related information
|
|
123
|
+
compliance: nil,
|
|
124
|
+
# Contact information for the brand
|
|
125
|
+
contact: nil,
|
|
249
126
|
# When the brand was created
|
|
250
127
|
created_at: nil,
|
|
251
128
|
# CSP (Campaign Service Provider) ID
|
|
252
129
|
csp_id: nil,
|
|
253
|
-
# List of destination countries for messaging
|
|
254
|
-
destination_countries: nil,
|
|
255
|
-
# Business entity type
|
|
256
|
-
entity_type: nil,
|
|
257
|
-
# Expected daily messaging volume
|
|
258
|
-
expected_messaging_volume: nil,
|
|
259
130
|
# TCR brand identity verification status
|
|
260
131
|
identity_status: nil,
|
|
261
|
-
# Whether this brand is inherited from parent organization
|
|
132
|
+
# Whether this brand is inherited from the parent organization
|
|
262
133
|
is_inherited: nil,
|
|
263
|
-
# Whether this is a TCR application
|
|
264
|
-
is_tcr_application: nil,
|
|
265
|
-
# Additional notes
|
|
266
|
-
notes: nil,
|
|
267
|
-
# Phone number prefix for messaging
|
|
268
|
-
phone_number_prefix: nil,
|
|
269
|
-
# Postal/ZIP code
|
|
270
|
-
postal_code: nil,
|
|
271
|
-
# Primary messaging use case description
|
|
272
|
-
primary_use_case: nil,
|
|
273
|
-
# State/province code
|
|
274
|
-
state: nil,
|
|
275
134
|
# TCR brand status
|
|
276
135
|
status: nil,
|
|
277
|
-
# Street address
|
|
278
|
-
street: nil,
|
|
279
136
|
# When the brand was submitted to TCR
|
|
280
137
|
submitted_at: nil,
|
|
281
|
-
# Whether this brand
|
|
138
|
+
# Whether this brand has been submitted to TCR
|
|
282
139
|
submitted_to_tcr: nil,
|
|
283
|
-
# Tax ID/EIN number
|
|
284
|
-
tax_id: nil,
|
|
285
|
-
# Type of tax ID
|
|
286
|
-
tax_id_type: nil,
|
|
287
140
|
# TCR brand ID (populated after TCR submission)
|
|
288
141
|
tcr_brand_id: nil,
|
|
289
142
|
# Universal EIN from TCR
|
|
290
143
|
universal_ein: nil,
|
|
291
144
|
# When the brand was last updated
|
|
292
|
-
updated_at: nil
|
|
293
|
-
# Business vertical/industry category
|
|
294
|
-
vertical: nil
|
|
145
|
+
updated_at: nil
|
|
295
146
|
)
|
|
296
147
|
end
|
|
297
148
|
|
|
@@ -299,49 +150,316 @@ module Sentdm
|
|
|
299
150
|
override.returns(
|
|
300
151
|
{
|
|
301
152
|
id: String,
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
business_name: T.nilable(String),
|
|
306
|
-
business_role: T.nilable(String),
|
|
307
|
-
business_url: T.nilable(String),
|
|
308
|
-
city: T.nilable(String),
|
|
309
|
-
contact_email: T.nilable(String),
|
|
310
|
-
contact_name: String,
|
|
311
|
-
contact_phone: T.nilable(String),
|
|
312
|
-
contact_phone_country_code: T.nilable(String),
|
|
313
|
-
country: T.nilable(String),
|
|
314
|
-
country_of_registration: T.nilable(String),
|
|
153
|
+
business: T.nilable(Sentdm::BrandWithKYC::Business),
|
|
154
|
+
compliance: T.nilable(Sentdm::BrandWithKYC::Compliance),
|
|
155
|
+
contact: T.nilable(Sentdm::BrandWithKYC::Contact),
|
|
315
156
|
created_at: Time,
|
|
316
157
|
csp_id: T.nilable(String),
|
|
317
|
-
destination_countries: T::Array[Sentdm::DestinationCountry],
|
|
318
|
-
entity_type: T.nilable(String),
|
|
319
|
-
expected_messaging_volume: T.nilable(String),
|
|
320
158
|
identity_status:
|
|
321
159
|
T.nilable(Sentdm::BrandWithKYC::IdentityStatus::TaggedSymbol),
|
|
322
160
|
is_inherited: T::Boolean,
|
|
323
|
-
is_tcr_application: T::Boolean,
|
|
324
|
-
notes: T.nilable(String),
|
|
325
|
-
phone_number_prefix: T.nilable(String),
|
|
326
|
-
postal_code: T.nilable(String),
|
|
327
|
-
primary_use_case: T.nilable(String),
|
|
328
|
-
state: T.nilable(String),
|
|
329
161
|
status: T.nilable(Sentdm::BrandWithKYC::Status::TaggedSymbol),
|
|
330
|
-
street: T.nilable(String),
|
|
331
162
|
submitted_at: T.nilable(Time),
|
|
332
163
|
submitted_to_tcr: T::Boolean,
|
|
333
|
-
tax_id: T.nilable(String),
|
|
334
|
-
tax_id_type: T.nilable(String),
|
|
335
164
|
tcr_brand_id: T.nilable(String),
|
|
336
165
|
universal_ein: T.nilable(String),
|
|
337
|
-
updated_at: T.nilable(Time)
|
|
338
|
-
vertical: T.nilable(Sentdm::TcrVertical::TaggedSymbol)
|
|
166
|
+
updated_at: T.nilable(Time)
|
|
339
167
|
}
|
|
340
168
|
)
|
|
341
169
|
end
|
|
342
170
|
def to_hash
|
|
343
171
|
end
|
|
344
172
|
|
|
173
|
+
class Business < Sentdm::Internal::Type::BaseModel
|
|
174
|
+
OrHash =
|
|
175
|
+
T.type_alias do
|
|
176
|
+
T.any(Sentdm::BrandWithKYC::Business, Sentdm::Internal::AnyHash)
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
# City
|
|
180
|
+
sig { returns(T.nilable(String)) }
|
|
181
|
+
attr_accessor :city
|
|
182
|
+
|
|
183
|
+
# Country code (e.g., US, CA)
|
|
184
|
+
sig { returns(T.nilable(String)) }
|
|
185
|
+
attr_accessor :country
|
|
186
|
+
|
|
187
|
+
# Country where the business is registered
|
|
188
|
+
sig { returns(T.nilable(String)) }
|
|
189
|
+
attr_accessor :country_of_registration
|
|
190
|
+
|
|
191
|
+
# Business entity type
|
|
192
|
+
sig { returns(T.nilable(String)) }
|
|
193
|
+
attr_accessor :entity_type
|
|
194
|
+
|
|
195
|
+
# Legal business name
|
|
196
|
+
sig { returns(T.nilable(String)) }
|
|
197
|
+
attr_accessor :legal_name
|
|
198
|
+
|
|
199
|
+
# Postal/ZIP code
|
|
200
|
+
sig { returns(T.nilable(String)) }
|
|
201
|
+
attr_accessor :postal_code
|
|
202
|
+
|
|
203
|
+
# State/province code
|
|
204
|
+
sig { returns(T.nilable(String)) }
|
|
205
|
+
attr_accessor :state
|
|
206
|
+
|
|
207
|
+
# Street address
|
|
208
|
+
sig { returns(T.nilable(String)) }
|
|
209
|
+
attr_accessor :street
|
|
210
|
+
|
|
211
|
+
# Tax ID/EIN number
|
|
212
|
+
sig { returns(T.nilable(String)) }
|
|
213
|
+
attr_accessor :tax_id
|
|
214
|
+
|
|
215
|
+
# Type of tax ID (e.g., us_ein, ca_bn)
|
|
216
|
+
sig { returns(T.nilable(String)) }
|
|
217
|
+
attr_accessor :tax_id_type
|
|
218
|
+
|
|
219
|
+
# Business website URL
|
|
220
|
+
sig { returns(T.nilable(String)) }
|
|
221
|
+
attr_accessor :url
|
|
222
|
+
|
|
223
|
+
# Business details and address information
|
|
224
|
+
sig do
|
|
225
|
+
params(
|
|
226
|
+
city: T.nilable(String),
|
|
227
|
+
country: T.nilable(String),
|
|
228
|
+
country_of_registration: T.nilable(String),
|
|
229
|
+
entity_type: T.nilable(String),
|
|
230
|
+
legal_name: T.nilable(String),
|
|
231
|
+
postal_code: T.nilable(String),
|
|
232
|
+
state: T.nilable(String),
|
|
233
|
+
street: T.nilable(String),
|
|
234
|
+
tax_id: T.nilable(String),
|
|
235
|
+
tax_id_type: T.nilable(String),
|
|
236
|
+
url: T.nilable(String)
|
|
237
|
+
).returns(T.attached_class)
|
|
238
|
+
end
|
|
239
|
+
def self.new(
|
|
240
|
+
# City
|
|
241
|
+
city: nil,
|
|
242
|
+
# Country code (e.g., US, CA)
|
|
243
|
+
country: nil,
|
|
244
|
+
# Country where the business is registered
|
|
245
|
+
country_of_registration: nil,
|
|
246
|
+
# Business entity type
|
|
247
|
+
entity_type: nil,
|
|
248
|
+
# Legal business name
|
|
249
|
+
legal_name: nil,
|
|
250
|
+
# Postal/ZIP code
|
|
251
|
+
postal_code: nil,
|
|
252
|
+
# State/province code
|
|
253
|
+
state: nil,
|
|
254
|
+
# Street address
|
|
255
|
+
street: nil,
|
|
256
|
+
# Tax ID/EIN number
|
|
257
|
+
tax_id: nil,
|
|
258
|
+
# Type of tax ID (e.g., us_ein, ca_bn)
|
|
259
|
+
tax_id_type: nil,
|
|
260
|
+
# Business website URL
|
|
261
|
+
url: nil
|
|
262
|
+
)
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
sig do
|
|
266
|
+
override.returns(
|
|
267
|
+
{
|
|
268
|
+
city: T.nilable(String),
|
|
269
|
+
country: T.nilable(String),
|
|
270
|
+
country_of_registration: T.nilable(String),
|
|
271
|
+
entity_type: T.nilable(String),
|
|
272
|
+
legal_name: T.nilable(String),
|
|
273
|
+
postal_code: T.nilable(String),
|
|
274
|
+
state: T.nilable(String),
|
|
275
|
+
street: T.nilable(String),
|
|
276
|
+
tax_id: T.nilable(String),
|
|
277
|
+
tax_id_type: T.nilable(String),
|
|
278
|
+
url: T.nilable(String)
|
|
279
|
+
}
|
|
280
|
+
)
|
|
281
|
+
end
|
|
282
|
+
def to_hash
|
|
283
|
+
end
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
class Compliance < Sentdm::Internal::Type::BaseModel
|
|
287
|
+
OrHash =
|
|
288
|
+
T.type_alias do
|
|
289
|
+
T.any(Sentdm::BrandWithKYC::Compliance, Sentdm::Internal::AnyHash)
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
# Brand relationship level with TCR
|
|
293
|
+
sig { returns(T.nilable(Sentdm::TcrBrandRelationship::TaggedSymbol)) }
|
|
294
|
+
attr_accessor :brand_relationship
|
|
295
|
+
|
|
296
|
+
# List of destination countries for messaging
|
|
297
|
+
sig { returns(T.nilable(T::Array[Sentdm::DestinationCountry])) }
|
|
298
|
+
attr_reader :destination_countries
|
|
299
|
+
|
|
300
|
+
sig do
|
|
301
|
+
params(
|
|
302
|
+
destination_countries: T::Array[Sentdm::DestinationCountry::OrHash]
|
|
303
|
+
).void
|
|
304
|
+
end
|
|
305
|
+
attr_writer :destination_countries
|
|
306
|
+
|
|
307
|
+
# Expected daily messaging volume
|
|
308
|
+
sig { returns(T.nilable(String)) }
|
|
309
|
+
attr_accessor :expected_messaging_volume
|
|
310
|
+
|
|
311
|
+
# Whether this is a TCR (Campaign Registry) application
|
|
312
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
313
|
+
attr_reader :is_tcr_application
|
|
314
|
+
|
|
315
|
+
sig { params(is_tcr_application: T::Boolean).void }
|
|
316
|
+
attr_writer :is_tcr_application
|
|
317
|
+
|
|
318
|
+
# Additional notes about the business or use case
|
|
319
|
+
sig { returns(T.nilable(String)) }
|
|
320
|
+
attr_accessor :notes
|
|
321
|
+
|
|
322
|
+
# Phone number prefix for messaging (e.g., "+1")
|
|
323
|
+
sig { returns(T.nilable(String)) }
|
|
324
|
+
attr_accessor :phone_number_prefix
|
|
325
|
+
|
|
326
|
+
# Primary messaging use case description
|
|
327
|
+
sig { returns(T.nilable(String)) }
|
|
328
|
+
attr_accessor :primary_use_case
|
|
329
|
+
|
|
330
|
+
# Business vertical/industry category
|
|
331
|
+
sig { returns(T.nilable(Sentdm::TcrVertical::TaggedSymbol)) }
|
|
332
|
+
attr_accessor :vertical
|
|
333
|
+
|
|
334
|
+
# Compliance and TCR-related information
|
|
335
|
+
sig do
|
|
336
|
+
params(
|
|
337
|
+
brand_relationship:
|
|
338
|
+
T.nilable(Sentdm::TcrBrandRelationship::OrSymbol),
|
|
339
|
+
destination_countries: T::Array[Sentdm::DestinationCountry::OrHash],
|
|
340
|
+
expected_messaging_volume: T.nilable(String),
|
|
341
|
+
is_tcr_application: T::Boolean,
|
|
342
|
+
notes: T.nilable(String),
|
|
343
|
+
phone_number_prefix: T.nilable(String),
|
|
344
|
+
primary_use_case: T.nilable(String),
|
|
345
|
+
vertical: T.nilable(Sentdm::TcrVertical::OrSymbol)
|
|
346
|
+
).returns(T.attached_class)
|
|
347
|
+
end
|
|
348
|
+
def self.new(
|
|
349
|
+
# Brand relationship level with TCR
|
|
350
|
+
brand_relationship: nil,
|
|
351
|
+
# List of destination countries for messaging
|
|
352
|
+
destination_countries: nil,
|
|
353
|
+
# Expected daily messaging volume
|
|
354
|
+
expected_messaging_volume: nil,
|
|
355
|
+
# Whether this is a TCR (Campaign Registry) application
|
|
356
|
+
is_tcr_application: nil,
|
|
357
|
+
# Additional notes about the business or use case
|
|
358
|
+
notes: nil,
|
|
359
|
+
# Phone number prefix for messaging (e.g., "+1")
|
|
360
|
+
phone_number_prefix: nil,
|
|
361
|
+
# Primary messaging use case description
|
|
362
|
+
primary_use_case: nil,
|
|
363
|
+
# Business vertical/industry category
|
|
364
|
+
vertical: nil
|
|
365
|
+
)
|
|
366
|
+
end
|
|
367
|
+
|
|
368
|
+
sig do
|
|
369
|
+
override.returns(
|
|
370
|
+
{
|
|
371
|
+
brand_relationship:
|
|
372
|
+
T.nilable(Sentdm::TcrBrandRelationship::TaggedSymbol),
|
|
373
|
+
destination_countries: T::Array[Sentdm::DestinationCountry],
|
|
374
|
+
expected_messaging_volume: T.nilable(String),
|
|
375
|
+
is_tcr_application: T::Boolean,
|
|
376
|
+
notes: T.nilable(String),
|
|
377
|
+
phone_number_prefix: T.nilable(String),
|
|
378
|
+
primary_use_case: T.nilable(String),
|
|
379
|
+
vertical: T.nilable(Sentdm::TcrVertical::TaggedSymbol)
|
|
380
|
+
}
|
|
381
|
+
)
|
|
382
|
+
end
|
|
383
|
+
def to_hash
|
|
384
|
+
end
|
|
385
|
+
end
|
|
386
|
+
|
|
387
|
+
class Contact < Sentdm::Internal::Type::BaseModel
|
|
388
|
+
OrHash =
|
|
389
|
+
T.type_alias do
|
|
390
|
+
T.any(Sentdm::BrandWithKYC::Contact, Sentdm::Internal::AnyHash)
|
|
391
|
+
end
|
|
392
|
+
|
|
393
|
+
# Business/brand name
|
|
394
|
+
sig { returns(T.nilable(String)) }
|
|
395
|
+
attr_accessor :business_name
|
|
396
|
+
|
|
397
|
+
# Contact email address
|
|
398
|
+
sig { returns(T.nilable(String)) }
|
|
399
|
+
attr_accessor :email
|
|
400
|
+
|
|
401
|
+
# Primary contact name
|
|
402
|
+
sig { returns(T.nilable(String)) }
|
|
403
|
+
attr_reader :name
|
|
404
|
+
|
|
405
|
+
sig { params(name: String).void }
|
|
406
|
+
attr_writer :name
|
|
407
|
+
|
|
408
|
+
# Contact phone number in E.164 format
|
|
409
|
+
sig { returns(T.nilable(String)) }
|
|
410
|
+
attr_accessor :phone
|
|
411
|
+
|
|
412
|
+
# Contact phone country code (e.g., "1" for US)
|
|
413
|
+
sig { returns(T.nilable(String)) }
|
|
414
|
+
attr_accessor :phone_country_code
|
|
415
|
+
|
|
416
|
+
# Contact's role in the business
|
|
417
|
+
sig { returns(T.nilable(String)) }
|
|
418
|
+
attr_accessor :role
|
|
419
|
+
|
|
420
|
+
# Contact information for the brand
|
|
421
|
+
sig do
|
|
422
|
+
params(
|
|
423
|
+
business_name: T.nilable(String),
|
|
424
|
+
email: T.nilable(String),
|
|
425
|
+
name: String,
|
|
426
|
+
phone: T.nilable(String),
|
|
427
|
+
phone_country_code: T.nilable(String),
|
|
428
|
+
role: T.nilable(String)
|
|
429
|
+
).returns(T.attached_class)
|
|
430
|
+
end
|
|
431
|
+
def self.new(
|
|
432
|
+
# Business/brand name
|
|
433
|
+
business_name: nil,
|
|
434
|
+
# Contact email address
|
|
435
|
+
email: nil,
|
|
436
|
+
# Primary contact name
|
|
437
|
+
name: nil,
|
|
438
|
+
# Contact phone number in E.164 format
|
|
439
|
+
phone: nil,
|
|
440
|
+
# Contact phone country code (e.g., "1" for US)
|
|
441
|
+
phone_country_code: nil,
|
|
442
|
+
# Contact's role in the business
|
|
443
|
+
role: nil
|
|
444
|
+
)
|
|
445
|
+
end
|
|
446
|
+
|
|
447
|
+
sig do
|
|
448
|
+
override.returns(
|
|
449
|
+
{
|
|
450
|
+
business_name: T.nilable(String),
|
|
451
|
+
email: T.nilable(String),
|
|
452
|
+
name: String,
|
|
453
|
+
phone: T.nilable(String),
|
|
454
|
+
phone_country_code: T.nilable(String),
|
|
455
|
+
role: T.nilable(String)
|
|
456
|
+
}
|
|
457
|
+
)
|
|
458
|
+
end
|
|
459
|
+
def to_hash
|
|
460
|
+
end
|
|
461
|
+
end
|
|
462
|
+
|
|
345
463
|
# TCR brand identity verification status
|
|
346
464
|
module IdentityStatus
|
|
347
465
|
extend Sentdm::Internal::Type::Enum
|