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
|
@@ -14,7 +14,16 @@ module Sentdm
|
|
|
14
14
|
sig { returns(String) }
|
|
15
15
|
attr_accessor :profile_id
|
|
16
16
|
|
|
17
|
-
#
|
|
17
|
+
# Deprecated. Accepted and ignored. Contact and template sharing between sender
|
|
18
|
+
# profiles is gone — a profile sees only what it owns, and the organization still
|
|
19
|
+
# sees all of its profiles' contacts and templates through read-time widening. The
|
|
20
|
+
# four columns behind these flags were dropped by M260720120000.
|
|
21
|
+
#
|
|
22
|
+
# Retired the same way as SendingPhoneNumberProfileId, and for the same reason:
|
|
23
|
+
# the properties stay bound so an SDK that assigns them keeps compiling, and a 400
|
|
24
|
+
# would break a working integration over a capability that is gone regardless.
|
|
25
|
+
# Every profile reports all four as false, so a caller that checks its own write
|
|
26
|
+
# can see it did not take.
|
|
18
27
|
sig { returns(T.nilable(T::Boolean)) }
|
|
19
28
|
attr_accessor :allow_contact_sharing
|
|
20
29
|
|
|
@@ -22,18 +31,18 @@ module Sentdm
|
|
|
22
31
|
sig { returns(T.nilable(T::Boolean)) }
|
|
23
32
|
attr_accessor :allow_number_change_during_onboarding
|
|
24
33
|
|
|
25
|
-
# Whether templates are shared across profiles (optional)
|
|
26
34
|
sig { returns(T.nilable(T::Boolean)) }
|
|
27
35
|
attr_accessor :allow_template_sharing
|
|
28
36
|
|
|
29
37
|
# Billing contact information for a profile. Required when billing_model is
|
|
30
38
|
# "profile" or "profile_and_organization".
|
|
31
|
-
sig { returns(T.nilable(Sentdm::
|
|
39
|
+
sig { returns(T.nilable(Sentdm::ProfileUpdateParams::BillingContact)) }
|
|
32
40
|
attr_reader :billing_contact
|
|
33
41
|
|
|
34
42
|
sig do
|
|
35
43
|
params(
|
|
36
|
-
billing_contact:
|
|
44
|
+
billing_contact:
|
|
45
|
+
T.nilable(Sentdm::ProfileUpdateParams::BillingContact::OrHash)
|
|
37
46
|
).void
|
|
38
47
|
end
|
|
39
48
|
attr_writer :billing_contact
|
|
@@ -49,10 +58,14 @@ module Sentdm
|
|
|
49
58
|
attr_accessor :billing_model
|
|
50
59
|
|
|
51
60
|
# Brand and KYC data grouped into contact, business, and compliance sections
|
|
52
|
-
sig { returns(T.nilable(Sentdm::
|
|
61
|
+
sig { returns(T.nilable(Sentdm::ProfileUpdateParams::Brand)) }
|
|
53
62
|
attr_reader :brand
|
|
54
63
|
|
|
55
|
-
sig
|
|
64
|
+
sig do
|
|
65
|
+
params(
|
|
66
|
+
brand: T.nilable(Sentdm::ProfileUpdateParams::Brand::OrHash)
|
|
67
|
+
).void
|
|
68
|
+
end
|
|
56
69
|
attr_writer :brand
|
|
57
70
|
|
|
58
71
|
# Profile description (optional)
|
|
@@ -63,7 +76,6 @@ module Sentdm
|
|
|
63
76
|
sig { returns(T.nilable(String)) }
|
|
64
77
|
attr_accessor :icon
|
|
65
78
|
|
|
66
|
-
# Whether this profile inherits contacts from organization (optional)
|
|
67
79
|
sig { returns(T.nilable(T::Boolean)) }
|
|
68
80
|
attr_accessor :inherit_contacts
|
|
69
81
|
|
|
@@ -75,7 +87,6 @@ module Sentdm
|
|
|
75
87
|
sig { returns(T.nilable(T::Boolean)) }
|
|
76
88
|
attr_accessor :inherit_tcr_campaign
|
|
77
89
|
|
|
78
|
-
# Whether this profile inherits templates from organization (optional)
|
|
79
90
|
sig { returns(T.nilable(T::Boolean)) }
|
|
80
91
|
attr_accessor :inherit_templates
|
|
81
92
|
|
|
@@ -83,14 +94,17 @@ module Sentdm
|
|
|
83
94
|
sig { returns(T.nilable(String)) }
|
|
84
95
|
attr_accessor :name
|
|
85
96
|
|
|
86
|
-
# Payment card details for
|
|
87
|
-
# "profile_and_organization".
|
|
88
|
-
#
|
|
89
|
-
sig { returns(T.nilable(Sentdm::PaymentDetails)) }
|
|
97
|
+
# Payment card details for this profile (optional). Accepted when billing_model is
|
|
98
|
+
# "profile" or "profile_and_organization". Not persisted on our servers —
|
|
99
|
+
# forwarded to the payment processor.
|
|
100
|
+
sig { returns(T.nilable(Sentdm::ProfileUpdateParams::PaymentDetails)) }
|
|
90
101
|
attr_reader :payment_details
|
|
91
102
|
|
|
92
103
|
sig do
|
|
93
|
-
params(
|
|
104
|
+
params(
|
|
105
|
+
payment_details:
|
|
106
|
+
T.nilable(Sentdm::ProfileUpdateParams::PaymentDetails::OrHash)
|
|
107
|
+
).void
|
|
94
108
|
end
|
|
95
109
|
attr_writer :payment_details
|
|
96
110
|
|
|
@@ -106,11 +120,28 @@ module Sentdm
|
|
|
106
120
|
sig { returns(T.nilable(String)) }
|
|
107
121
|
attr_accessor :sending_phone_number
|
|
108
122
|
|
|
109
|
-
#
|
|
123
|
+
# Deprecated. Accepted and ignored. Sender borrowing is gone: a profile cannot
|
|
124
|
+
# send from another profile's SMS number. Supplying this changes nothing and the
|
|
125
|
+
# request still succeeds.
|
|
126
|
+
#
|
|
127
|
+
# Bound rather than dropped so the property survives on the wire and in a
|
|
128
|
+
# generated client — an SDK that assigns it keeps compiling, which is the
|
|
129
|
+
# compatibility this exists for. It is deliberately not refused: a 400 here would
|
|
130
|
+
# break an integration that is otherwise working, and the capability it asks for
|
|
131
|
+
# is gone either way.
|
|
132
|
+
#
|
|
133
|
+
# The trade-off, stated plainly. A caller asking for borrowing is told it
|
|
134
|
+
# succeeded when nothing happened. What makes that survivable is the read:
|
|
135
|
+
# sending_phone_number_profile_id comes back null on every profile, so a caller
|
|
136
|
+
# that checks its own write can see it did not take. Every request that carries
|
|
137
|
+
# one is logged, so we can tell when nobody is sending it any more and the field
|
|
138
|
+
# can go for real.
|
|
139
|
+
#
|
|
140
|
+
# Give the profile a sender of its own instead: POST /v3/channels/sms with the
|
|
141
|
+
# x-profile-id header naming it.
|
|
110
142
|
sig { returns(T.nilable(String)) }
|
|
111
143
|
attr_accessor :sending_phone_number_profile_id
|
|
112
144
|
|
|
113
|
-
# Reference to another profile to use for WhatsApp configuration (optional)
|
|
114
145
|
sig { returns(T.nilable(String)) }
|
|
115
146
|
attr_accessor :sending_whatsapp_number_profile_id
|
|
116
147
|
|
|
@@ -142,9 +173,10 @@ module Sentdm
|
|
|
142
173
|
allow_contact_sharing: T.nilable(T::Boolean),
|
|
143
174
|
allow_number_change_during_onboarding: T.nilable(T::Boolean),
|
|
144
175
|
allow_template_sharing: T.nilable(T::Boolean),
|
|
145
|
-
billing_contact:
|
|
176
|
+
billing_contact:
|
|
177
|
+
T.nilable(Sentdm::ProfileUpdateParams::BillingContact::OrHash),
|
|
146
178
|
billing_model: T.nilable(String),
|
|
147
|
-
brand: T.nilable(Sentdm::
|
|
179
|
+
brand: T.nilable(Sentdm::ProfileUpdateParams::Brand::OrHash),
|
|
148
180
|
description: T.nilable(String),
|
|
149
181
|
icon: T.nilable(String),
|
|
150
182
|
inherit_contacts: T.nilable(T::Boolean),
|
|
@@ -152,7 +184,8 @@ module Sentdm
|
|
|
152
184
|
inherit_tcr_campaign: T.nilable(T::Boolean),
|
|
153
185
|
inherit_templates: T.nilable(T::Boolean),
|
|
154
186
|
name: T.nilable(String),
|
|
155
|
-
payment_details:
|
|
187
|
+
payment_details:
|
|
188
|
+
T.nilable(Sentdm::ProfileUpdateParams::PaymentDetails::OrHash),
|
|
156
189
|
sandbox: T::Boolean,
|
|
157
190
|
sending_phone_number: T.nilable(String),
|
|
158
191
|
sending_phone_number_profile_id: T.nilable(String),
|
|
@@ -166,11 +199,19 @@ module Sentdm
|
|
|
166
199
|
end
|
|
167
200
|
def self.new(
|
|
168
201
|
profile_id:,
|
|
169
|
-
#
|
|
202
|
+
# Deprecated. Accepted and ignored. Contact and template sharing between sender
|
|
203
|
+
# profiles is gone — a profile sees only what it owns, and the organization still
|
|
204
|
+
# sees all of its profiles' contacts and templates through read-time widening. The
|
|
205
|
+
# four columns behind these flags were dropped by M260720120000.
|
|
206
|
+
#
|
|
207
|
+
# Retired the same way as SendingPhoneNumberProfileId, and for the same reason:
|
|
208
|
+
# the properties stay bound so an SDK that assigns them keeps compiling, and a 400
|
|
209
|
+
# would break a working integration over a capability that is gone regardless.
|
|
210
|
+
# Every profile reports all four as false, so a caller that checks its own write
|
|
211
|
+
# can see it did not take.
|
|
170
212
|
allow_contact_sharing: nil,
|
|
171
213
|
# Whether number changes are allowed during onboarding (optional)
|
|
172
214
|
allow_number_change_during_onboarding: nil,
|
|
173
|
-
# Whether templates are shared across profiles (optional)
|
|
174
215
|
allow_template_sharing: nil,
|
|
175
216
|
# Billing contact information for a profile. Required when billing_model is
|
|
176
217
|
# "profile" or "profile_and_organization".
|
|
@@ -189,28 +230,43 @@ module Sentdm
|
|
|
189
230
|
description: nil,
|
|
190
231
|
# Profile icon URL (optional)
|
|
191
232
|
icon: nil,
|
|
192
|
-
# Whether this profile inherits contacts from organization (optional)
|
|
193
233
|
inherit_contacts: nil,
|
|
194
234
|
# Whether this profile inherits TCR brand from organization (optional)
|
|
195
235
|
inherit_tcr_brand: nil,
|
|
196
236
|
# Whether this profile inherits TCR campaign from organization (optional)
|
|
197
237
|
inherit_tcr_campaign: nil,
|
|
198
|
-
# Whether this profile inherits templates from organization (optional)
|
|
199
238
|
inherit_templates: nil,
|
|
200
239
|
# Profile name (optional)
|
|
201
240
|
name: nil,
|
|
202
|
-
# Payment card details for
|
|
203
|
-
# "profile_and_organization".
|
|
204
|
-
#
|
|
241
|
+
# Payment card details for this profile (optional). Accepted when billing_model is
|
|
242
|
+
# "profile" or "profile_and_organization". Not persisted on our servers —
|
|
243
|
+
# forwarded to the payment processor.
|
|
205
244
|
payment_details: nil,
|
|
206
245
|
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
207
246
|
# for testing integrations without actual execution
|
|
208
247
|
sandbox: nil,
|
|
209
248
|
# Direct phone number for SMS sending (optional)
|
|
210
249
|
sending_phone_number: nil,
|
|
211
|
-
#
|
|
250
|
+
# Deprecated. Accepted and ignored. Sender borrowing is gone: a profile cannot
|
|
251
|
+
# send from another profile's SMS number. Supplying this changes nothing and the
|
|
252
|
+
# request still succeeds.
|
|
253
|
+
#
|
|
254
|
+
# Bound rather than dropped so the property survives on the wire and in a
|
|
255
|
+
# generated client — an SDK that assigns it keeps compiling, which is the
|
|
256
|
+
# compatibility this exists for. It is deliberately not refused: a 400 here would
|
|
257
|
+
# break an integration that is otherwise working, and the capability it asks for
|
|
258
|
+
# is gone either way.
|
|
259
|
+
#
|
|
260
|
+
# The trade-off, stated plainly. A caller asking for borrowing is told it
|
|
261
|
+
# succeeded when nothing happened. What makes that survivable is the read:
|
|
262
|
+
# sending_phone_number_profile_id comes back null on every profile, so a caller
|
|
263
|
+
# that checks its own write can see it did not take. Every request that carries
|
|
264
|
+
# one is logged, so we can tell when nobody is sending it any more and the field
|
|
265
|
+
# can go for real.
|
|
266
|
+
#
|
|
267
|
+
# Give the profile a sender of its own instead: POST /v3/channels/sms with the
|
|
268
|
+
# x-profile-id header naming it.
|
|
212
269
|
sending_phone_number_profile_id: nil,
|
|
213
|
-
# Reference to another profile to use for WhatsApp configuration (optional)
|
|
214
270
|
sending_whatsapp_number_profile_id: nil,
|
|
215
271
|
# Profile short name/abbreviation (optional). Must be 3–11 characters, contain
|
|
216
272
|
# only letters, numbers, and spaces, and include at least one letter. Example:
|
|
@@ -231,9 +287,10 @@ module Sentdm
|
|
|
231
287
|
allow_contact_sharing: T.nilable(T::Boolean),
|
|
232
288
|
allow_number_change_during_onboarding: T.nilable(T::Boolean),
|
|
233
289
|
allow_template_sharing: T.nilable(T::Boolean),
|
|
234
|
-
billing_contact:
|
|
290
|
+
billing_contact:
|
|
291
|
+
T.nilable(Sentdm::ProfileUpdateParams::BillingContact),
|
|
235
292
|
billing_model: T.nilable(String),
|
|
236
|
-
brand: T.nilable(Sentdm::
|
|
293
|
+
brand: T.nilable(Sentdm::ProfileUpdateParams::Brand),
|
|
237
294
|
description: T.nilable(String),
|
|
238
295
|
icon: T.nilable(String),
|
|
239
296
|
inherit_contacts: T.nilable(T::Boolean),
|
|
@@ -241,7 +298,8 @@ module Sentdm
|
|
|
241
298
|
inherit_tcr_campaign: T.nilable(T::Boolean),
|
|
242
299
|
inherit_templates: T.nilable(T::Boolean),
|
|
243
300
|
name: T.nilable(String),
|
|
244
|
-
payment_details:
|
|
301
|
+
payment_details:
|
|
302
|
+
T.nilable(Sentdm::ProfileUpdateParams::PaymentDetails),
|
|
245
303
|
sandbox: T::Boolean,
|
|
246
304
|
sending_phone_number: T.nilable(String),
|
|
247
305
|
sending_phone_number_profile_id: T.nilable(String),
|
|
@@ -256,6 +314,528 @@ module Sentdm
|
|
|
256
314
|
end
|
|
257
315
|
def to_hash
|
|
258
316
|
end
|
|
317
|
+
|
|
318
|
+
class BillingContact < Sentdm::Internal::Type::BaseModel
|
|
319
|
+
OrHash =
|
|
320
|
+
T.type_alias do
|
|
321
|
+
T.any(
|
|
322
|
+
Sentdm::ProfileUpdateParams::BillingContact,
|
|
323
|
+
Sentdm::Internal::AnyHash
|
|
324
|
+
)
|
|
325
|
+
end
|
|
326
|
+
|
|
327
|
+
# Email address where invoices will be sent (required)
|
|
328
|
+
sig { returns(String) }
|
|
329
|
+
attr_accessor :email
|
|
330
|
+
|
|
331
|
+
# Full name of the billing contact or company (required)
|
|
332
|
+
sig { returns(String) }
|
|
333
|
+
attr_accessor :name
|
|
334
|
+
|
|
335
|
+
# Billing address (optional). Free-form text including street, city, state, postal
|
|
336
|
+
# code, and country.
|
|
337
|
+
sig { returns(T.nilable(String)) }
|
|
338
|
+
attr_accessor :address
|
|
339
|
+
|
|
340
|
+
# Phone number for the billing contact (optional)
|
|
341
|
+
sig { returns(T.nilable(String)) }
|
|
342
|
+
attr_accessor :phone
|
|
343
|
+
|
|
344
|
+
# Billing contact information for a profile. Required when billing_model is
|
|
345
|
+
# "profile" or "profile_and_organization".
|
|
346
|
+
sig do
|
|
347
|
+
params(
|
|
348
|
+
email: String,
|
|
349
|
+
name: String,
|
|
350
|
+
address: T.nilable(String),
|
|
351
|
+
phone: T.nilable(String)
|
|
352
|
+
).returns(T.attached_class)
|
|
353
|
+
end
|
|
354
|
+
def self.new(
|
|
355
|
+
# Email address where invoices will be sent (required)
|
|
356
|
+
email:,
|
|
357
|
+
# Full name of the billing contact or company (required)
|
|
358
|
+
name:,
|
|
359
|
+
# Billing address (optional). Free-form text including street, city, state, postal
|
|
360
|
+
# code, and country.
|
|
361
|
+
address: nil,
|
|
362
|
+
# Phone number for the billing contact (optional)
|
|
363
|
+
phone: nil
|
|
364
|
+
)
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
sig do
|
|
368
|
+
override.returns(
|
|
369
|
+
{
|
|
370
|
+
email: String,
|
|
371
|
+
name: String,
|
|
372
|
+
address: T.nilable(String),
|
|
373
|
+
phone: T.nilable(String)
|
|
374
|
+
}
|
|
375
|
+
)
|
|
376
|
+
end
|
|
377
|
+
def to_hash
|
|
378
|
+
end
|
|
379
|
+
end
|
|
380
|
+
|
|
381
|
+
class Brand < Sentdm::Internal::Type::BaseModel
|
|
382
|
+
OrHash =
|
|
383
|
+
T.type_alias do
|
|
384
|
+
T.any(Sentdm::ProfileUpdateParams::Brand, Sentdm::Internal::AnyHash)
|
|
385
|
+
end
|
|
386
|
+
|
|
387
|
+
# Compliance and TCR information for brand registration
|
|
388
|
+
sig { returns(Sentdm::ProfileUpdateParams::Brand::Compliance) }
|
|
389
|
+
attr_reader :compliance
|
|
390
|
+
|
|
391
|
+
sig do
|
|
392
|
+
params(
|
|
393
|
+
compliance: Sentdm::ProfileUpdateParams::Brand::Compliance::OrHash
|
|
394
|
+
).void
|
|
395
|
+
end
|
|
396
|
+
attr_writer :compliance
|
|
397
|
+
|
|
398
|
+
# Contact information for brand KYC
|
|
399
|
+
sig { returns(Sentdm::ProfileUpdateParams::Brand::Contact) }
|
|
400
|
+
attr_reader :contact
|
|
401
|
+
|
|
402
|
+
sig do
|
|
403
|
+
params(
|
|
404
|
+
contact: Sentdm::ProfileUpdateParams::Brand::Contact::OrHash
|
|
405
|
+
).void
|
|
406
|
+
end
|
|
407
|
+
attr_writer :contact
|
|
408
|
+
|
|
409
|
+
# Business details and address for brand KYC
|
|
410
|
+
sig { returns(T.nilable(Sentdm::ProfileUpdateParams::Brand::Business)) }
|
|
411
|
+
attr_reader :business
|
|
412
|
+
|
|
413
|
+
sig do
|
|
414
|
+
params(
|
|
415
|
+
business:
|
|
416
|
+
T.nilable(Sentdm::ProfileUpdateParams::Brand::Business::OrHash)
|
|
417
|
+
).void
|
|
418
|
+
end
|
|
419
|
+
attr_writer :business
|
|
420
|
+
|
|
421
|
+
# Brand and KYC data grouped into contact, business, and compliance sections
|
|
422
|
+
sig do
|
|
423
|
+
params(
|
|
424
|
+
compliance: Sentdm::ProfileUpdateParams::Brand::Compliance::OrHash,
|
|
425
|
+
contact: Sentdm::ProfileUpdateParams::Brand::Contact::OrHash,
|
|
426
|
+
business:
|
|
427
|
+
T.nilable(Sentdm::ProfileUpdateParams::Brand::Business::OrHash)
|
|
428
|
+
).returns(T.attached_class)
|
|
429
|
+
end
|
|
430
|
+
def self.new(
|
|
431
|
+
# Compliance and TCR information for brand registration
|
|
432
|
+
compliance:,
|
|
433
|
+
# Contact information for brand KYC
|
|
434
|
+
contact:,
|
|
435
|
+
# Business details and address for brand KYC
|
|
436
|
+
business: nil
|
|
437
|
+
)
|
|
438
|
+
end
|
|
439
|
+
|
|
440
|
+
sig do
|
|
441
|
+
override.returns(
|
|
442
|
+
{
|
|
443
|
+
compliance: Sentdm::ProfileUpdateParams::Brand::Compliance,
|
|
444
|
+
contact: Sentdm::ProfileUpdateParams::Brand::Contact,
|
|
445
|
+
business: T.nilable(Sentdm::ProfileUpdateParams::Brand::Business)
|
|
446
|
+
}
|
|
447
|
+
)
|
|
448
|
+
end
|
|
449
|
+
def to_hash
|
|
450
|
+
end
|
|
451
|
+
|
|
452
|
+
class Compliance < Sentdm::Internal::Type::BaseModel
|
|
453
|
+
OrHash =
|
|
454
|
+
T.type_alias do
|
|
455
|
+
T.any(
|
|
456
|
+
Sentdm::ProfileUpdateParams::Brand::Compliance,
|
|
457
|
+
Sentdm::Internal::AnyHash
|
|
458
|
+
)
|
|
459
|
+
end
|
|
460
|
+
|
|
461
|
+
sig { returns(Sentdm::TcrBrandRelationship::OrSymbol) }
|
|
462
|
+
attr_accessor :brand_relationship
|
|
463
|
+
|
|
464
|
+
sig { returns(Sentdm::TcrVertical::OrSymbol) }
|
|
465
|
+
attr_accessor :vertical
|
|
466
|
+
|
|
467
|
+
# List of destination countries for messaging
|
|
468
|
+
sig { returns(T.nilable(T::Array[Sentdm::DestinationCountry])) }
|
|
469
|
+
attr_accessor :destination_countries
|
|
470
|
+
|
|
471
|
+
# Whether this is a TCR (Campaign Registry) application
|
|
472
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
473
|
+
attr_accessor :is_tcr_application
|
|
474
|
+
|
|
475
|
+
# Additional notes about the business or use case
|
|
476
|
+
sig { returns(T.nilable(String)) }
|
|
477
|
+
attr_accessor :notes
|
|
478
|
+
|
|
479
|
+
# Phone number prefix for messaging (e.g., "+1")
|
|
480
|
+
sig { returns(T.nilable(String)) }
|
|
481
|
+
attr_accessor :phone_number_prefix
|
|
482
|
+
|
|
483
|
+
# Compliance and TCR information for brand registration
|
|
484
|
+
sig do
|
|
485
|
+
params(
|
|
486
|
+
brand_relationship: Sentdm::TcrBrandRelationship::OrSymbol,
|
|
487
|
+
vertical: Sentdm::TcrVertical::OrSymbol,
|
|
488
|
+
destination_countries:
|
|
489
|
+
T.nilable(T::Array[Sentdm::DestinationCountry::OrHash]),
|
|
490
|
+
is_tcr_application: T.nilable(T::Boolean),
|
|
491
|
+
notes: T.nilable(String),
|
|
492
|
+
phone_number_prefix: T.nilable(String)
|
|
493
|
+
).returns(T.attached_class)
|
|
494
|
+
end
|
|
495
|
+
def self.new(
|
|
496
|
+
brand_relationship:,
|
|
497
|
+
vertical:,
|
|
498
|
+
# List of destination countries for messaging
|
|
499
|
+
destination_countries: nil,
|
|
500
|
+
# Whether this is a TCR (Campaign Registry) application
|
|
501
|
+
is_tcr_application: nil,
|
|
502
|
+
# Additional notes about the business or use case
|
|
503
|
+
notes: nil,
|
|
504
|
+
# Phone number prefix for messaging (e.g., "+1")
|
|
505
|
+
phone_number_prefix: nil
|
|
506
|
+
)
|
|
507
|
+
end
|
|
508
|
+
|
|
509
|
+
sig do
|
|
510
|
+
override.returns(
|
|
511
|
+
{
|
|
512
|
+
brand_relationship: Sentdm::TcrBrandRelationship::OrSymbol,
|
|
513
|
+
vertical: Sentdm::TcrVertical::OrSymbol,
|
|
514
|
+
destination_countries:
|
|
515
|
+
T.nilable(T::Array[Sentdm::DestinationCountry]),
|
|
516
|
+
is_tcr_application: T.nilable(T::Boolean),
|
|
517
|
+
notes: T.nilable(String),
|
|
518
|
+
phone_number_prefix: T.nilable(String)
|
|
519
|
+
}
|
|
520
|
+
)
|
|
521
|
+
end
|
|
522
|
+
def to_hash
|
|
523
|
+
end
|
|
524
|
+
end
|
|
525
|
+
|
|
526
|
+
class Contact < Sentdm::Internal::Type::BaseModel
|
|
527
|
+
OrHash =
|
|
528
|
+
T.type_alias do
|
|
529
|
+
T.any(
|
|
530
|
+
Sentdm::ProfileUpdateParams::Brand::Contact,
|
|
531
|
+
Sentdm::Internal::AnyHash
|
|
532
|
+
)
|
|
533
|
+
end
|
|
534
|
+
|
|
535
|
+
# Primary contact name (required)
|
|
536
|
+
sig { returns(String) }
|
|
537
|
+
attr_accessor :name
|
|
538
|
+
|
|
539
|
+
# Business/brand name
|
|
540
|
+
sig { returns(T.nilable(String)) }
|
|
541
|
+
attr_accessor :business_name
|
|
542
|
+
|
|
543
|
+
# Contact email address
|
|
544
|
+
sig { returns(T.nilable(String)) }
|
|
545
|
+
attr_accessor :email
|
|
546
|
+
|
|
547
|
+
# Contact phone number in E.164 format
|
|
548
|
+
sig { returns(T.nilable(String)) }
|
|
549
|
+
attr_accessor :phone
|
|
550
|
+
|
|
551
|
+
# Contact phone country code (e.g., "1" for US)
|
|
552
|
+
sig { returns(T.nilable(String)) }
|
|
553
|
+
attr_accessor :phone_country_code
|
|
554
|
+
|
|
555
|
+
# Contact's role in the business
|
|
556
|
+
sig { returns(T.nilable(String)) }
|
|
557
|
+
attr_accessor :role
|
|
558
|
+
|
|
559
|
+
# Contact information for brand KYC
|
|
560
|
+
sig do
|
|
561
|
+
params(
|
|
562
|
+
name: String,
|
|
563
|
+
business_name: T.nilable(String),
|
|
564
|
+
email: T.nilable(String),
|
|
565
|
+
phone: T.nilable(String),
|
|
566
|
+
phone_country_code: T.nilable(String),
|
|
567
|
+
role: T.nilable(String)
|
|
568
|
+
).returns(T.attached_class)
|
|
569
|
+
end
|
|
570
|
+
def self.new(
|
|
571
|
+
# Primary contact name (required)
|
|
572
|
+
name:,
|
|
573
|
+
# Business/brand name
|
|
574
|
+
business_name: nil,
|
|
575
|
+
# Contact email address
|
|
576
|
+
email: nil,
|
|
577
|
+
# Contact phone number in E.164 format
|
|
578
|
+
phone: nil,
|
|
579
|
+
# Contact phone country code (e.g., "1" for US)
|
|
580
|
+
phone_country_code: nil,
|
|
581
|
+
# Contact's role in the business
|
|
582
|
+
role: nil
|
|
583
|
+
)
|
|
584
|
+
end
|
|
585
|
+
|
|
586
|
+
sig do
|
|
587
|
+
override.returns(
|
|
588
|
+
{
|
|
589
|
+
name: String,
|
|
590
|
+
business_name: T.nilable(String),
|
|
591
|
+
email: T.nilable(String),
|
|
592
|
+
phone: T.nilable(String),
|
|
593
|
+
phone_country_code: T.nilable(String),
|
|
594
|
+
role: T.nilable(String)
|
|
595
|
+
}
|
|
596
|
+
)
|
|
597
|
+
end
|
|
598
|
+
def to_hash
|
|
599
|
+
end
|
|
600
|
+
end
|
|
601
|
+
|
|
602
|
+
class Business < Sentdm::Internal::Type::BaseModel
|
|
603
|
+
OrHash =
|
|
604
|
+
T.type_alias do
|
|
605
|
+
T.any(
|
|
606
|
+
Sentdm::ProfileUpdateParams::Brand::Business,
|
|
607
|
+
Sentdm::Internal::AnyHash
|
|
608
|
+
)
|
|
609
|
+
end
|
|
610
|
+
|
|
611
|
+
# City
|
|
612
|
+
sig { returns(T.nilable(String)) }
|
|
613
|
+
attr_accessor :city
|
|
614
|
+
|
|
615
|
+
# Country code (e.g., US, CA)
|
|
616
|
+
sig { returns(T.nilable(String)) }
|
|
617
|
+
attr_accessor :country
|
|
618
|
+
|
|
619
|
+
# Country where the business is registered
|
|
620
|
+
sig { returns(T.nilable(String)) }
|
|
621
|
+
attr_accessor :country_of_registration
|
|
622
|
+
|
|
623
|
+
sig do
|
|
624
|
+
returns(
|
|
625
|
+
T.nilable(
|
|
626
|
+
Sentdm::ProfileUpdateParams::Brand::Business::EntityType::OrSymbol
|
|
627
|
+
)
|
|
628
|
+
)
|
|
629
|
+
end
|
|
630
|
+
attr_accessor :entity_type
|
|
631
|
+
|
|
632
|
+
# Legal business name
|
|
633
|
+
sig { returns(T.nilable(String)) }
|
|
634
|
+
attr_accessor :legal_name
|
|
635
|
+
|
|
636
|
+
# Postal/ZIP code
|
|
637
|
+
sig { returns(T.nilable(String)) }
|
|
638
|
+
attr_accessor :postal_code
|
|
639
|
+
|
|
640
|
+
# State/province code
|
|
641
|
+
sig { returns(T.nilable(String)) }
|
|
642
|
+
attr_accessor :state
|
|
643
|
+
|
|
644
|
+
# Street address
|
|
645
|
+
sig { returns(T.nilable(String)) }
|
|
646
|
+
attr_accessor :street
|
|
647
|
+
|
|
648
|
+
# Tax ID/EIN number
|
|
649
|
+
sig { returns(T.nilable(String)) }
|
|
650
|
+
attr_accessor :tax_id
|
|
651
|
+
|
|
652
|
+
# Type of tax ID (e.g., us_ein, ca_bn)
|
|
653
|
+
sig { returns(T.nilable(String)) }
|
|
654
|
+
attr_accessor :tax_id_type
|
|
655
|
+
|
|
656
|
+
# Business website URL
|
|
657
|
+
sig { returns(T.nilable(String)) }
|
|
658
|
+
attr_accessor :url
|
|
659
|
+
|
|
660
|
+
# Business details and address for brand KYC
|
|
661
|
+
sig do
|
|
662
|
+
params(
|
|
663
|
+
city: T.nilable(String),
|
|
664
|
+
country: T.nilable(String),
|
|
665
|
+
country_of_registration: T.nilable(String),
|
|
666
|
+
entity_type:
|
|
667
|
+
T.nilable(
|
|
668
|
+
Sentdm::ProfileUpdateParams::Brand::Business::EntityType::OrSymbol
|
|
669
|
+
),
|
|
670
|
+
legal_name: T.nilable(String),
|
|
671
|
+
postal_code: T.nilable(String),
|
|
672
|
+
state: T.nilable(String),
|
|
673
|
+
street: T.nilable(String),
|
|
674
|
+
tax_id: T.nilable(String),
|
|
675
|
+
tax_id_type: T.nilable(String),
|
|
676
|
+
url: T.nilable(String)
|
|
677
|
+
).returns(T.attached_class)
|
|
678
|
+
end
|
|
679
|
+
def self.new(
|
|
680
|
+
# City
|
|
681
|
+
city: nil,
|
|
682
|
+
# Country code (e.g., US, CA)
|
|
683
|
+
country: nil,
|
|
684
|
+
# Country where the business is registered
|
|
685
|
+
country_of_registration: nil,
|
|
686
|
+
entity_type: nil,
|
|
687
|
+
# Legal business name
|
|
688
|
+
legal_name: nil,
|
|
689
|
+
# Postal/ZIP code
|
|
690
|
+
postal_code: nil,
|
|
691
|
+
# State/province code
|
|
692
|
+
state: nil,
|
|
693
|
+
# Street address
|
|
694
|
+
street: nil,
|
|
695
|
+
# Tax ID/EIN number
|
|
696
|
+
tax_id: nil,
|
|
697
|
+
# Type of tax ID (e.g., us_ein, ca_bn)
|
|
698
|
+
tax_id_type: nil,
|
|
699
|
+
# Business website URL
|
|
700
|
+
url: nil
|
|
701
|
+
)
|
|
702
|
+
end
|
|
703
|
+
|
|
704
|
+
sig do
|
|
705
|
+
override.returns(
|
|
706
|
+
{
|
|
707
|
+
city: T.nilable(String),
|
|
708
|
+
country: T.nilable(String),
|
|
709
|
+
country_of_registration: T.nilable(String),
|
|
710
|
+
entity_type:
|
|
711
|
+
T.nilable(
|
|
712
|
+
Sentdm::ProfileUpdateParams::Brand::Business::EntityType::OrSymbol
|
|
713
|
+
),
|
|
714
|
+
legal_name: T.nilable(String),
|
|
715
|
+
postal_code: T.nilable(String),
|
|
716
|
+
state: T.nilable(String),
|
|
717
|
+
street: T.nilable(String),
|
|
718
|
+
tax_id: T.nilable(String),
|
|
719
|
+
tax_id_type: T.nilable(String),
|
|
720
|
+
url: T.nilable(String)
|
|
721
|
+
}
|
|
722
|
+
)
|
|
723
|
+
end
|
|
724
|
+
def to_hash
|
|
725
|
+
end
|
|
726
|
+
|
|
727
|
+
module EntityType
|
|
728
|
+
extend Sentdm::Internal::Type::Enum
|
|
729
|
+
|
|
730
|
+
TaggedSymbol =
|
|
731
|
+
T.type_alias do
|
|
732
|
+
T.all(
|
|
733
|
+
Symbol,
|
|
734
|
+
Sentdm::ProfileUpdateParams::Brand::Business::EntityType
|
|
735
|
+
)
|
|
736
|
+
end
|
|
737
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
738
|
+
|
|
739
|
+
PRIVATE_PROFIT =
|
|
740
|
+
T.let(
|
|
741
|
+
:PRIVATE_PROFIT,
|
|
742
|
+
Sentdm::ProfileUpdateParams::Brand::Business::EntityType::TaggedSymbol
|
|
743
|
+
)
|
|
744
|
+
PUBLIC_PROFIT =
|
|
745
|
+
T.let(
|
|
746
|
+
:PUBLIC_PROFIT,
|
|
747
|
+
Sentdm::ProfileUpdateParams::Brand::Business::EntityType::TaggedSymbol
|
|
748
|
+
)
|
|
749
|
+
NON_PROFIT =
|
|
750
|
+
T.let(
|
|
751
|
+
:NON_PROFIT,
|
|
752
|
+
Sentdm::ProfileUpdateParams::Brand::Business::EntityType::TaggedSymbol
|
|
753
|
+
)
|
|
754
|
+
SOLE_PROPRIETOR =
|
|
755
|
+
T.let(
|
|
756
|
+
:SOLE_PROPRIETOR,
|
|
757
|
+
Sentdm::ProfileUpdateParams::Brand::Business::EntityType::TaggedSymbol
|
|
758
|
+
)
|
|
759
|
+
GOVERNMENT =
|
|
760
|
+
T.let(
|
|
761
|
+
:GOVERNMENT,
|
|
762
|
+
Sentdm::ProfileUpdateParams::Brand::Business::EntityType::TaggedSymbol
|
|
763
|
+
)
|
|
764
|
+
|
|
765
|
+
sig do
|
|
766
|
+
override.returns(
|
|
767
|
+
T::Array[
|
|
768
|
+
Sentdm::ProfileUpdateParams::Brand::Business::EntityType::TaggedSymbol
|
|
769
|
+
]
|
|
770
|
+
)
|
|
771
|
+
end
|
|
772
|
+
def self.values
|
|
773
|
+
end
|
|
774
|
+
end
|
|
775
|
+
end
|
|
776
|
+
end
|
|
777
|
+
|
|
778
|
+
class PaymentDetails < Sentdm::Internal::Type::BaseModel
|
|
779
|
+
OrHash =
|
|
780
|
+
T.type_alias do
|
|
781
|
+
T.any(
|
|
782
|
+
Sentdm::ProfileUpdateParams::PaymentDetails,
|
|
783
|
+
Sentdm::Internal::AnyHash
|
|
784
|
+
)
|
|
785
|
+
end
|
|
786
|
+
|
|
787
|
+
# Card number (digits only, 13–19 characters)
|
|
788
|
+
sig { returns(String) }
|
|
789
|
+
attr_accessor :card_number
|
|
790
|
+
|
|
791
|
+
# Card security code (3–4 digits)
|
|
792
|
+
sig { returns(String) }
|
|
793
|
+
attr_accessor :cvc
|
|
794
|
+
|
|
795
|
+
# Card expiry date in MM/YY format (e.g. "09/27")
|
|
796
|
+
sig { returns(String) }
|
|
797
|
+
attr_accessor :expiry
|
|
798
|
+
|
|
799
|
+
# Billing ZIP / postal code associated with the card
|
|
800
|
+
sig { returns(String) }
|
|
801
|
+
attr_accessor :zip_code
|
|
802
|
+
|
|
803
|
+
# Payment card details for this profile (optional). Accepted when billing_model is
|
|
804
|
+
# "profile" or "profile_and_organization". Not persisted on our servers —
|
|
805
|
+
# forwarded to the payment processor.
|
|
806
|
+
sig do
|
|
807
|
+
params(
|
|
808
|
+
card_number: String,
|
|
809
|
+
cvc: String,
|
|
810
|
+
expiry: String,
|
|
811
|
+
zip_code: String
|
|
812
|
+
).returns(T.attached_class)
|
|
813
|
+
end
|
|
814
|
+
def self.new(
|
|
815
|
+
# Card number (digits only, 13–19 characters)
|
|
816
|
+
card_number:,
|
|
817
|
+
# Card security code (3–4 digits)
|
|
818
|
+
cvc:,
|
|
819
|
+
# Card expiry date in MM/YY format (e.g. "09/27")
|
|
820
|
+
expiry:,
|
|
821
|
+
# Billing ZIP / postal code associated with the card
|
|
822
|
+
zip_code:
|
|
823
|
+
)
|
|
824
|
+
end
|
|
825
|
+
|
|
826
|
+
sig do
|
|
827
|
+
override.returns(
|
|
828
|
+
{
|
|
829
|
+
card_number: String,
|
|
830
|
+
cvc: String,
|
|
831
|
+
expiry: String,
|
|
832
|
+
zip_code: String
|
|
833
|
+
}
|
|
834
|
+
)
|
|
835
|
+
end
|
|
836
|
+
def to_hash
|
|
837
|
+
end
|
|
838
|
+
end
|
|
259
839
|
end
|
|
260
840
|
end
|
|
261
841
|
end
|