sentdm 0.25.0 → 0.27.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.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -0
  3. data/README.md +7 -11
  4. data/lib/sentdm/client.rb +4 -0
  5. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  6. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +43 -0
  7. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_authentication_config.rb → authentication_config.rb} +2 -3
  8. data/lib/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rb → brand_business_info.rb} +5 -7
  9. data/lib/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rb → brand_compliance_info.rb} +2 -10
  10. data/lib/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rb → brand_contact_info.rb} +1 -1
  11. data/lib/sentdm/models/brands_brand_data.rb +9 -13
  12. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  13. data/lib/sentdm/models/contact_retrieve_message_summary_params.rb +26 -0
  14. data/lib/sentdm/models/conversation_list_messages_params.rb +38 -0
  15. data/lib/sentdm/models/conversation_list_params.rb +32 -0
  16. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  17. data/lib/sentdm/models/inbound_message_event.rb +52 -0
  18. data/lib/sentdm/models/inbound_message_event_payload.rb +81 -0
  19. data/lib/sentdm/models/message_event.rb +53 -0
  20. data/lib/sentdm/models/message_event_payload.rb +92 -0
  21. data/lib/sentdm/models/message_send_response.rb +2 -6
  22. data/lib/sentdm/models/profile_detail.rb +13 -13
  23. data/lib/sentdm/models/profile_update_params.rb +2 -2
  24. data/lib/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rb → api_response_of_brand_campaign.rb} +5 -5
  25. data/lib/sentdm/models/profiles/{campaign_list_response.rb → api_response_of_list_of_brand_campaign.rb} +4 -6
  26. data/lib/sentdm/models/profiles/{tcr_campaign_with_use_cases.rb → brand_campaign.rb} +63 -111
  27. data/lib/sentdm/models/profiles/campaign_data.rb +13 -6
  28. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  29. data/lib/sentdm/models/profiles/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb → campaign_use_case_data.rb} +1 -1
  30. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rb → template_body.rb} +2 -3
  31. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button.rb → template_button.rb} +5 -6
  32. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rb → template_button_props.rb} +2 -3
  33. data/lib/sentdm/models/template_definition.rb +15 -19
  34. data/lib/sentdm/models/template_event.rb +52 -0
  35. data/lib/sentdm/models/template_event_payload.rb +88 -0
  36. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rb → template_footer.rb} +1 -1
  37. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rb → template_header.rb} +2 -3
  38. data/lib/sentdm/models/webhook_list_events_response.rb +45 -3
  39. data/lib/sentdm/models.rb +44 -27
  40. data/lib/sentdm/resources/contacts.rb +30 -0
  41. data/lib/sentdm/resources/conversations.rb +82 -0
  42. data/lib/sentdm/resources/messages.rb +6 -1
  43. data/lib/sentdm/resources/profiles/campaigns.rb +6 -6
  44. data/lib/sentdm/resources/profiles.rb +34 -22
  45. data/lib/sentdm/resources/users.rb +3 -3
  46. data/lib/sentdm/version.rb +1 -1
  47. data/lib/sentdm.rb +28 -14
  48. data/rbi/sentdm/client.rbi +3 -0
  49. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  50. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  51. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_authentication_config.rbi → authentication_config.rbi} +2 -5
  52. data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbi → brand_business_info.rbi} +12 -30
  53. data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbi → brand_compliance_info.rbi} +2 -13
  54. data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbi → brand_contact_info.rbi} +2 -5
  55. data/rbi/sentdm/models/brands_brand_data.rbi +12 -51
  56. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  57. data/rbi/sentdm/models/contact_retrieve_message_summary_params.rbi +49 -0
  58. data/rbi/sentdm/models/conversation_list_messages_params.rbi +65 -0
  59. data/rbi/sentdm/models/conversation_list_params.rbi +51 -0
  60. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  61. data/rbi/sentdm/models/inbound_message_event.rbi +88 -0
  62. data/rbi/sentdm/models/inbound_message_event_payload.rbi +122 -0
  63. data/rbi/sentdm/models/message_event.rbi +86 -0
  64. data/rbi/sentdm/models/message_event_payload.rbi +132 -0
  65. data/rbi/sentdm/models/message_send_response.rbi +2 -4
  66. data/rbi/sentdm/models/profile_detail.rbi +10 -12
  67. data/rbi/sentdm/models/profile_update_params.rbi +2 -2
  68. data/rbi/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rbi → api_response_of_brand_campaign.rbi} +8 -10
  69. data/rbi/sentdm/models/profiles/{campaign_list_response.rbi → api_response_of_list_of_brand_campaign.rbi} +5 -13
  70. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  71. data/rbi/sentdm/models/profiles/campaign_data.rbi +16 -18
  72. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  73. data/rbi/sentdm/models/profiles/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi → campaign_use_case_data.rbi} +2 -2
  74. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rbi → template_body.rbi} +2 -7
  75. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button.rbi → template_button.rbi} +6 -22
  76. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rbi → template_button_props.rbi} +2 -5
  77. data/rbi/sentdm/models/template_definition.rbi +19 -87
  78. data/rbi/sentdm/models/template_event.rbi +84 -0
  79. data/rbi/sentdm/models/template_event_payload.rbi +131 -0
  80. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rbi → template_footer.rbi} +2 -5
  81. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rbi → template_header.rbi} +2 -5
  82. data/rbi/sentdm/models/webhook_list_events_response.rbi +60 -4
  83. data/rbi/sentdm/models.rbi +48 -27
  84. data/rbi/sentdm/resources/contacts.rbi +20 -0
  85. data/rbi/sentdm/resources/conversations.rbi +61 -0
  86. data/rbi/sentdm/resources/messages.rbi +6 -1
  87. data/rbi/sentdm/resources/profiles/campaigns.rbi +3 -3
  88. data/rbi/sentdm/resources/profiles.rbi +32 -20
  89. data/rbi/sentdm/resources/users.rbi +3 -2
  90. data/sig/sentdm/client.rbs +2 -0
  91. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
  92. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  93. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_authentication_config.rbs → authentication_config.rbs} +2 -2
  94. data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbs → brand_business_info.rbs} +7 -7
  95. data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbs → brand_compliance_info.rbs} +2 -7
  96. data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbs → brand_contact_info.rbs} +2 -2
  97. data/sig/sentdm/models/brands_brand_data.rbs +12 -12
  98. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  99. data/sig/sentdm/models/contact_retrieve_message_summary_params.rbs +30 -0
  100. data/sig/sentdm/models/conversation_list_messages_params.rbs +38 -0
  101. data/sig/sentdm/models/conversation_list_params.rbs +34 -0
  102. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  103. data/sig/sentdm/models/inbound_message_event.rbs +39 -0
  104. data/sig/sentdm/models/inbound_message_event_payload.rbs +69 -0
  105. data/sig/sentdm/models/message_event.rbs +39 -0
  106. data/sig/sentdm/models/message_event_payload.rbs +72 -0
  107. data/sig/sentdm/models/profile_detail.rbs +0 -5
  108. data/sig/sentdm/models/profiles/{campaign_list_response.rbs → api_response_of_brand_campaign.rbs} +6 -6
  109. data/sig/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rbs → api_response_of_list_of_brand_campaign.rbs} +6 -6
  110. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  111. data/sig/sentdm/models/profiles/campaign_data.rbs +12 -7
  112. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  113. data/sig/sentdm/models/profiles/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs → campaign_use_case_data.rbs} +2 -2
  114. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rbs → template_body.rbs} +2 -2
  115. data/sig/sentdm/models/template_button.rbs +28 -0
  116. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rbs → template_button_props.rbs} +2 -2
  117. data/sig/sentdm/models/template_definition.rbs +20 -20
  118. data/sig/sentdm/models/template_event.rbs +39 -0
  119. data/sig/sentdm/models/template_event_payload.rbs +76 -0
  120. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rbs → template_footer.rbs} +2 -2
  121. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rbs → template_header.rbs} +2 -2
  122. data/sig/sentdm/models/webhook_list_events_response.rbs +18 -5
  123. data/sig/sentdm/models.rbs +44 -18
  124. data/sig/sentdm/resources/contacts.rbs +6 -0
  125. data/sig/sentdm/resources/conversations.rbs +22 -0
  126. data/sig/sentdm/resources/profiles/campaigns.rbs +3 -3
  127. metadata +86 -44
  128. data/lib/sentdm/models/profiles/base_dto.rb +0 -32
  129. data/rbi/sentdm/models/profiles/base_dto.rbi +0 -53
  130. data/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi +0 -425
  131. data/sig/sentdm/models/profiles/base_dto.rbs +0 -27
  132. data/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs +0 -306
  133. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +0 -32
data/lib/sentdm.rb CHANGED
@@ -53,26 +53,40 @@ require_relative "sentdm/internal/transport/base_client"
53
53
  require_relative "sentdm/internal/transport/pooled_net_requester"
54
54
  require_relative "sentdm/client"
55
55
  require_relative "sentdm/models/mutation_request"
56
- require_relative "sentdm/models/profiles/base_dto"
57
56
  require_relative "sentdm/models/api_meta"
58
57
  require_relative "sentdm/models/api_response_of_contact"
58
+ require_relative "sentdm/models/api_response_of_contact_message_summary"
59
+ require_relative "sentdm/models/api_response_of_conversation_messages_list"
59
60
  require_relative "sentdm/models/api_response_of_profile_detail"
60
61
  require_relative "sentdm/models/api_response_of_user"
61
62
  require_relative "sentdm/models/api_response_template"
62
63
  require_relative "sentdm/models/api_response_webhook"
64
+ require_relative "sentdm/models/authentication_config"
63
65
  require_relative "sentdm/models/billing_contact_info"
66
+ require_relative "sentdm/models/brand_business_info"
67
+ require_relative "sentdm/models/brand_compliance_info"
68
+ require_relative "sentdm/models/brand_contact_info"
64
69
  require_relative "sentdm/models/brands_brand_data"
65
70
  require_relative "sentdm/models/contact_create_params"
66
71
  require_relative "sentdm/models/contact_delete_params"
67
72
  require_relative "sentdm/models/contact_list_params"
68
73
  require_relative "sentdm/models/contact_list_response"
74
+ require_relative "sentdm/models/contact_message_summary"
69
75
  require_relative "sentdm/models/contact_response"
76
+ require_relative "sentdm/models/contact_retrieve_message_summary_params"
70
77
  require_relative "sentdm/models/contact_retrieve_params"
71
78
  require_relative "sentdm/models/contact_update_params"
79
+ require_relative "sentdm/models/conversation_list_messages_params"
80
+ require_relative "sentdm/models/conversation_list_params"
81
+ require_relative "sentdm/models/conversation_messages_list"
72
82
  require_relative "sentdm/models/destination_country"
73
83
  require_relative "sentdm/models/error_detail"
84
+ require_relative "sentdm/models/inbound_message_event"
85
+ require_relative "sentdm/models/inbound_message_event_payload"
74
86
  require_relative "sentdm/models/me_retrieve_params"
75
87
  require_relative "sentdm/models/me_retrieve_response"
88
+ require_relative "sentdm/models/message_event"
89
+ require_relative "sentdm/models/message_event_payload"
76
90
  require_relative "sentdm/models/message_retrieve_activities_params"
77
91
  require_relative "sentdm/models/message_retrieve_activities_response"
78
92
  require_relative "sentdm/models/message_retrieve_status_params"
@@ -91,34 +105,33 @@ require_relative "sentdm/models/profile_detail"
91
105
  require_relative "sentdm/models/profile_list_params"
92
106
  require_relative "sentdm/models/profile_list_response"
93
107
  require_relative "sentdm/models/profile_retrieve_params"
94
- require_relative "sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases"
108
+ require_relative "sentdm/models/profiles/api_response_of_brand_campaign"
109
+ require_relative "sentdm/models/profiles/api_response_of_list_of_brand_campaign"
110
+ require_relative "sentdm/models/profiles/brand_campaign"
95
111
  require_relative "sentdm/models/profiles/campaign_create_params"
96
112
  require_relative "sentdm/models/profiles/campaign_data"
97
113
  require_relative "sentdm/models/profiles/campaign_delete_params"
98
114
  require_relative "sentdm/models/profiles/campaign_list_params"
99
- require_relative "sentdm/models/profiles/campaign_list_response"
100
115
  require_relative "sentdm/models/profiles/campaign_update_params"
116
+ require_relative "sentdm/models/profiles/campaign_use_case"
117
+ require_relative "sentdm/models/profiles/campaign_use_case_data"
101
118
  require_relative "sentdm/models/profiles/messaging_use_case_us"
102
- require_relative "sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data"
103
- require_relative "sentdm/models/profiles/tcr_campaign_with_use_cases"
104
119
  require_relative "sentdm/models/profile_settings"
105
120
  require_relative "sentdm/models/profile_update_params"
106
- require_relative "sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config"
107
- require_relative "sentdm/models/sent_dm_services_common_contracts_poc_os_template_body"
108
- require_relative "sentdm/models/sent_dm_services_common_contracts_poc_os_template_button"
109
- require_relative "sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props"
110
- require_relative "sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer"
111
- require_relative "sentdm/models/sent_dm_services_common_contracts_poc_os_template_header"
112
- require_relative "sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info"
113
- require_relative "sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info"
114
- require_relative "sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info"
115
121
  require_relative "sentdm/models/tcr_brand_relationship"
116
122
  require_relative "sentdm/models/tcr_vertical"
117
123
  require_relative "sentdm/models/template"
124
+ require_relative "sentdm/models/template_body"
118
125
  require_relative "sentdm/models/template_body_content"
126
+ require_relative "sentdm/models/template_button"
127
+ require_relative "sentdm/models/template_button_props"
119
128
  require_relative "sentdm/models/template_create_params"
120
129
  require_relative "sentdm/models/template_definition"
121
130
  require_relative "sentdm/models/template_delete_params"
131
+ require_relative "sentdm/models/template_event"
132
+ require_relative "sentdm/models/template_event_payload"
133
+ require_relative "sentdm/models/template_footer"
134
+ require_relative "sentdm/models/template_header"
122
135
  require_relative "sentdm/models/template_list_params"
123
136
  require_relative "sentdm/models/template_list_response"
124
137
  require_relative "sentdm/models/template_retrieve_params"
@@ -150,6 +163,7 @@ require_relative "sentdm/models/webhook_toggle_status_params"
150
163
  require_relative "sentdm/models/webhook_update_params"
151
164
  require_relative "sentdm/models"
152
165
  require_relative "sentdm/resources/contacts"
166
+ require_relative "sentdm/resources/conversations"
153
167
  require_relative "sentdm/resources/me"
154
168
  require_relative "sentdm/resources/messages"
155
169
  require_relative "sentdm/resources/numbers"
@@ -43,6 +43,9 @@ module Sentdm
43
43
  sig { returns(Sentdm::Resources::Contacts) }
44
44
  attr_reader :contacts
45
45
 
46
+ sig { returns(Sentdm::Resources::Conversations) }
47
+ attr_reader :conversations
48
+
46
49
  # Retrieve account details
47
50
  sig { returns(Sentdm::Resources::Me) }
48
51
  attr_reader :me
@@ -0,0 +1,79 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class APIResponseOfContactMessageSummary < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Sentdm::APIResponseOfContactMessageSummary,
10
+ Sentdm::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The response data (null if error)
15
+ sig { returns(T.nilable(Sentdm::ContactMessageSummary)) }
16
+ attr_reader :data
17
+
18
+ sig do
19
+ params(data: T.nilable(Sentdm::ContactMessageSummary::OrHash)).void
20
+ end
21
+ attr_writer :data
22
+
23
+ # Error information
24
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
25
+ attr_reader :error
26
+
27
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
28
+ attr_writer :error
29
+
30
+ # Request and response metadata
31
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
32
+ attr_reader :meta
33
+
34
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
35
+ attr_writer :meta
36
+
37
+ # Indicates whether the request was successful
38
+ sig { returns(T.nilable(T::Boolean)) }
39
+ attr_reader :success
40
+
41
+ sig { params(success: T::Boolean).void }
42
+ attr_writer :success
43
+
44
+ # Standard API response envelope for all v3 endpoints
45
+ sig do
46
+ params(
47
+ data: T.nilable(Sentdm::ContactMessageSummary::OrHash),
48
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
49
+ meta: Sentdm::APIMeta::OrHash,
50
+ success: T::Boolean
51
+ ).returns(T.attached_class)
52
+ end
53
+ def self.new(
54
+ # The response data (null if error)
55
+ data: nil,
56
+ # Error information
57
+ error: nil,
58
+ # Request and response metadata
59
+ meta: nil,
60
+ # Indicates whether the request was successful
61
+ success: nil
62
+ )
63
+ end
64
+
65
+ sig do
66
+ override.returns(
67
+ {
68
+ data: T.nilable(Sentdm::ContactMessageSummary),
69
+ error: T.nilable(Sentdm::ErrorDetail),
70
+ meta: Sentdm::APIMeta,
71
+ success: T::Boolean
72
+ }
73
+ )
74
+ end
75
+ def to_hash
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,79 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class APIResponseOfConversationMessagesList < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Sentdm::APIResponseOfConversationMessagesList,
10
+ Sentdm::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # A paginated list of messages — used by both conversation read endpoints.
15
+ sig { returns(T.nilable(Sentdm::ConversationMessagesList)) }
16
+ attr_reader :data
17
+
18
+ sig do
19
+ params(data: T.nilable(Sentdm::ConversationMessagesList::OrHash)).void
20
+ end
21
+ attr_writer :data
22
+
23
+ # Error information
24
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
25
+ attr_reader :error
26
+
27
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
28
+ attr_writer :error
29
+
30
+ # Request and response metadata
31
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
32
+ attr_reader :meta
33
+
34
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
35
+ attr_writer :meta
36
+
37
+ # Indicates whether the request was successful
38
+ sig { returns(T.nilable(T::Boolean)) }
39
+ attr_reader :success
40
+
41
+ sig { params(success: T::Boolean).void }
42
+ attr_writer :success
43
+
44
+ # Standard API response envelope for all v3 endpoints
45
+ sig do
46
+ params(
47
+ data: T.nilable(Sentdm::ConversationMessagesList::OrHash),
48
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
49
+ meta: Sentdm::APIMeta::OrHash,
50
+ success: T::Boolean
51
+ ).returns(T.attached_class)
52
+ end
53
+ def self.new(
54
+ # A paginated list of messages — used by both conversation read endpoints.
55
+ data: nil,
56
+ # Error information
57
+ error: nil,
58
+ # Request and response metadata
59
+ meta: nil,
60
+ # Indicates whether the request was successful
61
+ success: nil
62
+ )
63
+ end
64
+
65
+ sig do
66
+ override.returns(
67
+ {
68
+ data: T.nilable(Sentdm::ConversationMessagesList),
69
+ error: T.nilable(Sentdm::ErrorDetail),
70
+ meta: Sentdm::APIMeta,
71
+ success: T::Boolean
72
+ }
73
+ )
74
+ end
75
+ def to_hash
76
+ end
77
+ end
78
+ end
79
+ end
@@ -2,13 +2,10 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- class SentDmServicesCommonContractsPocOsAuthenticationConfig < Sentdm::Internal::Type::BaseModel
5
+ class AuthenticationConfig < Sentdm::Internal::Type::BaseModel
6
6
  OrHash =
7
7
  T.type_alias do
8
- T.any(
9
- Sentdm::SentDmServicesCommonContractsPocOsAuthenticationConfig,
10
- Sentdm::Internal::AnyHash
11
- )
8
+ T.any(Sentdm::AuthenticationConfig, Sentdm::Internal::AnyHash)
12
9
  end
13
10
 
14
11
  # Whether to add the security recommendation text: "For your security, do not
@@ -2,13 +2,10 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- class SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo < Sentdm::Internal::Type::BaseModel
5
+ class BrandBusinessInfo < Sentdm::Internal::Type::BaseModel
6
6
  OrHash =
7
7
  T.type_alias do
8
- T.any(
9
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo,
10
- Sentdm::Internal::AnyHash
11
- )
8
+ T.any(Sentdm::BrandBusinessInfo, Sentdm::Internal::AnyHash)
12
9
  end
13
10
 
14
11
  # City
@@ -24,11 +21,7 @@ module Sentdm
24
21
  attr_accessor :country_of_registration
25
22
 
26
23
  sig do
27
- returns(
28
- T.nilable(
29
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::OrSymbol
30
- )
31
- )
24
+ returns(T.nilable(Sentdm::BrandBusinessInfo::EntityType::OrSymbol))
32
25
  end
33
26
  attr_accessor :entity_type
34
27
 
@@ -67,9 +60,7 @@ module Sentdm
67
60
  country: T.nilable(String),
68
61
  country_of_registration: T.nilable(String),
69
62
  entity_type:
70
- T.nilable(
71
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::OrSymbol
72
- ),
63
+ T.nilable(Sentdm::BrandBusinessInfo::EntityType::OrSymbol),
73
64
  legal_name: T.nilable(String),
74
65
  postal_code: T.nilable(String),
75
66
  state: T.nilable(String),
@@ -111,9 +102,7 @@ module Sentdm
111
102
  country: T.nilable(String),
112
103
  country_of_registration: T.nilable(String),
113
104
  entity_type:
114
- T.nilable(
115
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::OrSymbol
116
- ),
105
+ T.nilable(Sentdm::BrandBusinessInfo::EntityType::OrSymbol),
117
106
  legal_name: T.nilable(String),
118
107
  postal_code: T.nilable(String),
119
108
  state: T.nilable(String),
@@ -131,45 +120,38 @@ module Sentdm
131
120
  extend Sentdm::Internal::Type::Enum
132
121
 
133
122
  TaggedSymbol =
134
- T.type_alias do
135
- T.all(
136
- Symbol,
137
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType
138
- )
139
- end
123
+ T.type_alias { T.all(Symbol, Sentdm::BrandBusinessInfo::EntityType) }
140
124
  OrSymbol = T.type_alias { T.any(Symbol, String) }
141
125
 
142
126
  PRIVATE_PROFIT =
143
127
  T.let(
144
128
  :PRIVATE_PROFIT,
145
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::TaggedSymbol
129
+ Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
146
130
  )
147
131
  PUBLIC_PROFIT =
148
132
  T.let(
149
133
  :PUBLIC_PROFIT,
150
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::TaggedSymbol
134
+ Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
151
135
  )
152
136
  NON_PROFIT =
153
137
  T.let(
154
138
  :NON_PROFIT,
155
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::TaggedSymbol
139
+ Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
156
140
  )
157
141
  SOLE_PROPRIETOR =
158
142
  T.let(
159
143
  :SOLE_PROPRIETOR,
160
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::TaggedSymbol
144
+ Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
161
145
  )
162
146
  GOVERNMENT =
163
147
  T.let(
164
148
  :GOVERNMENT,
165
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::TaggedSymbol
149
+ Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol
166
150
  )
167
151
 
168
152
  sig do
169
153
  override.returns(
170
- T::Array[
171
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::TaggedSymbol
172
- ]
154
+ T::Array[Sentdm::BrandBusinessInfo::EntityType::TaggedSymbol]
173
155
  )
174
156
  end
175
157
  def self.values
@@ -2,13 +2,10 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- class SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo < Sentdm::Internal::Type::BaseModel
5
+ class BrandComplianceInfo < Sentdm::Internal::Type::BaseModel
6
6
  OrHash =
7
7
  T.type_alias do
8
- T.any(
9
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo,
10
- Sentdm::Internal::AnyHash
11
- )
8
+ T.any(Sentdm::BrandComplianceInfo, Sentdm::Internal::AnyHash)
12
9
  end
13
10
 
14
11
  sig { returns(Sentdm::TcrBrandRelationship::OrSymbol) }
@@ -21,10 +18,6 @@ module Sentdm
21
18
  sig { returns(T.nilable(T::Array[Sentdm::DestinationCountry])) }
22
19
  attr_accessor :destination_countries
23
20
 
24
- # Expected daily messaging volume
25
- sig { returns(T.nilable(String)) }
26
- attr_accessor :expected_messaging_volume
27
-
28
21
  # Whether this is a TCR (Campaign Registry) application
29
22
  sig { returns(T.nilable(T::Boolean)) }
30
23
  attr_accessor :is_tcr_application
@@ -48,7 +41,6 @@ module Sentdm
48
41
  vertical: Sentdm::TcrVertical::OrSymbol,
49
42
  destination_countries:
50
43
  T.nilable(T::Array[Sentdm::DestinationCountry::OrHash]),
51
- expected_messaging_volume: T.nilable(String),
52
44
  is_tcr_application: T.nilable(T::Boolean),
53
45
  notes: T.nilable(String),
54
46
  phone_number_prefix: T.nilable(String),
@@ -60,8 +52,6 @@ module Sentdm
60
52
  vertical:,
61
53
  # List of destination countries for messaging
62
54
  destination_countries: nil,
63
- # Expected daily messaging volume
64
- expected_messaging_volume: nil,
65
55
  # Whether this is a TCR (Campaign Registry) application
66
56
  is_tcr_application: nil,
67
57
  # Additional notes about the business or use case
@@ -80,7 +70,6 @@ module Sentdm
80
70
  vertical: Sentdm::TcrVertical::OrSymbol,
81
71
  destination_countries:
82
72
  T.nilable(T::Array[Sentdm::DestinationCountry]),
83
- expected_messaging_volume: T.nilable(String),
84
73
  is_tcr_application: T.nilable(T::Boolean),
85
74
  notes: T.nilable(String),
86
75
  phone_number_prefix: T.nilable(String),
@@ -2,13 +2,10 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- class SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo < Sentdm::Internal::Type::BaseModel
5
+ class BrandContactInfo < Sentdm::Internal::Type::BaseModel
6
6
  OrHash =
7
7
  T.type_alias do
8
- T.any(
9
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo,
10
- Sentdm::Internal::AnyHash
11
- )
8
+ T.any(Sentdm::BrandContactInfo, Sentdm::Internal::AnyHash)
12
9
  end
13
10
 
14
11
  # Primary contact name (required)
@@ -9,68 +9,34 @@ module Sentdm
9
9
  end
10
10
 
11
11
  # Compliance and TCR information for brand registration
12
- sig do
13
- returns(
14
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo
15
- )
16
- end
12
+ sig { returns(Sentdm::BrandComplianceInfo) }
17
13
  attr_reader :compliance
18
14
 
19
- sig do
20
- params(
21
- compliance:
22
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo::OrHash
23
- ).void
24
- end
15
+ sig { params(compliance: Sentdm::BrandComplianceInfo::OrHash).void }
25
16
  attr_writer :compliance
26
17
 
27
18
  # Contact information for brand KYC
28
- sig do
29
- returns(
30
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo
31
- )
32
- end
19
+ sig { returns(Sentdm::BrandContactInfo) }
33
20
  attr_reader :contact
34
21
 
35
- sig do
36
- params(
37
- contact:
38
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo::OrHash
39
- ).void
40
- end
22
+ sig { params(contact: Sentdm::BrandContactInfo::OrHash).void }
41
23
  attr_writer :contact
42
24
 
43
25
  # Business details and address for brand KYC
44
- sig do
45
- returns(
46
- T.nilable(
47
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo
48
- )
49
- )
50
- end
26
+ sig { returns(T.nilable(Sentdm::BrandBusinessInfo)) }
51
27
  attr_reader :business
52
28
 
53
29
  sig do
54
- params(
55
- business:
56
- T.nilable(
57
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::OrHash
58
- )
59
- ).void
30
+ params(business: T.nilable(Sentdm::BrandBusinessInfo::OrHash)).void
60
31
  end
61
32
  attr_writer :business
62
33
 
63
34
  # Brand and KYC data grouped into contact, business, and compliance sections
64
35
  sig do
65
36
  params(
66
- compliance:
67
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo::OrHash,
68
- contact:
69
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo::OrHash,
70
- business:
71
- T.nilable(
72
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::OrHash
73
- )
37
+ compliance: Sentdm::BrandComplianceInfo::OrHash,
38
+ contact: Sentdm::BrandContactInfo::OrHash,
39
+ business: T.nilable(Sentdm::BrandBusinessInfo::OrHash)
74
40
  ).returns(T.attached_class)
75
41
  end
76
42
  def self.new(
@@ -86,14 +52,9 @@ module Sentdm
86
52
  sig do
87
53
  override.returns(
88
54
  {
89
- compliance:
90
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo,
91
- contact:
92
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo,
93
- business:
94
- T.nilable(
95
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo
96
- )
55
+ compliance: Sentdm::BrandComplianceInfo,
56
+ contact: Sentdm::BrandContactInfo,
57
+ business: T.nilable(Sentdm::BrandBusinessInfo)
97
58
  }
98
59
  )
99
60
  end