sentdm 0.29.0 → 0.30.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 +11 -0
- data/README.md +27 -1
- data/lib/sentdm/internal/type/base_model.rb +5 -5
- data/lib/sentdm/models/api_meta.rb +34 -0
- data/lib/sentdm/models/api_response_of_contact.rb +46 -0
- data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
- data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +43 -0
- data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
- data/lib/sentdm/models/api_response_of_user.rb +43 -0
- data/lib/sentdm/models/api_response_template.rb +43 -0
- data/lib/sentdm/models/api_response_webhook.rb +43 -0
- data/lib/sentdm/models/billing_contact_info.rb +47 -0
- data/lib/sentdm/models/brand_business_info.rb +114 -0
- data/lib/sentdm/models/brand_compliance_info.rb +59 -0
- data/lib/sentdm/models/brand_contact_info.rb +58 -0
- data/lib/sentdm/models/brands_brand_data.rb +34 -0
- data/lib/sentdm/models/contact_delete_params.rb +2 -16
- data/lib/sentdm/models/contact_list_response.rb +12 -295
- data/lib/sentdm/models/contact_message_summary.rb +76 -0
- data/lib/sentdm/models/contact_response.rb +139 -0
- data/lib/sentdm/models/conversation_messages_list.rb +245 -0
- data/lib/sentdm/models/error_detail.rb +42 -0
- data/lib/sentdm/models/me_retrieve_response.rb +12 -242
- data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
- data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
- data/lib/sentdm/models/message_send_response.rb +6 -74
- data/lib/sentdm/models/mutation_request.rb +20 -0
- data/lib/sentdm/models/number_lookup_response.rb +6 -74
- data/lib/sentdm/models/pagination_meta.rb +84 -0
- data/lib/sentdm/models/payment_details.rb +40 -0
- data/lib/sentdm/models/profile_complete_response.rb +6 -74
- data/lib/sentdm/models/profile_create_params.rb +9 -345
- data/lib/sentdm/models/profile_delete_params.rb +2 -16
- data/lib/sentdm/models/profile_detail.rb +650 -0
- data/lib/sentdm/models/profile_list_response.rb +12 -815
- data/lib/sentdm/models/profile_settings.rb +85 -0
- data/lib/sentdm/models/profile_update_params.rb +9 -345
- data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
- data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
- data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
- data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
- data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
- data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
- data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
- data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
- data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
- data/lib/sentdm/models/template.rb +102 -0
- data/lib/sentdm/models/template_list_response.rb +12 -258
- data/lib/sentdm/models/user_list_response.rb +12 -249
- data/lib/sentdm/models/user_remove_params.rb +2 -16
- data/lib/sentdm/models/user_response.rb +94 -0
- data/lib/sentdm/models/webhook_event_type.rb +45 -0
- data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
- data/lib/sentdm/models/webhook_list_events_response.rb +9 -157
- data/lib/sentdm/models/webhook_list_response.rb +12 -276
- data/lib/sentdm/models/webhook_response.rb +120 -0
- data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
- data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
- data/lib/sentdm/models/webhook_test_response.rb +6 -74
- data/lib/sentdm/models.rb +52 -0
- data/lib/sentdm/resources/contacts.rb +8 -8
- data/lib/sentdm/resources/conversations.rb +4 -4
- data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
- data/lib/sentdm/resources/profiles.rb +12 -12
- data/lib/sentdm/resources/templates.rb +6 -6
- data/lib/sentdm/resources/users.rb +6 -6
- data/lib/sentdm/resources/webhooks.rb +8 -8
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +32 -22
- data/rbi/sentdm/models/api_meta.rbi +55 -0
- data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
- data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
- data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
- data/rbi/sentdm/models/api_response_template.rbi +74 -0
- data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
- data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
- data/rbi/sentdm/models/brand_business_info.rbi +162 -0
- data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
- data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
- data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
- data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
- data/rbi/sentdm/models/contact_list_response.rbi +16 -522
- data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
- data/rbi/sentdm/models/contact_response.rbi +200 -0
- data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
- data/rbi/sentdm/models/error_detail.rbi +66 -0
- data/rbi/sentdm/models/me_retrieve_response.rbi +16 -367
- data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
- data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
- data/rbi/sentdm/models/message_send_response.rbi +8 -135
- data/rbi/sentdm/models/mutation_request.rbi +32 -0
- data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
- data/rbi/sentdm/models/pagination_meta.rbi +135 -0
- data/rbi/sentdm/models/payment_details.rbi +56 -0
- data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
- data/rbi/sentdm/models/profile_create_params.rbi +12 -546
- data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
- data/rbi/sentdm/models/profile_detail.rbi +918 -0
- data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
- data/rbi/sentdm/models/profile_settings.rbi +102 -0
- data/rbi/sentdm/models/profile_update_params.rbi +12 -546
- data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
- data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
- data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
- data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
- data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
- data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
- data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
- data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
- data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
- data/rbi/sentdm/models/template.rbi +139 -0
- data/rbi/sentdm/models/template_list_response.rbi +16 -464
- data/rbi/sentdm/models/user_list_response.rbi +16 -444
- data/rbi/sentdm/models/user_remove_params.rbi +2 -19
- data/rbi/sentdm/models/user_response.rbi +131 -0
- data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
- data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
- data/rbi/sentdm/models/webhook_list_events_response.rbi +12 -314
- data/rbi/sentdm/models/webhook_list_response.rbi +16 -475
- data/rbi/sentdm/models/webhook_response.rbi +153 -0
- data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
- data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
- data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
- data/rbi/sentdm/models.rbi +54 -0
- data/rbi/sentdm/resources/contacts.rbi +4 -4
- data/rbi/sentdm/resources/conversations.rbi +2 -2
- data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
- data/rbi/sentdm/resources/profiles.rbi +9 -13
- data/rbi/sentdm/resources/templates.rbi +3 -3
- data/rbi/sentdm/resources/users.rbi +3 -3
- data/rbi/sentdm/resources/webhooks.rbi +4 -4
- data/sig/sentdm/models/api_meta.rbs +27 -0
- data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
- data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
- data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
- data/sig/sentdm/models/api_response_of_user.rbs +39 -0
- data/sig/sentdm/models/api_response_template.rbs +39 -0
- data/sig/sentdm/models/api_response_webhook.rbs +39 -0
- data/sig/sentdm/models/billing_contact_info.rbs +30 -0
- data/sig/sentdm/models/brand_business_info.rbs +89 -0
- data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
- data/sig/sentdm/models/brand_contact_info.rbs +45 -0
- data/sig/sentdm/models/brands_brand_data.rbs +30 -0
- data/sig/sentdm/models/contact_delete_params.rbs +6 -10
- data/sig/sentdm/models/contact_list_response.rbs +20 -263
- data/sig/sentdm/models/contact_message_summary.rbs +84 -0
- data/sig/sentdm/models/contact_response.rbs +118 -0
- data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
- data/sig/sentdm/models/error_detail.rbs +39 -0
- data/sig/sentdm/models/me_retrieve_response.rbs +18 -176
- data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
- data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
- data/sig/sentdm/models/message_send_response.rbs +9 -71
- data/sig/sentdm/models/mutation_request.rbs +15 -0
- data/sig/sentdm/models/number_lookup_response.rbs +9 -71
- data/sig/sentdm/models/pagination_meta.rbs +67 -0
- data/sig/sentdm/models/payment_details.rbs +30 -0
- data/sig/sentdm/models/profile_complete_response.rbs +9 -71
- data/sig/sentdm/models/profile_create_params.rbs +12 -263
- data/sig/sentdm/models/profile_delete_params.rbs +6 -10
- data/sig/sentdm/models/profile_detail.rbs +461 -0
- data/sig/sentdm/models/profile_list_response.rbs +20 -606
- data/sig/sentdm/models/profile_settings.rbs +50 -0
- data/sig/sentdm/models/profile_update_params.rbs +12 -263
- data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
- data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
- data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
- data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
- data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
- data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
- data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
- data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
- data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
- data/sig/sentdm/models/template.rbs +84 -0
- data/sig/sentdm/models/template_list_response.rbs +19 -230
- data/sig/sentdm/models/user_list_response.rbs +20 -224
- data/sig/sentdm/models/user_remove_params.rbs +6 -10
- data/sig/sentdm/models/user_response.rbs +79 -0
- data/sig/sentdm/models/webhook_event_type.rbs +51 -0
- data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
- data/sig/sentdm/models/webhook_list_events_response.rbs +14 -142
- data/sig/sentdm/models/webhook_list_response.rbs +20 -255
- data/sig/sentdm/models/webhook_response.rbs +110 -0
- data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
- data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
- data/sig/sentdm/models/webhook_test_response.rbs +9 -71
- data/sig/sentdm/models.rbs +52 -0
- 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 +9 -9
- 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 +98 -68
- data/lib/sentdm/models/contact_create_response.rb +0 -249
- data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
- data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
- data/lib/sentdm/models/contact_update_response.rb +0 -249
- data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
- data/lib/sentdm/models/conversation_list_response.rb +0 -433
- data/lib/sentdm/models/profile_create_response.rb +0 -760
- data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
- data/lib/sentdm/models/profile_update_response.rb +0 -760
- data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
- data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
- data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
- data/lib/sentdm/models/template_create_response.rb +0 -209
- data/lib/sentdm/models/template_retrieve_response.rb +0 -209
- data/lib/sentdm/models/template_update_response.rb +0 -209
- data/lib/sentdm/models/user_invite_response.rb +0 -201
- data/lib/sentdm/models/user_retrieve_response.rb +0 -201
- data/lib/sentdm/models/user_update_role_response.rb +0 -201
- data/lib/sentdm/models/webhook_create_response.rb +0 -229
- data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
- data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
- data/lib/sentdm/models/webhook_update_response.rb +0 -229
- data/rbi/sentdm/models/contact_create_response.rbi +0 -407
- data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
- data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
- data/rbi/sentdm/models/contact_update_response.rbi +0 -407
- data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
- data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
- data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
- data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
- data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
- data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
- data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
- data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
- data/rbi/sentdm/models/template_create_response.rbi +0 -349
- data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
- data/rbi/sentdm/models/template_update_response.rbi +0 -349
- data/rbi/sentdm/models/user_invite_response.rbi +0 -336
- data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
- data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
- data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
- data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
- data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
- data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
- data/sig/sentdm/models/contact_create_response.rbs +0 -216
- data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
- data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
- data/sig/sentdm/models/contact_update_response.rbs +0 -216
- data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
- data/sig/sentdm/models/conversation_list_response.rbs +0 -404
- data/sig/sentdm/models/profile_create_response.rbs +0 -559
- data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
- data/sig/sentdm/models/profile_update_response.rbs +0 -559
- data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
- data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
- data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
- data/sig/sentdm/models/template_create_response.rbs +0 -182
- data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
- data/sig/sentdm/models/template_update_response.rbs +0 -182
- data/sig/sentdm/models/user_invite_response.rbs +0 -177
- data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
- data/sig/sentdm/models/user_update_role_response.rbs +0 -177
- data/sig/sentdm/models/webhook_create_response.rbs +0 -208
- data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
- data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
- data/sig/sentdm/models/webhook_update_response.rbs +0 -208
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class APIResponseWebhook < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Sentdm::APIResponseWebhook, Sentdm::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# The response data (null if error)
|
|
12
|
+
sig { returns(T.nilable(Sentdm::WebhookResponse)) }
|
|
13
|
+
attr_reader :data
|
|
14
|
+
|
|
15
|
+
sig { params(data: T.nilable(Sentdm::WebhookResponse::OrHash)).void }
|
|
16
|
+
attr_writer :data
|
|
17
|
+
|
|
18
|
+
# Error information
|
|
19
|
+
sig { returns(T.nilable(Sentdm::ErrorDetail)) }
|
|
20
|
+
attr_reader :error
|
|
21
|
+
|
|
22
|
+
sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
|
|
23
|
+
attr_writer :error
|
|
24
|
+
|
|
25
|
+
# Request and response metadata
|
|
26
|
+
sig { returns(T.nilable(Sentdm::APIMeta)) }
|
|
27
|
+
attr_reader :meta
|
|
28
|
+
|
|
29
|
+
sig { params(meta: Sentdm::APIMeta::OrHash).void }
|
|
30
|
+
attr_writer :meta
|
|
31
|
+
|
|
32
|
+
# Indicates whether the request was successful
|
|
33
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
34
|
+
attr_reader :success
|
|
35
|
+
|
|
36
|
+
sig { params(success: T::Boolean).void }
|
|
37
|
+
attr_writer :success
|
|
38
|
+
|
|
39
|
+
# Standard API response envelope for all v3 endpoints
|
|
40
|
+
sig do
|
|
41
|
+
params(
|
|
42
|
+
data: T.nilable(Sentdm::WebhookResponse::OrHash),
|
|
43
|
+
error: T.nilable(Sentdm::ErrorDetail::OrHash),
|
|
44
|
+
meta: Sentdm::APIMeta::OrHash,
|
|
45
|
+
success: T::Boolean
|
|
46
|
+
).returns(T.attached_class)
|
|
47
|
+
end
|
|
48
|
+
def self.new(
|
|
49
|
+
# The response data (null if error)
|
|
50
|
+
data: nil,
|
|
51
|
+
# Error information
|
|
52
|
+
error: nil,
|
|
53
|
+
# Request and response metadata
|
|
54
|
+
meta: nil,
|
|
55
|
+
# Indicates whether the request was successful
|
|
56
|
+
success: nil
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
sig do
|
|
61
|
+
override.returns(
|
|
62
|
+
{
|
|
63
|
+
data: T.nilable(Sentdm::WebhookResponse),
|
|
64
|
+
error: T.nilable(Sentdm::ErrorDetail),
|
|
65
|
+
meta: Sentdm::APIMeta,
|
|
66
|
+
success: T::Boolean
|
|
67
|
+
}
|
|
68
|
+
)
|
|
69
|
+
end
|
|
70
|
+
def to_hash
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class BillingContactInfo < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Sentdm::BillingContactInfo, Sentdm::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Email address where invoices will be sent (required)
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :email
|
|
14
|
+
|
|
15
|
+
# Full name of the billing contact or company (required)
|
|
16
|
+
sig { returns(String) }
|
|
17
|
+
attr_accessor :name
|
|
18
|
+
|
|
19
|
+
# Billing address (optional). Free-form text including street, city, state, postal
|
|
20
|
+
# code, and country.
|
|
21
|
+
sig { returns(T.nilable(String)) }
|
|
22
|
+
attr_accessor :address
|
|
23
|
+
|
|
24
|
+
# Phone number for the billing contact (optional)
|
|
25
|
+
sig { returns(T.nilable(String)) }
|
|
26
|
+
attr_accessor :phone
|
|
27
|
+
|
|
28
|
+
# Billing contact information for a profile. Required when billing_model is
|
|
29
|
+
# "profile" or "profile_and_organization".
|
|
30
|
+
sig do
|
|
31
|
+
params(
|
|
32
|
+
email: String,
|
|
33
|
+
name: String,
|
|
34
|
+
address: T.nilable(String),
|
|
35
|
+
phone: T.nilable(String)
|
|
36
|
+
).returns(T.attached_class)
|
|
37
|
+
end
|
|
38
|
+
def self.new(
|
|
39
|
+
# Email address where invoices will be sent (required)
|
|
40
|
+
email:,
|
|
41
|
+
# Full name of the billing contact or company (required)
|
|
42
|
+
name:,
|
|
43
|
+
# Billing address (optional). Free-form text including street, city, state, postal
|
|
44
|
+
# code, and country.
|
|
45
|
+
address: nil,
|
|
46
|
+
# Phone number for the billing contact (optional)
|
|
47
|
+
phone: nil
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
sig do
|
|
52
|
+
override.returns(
|
|
53
|
+
{
|
|
54
|
+
email: String,
|
|
55
|
+
name: String,
|
|
56
|
+
address: T.nilable(String),
|
|
57
|
+
phone: T.nilable(String)
|
|
58
|
+
}
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
def to_hash
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class BrandBusinessInfo < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Sentdm::BrandBusinessInfo, Sentdm::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# City
|
|
12
|
+
sig { returns(T.nilable(String)) }
|
|
13
|
+
attr_accessor :city
|
|
14
|
+
|
|
15
|
+
# Country code (e.g., US, CA)
|
|
16
|
+
sig { returns(T.nilable(String)) }
|
|
17
|
+
attr_accessor :country
|
|
18
|
+
|
|
19
|
+
# Country where the business is registered
|
|
20
|
+
sig { returns(T.nilable(String)) }
|
|
21
|
+
attr_accessor :country_of_registration
|
|
22
|
+
|
|
23
|
+
sig do
|
|
24
|
+
returns(T.nilable(Sentdm::BrandBusinessInfo::EntityType::OrSymbol))
|
|
25
|
+
end
|
|
26
|
+
attr_accessor :entity_type
|
|
27
|
+
|
|
28
|
+
# Legal business name
|
|
29
|
+
sig { returns(T.nilable(String)) }
|
|
30
|
+
attr_accessor :legal_name
|
|
31
|
+
|
|
32
|
+
# Postal/ZIP code
|
|
33
|
+
sig { returns(T.nilable(String)) }
|
|
34
|
+
attr_accessor :postal_code
|
|
35
|
+
|
|
36
|
+
# State/province code
|
|
37
|
+
sig { returns(T.nilable(String)) }
|
|
38
|
+
attr_accessor :state
|
|
39
|
+
|
|
40
|
+
# Street address
|
|
41
|
+
sig { returns(T.nilable(String)) }
|
|
42
|
+
attr_accessor :street
|
|
43
|
+
|
|
44
|
+
# Tax ID/EIN number
|
|
45
|
+
sig { returns(T.nilable(String)) }
|
|
46
|
+
attr_accessor :tax_id
|
|
47
|
+
|
|
48
|
+
# Type of tax ID (e.g., us_ein, ca_bn)
|
|
49
|
+
sig { returns(T.nilable(String)) }
|
|
50
|
+
attr_accessor :tax_id_type
|
|
51
|
+
|
|
52
|
+
# Business website URL
|
|
53
|
+
sig { returns(T.nilable(String)) }
|
|
54
|
+
attr_accessor :url
|
|
55
|
+
|
|
56
|
+
# Business details and address for brand KYC
|
|
57
|
+
sig do
|
|
58
|
+
params(
|
|
59
|
+
city: T.nilable(String),
|
|
60
|
+
country: T.nilable(String),
|
|
61
|
+
country_of_registration: T.nilable(String),
|
|
62
|
+
entity_type:
|
|
63
|
+
T.nilable(Sentdm::BrandBusinessInfo::EntityType::OrSymbol),
|
|
64
|
+
legal_name: T.nilable(String),
|
|
65
|
+
postal_code: T.nilable(String),
|
|
66
|
+
state: T.nilable(String),
|
|
67
|
+
street: T.nilable(String),
|
|
68
|
+
tax_id: T.nilable(String),
|
|
69
|
+
tax_id_type: T.nilable(String),
|
|
70
|
+
url: T.nilable(String)
|
|
71
|
+
).returns(T.attached_class)
|
|
72
|
+
end
|
|
73
|
+
def self.new(
|
|
74
|
+
# City
|
|
75
|
+
city: nil,
|
|
76
|
+
# Country code (e.g., US, CA)
|
|
77
|
+
country: nil,
|
|
78
|
+
# Country where the business is registered
|
|
79
|
+
country_of_registration: nil,
|
|
80
|
+
entity_type: nil,
|
|
81
|
+
# Legal business name
|
|
82
|
+
legal_name: nil,
|
|
83
|
+
# Postal/ZIP code
|
|
84
|
+
postal_code: nil,
|
|
85
|
+
# State/province code
|
|
86
|
+
state: nil,
|
|
87
|
+
# Street address
|
|
88
|
+
street: nil,
|
|
89
|
+
# Tax ID/EIN number
|
|
90
|
+
tax_id: nil,
|
|
91
|
+
# Type of tax ID (e.g., us_ein, ca_bn)
|
|
92
|
+
tax_id_type: nil,
|
|
93
|
+
# Business website URL
|
|
94
|
+
url: nil
|
|
95
|
+
)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
sig do
|
|
99
|
+
override.returns(
|
|
100
|
+
{
|
|
101
|
+
city: T.nilable(String),
|
|
102
|
+
country: T.nilable(String),
|
|
103
|
+
country_of_registration: T.nilable(String),
|
|
104
|
+
entity_type:
|
|
105
|
+
T.nilable(Sentdm::BrandBusinessInfo::EntityType::OrSymbol),
|
|
106
|
+
legal_name: T.nilable(String),
|
|
107
|
+
postal_code: T.nilable(String),
|
|
108
|
+
state: T.nilable(String),
|
|
109
|
+
street: T.nilable(String),
|
|
110
|
+
tax_id: T.nilable(String),
|
|
111
|
+
tax_id_type: T.nilable(String),
|
|
112
|
+
url: T.nilable(String)
|
|
113
|
+
}
|
|
114
|
+
)
|
|
115
|
+
end
|
|
116
|
+
def to_hash
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
module EntityType
|
|
120
|
+
extend Sentdm::Internal::Type::Enum
|
|
121
|
+
|
|
122
|
+
TaggedSymbol =
|
|
123
|
+
T.type_alias { T.all(Symbol, Sentdm::BrandBusinessInfo::EntityType) }
|
|
124
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
125
|
+
|
|
126
|
+
PRIVATE_PROFIT =
|
|
127
|
+
T.let(
|
|
128
|
+
:PRIVATE_PROFIT,
|
|
129
|
+
Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
|
|
130
|
+
)
|
|
131
|
+
PUBLIC_PROFIT =
|
|
132
|
+
T.let(
|
|
133
|
+
:PUBLIC_PROFIT,
|
|
134
|
+
Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
|
|
135
|
+
)
|
|
136
|
+
NON_PROFIT =
|
|
137
|
+
T.let(
|
|
138
|
+
:NON_PROFIT,
|
|
139
|
+
Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
|
|
140
|
+
)
|
|
141
|
+
SOLE_PROPRIETOR =
|
|
142
|
+
T.let(
|
|
143
|
+
:SOLE_PROPRIETOR,
|
|
144
|
+
Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
|
|
145
|
+
)
|
|
146
|
+
GOVERNMENT =
|
|
147
|
+
T.let(
|
|
148
|
+
:GOVERNMENT,
|
|
149
|
+
Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
sig do
|
|
153
|
+
override.returns(
|
|
154
|
+
T::Array[Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol]
|
|
155
|
+
)
|
|
156
|
+
end
|
|
157
|
+
def self.values
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
end
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class BrandComplianceInfo < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Sentdm::BrandComplianceInfo, Sentdm::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(Sentdm::TcrBrandRelationship::OrSymbol) }
|
|
12
|
+
attr_accessor :brand_relationship
|
|
13
|
+
|
|
14
|
+
sig { returns(Sentdm::TcrVertical::OrSymbol) }
|
|
15
|
+
attr_accessor :vertical
|
|
16
|
+
|
|
17
|
+
# List of destination countries for messaging
|
|
18
|
+
sig { returns(T.nilable(T::Array[Sentdm::DestinationCountry])) }
|
|
19
|
+
attr_accessor :destination_countries
|
|
20
|
+
|
|
21
|
+
# Whether this is a TCR (Campaign Registry) application
|
|
22
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
23
|
+
attr_accessor :is_tcr_application
|
|
24
|
+
|
|
25
|
+
# Additional notes about the business or use case
|
|
26
|
+
sig { returns(T.nilable(String)) }
|
|
27
|
+
attr_accessor :notes
|
|
28
|
+
|
|
29
|
+
# Phone number prefix for messaging (e.g., "+1")
|
|
30
|
+
sig { returns(T.nilable(String)) }
|
|
31
|
+
attr_accessor :phone_number_prefix
|
|
32
|
+
|
|
33
|
+
# Compliance and TCR information for brand registration
|
|
34
|
+
sig do
|
|
35
|
+
params(
|
|
36
|
+
brand_relationship: Sentdm::TcrBrandRelationship::OrSymbol,
|
|
37
|
+
vertical: Sentdm::TcrVertical::OrSymbol,
|
|
38
|
+
destination_countries:
|
|
39
|
+
T.nilable(T::Array[Sentdm::DestinationCountry::OrHash]),
|
|
40
|
+
is_tcr_application: T.nilable(T::Boolean),
|
|
41
|
+
notes: T.nilable(String),
|
|
42
|
+
phone_number_prefix: T.nilable(String)
|
|
43
|
+
).returns(T.attached_class)
|
|
44
|
+
end
|
|
45
|
+
def self.new(
|
|
46
|
+
brand_relationship:,
|
|
47
|
+
vertical:,
|
|
48
|
+
# List of destination countries for messaging
|
|
49
|
+
destination_countries: nil,
|
|
50
|
+
# Whether this is a TCR (Campaign Registry) application
|
|
51
|
+
is_tcr_application: nil,
|
|
52
|
+
# Additional notes about the business or use case
|
|
53
|
+
notes: nil,
|
|
54
|
+
# Phone number prefix for messaging (e.g., "+1")
|
|
55
|
+
phone_number_prefix: nil
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
sig do
|
|
60
|
+
override.returns(
|
|
61
|
+
{
|
|
62
|
+
brand_relationship: Sentdm::TcrBrandRelationship::OrSymbol,
|
|
63
|
+
vertical: Sentdm::TcrVertical::OrSymbol,
|
|
64
|
+
destination_countries:
|
|
65
|
+
T.nilable(T::Array[Sentdm::DestinationCountry]),
|
|
66
|
+
is_tcr_application: T.nilable(T::Boolean),
|
|
67
|
+
notes: T.nilable(String),
|
|
68
|
+
phone_number_prefix: T.nilable(String)
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
end
|
|
72
|
+
def to_hash
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class BrandContactInfo < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Sentdm::BrandContactInfo, Sentdm::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Primary contact name (required)
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :name
|
|
14
|
+
|
|
15
|
+
# Business/brand name
|
|
16
|
+
sig { returns(T.nilable(String)) }
|
|
17
|
+
attr_accessor :business_name
|
|
18
|
+
|
|
19
|
+
# Contact email address
|
|
20
|
+
sig { returns(T.nilable(String)) }
|
|
21
|
+
attr_accessor :email
|
|
22
|
+
|
|
23
|
+
# Contact phone number in E.164 format
|
|
24
|
+
sig { returns(T.nilable(String)) }
|
|
25
|
+
attr_accessor :phone
|
|
26
|
+
|
|
27
|
+
# Contact phone country code (e.g., "1" for US)
|
|
28
|
+
sig { returns(T.nilable(String)) }
|
|
29
|
+
attr_accessor :phone_country_code
|
|
30
|
+
|
|
31
|
+
# Contact's role in the business
|
|
32
|
+
sig { returns(T.nilable(String)) }
|
|
33
|
+
attr_accessor :role
|
|
34
|
+
|
|
35
|
+
# Contact information for brand KYC
|
|
36
|
+
sig do
|
|
37
|
+
params(
|
|
38
|
+
name: String,
|
|
39
|
+
business_name: T.nilable(String),
|
|
40
|
+
email: T.nilable(String),
|
|
41
|
+
phone: T.nilable(String),
|
|
42
|
+
phone_country_code: T.nilable(String),
|
|
43
|
+
role: T.nilable(String)
|
|
44
|
+
).returns(T.attached_class)
|
|
45
|
+
end
|
|
46
|
+
def self.new(
|
|
47
|
+
# Primary contact name (required)
|
|
48
|
+
name:,
|
|
49
|
+
# Business/brand name
|
|
50
|
+
business_name: nil,
|
|
51
|
+
# Contact email address
|
|
52
|
+
email: nil,
|
|
53
|
+
# Contact phone number in E.164 format
|
|
54
|
+
phone: nil,
|
|
55
|
+
# Contact phone country code (e.g., "1" for US)
|
|
56
|
+
phone_country_code: nil,
|
|
57
|
+
# Contact's role in the business
|
|
58
|
+
role: nil
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
sig do
|
|
63
|
+
override.returns(
|
|
64
|
+
{
|
|
65
|
+
name: String,
|
|
66
|
+
business_name: T.nilable(String),
|
|
67
|
+
email: T.nilable(String),
|
|
68
|
+
phone: T.nilable(String),
|
|
69
|
+
phone_country_code: T.nilable(String),
|
|
70
|
+
role: T.nilable(String)
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
def to_hash
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class BrandsBrandData < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Sentdm::BrandsBrandData, Sentdm::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Compliance and TCR information for brand registration
|
|
12
|
+
sig { returns(Sentdm::BrandComplianceInfo) }
|
|
13
|
+
attr_reader :compliance
|
|
14
|
+
|
|
15
|
+
sig { params(compliance: Sentdm::BrandComplianceInfo::OrHash).void }
|
|
16
|
+
attr_writer :compliance
|
|
17
|
+
|
|
18
|
+
# Contact information for brand KYC
|
|
19
|
+
sig { returns(Sentdm::BrandContactInfo) }
|
|
20
|
+
attr_reader :contact
|
|
21
|
+
|
|
22
|
+
sig { params(contact: Sentdm::BrandContactInfo::OrHash).void }
|
|
23
|
+
attr_writer :contact
|
|
24
|
+
|
|
25
|
+
# Business details and address for brand KYC
|
|
26
|
+
sig { returns(T.nilable(Sentdm::BrandBusinessInfo)) }
|
|
27
|
+
attr_reader :business
|
|
28
|
+
|
|
29
|
+
sig do
|
|
30
|
+
params(business: T.nilable(Sentdm::BrandBusinessInfo::OrHash)).void
|
|
31
|
+
end
|
|
32
|
+
attr_writer :business
|
|
33
|
+
|
|
34
|
+
# Brand and KYC data grouped into contact, business, and compliance sections
|
|
35
|
+
sig do
|
|
36
|
+
params(
|
|
37
|
+
compliance: Sentdm::BrandComplianceInfo::OrHash,
|
|
38
|
+
contact: Sentdm::BrandContactInfo::OrHash,
|
|
39
|
+
business: T.nilable(Sentdm::BrandBusinessInfo::OrHash)
|
|
40
|
+
).returns(T.attached_class)
|
|
41
|
+
end
|
|
42
|
+
def self.new(
|
|
43
|
+
# Compliance and TCR information for brand registration
|
|
44
|
+
compliance:,
|
|
45
|
+
# Contact information for brand KYC
|
|
46
|
+
contact:,
|
|
47
|
+
# Business details and address for brand KYC
|
|
48
|
+
business: nil
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
sig do
|
|
53
|
+
override.returns(
|
|
54
|
+
{
|
|
55
|
+
compliance: Sentdm::BrandComplianceInfo,
|
|
56
|
+
contact: Sentdm::BrandContactInfo,
|
|
57
|
+
business: T.nilable(Sentdm::BrandBusinessInfo)
|
|
58
|
+
}
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
def to_hash
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
|
-
class ContactDeleteParams < Sentdm::
|
|
5
|
+
class ContactDeleteParams < Sentdm::Models::MutationRequest
|
|
6
6
|
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
7
7
|
include Sentdm::Internal::Type::RequestParameters
|
|
8
8
|
|
|
@@ -14,14 +14,6 @@ module Sentdm
|
|
|
14
14
|
sig { returns(String) }
|
|
15
15
|
attr_accessor :id
|
|
16
16
|
|
|
17
|
-
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
18
|
-
# for testing integrations without actual execution
|
|
19
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
20
|
-
attr_reader :sandbox
|
|
21
|
-
|
|
22
|
-
sig { params(sandbox: T::Boolean).void }
|
|
23
|
-
attr_writer :sandbox
|
|
24
|
-
|
|
25
17
|
sig { returns(T.nilable(String)) }
|
|
26
18
|
attr_reader :x_profile_id
|
|
27
19
|
|
|
@@ -31,26 +23,17 @@ module Sentdm
|
|
|
31
23
|
sig do
|
|
32
24
|
params(
|
|
33
25
|
id: String,
|
|
34
|
-
sandbox: T::Boolean,
|
|
35
26
|
x_profile_id: String,
|
|
36
27
|
request_options: Sentdm::RequestOptions::OrHash
|
|
37
28
|
).returns(T.attached_class)
|
|
38
29
|
end
|
|
39
|
-
def self.new(
|
|
40
|
-
id:,
|
|
41
|
-
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
42
|
-
# for testing integrations without actual execution
|
|
43
|
-
sandbox: nil,
|
|
44
|
-
x_profile_id: nil,
|
|
45
|
-
request_options: {}
|
|
46
|
-
)
|
|
30
|
+
def self.new(id:, x_profile_id: nil, request_options: {})
|
|
47
31
|
end
|
|
48
32
|
|
|
49
33
|
sig do
|
|
50
34
|
override.returns(
|
|
51
35
|
{
|
|
52
36
|
id: String,
|
|
53
|
-
sandbox: T::Boolean,
|
|
54
37
|
x_profile_id: String,
|
|
55
38
|
request_options: Sentdm::RequestOptions
|
|
56
39
|
}
|