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
|
@@ -0,0 +1,1226 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class ProfileCreateResponse < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Sentdm::Models::ProfileCreateResponse,
|
|
10
|
+
Sentdm::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Detailed profile response for v3 API
|
|
15
|
+
sig { returns(T.nilable(Sentdm::Models::ProfileCreateResponse::Data)) }
|
|
16
|
+
attr_reader :data
|
|
17
|
+
|
|
18
|
+
sig do
|
|
19
|
+
params(
|
|
20
|
+
data: T.nilable(Sentdm::Models::ProfileCreateResponse::Data::OrHash)
|
|
21
|
+
).void
|
|
22
|
+
end
|
|
23
|
+
attr_writer :data
|
|
24
|
+
|
|
25
|
+
# Error information
|
|
26
|
+
sig { returns(T.nilable(Sentdm::Models::ProfileCreateResponse::Error)) }
|
|
27
|
+
attr_reader :error
|
|
28
|
+
|
|
29
|
+
sig do
|
|
30
|
+
params(
|
|
31
|
+
error: T.nilable(Sentdm::Models::ProfileCreateResponse::Error::OrHash)
|
|
32
|
+
).void
|
|
33
|
+
end
|
|
34
|
+
attr_writer :error
|
|
35
|
+
|
|
36
|
+
# Request and response metadata
|
|
37
|
+
sig { returns(T.nilable(Sentdm::Models::ProfileCreateResponse::Meta)) }
|
|
38
|
+
attr_reader :meta
|
|
39
|
+
|
|
40
|
+
sig do
|
|
41
|
+
params(meta: Sentdm::Models::ProfileCreateResponse::Meta::OrHash).void
|
|
42
|
+
end
|
|
43
|
+
attr_writer :meta
|
|
44
|
+
|
|
45
|
+
# Indicates whether the request was successful
|
|
46
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
47
|
+
attr_reader :success
|
|
48
|
+
|
|
49
|
+
sig { params(success: T::Boolean).void }
|
|
50
|
+
attr_writer :success
|
|
51
|
+
|
|
52
|
+
# Standard API response envelope for all v3 endpoints
|
|
53
|
+
sig do
|
|
54
|
+
params(
|
|
55
|
+
data: T.nilable(Sentdm::Models::ProfileCreateResponse::Data::OrHash),
|
|
56
|
+
error:
|
|
57
|
+
T.nilable(Sentdm::Models::ProfileCreateResponse::Error::OrHash),
|
|
58
|
+
meta: Sentdm::Models::ProfileCreateResponse::Meta::OrHash,
|
|
59
|
+
success: T::Boolean
|
|
60
|
+
).returns(T.attached_class)
|
|
61
|
+
end
|
|
62
|
+
def self.new(
|
|
63
|
+
# Detailed profile response for v3 API
|
|
64
|
+
data: nil,
|
|
65
|
+
# Error information
|
|
66
|
+
error: nil,
|
|
67
|
+
# Request and response metadata
|
|
68
|
+
meta: nil,
|
|
69
|
+
# Indicates whether the request was successful
|
|
70
|
+
success: nil
|
|
71
|
+
)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
sig do
|
|
75
|
+
override.returns(
|
|
76
|
+
{
|
|
77
|
+
data: T.nilable(Sentdm::Models::ProfileCreateResponse::Data),
|
|
78
|
+
error: T.nilable(Sentdm::Models::ProfileCreateResponse::Error),
|
|
79
|
+
meta: Sentdm::Models::ProfileCreateResponse::Meta,
|
|
80
|
+
success: T::Boolean
|
|
81
|
+
}
|
|
82
|
+
)
|
|
83
|
+
end
|
|
84
|
+
def to_hash
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
class Data < Sentdm::Internal::Type::BaseModel
|
|
88
|
+
OrHash =
|
|
89
|
+
T.type_alias do
|
|
90
|
+
T.any(
|
|
91
|
+
Sentdm::Models::ProfileCreateResponse::Data,
|
|
92
|
+
Sentdm::Internal::AnyHash
|
|
93
|
+
)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# Profile unique identifier
|
|
97
|
+
sig { returns(T.nilable(String)) }
|
|
98
|
+
attr_reader :id
|
|
99
|
+
|
|
100
|
+
sig { params(id: String).void }
|
|
101
|
+
attr_writer :id
|
|
102
|
+
|
|
103
|
+
# Always false. A profile no longer shares contacts with sibling profiles — it
|
|
104
|
+
# sees only what it owns. Retained so existing v3 clients reading
|
|
105
|
+
# allow_contact_sharing keep deserializing; it carries no information.
|
|
106
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
107
|
+
attr_accessor :allow_contact_sharing
|
|
108
|
+
|
|
109
|
+
# Whether number changes are allowed during onboarding
|
|
110
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
111
|
+
attr_accessor :allow_number_change_during_onboarding
|
|
112
|
+
|
|
113
|
+
# Always false. A profile no longer shares templates with sibling profiles.
|
|
114
|
+
# Retained so existing v3 clients reading allow_template_sharing keep
|
|
115
|
+
# deserializing; it carries no information.
|
|
116
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
117
|
+
attr_accessor :allow_template_sharing
|
|
118
|
+
|
|
119
|
+
# Billing contact info returned in profile responses
|
|
120
|
+
sig do
|
|
121
|
+
returns(
|
|
122
|
+
T.nilable(
|
|
123
|
+
Sentdm::Models::ProfileCreateResponse::Data::BillingContact
|
|
124
|
+
)
|
|
125
|
+
)
|
|
126
|
+
end
|
|
127
|
+
attr_reader :billing_contact
|
|
128
|
+
|
|
129
|
+
sig do
|
|
130
|
+
params(
|
|
131
|
+
billing_contact:
|
|
132
|
+
T.nilable(
|
|
133
|
+
Sentdm::Models::ProfileCreateResponse::Data::BillingContact::OrHash
|
|
134
|
+
)
|
|
135
|
+
).void
|
|
136
|
+
end
|
|
137
|
+
attr_writer :billing_contact
|
|
138
|
+
|
|
139
|
+
# Billing model: profile, organization, or profile_and_organization
|
|
140
|
+
sig { returns(T.nilable(String)) }
|
|
141
|
+
attr_reader :billing_model
|
|
142
|
+
|
|
143
|
+
sig { params(billing_model: String).void }
|
|
144
|
+
attr_writer :billing_model
|
|
145
|
+
|
|
146
|
+
# Brand response with nested contact, business, and compliance sections — mirrors
|
|
147
|
+
# the request structure.
|
|
148
|
+
sig do
|
|
149
|
+
returns(T.nilable(Sentdm::Models::ProfileCreateResponse::Data::Brand))
|
|
150
|
+
end
|
|
151
|
+
attr_reader :brand
|
|
152
|
+
|
|
153
|
+
sig do
|
|
154
|
+
params(
|
|
155
|
+
brand:
|
|
156
|
+
T.nilable(
|
|
157
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::OrHash
|
|
158
|
+
)
|
|
159
|
+
).void
|
|
160
|
+
end
|
|
161
|
+
attr_writer :brand
|
|
162
|
+
|
|
163
|
+
# When the profile was created
|
|
164
|
+
sig { returns(T.nilable(Time)) }
|
|
165
|
+
attr_reader :created_at
|
|
166
|
+
|
|
167
|
+
sig { params(created_at: Time).void }
|
|
168
|
+
attr_writer :created_at
|
|
169
|
+
|
|
170
|
+
# Profile description
|
|
171
|
+
sig { returns(T.nilable(String)) }
|
|
172
|
+
attr_accessor :description
|
|
173
|
+
|
|
174
|
+
# Profile email (inherited from organization)
|
|
175
|
+
sig { returns(T.nilable(String)) }
|
|
176
|
+
attr_accessor :email
|
|
177
|
+
|
|
178
|
+
# Profile icon URL
|
|
179
|
+
sig { returns(T.nilable(String)) }
|
|
180
|
+
attr_accessor :icon
|
|
181
|
+
|
|
182
|
+
# Always false. A profile no longer inherits its organization's contacts. Retained
|
|
183
|
+
# so existing v3 clients reading inherit_contacts keep deserializing; it carries
|
|
184
|
+
# no information.
|
|
185
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
186
|
+
attr_accessor :inherit_contacts
|
|
187
|
+
|
|
188
|
+
# Whether this profile inherits TCR brand from the organization
|
|
189
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
190
|
+
attr_reader :inherit_tcr_brand
|
|
191
|
+
|
|
192
|
+
sig { params(inherit_tcr_brand: T::Boolean).void }
|
|
193
|
+
attr_writer :inherit_tcr_brand
|
|
194
|
+
|
|
195
|
+
# Whether this profile inherits TCR campaign from the organization
|
|
196
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
197
|
+
attr_reader :inherit_tcr_campaign
|
|
198
|
+
|
|
199
|
+
sig { params(inherit_tcr_campaign: T::Boolean).void }
|
|
200
|
+
attr_writer :inherit_tcr_campaign
|
|
201
|
+
|
|
202
|
+
# Always false. A profile no longer inherits its organization's templates.
|
|
203
|
+
# Retained so existing v3 clients reading inherit_templates keep deserializing; it
|
|
204
|
+
# carries no information.
|
|
205
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
206
|
+
attr_accessor :inherit_templates
|
|
207
|
+
|
|
208
|
+
# Profile name
|
|
209
|
+
sig { returns(T.nilable(String)) }
|
|
210
|
+
attr_reader :name
|
|
211
|
+
|
|
212
|
+
sig { params(name: String).void }
|
|
213
|
+
attr_writer :name
|
|
214
|
+
|
|
215
|
+
# Parent organization ID
|
|
216
|
+
sig { returns(T.nilable(String)) }
|
|
217
|
+
attr_accessor :organization_id
|
|
218
|
+
|
|
219
|
+
# Direct SMS phone number
|
|
220
|
+
sig { returns(T.nilable(String)) }
|
|
221
|
+
attr_accessor :sending_phone_number
|
|
222
|
+
|
|
223
|
+
# Deprecated. Always null. Sender borrowing is gone: a profile no longer points at
|
|
224
|
+
# another profile for its SMS sender, and every profile owns the sender it sends
|
|
225
|
+
# from.
|
|
226
|
+
#
|
|
227
|
+
# Kept on the wire, and never populated, because those are two different promises.
|
|
228
|
+
# Removing the key changes the response's shape — a generated client loses the
|
|
229
|
+
# property and stops compiling on the next regenerate, for a value that is now
|
|
230
|
+
# null for every profile in existence. Keeping it null costs a key and breaks
|
|
231
|
+
# nobody, and null is the honest answer rather than a placeholder: there is no
|
|
232
|
+
# borrowing left to report.
|
|
233
|
+
#
|
|
234
|
+
# Nothing could populate it. Migration 260813161500 dropped the column and copied
|
|
235
|
+
# each borrower its own channel-provider row; its Down() says outright that the
|
|
236
|
+
# borrower-to-lender pairing is not recoverable. The only surviving trace is a
|
|
237
|
+
# notes string on the copied row.
|
|
238
|
+
sig { returns(T.nilable(String)) }
|
|
239
|
+
attr_accessor :sending_phone_number_profile_id
|
|
240
|
+
|
|
241
|
+
sig { returns(T.nilable(String)) }
|
|
242
|
+
attr_accessor :sending_whatsapp_number_profile_id
|
|
243
|
+
|
|
244
|
+
# Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
|
|
245
|
+
# only, with at least one letter.
|
|
246
|
+
sig { returns(T.nilable(String)) }
|
|
247
|
+
attr_accessor :short_name
|
|
248
|
+
|
|
249
|
+
# Profile setup status: incomplete, pending_review, approved, rejected
|
|
250
|
+
sig { returns(T.nilable(String)) }
|
|
251
|
+
attr_reader :status
|
|
252
|
+
|
|
253
|
+
sig { params(status: String).void }
|
|
254
|
+
attr_writer :status
|
|
255
|
+
|
|
256
|
+
# When the profile was last updated
|
|
257
|
+
sig { returns(T.nilable(Time)) }
|
|
258
|
+
attr_accessor :updated_at
|
|
259
|
+
|
|
260
|
+
# WhatsApp Business Account ID associated with this profile. Present whether the
|
|
261
|
+
# WABA is inherited from the organization or configured directly.
|
|
262
|
+
sig { returns(T.nilable(String)) }
|
|
263
|
+
attr_accessor :waba_id
|
|
264
|
+
|
|
265
|
+
# Direct WhatsApp phone number
|
|
266
|
+
sig { returns(T.nilable(String)) }
|
|
267
|
+
attr_accessor :whatsapp_phone_number
|
|
268
|
+
|
|
269
|
+
# Detailed profile response for v3 API
|
|
270
|
+
sig do
|
|
271
|
+
params(
|
|
272
|
+
id: String,
|
|
273
|
+
allow_contact_sharing: T.nilable(T::Boolean),
|
|
274
|
+
allow_number_change_during_onboarding: T.nilable(T::Boolean),
|
|
275
|
+
allow_template_sharing: T.nilable(T::Boolean),
|
|
276
|
+
billing_contact:
|
|
277
|
+
T.nilable(
|
|
278
|
+
Sentdm::Models::ProfileCreateResponse::Data::BillingContact::OrHash
|
|
279
|
+
),
|
|
280
|
+
billing_model: String,
|
|
281
|
+
brand:
|
|
282
|
+
T.nilable(
|
|
283
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::OrHash
|
|
284
|
+
),
|
|
285
|
+
created_at: Time,
|
|
286
|
+
description: T.nilable(String),
|
|
287
|
+
email: T.nilable(String),
|
|
288
|
+
icon: T.nilable(String),
|
|
289
|
+
inherit_contacts: T.nilable(T::Boolean),
|
|
290
|
+
inherit_tcr_brand: T::Boolean,
|
|
291
|
+
inherit_tcr_campaign: T::Boolean,
|
|
292
|
+
inherit_templates: T.nilable(T::Boolean),
|
|
293
|
+
name: String,
|
|
294
|
+
organization_id: T.nilable(String),
|
|
295
|
+
sending_phone_number: T.nilable(String),
|
|
296
|
+
sending_phone_number_profile_id: T.nilable(String),
|
|
297
|
+
sending_whatsapp_number_profile_id: T.nilable(String),
|
|
298
|
+
short_name: T.nilable(String),
|
|
299
|
+
status: String,
|
|
300
|
+
updated_at: T.nilable(Time),
|
|
301
|
+
waba_id: T.nilable(String),
|
|
302
|
+
whatsapp_phone_number: T.nilable(String)
|
|
303
|
+
).returns(T.attached_class)
|
|
304
|
+
end
|
|
305
|
+
def self.new(
|
|
306
|
+
# Profile unique identifier
|
|
307
|
+
id: nil,
|
|
308
|
+
# Always false. A profile no longer shares contacts with sibling profiles — it
|
|
309
|
+
# sees only what it owns. Retained so existing v3 clients reading
|
|
310
|
+
# allow_contact_sharing keep deserializing; it carries no information.
|
|
311
|
+
allow_contact_sharing: nil,
|
|
312
|
+
# Whether number changes are allowed during onboarding
|
|
313
|
+
allow_number_change_during_onboarding: nil,
|
|
314
|
+
# Always false. A profile no longer shares templates with sibling profiles.
|
|
315
|
+
# Retained so existing v3 clients reading allow_template_sharing keep
|
|
316
|
+
# deserializing; it carries no information.
|
|
317
|
+
allow_template_sharing: nil,
|
|
318
|
+
# Billing contact info returned in profile responses
|
|
319
|
+
billing_contact: nil,
|
|
320
|
+
# Billing model: profile, organization, or profile_and_organization
|
|
321
|
+
billing_model: nil,
|
|
322
|
+
# Brand response with nested contact, business, and compliance sections — mirrors
|
|
323
|
+
# the request structure.
|
|
324
|
+
brand: nil,
|
|
325
|
+
# When the profile was created
|
|
326
|
+
created_at: nil,
|
|
327
|
+
# Profile description
|
|
328
|
+
description: nil,
|
|
329
|
+
# Profile email (inherited from organization)
|
|
330
|
+
email: nil,
|
|
331
|
+
# Profile icon URL
|
|
332
|
+
icon: nil,
|
|
333
|
+
# Always false. A profile no longer inherits its organization's contacts. Retained
|
|
334
|
+
# so existing v3 clients reading inherit_contacts keep deserializing; it carries
|
|
335
|
+
# no information.
|
|
336
|
+
inherit_contacts: nil,
|
|
337
|
+
# Whether this profile inherits TCR brand from the organization
|
|
338
|
+
inherit_tcr_brand: nil,
|
|
339
|
+
# Whether this profile inherits TCR campaign from the organization
|
|
340
|
+
inherit_tcr_campaign: nil,
|
|
341
|
+
# Always false. A profile no longer inherits its organization's templates.
|
|
342
|
+
# Retained so existing v3 clients reading inherit_templates keep deserializing; it
|
|
343
|
+
# carries no information.
|
|
344
|
+
inherit_templates: nil,
|
|
345
|
+
# Profile name
|
|
346
|
+
name: nil,
|
|
347
|
+
# Parent organization ID
|
|
348
|
+
organization_id: nil,
|
|
349
|
+
# Direct SMS phone number
|
|
350
|
+
sending_phone_number: nil,
|
|
351
|
+
# Deprecated. Always null. Sender borrowing is gone: a profile no longer points at
|
|
352
|
+
# another profile for its SMS sender, and every profile owns the sender it sends
|
|
353
|
+
# from.
|
|
354
|
+
#
|
|
355
|
+
# Kept on the wire, and never populated, because those are two different promises.
|
|
356
|
+
# Removing the key changes the response's shape — a generated client loses the
|
|
357
|
+
# property and stops compiling on the next regenerate, for a value that is now
|
|
358
|
+
# null for every profile in existence. Keeping it null costs a key and breaks
|
|
359
|
+
# nobody, and null is the honest answer rather than a placeholder: there is no
|
|
360
|
+
# borrowing left to report.
|
|
361
|
+
#
|
|
362
|
+
# Nothing could populate it. Migration 260813161500 dropped the column and copied
|
|
363
|
+
# each borrower its own channel-provider row; its Down() says outright that the
|
|
364
|
+
# borrower-to-lender pairing is not recoverable. The only surviving trace is a
|
|
365
|
+
# notes string on the copied row.
|
|
366
|
+
sending_phone_number_profile_id: nil,
|
|
367
|
+
sending_whatsapp_number_profile_id: nil,
|
|
368
|
+
# Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
|
|
369
|
+
# only, with at least one letter.
|
|
370
|
+
short_name: nil,
|
|
371
|
+
# Profile setup status: incomplete, pending_review, approved, rejected
|
|
372
|
+
status: nil,
|
|
373
|
+
# When the profile was last updated
|
|
374
|
+
updated_at: nil,
|
|
375
|
+
# WhatsApp Business Account ID associated with this profile. Present whether the
|
|
376
|
+
# WABA is inherited from the organization or configured directly.
|
|
377
|
+
waba_id: nil,
|
|
378
|
+
# Direct WhatsApp phone number
|
|
379
|
+
whatsapp_phone_number: nil
|
|
380
|
+
)
|
|
381
|
+
end
|
|
382
|
+
|
|
383
|
+
sig do
|
|
384
|
+
override.returns(
|
|
385
|
+
{
|
|
386
|
+
id: String,
|
|
387
|
+
allow_contact_sharing: T.nilable(T::Boolean),
|
|
388
|
+
allow_number_change_during_onboarding: T.nilable(T::Boolean),
|
|
389
|
+
allow_template_sharing: T.nilable(T::Boolean),
|
|
390
|
+
billing_contact:
|
|
391
|
+
T.nilable(
|
|
392
|
+
Sentdm::Models::ProfileCreateResponse::Data::BillingContact
|
|
393
|
+
),
|
|
394
|
+
billing_model: String,
|
|
395
|
+
brand:
|
|
396
|
+
T.nilable(Sentdm::Models::ProfileCreateResponse::Data::Brand),
|
|
397
|
+
created_at: Time,
|
|
398
|
+
description: T.nilable(String),
|
|
399
|
+
email: T.nilable(String),
|
|
400
|
+
icon: T.nilable(String),
|
|
401
|
+
inherit_contacts: T.nilable(T::Boolean),
|
|
402
|
+
inherit_tcr_brand: T::Boolean,
|
|
403
|
+
inherit_tcr_campaign: T::Boolean,
|
|
404
|
+
inherit_templates: T.nilable(T::Boolean),
|
|
405
|
+
name: String,
|
|
406
|
+
organization_id: T.nilable(String),
|
|
407
|
+
sending_phone_number: T.nilable(String),
|
|
408
|
+
sending_phone_number_profile_id: T.nilable(String),
|
|
409
|
+
sending_whatsapp_number_profile_id: T.nilable(String),
|
|
410
|
+
short_name: T.nilable(String),
|
|
411
|
+
status: String,
|
|
412
|
+
updated_at: T.nilable(Time),
|
|
413
|
+
waba_id: T.nilable(String),
|
|
414
|
+
whatsapp_phone_number: T.nilable(String)
|
|
415
|
+
}
|
|
416
|
+
)
|
|
417
|
+
end
|
|
418
|
+
def to_hash
|
|
419
|
+
end
|
|
420
|
+
|
|
421
|
+
class BillingContact < Sentdm::Internal::Type::BaseModel
|
|
422
|
+
OrHash =
|
|
423
|
+
T.type_alias do
|
|
424
|
+
T.any(
|
|
425
|
+
Sentdm::Models::ProfileCreateResponse::Data::BillingContact,
|
|
426
|
+
Sentdm::Internal::AnyHash
|
|
427
|
+
)
|
|
428
|
+
end
|
|
429
|
+
|
|
430
|
+
sig { returns(T.nilable(String)) }
|
|
431
|
+
attr_accessor :address
|
|
432
|
+
|
|
433
|
+
sig { returns(T.nilable(String)) }
|
|
434
|
+
attr_accessor :email
|
|
435
|
+
|
|
436
|
+
sig { returns(T.nilable(String)) }
|
|
437
|
+
attr_accessor :name
|
|
438
|
+
|
|
439
|
+
sig { returns(T.nilable(String)) }
|
|
440
|
+
attr_accessor :phone
|
|
441
|
+
|
|
442
|
+
# Billing contact info returned in profile responses
|
|
443
|
+
sig do
|
|
444
|
+
params(
|
|
445
|
+
address: T.nilable(String),
|
|
446
|
+
email: T.nilable(String),
|
|
447
|
+
name: T.nilable(String),
|
|
448
|
+
phone: T.nilable(String)
|
|
449
|
+
).returns(T.attached_class)
|
|
450
|
+
end
|
|
451
|
+
def self.new(address: nil, email: nil, name: nil, phone: nil)
|
|
452
|
+
end
|
|
453
|
+
|
|
454
|
+
sig do
|
|
455
|
+
override.returns(
|
|
456
|
+
{
|
|
457
|
+
address: T.nilable(String),
|
|
458
|
+
email: T.nilable(String),
|
|
459
|
+
name: T.nilable(String),
|
|
460
|
+
phone: T.nilable(String)
|
|
461
|
+
}
|
|
462
|
+
)
|
|
463
|
+
end
|
|
464
|
+
def to_hash
|
|
465
|
+
end
|
|
466
|
+
end
|
|
467
|
+
|
|
468
|
+
class Brand < Sentdm::Internal::Type::BaseModel
|
|
469
|
+
OrHash =
|
|
470
|
+
T.type_alias do
|
|
471
|
+
T.any(
|
|
472
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand,
|
|
473
|
+
Sentdm::Internal::AnyHash
|
|
474
|
+
)
|
|
475
|
+
end
|
|
476
|
+
|
|
477
|
+
# Unique identifier for the brand
|
|
478
|
+
sig { returns(T.nilable(String)) }
|
|
479
|
+
attr_reader :id
|
|
480
|
+
|
|
481
|
+
sig { params(id: String).void }
|
|
482
|
+
attr_writer :id
|
|
483
|
+
|
|
484
|
+
# Business details and address information
|
|
485
|
+
sig do
|
|
486
|
+
returns(
|
|
487
|
+
T.nilable(
|
|
488
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Business
|
|
489
|
+
)
|
|
490
|
+
)
|
|
491
|
+
end
|
|
492
|
+
attr_reader :business
|
|
493
|
+
|
|
494
|
+
sig do
|
|
495
|
+
params(
|
|
496
|
+
business:
|
|
497
|
+
T.nilable(
|
|
498
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Business::OrHash
|
|
499
|
+
)
|
|
500
|
+
).void
|
|
501
|
+
end
|
|
502
|
+
attr_writer :business
|
|
503
|
+
|
|
504
|
+
# Compliance and TCR-related information
|
|
505
|
+
sig do
|
|
506
|
+
returns(
|
|
507
|
+
T.nilable(
|
|
508
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Compliance
|
|
509
|
+
)
|
|
510
|
+
)
|
|
511
|
+
end
|
|
512
|
+
attr_reader :compliance
|
|
513
|
+
|
|
514
|
+
sig do
|
|
515
|
+
params(
|
|
516
|
+
compliance:
|
|
517
|
+
T.nilable(
|
|
518
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Compliance::OrHash
|
|
519
|
+
)
|
|
520
|
+
).void
|
|
521
|
+
end
|
|
522
|
+
attr_writer :compliance
|
|
523
|
+
|
|
524
|
+
# Contact information for the brand
|
|
525
|
+
sig do
|
|
526
|
+
returns(
|
|
527
|
+
T.nilable(
|
|
528
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Contact
|
|
529
|
+
)
|
|
530
|
+
)
|
|
531
|
+
end
|
|
532
|
+
attr_reader :contact
|
|
533
|
+
|
|
534
|
+
sig do
|
|
535
|
+
params(
|
|
536
|
+
contact:
|
|
537
|
+
T.nilable(
|
|
538
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Contact::OrHash
|
|
539
|
+
)
|
|
540
|
+
).void
|
|
541
|
+
end
|
|
542
|
+
attr_writer :contact
|
|
543
|
+
|
|
544
|
+
# When the brand was created
|
|
545
|
+
sig { returns(T.nilable(Time)) }
|
|
546
|
+
attr_reader :created_at
|
|
547
|
+
|
|
548
|
+
sig { params(created_at: Time).void }
|
|
549
|
+
attr_writer :created_at
|
|
550
|
+
|
|
551
|
+
# Deprecated and scheduled for removal. Identifies the Campaign Service Provider
|
|
552
|
+
# that registered the brand, which is Sent, so the value is the same for every
|
|
553
|
+
# brand and every account. Nothing on your side can act on it and there is no
|
|
554
|
+
# replacement. Stop reading it.
|
|
555
|
+
sig { returns(T.nilable(String)) }
|
|
556
|
+
attr_accessor :csp_id
|
|
557
|
+
|
|
558
|
+
sig do
|
|
559
|
+
returns(
|
|
560
|
+
T.nilable(
|
|
561
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::IdentityStatus::TaggedSymbol
|
|
562
|
+
)
|
|
563
|
+
)
|
|
564
|
+
end
|
|
565
|
+
attr_accessor :identity_status
|
|
566
|
+
|
|
567
|
+
# Whether this brand is inherited from the parent organization
|
|
568
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
569
|
+
attr_reader :is_inherited
|
|
570
|
+
|
|
571
|
+
sig { params(is_inherited: T::Boolean).void }
|
|
572
|
+
attr_writer :is_inherited
|
|
573
|
+
|
|
574
|
+
sig do
|
|
575
|
+
returns(
|
|
576
|
+
T.nilable(
|
|
577
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Status::TaggedSymbol
|
|
578
|
+
)
|
|
579
|
+
)
|
|
580
|
+
end
|
|
581
|
+
attr_accessor :status
|
|
582
|
+
|
|
583
|
+
# When the brand was submitted to TCR
|
|
584
|
+
sig { returns(T.nilable(Time)) }
|
|
585
|
+
attr_accessor :submitted_at
|
|
586
|
+
|
|
587
|
+
# Whether this brand has been submitted to TCR
|
|
588
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
589
|
+
attr_reader :submitted_to_tcr
|
|
590
|
+
|
|
591
|
+
sig { params(submitted_to_tcr: T::Boolean).void }
|
|
592
|
+
attr_writer :submitted_to_tcr
|
|
593
|
+
|
|
594
|
+
# TCR brand ID (populated after TCR submission)
|
|
595
|
+
sig { returns(T.nilable(String)) }
|
|
596
|
+
attr_accessor :tcr_brand_id
|
|
597
|
+
|
|
598
|
+
# Universal EIN from TCR
|
|
599
|
+
sig { returns(T.nilable(String)) }
|
|
600
|
+
attr_accessor :universal_ein
|
|
601
|
+
|
|
602
|
+
# When the brand was last updated
|
|
603
|
+
sig { returns(T.nilable(Time)) }
|
|
604
|
+
attr_accessor :updated_at
|
|
605
|
+
|
|
606
|
+
# Brand response with nested contact, business, and compliance sections — mirrors
|
|
607
|
+
# the request structure.
|
|
608
|
+
sig do
|
|
609
|
+
params(
|
|
610
|
+
id: String,
|
|
611
|
+
business:
|
|
612
|
+
T.nilable(
|
|
613
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Business::OrHash
|
|
614
|
+
),
|
|
615
|
+
compliance:
|
|
616
|
+
T.nilable(
|
|
617
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Compliance::OrHash
|
|
618
|
+
),
|
|
619
|
+
contact:
|
|
620
|
+
T.nilable(
|
|
621
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Contact::OrHash
|
|
622
|
+
),
|
|
623
|
+
created_at: Time,
|
|
624
|
+
csp_id: T.nilable(String),
|
|
625
|
+
identity_status:
|
|
626
|
+
T.nilable(
|
|
627
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::IdentityStatus::OrSymbol
|
|
628
|
+
),
|
|
629
|
+
is_inherited: T::Boolean,
|
|
630
|
+
status:
|
|
631
|
+
T.nilable(
|
|
632
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Status::OrSymbol
|
|
633
|
+
),
|
|
634
|
+
submitted_at: T.nilable(Time),
|
|
635
|
+
submitted_to_tcr: T::Boolean,
|
|
636
|
+
tcr_brand_id: T.nilable(String),
|
|
637
|
+
universal_ein: T.nilable(String),
|
|
638
|
+
updated_at: T.nilable(Time)
|
|
639
|
+
).returns(T.attached_class)
|
|
640
|
+
end
|
|
641
|
+
def self.new(
|
|
642
|
+
# Unique identifier for the brand
|
|
643
|
+
id: nil,
|
|
644
|
+
# Business details and address information
|
|
645
|
+
business: nil,
|
|
646
|
+
# Compliance and TCR-related information
|
|
647
|
+
compliance: nil,
|
|
648
|
+
# Contact information for the brand
|
|
649
|
+
contact: nil,
|
|
650
|
+
# When the brand was created
|
|
651
|
+
created_at: nil,
|
|
652
|
+
# Deprecated and scheduled for removal. Identifies the Campaign Service Provider
|
|
653
|
+
# that registered the brand, which is Sent, so the value is the same for every
|
|
654
|
+
# brand and every account. Nothing on your side can act on it and there is no
|
|
655
|
+
# replacement. Stop reading it.
|
|
656
|
+
csp_id: nil,
|
|
657
|
+
identity_status: nil,
|
|
658
|
+
# Whether this brand is inherited from the parent organization
|
|
659
|
+
is_inherited: nil,
|
|
660
|
+
status: nil,
|
|
661
|
+
# When the brand was submitted to TCR
|
|
662
|
+
submitted_at: nil,
|
|
663
|
+
# Whether this brand has been submitted to TCR
|
|
664
|
+
submitted_to_tcr: nil,
|
|
665
|
+
# TCR brand ID (populated after TCR submission)
|
|
666
|
+
tcr_brand_id: nil,
|
|
667
|
+
# Universal EIN from TCR
|
|
668
|
+
universal_ein: nil,
|
|
669
|
+
# When the brand was last updated
|
|
670
|
+
updated_at: nil
|
|
671
|
+
)
|
|
672
|
+
end
|
|
673
|
+
|
|
674
|
+
sig do
|
|
675
|
+
override.returns(
|
|
676
|
+
{
|
|
677
|
+
id: String,
|
|
678
|
+
business:
|
|
679
|
+
T.nilable(
|
|
680
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Business
|
|
681
|
+
),
|
|
682
|
+
compliance:
|
|
683
|
+
T.nilable(
|
|
684
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Compliance
|
|
685
|
+
),
|
|
686
|
+
contact:
|
|
687
|
+
T.nilable(
|
|
688
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Contact
|
|
689
|
+
),
|
|
690
|
+
created_at: Time,
|
|
691
|
+
csp_id: T.nilable(String),
|
|
692
|
+
identity_status:
|
|
693
|
+
T.nilable(
|
|
694
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::IdentityStatus::TaggedSymbol
|
|
695
|
+
),
|
|
696
|
+
is_inherited: T::Boolean,
|
|
697
|
+
status:
|
|
698
|
+
T.nilable(
|
|
699
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Status::TaggedSymbol
|
|
700
|
+
),
|
|
701
|
+
submitted_at: T.nilable(Time),
|
|
702
|
+
submitted_to_tcr: T::Boolean,
|
|
703
|
+
tcr_brand_id: T.nilable(String),
|
|
704
|
+
universal_ein: T.nilable(String),
|
|
705
|
+
updated_at: T.nilable(Time)
|
|
706
|
+
}
|
|
707
|
+
)
|
|
708
|
+
end
|
|
709
|
+
def to_hash
|
|
710
|
+
end
|
|
711
|
+
|
|
712
|
+
class Business < Sentdm::Internal::Type::BaseModel
|
|
713
|
+
OrHash =
|
|
714
|
+
T.type_alias do
|
|
715
|
+
T.any(
|
|
716
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Business,
|
|
717
|
+
Sentdm::Internal::AnyHash
|
|
718
|
+
)
|
|
719
|
+
end
|
|
720
|
+
|
|
721
|
+
# City
|
|
722
|
+
sig { returns(T.nilable(String)) }
|
|
723
|
+
attr_accessor :city
|
|
724
|
+
|
|
725
|
+
# Country code (e.g., US, CA)
|
|
726
|
+
sig { returns(T.nilable(String)) }
|
|
727
|
+
attr_accessor :country
|
|
728
|
+
|
|
729
|
+
# Country where the business is registered
|
|
730
|
+
sig { returns(T.nilable(String)) }
|
|
731
|
+
attr_accessor :country_of_registration
|
|
732
|
+
|
|
733
|
+
# Business entity type
|
|
734
|
+
sig { returns(T.nilable(String)) }
|
|
735
|
+
attr_accessor :entity_type
|
|
736
|
+
|
|
737
|
+
# Legal business name
|
|
738
|
+
sig { returns(T.nilable(String)) }
|
|
739
|
+
attr_accessor :legal_name
|
|
740
|
+
|
|
741
|
+
# Postal/ZIP code
|
|
742
|
+
sig { returns(T.nilable(String)) }
|
|
743
|
+
attr_accessor :postal_code
|
|
744
|
+
|
|
745
|
+
# State/province code
|
|
746
|
+
sig { returns(T.nilable(String)) }
|
|
747
|
+
attr_accessor :state
|
|
748
|
+
|
|
749
|
+
# Street address
|
|
750
|
+
sig { returns(T.nilable(String)) }
|
|
751
|
+
attr_accessor :street
|
|
752
|
+
|
|
753
|
+
# Tax ID/EIN number
|
|
754
|
+
sig { returns(T.nilable(String)) }
|
|
755
|
+
attr_accessor :tax_id
|
|
756
|
+
|
|
757
|
+
# Type of tax ID (e.g., us_ein, ca_bn)
|
|
758
|
+
sig { returns(T.nilable(String)) }
|
|
759
|
+
attr_accessor :tax_id_type
|
|
760
|
+
|
|
761
|
+
# Business website URL
|
|
762
|
+
sig { returns(T.nilable(String)) }
|
|
763
|
+
attr_accessor :url
|
|
764
|
+
|
|
765
|
+
# Business details and address information
|
|
766
|
+
sig do
|
|
767
|
+
params(
|
|
768
|
+
city: T.nilable(String),
|
|
769
|
+
country: T.nilable(String),
|
|
770
|
+
country_of_registration: T.nilable(String),
|
|
771
|
+
entity_type: T.nilable(String),
|
|
772
|
+
legal_name: T.nilable(String),
|
|
773
|
+
postal_code: T.nilable(String),
|
|
774
|
+
state: T.nilable(String),
|
|
775
|
+
street: T.nilable(String),
|
|
776
|
+
tax_id: T.nilable(String),
|
|
777
|
+
tax_id_type: T.nilable(String),
|
|
778
|
+
url: T.nilable(String)
|
|
779
|
+
).returns(T.attached_class)
|
|
780
|
+
end
|
|
781
|
+
def self.new(
|
|
782
|
+
# City
|
|
783
|
+
city: nil,
|
|
784
|
+
# Country code (e.g., US, CA)
|
|
785
|
+
country: nil,
|
|
786
|
+
# Country where the business is registered
|
|
787
|
+
country_of_registration: nil,
|
|
788
|
+
# Business entity type
|
|
789
|
+
entity_type: nil,
|
|
790
|
+
# Legal business name
|
|
791
|
+
legal_name: nil,
|
|
792
|
+
# Postal/ZIP code
|
|
793
|
+
postal_code: nil,
|
|
794
|
+
# State/province code
|
|
795
|
+
state: nil,
|
|
796
|
+
# Street address
|
|
797
|
+
street: nil,
|
|
798
|
+
# Tax ID/EIN number
|
|
799
|
+
tax_id: nil,
|
|
800
|
+
# Type of tax ID (e.g., us_ein, ca_bn)
|
|
801
|
+
tax_id_type: nil,
|
|
802
|
+
# Business website URL
|
|
803
|
+
url: nil
|
|
804
|
+
)
|
|
805
|
+
end
|
|
806
|
+
|
|
807
|
+
sig do
|
|
808
|
+
override.returns(
|
|
809
|
+
{
|
|
810
|
+
city: T.nilable(String),
|
|
811
|
+
country: T.nilable(String),
|
|
812
|
+
country_of_registration: T.nilable(String),
|
|
813
|
+
entity_type: T.nilable(String),
|
|
814
|
+
legal_name: T.nilable(String),
|
|
815
|
+
postal_code: T.nilable(String),
|
|
816
|
+
state: T.nilable(String),
|
|
817
|
+
street: T.nilable(String),
|
|
818
|
+
tax_id: T.nilable(String),
|
|
819
|
+
tax_id_type: T.nilable(String),
|
|
820
|
+
url: T.nilable(String)
|
|
821
|
+
}
|
|
822
|
+
)
|
|
823
|
+
end
|
|
824
|
+
def to_hash
|
|
825
|
+
end
|
|
826
|
+
end
|
|
827
|
+
|
|
828
|
+
class Compliance < Sentdm::Internal::Type::BaseModel
|
|
829
|
+
OrHash =
|
|
830
|
+
T.type_alias do
|
|
831
|
+
T.any(
|
|
832
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Compliance,
|
|
833
|
+
Sentdm::Internal::AnyHash
|
|
834
|
+
)
|
|
835
|
+
end
|
|
836
|
+
|
|
837
|
+
sig do
|
|
838
|
+
returns(T.nilable(Sentdm::TcrBrandRelationship::TaggedSymbol))
|
|
839
|
+
end
|
|
840
|
+
attr_accessor :brand_relationship
|
|
841
|
+
|
|
842
|
+
# List of destination countries for messaging
|
|
843
|
+
sig { returns(T.nilable(T::Array[Sentdm::DestinationCountry])) }
|
|
844
|
+
attr_reader :destination_countries
|
|
845
|
+
|
|
846
|
+
sig do
|
|
847
|
+
params(
|
|
848
|
+
destination_countries:
|
|
849
|
+
T::Array[Sentdm::DestinationCountry::OrHash]
|
|
850
|
+
).void
|
|
851
|
+
end
|
|
852
|
+
attr_writer :destination_countries
|
|
853
|
+
|
|
854
|
+
# Whether this is a TCR (Campaign Registry) application
|
|
855
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
856
|
+
attr_reader :is_tcr_application
|
|
857
|
+
|
|
858
|
+
sig { params(is_tcr_application: T::Boolean).void }
|
|
859
|
+
attr_writer :is_tcr_application
|
|
860
|
+
|
|
861
|
+
# Additional notes about the business or use case
|
|
862
|
+
sig { returns(T.nilable(String)) }
|
|
863
|
+
attr_accessor :notes
|
|
864
|
+
|
|
865
|
+
# Phone number prefix for messaging (e.g., "+1")
|
|
866
|
+
sig { returns(T.nilable(String)) }
|
|
867
|
+
attr_accessor :phone_number_prefix
|
|
868
|
+
|
|
869
|
+
# Always null. The brand's free-text primary use case is no longer stored: it
|
|
870
|
+
# reached neither TCR nor any decision, and its column is dropped with no
|
|
871
|
+
# backfill, because the values were prose and the typed equivalent is the
|
|
872
|
+
# campaign's MessagingUseCaseUS.
|
|
873
|
+
#
|
|
874
|
+
# Retained so existing v3 clients reading primary_use_case keep deserializing.
|
|
875
|
+
# Unlike the profile sharing flags, which can answer false truthfully, there is no
|
|
876
|
+
# value to report here — the field is present and empty rather than present and
|
|
877
|
+
# wrong.
|
|
878
|
+
sig { returns(T.nilable(String)) }
|
|
879
|
+
attr_accessor :primary_use_case
|
|
880
|
+
|
|
881
|
+
sig { returns(T.nilable(Sentdm::TcrVertical::TaggedSymbol)) }
|
|
882
|
+
attr_accessor :vertical
|
|
883
|
+
|
|
884
|
+
# Compliance and TCR-related information
|
|
885
|
+
sig do
|
|
886
|
+
params(
|
|
887
|
+
brand_relationship:
|
|
888
|
+
T.nilable(Sentdm::TcrBrandRelationship::OrSymbol),
|
|
889
|
+
destination_countries:
|
|
890
|
+
T::Array[Sentdm::DestinationCountry::OrHash],
|
|
891
|
+
is_tcr_application: T::Boolean,
|
|
892
|
+
notes: T.nilable(String),
|
|
893
|
+
phone_number_prefix: T.nilable(String),
|
|
894
|
+
primary_use_case: T.nilable(String),
|
|
895
|
+
vertical: T.nilable(Sentdm::TcrVertical::OrSymbol)
|
|
896
|
+
).returns(T.attached_class)
|
|
897
|
+
end
|
|
898
|
+
def self.new(
|
|
899
|
+
brand_relationship: nil,
|
|
900
|
+
# List of destination countries for messaging
|
|
901
|
+
destination_countries: nil,
|
|
902
|
+
# Whether this is a TCR (Campaign Registry) application
|
|
903
|
+
is_tcr_application: nil,
|
|
904
|
+
# Additional notes about the business or use case
|
|
905
|
+
notes: nil,
|
|
906
|
+
# Phone number prefix for messaging (e.g., "+1")
|
|
907
|
+
phone_number_prefix: nil,
|
|
908
|
+
# Always null. The brand's free-text primary use case is no longer stored: it
|
|
909
|
+
# reached neither TCR nor any decision, and its column is dropped with no
|
|
910
|
+
# backfill, because the values were prose and the typed equivalent is the
|
|
911
|
+
# campaign's MessagingUseCaseUS.
|
|
912
|
+
#
|
|
913
|
+
# Retained so existing v3 clients reading primary_use_case keep deserializing.
|
|
914
|
+
# Unlike the profile sharing flags, which can answer false truthfully, there is no
|
|
915
|
+
# value to report here — the field is present and empty rather than present and
|
|
916
|
+
# wrong.
|
|
917
|
+
primary_use_case: nil,
|
|
918
|
+
vertical: nil
|
|
919
|
+
)
|
|
920
|
+
end
|
|
921
|
+
|
|
922
|
+
sig do
|
|
923
|
+
override.returns(
|
|
924
|
+
{
|
|
925
|
+
brand_relationship:
|
|
926
|
+
T.nilable(Sentdm::TcrBrandRelationship::TaggedSymbol),
|
|
927
|
+
destination_countries: T::Array[Sentdm::DestinationCountry],
|
|
928
|
+
is_tcr_application: T::Boolean,
|
|
929
|
+
notes: T.nilable(String),
|
|
930
|
+
phone_number_prefix: T.nilable(String),
|
|
931
|
+
primary_use_case: T.nilable(String),
|
|
932
|
+
vertical: T.nilable(Sentdm::TcrVertical::TaggedSymbol)
|
|
933
|
+
}
|
|
934
|
+
)
|
|
935
|
+
end
|
|
936
|
+
def to_hash
|
|
937
|
+
end
|
|
938
|
+
end
|
|
939
|
+
|
|
940
|
+
class Contact < Sentdm::Internal::Type::BaseModel
|
|
941
|
+
OrHash =
|
|
942
|
+
T.type_alias do
|
|
943
|
+
T.any(
|
|
944
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Contact,
|
|
945
|
+
Sentdm::Internal::AnyHash
|
|
946
|
+
)
|
|
947
|
+
end
|
|
948
|
+
|
|
949
|
+
# Business/brand name
|
|
950
|
+
sig { returns(T.nilable(String)) }
|
|
951
|
+
attr_accessor :business_name
|
|
952
|
+
|
|
953
|
+
# Contact email address
|
|
954
|
+
sig { returns(T.nilable(String)) }
|
|
955
|
+
attr_accessor :email
|
|
956
|
+
|
|
957
|
+
# Primary contact name
|
|
958
|
+
sig { returns(T.nilable(String)) }
|
|
959
|
+
attr_reader :name
|
|
960
|
+
|
|
961
|
+
sig { params(name: String).void }
|
|
962
|
+
attr_writer :name
|
|
963
|
+
|
|
964
|
+
# Contact phone number in E.164 format
|
|
965
|
+
sig { returns(T.nilable(String)) }
|
|
966
|
+
attr_accessor :phone
|
|
967
|
+
|
|
968
|
+
# Contact phone country code (e.g., "1" for US)
|
|
969
|
+
sig { returns(T.nilable(String)) }
|
|
970
|
+
attr_accessor :phone_country_code
|
|
971
|
+
|
|
972
|
+
# Contact's role in the business
|
|
973
|
+
sig { returns(T.nilable(String)) }
|
|
974
|
+
attr_accessor :role
|
|
975
|
+
|
|
976
|
+
# Contact information for the brand
|
|
977
|
+
sig do
|
|
978
|
+
params(
|
|
979
|
+
business_name: T.nilable(String),
|
|
980
|
+
email: T.nilable(String),
|
|
981
|
+
name: String,
|
|
982
|
+
phone: T.nilable(String),
|
|
983
|
+
phone_country_code: T.nilable(String),
|
|
984
|
+
role: T.nilable(String)
|
|
985
|
+
).returns(T.attached_class)
|
|
986
|
+
end
|
|
987
|
+
def self.new(
|
|
988
|
+
# Business/brand name
|
|
989
|
+
business_name: nil,
|
|
990
|
+
# Contact email address
|
|
991
|
+
email: nil,
|
|
992
|
+
# Primary contact name
|
|
993
|
+
name: nil,
|
|
994
|
+
# Contact phone number in E.164 format
|
|
995
|
+
phone: nil,
|
|
996
|
+
# Contact phone country code (e.g., "1" for US)
|
|
997
|
+
phone_country_code: nil,
|
|
998
|
+
# Contact's role in the business
|
|
999
|
+
role: nil
|
|
1000
|
+
)
|
|
1001
|
+
end
|
|
1002
|
+
|
|
1003
|
+
sig do
|
|
1004
|
+
override.returns(
|
|
1005
|
+
{
|
|
1006
|
+
business_name: T.nilable(String),
|
|
1007
|
+
email: T.nilable(String),
|
|
1008
|
+
name: String,
|
|
1009
|
+
phone: T.nilable(String),
|
|
1010
|
+
phone_country_code: T.nilable(String),
|
|
1011
|
+
role: T.nilable(String)
|
|
1012
|
+
}
|
|
1013
|
+
)
|
|
1014
|
+
end
|
|
1015
|
+
def to_hash
|
|
1016
|
+
end
|
|
1017
|
+
end
|
|
1018
|
+
|
|
1019
|
+
module IdentityStatus
|
|
1020
|
+
extend Sentdm::Internal::Type::Enum
|
|
1021
|
+
|
|
1022
|
+
TaggedSymbol =
|
|
1023
|
+
T.type_alias do
|
|
1024
|
+
T.all(
|
|
1025
|
+
Symbol,
|
|
1026
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::IdentityStatus
|
|
1027
|
+
)
|
|
1028
|
+
end
|
|
1029
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1030
|
+
|
|
1031
|
+
SELF_DECLARED =
|
|
1032
|
+
T.let(
|
|
1033
|
+
:SELF_DECLARED,
|
|
1034
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::IdentityStatus::TaggedSymbol
|
|
1035
|
+
)
|
|
1036
|
+
UNVERIFIED =
|
|
1037
|
+
T.let(
|
|
1038
|
+
:UNVERIFIED,
|
|
1039
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::IdentityStatus::TaggedSymbol
|
|
1040
|
+
)
|
|
1041
|
+
VERIFIED =
|
|
1042
|
+
T.let(
|
|
1043
|
+
:VERIFIED,
|
|
1044
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::IdentityStatus::TaggedSymbol
|
|
1045
|
+
)
|
|
1046
|
+
VETTED_VERIFIED =
|
|
1047
|
+
T.let(
|
|
1048
|
+
:VETTED_VERIFIED,
|
|
1049
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::IdentityStatus::TaggedSymbol
|
|
1050
|
+
)
|
|
1051
|
+
|
|
1052
|
+
sig do
|
|
1053
|
+
override.returns(
|
|
1054
|
+
T::Array[
|
|
1055
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::IdentityStatus::TaggedSymbol
|
|
1056
|
+
]
|
|
1057
|
+
)
|
|
1058
|
+
end
|
|
1059
|
+
def self.values
|
|
1060
|
+
end
|
|
1061
|
+
end
|
|
1062
|
+
|
|
1063
|
+
module Status
|
|
1064
|
+
extend Sentdm::Internal::Type::Enum
|
|
1065
|
+
|
|
1066
|
+
TaggedSymbol =
|
|
1067
|
+
T.type_alias do
|
|
1068
|
+
T.all(
|
|
1069
|
+
Symbol,
|
|
1070
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Status
|
|
1071
|
+
)
|
|
1072
|
+
end
|
|
1073
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1074
|
+
|
|
1075
|
+
ACTIVE =
|
|
1076
|
+
T.let(
|
|
1077
|
+
:ACTIVE,
|
|
1078
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Status::TaggedSymbol
|
|
1079
|
+
)
|
|
1080
|
+
INACTIVE =
|
|
1081
|
+
T.let(
|
|
1082
|
+
:INACTIVE,
|
|
1083
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Status::TaggedSymbol
|
|
1084
|
+
)
|
|
1085
|
+
SUSPENDED =
|
|
1086
|
+
T.let(
|
|
1087
|
+
:SUSPENDED,
|
|
1088
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Status::TaggedSymbol
|
|
1089
|
+
)
|
|
1090
|
+
|
|
1091
|
+
sig do
|
|
1092
|
+
override.returns(
|
|
1093
|
+
T::Array[
|
|
1094
|
+
Sentdm::Models::ProfileCreateResponse::Data::Brand::Status::TaggedSymbol
|
|
1095
|
+
]
|
|
1096
|
+
)
|
|
1097
|
+
end
|
|
1098
|
+
def self.values
|
|
1099
|
+
end
|
|
1100
|
+
end
|
|
1101
|
+
end
|
|
1102
|
+
end
|
|
1103
|
+
|
|
1104
|
+
class Error < Sentdm::Internal::Type::BaseModel
|
|
1105
|
+
OrHash =
|
|
1106
|
+
T.type_alias do
|
|
1107
|
+
T.any(
|
|
1108
|
+
Sentdm::Models::ProfileCreateResponse::Error,
|
|
1109
|
+
Sentdm::Internal::AnyHash
|
|
1110
|
+
)
|
|
1111
|
+
end
|
|
1112
|
+
|
|
1113
|
+
# Machine-readable error code (e.g., "RESOURCE_001")
|
|
1114
|
+
sig { returns(T.nilable(String)) }
|
|
1115
|
+
attr_reader :code
|
|
1116
|
+
|
|
1117
|
+
sig { params(code: String).void }
|
|
1118
|
+
attr_writer :code
|
|
1119
|
+
|
|
1120
|
+
# Additional validation error details (field-level errors)
|
|
1121
|
+
sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
|
|
1122
|
+
attr_accessor :details
|
|
1123
|
+
|
|
1124
|
+
# URL to documentation about this error
|
|
1125
|
+
sig { returns(T.nilable(String)) }
|
|
1126
|
+
attr_accessor :doc_url
|
|
1127
|
+
|
|
1128
|
+
# Human-readable error message
|
|
1129
|
+
sig { returns(T.nilable(String)) }
|
|
1130
|
+
attr_reader :message
|
|
1131
|
+
|
|
1132
|
+
sig { params(message: String).void }
|
|
1133
|
+
attr_writer :message
|
|
1134
|
+
|
|
1135
|
+
# Error information
|
|
1136
|
+
sig do
|
|
1137
|
+
params(
|
|
1138
|
+
code: String,
|
|
1139
|
+
details: T.nilable(T::Hash[Symbol, T::Array[String]]),
|
|
1140
|
+
doc_url: T.nilable(String),
|
|
1141
|
+
message: String
|
|
1142
|
+
).returns(T.attached_class)
|
|
1143
|
+
end
|
|
1144
|
+
def self.new(
|
|
1145
|
+
# Machine-readable error code (e.g., "RESOURCE_001")
|
|
1146
|
+
code: nil,
|
|
1147
|
+
# Additional validation error details (field-level errors)
|
|
1148
|
+
details: nil,
|
|
1149
|
+
# URL to documentation about this error
|
|
1150
|
+
doc_url: nil,
|
|
1151
|
+
# Human-readable error message
|
|
1152
|
+
message: nil
|
|
1153
|
+
)
|
|
1154
|
+
end
|
|
1155
|
+
|
|
1156
|
+
sig do
|
|
1157
|
+
override.returns(
|
|
1158
|
+
{
|
|
1159
|
+
code: String,
|
|
1160
|
+
details: T.nilable(T::Hash[Symbol, T::Array[String]]),
|
|
1161
|
+
doc_url: T.nilable(String),
|
|
1162
|
+
message: String
|
|
1163
|
+
}
|
|
1164
|
+
)
|
|
1165
|
+
end
|
|
1166
|
+
def to_hash
|
|
1167
|
+
end
|
|
1168
|
+
end
|
|
1169
|
+
|
|
1170
|
+
class Meta < Sentdm::Internal::Type::BaseModel
|
|
1171
|
+
OrHash =
|
|
1172
|
+
T.type_alias do
|
|
1173
|
+
T.any(
|
|
1174
|
+
Sentdm::Models::ProfileCreateResponse::Meta,
|
|
1175
|
+
Sentdm::Internal::AnyHash
|
|
1176
|
+
)
|
|
1177
|
+
end
|
|
1178
|
+
|
|
1179
|
+
# Unique identifier for this request (for tracing and support)
|
|
1180
|
+
sig { returns(T.nilable(String)) }
|
|
1181
|
+
attr_reader :request_id
|
|
1182
|
+
|
|
1183
|
+
sig { params(request_id: String).void }
|
|
1184
|
+
attr_writer :request_id
|
|
1185
|
+
|
|
1186
|
+
# Server timestamp when the response was generated
|
|
1187
|
+
sig { returns(T.nilable(Time)) }
|
|
1188
|
+
attr_reader :timestamp
|
|
1189
|
+
|
|
1190
|
+
sig { params(timestamp: Time).void }
|
|
1191
|
+
attr_writer :timestamp
|
|
1192
|
+
|
|
1193
|
+
# API version used for this request
|
|
1194
|
+
sig { returns(T.nilable(String)) }
|
|
1195
|
+
attr_reader :version
|
|
1196
|
+
|
|
1197
|
+
sig { params(version: String).void }
|
|
1198
|
+
attr_writer :version
|
|
1199
|
+
|
|
1200
|
+
# Request and response metadata
|
|
1201
|
+
sig do
|
|
1202
|
+
params(request_id: String, timestamp: Time, version: String).returns(
|
|
1203
|
+
T.attached_class
|
|
1204
|
+
)
|
|
1205
|
+
end
|
|
1206
|
+
def self.new(
|
|
1207
|
+
# Unique identifier for this request (for tracing and support)
|
|
1208
|
+
request_id: nil,
|
|
1209
|
+
# Server timestamp when the response was generated
|
|
1210
|
+
timestamp: nil,
|
|
1211
|
+
# API version used for this request
|
|
1212
|
+
version: nil
|
|
1213
|
+
)
|
|
1214
|
+
end
|
|
1215
|
+
|
|
1216
|
+
sig do
|
|
1217
|
+
override.returns(
|
|
1218
|
+
{ request_id: String, timestamp: Time, version: String }
|
|
1219
|
+
)
|
|
1220
|
+
end
|
|
1221
|
+
def to_hash
|
|
1222
|
+
end
|
|
1223
|
+
end
|
|
1224
|
+
end
|
|
1225
|
+
end
|
|
1226
|
+
end
|