sentdm 0.25.0 → 0.26.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 (110) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -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/message_send_response.rb +2 -6
  18. data/lib/sentdm/models/profile_detail.rb +3 -11
  19. data/lib/sentdm/models/profile_update_params.rb +2 -2
  20. data/lib/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rb → api_response_of_brand_campaign.rb} +5 -5
  21. data/lib/sentdm/models/profiles/{campaign_list_response.rb → api_response_of_list_of_brand_campaign.rb} +4 -6
  22. data/lib/sentdm/models/profiles/{tcr_campaign_with_use_cases.rb → brand_campaign.rb} +63 -111
  23. data/lib/sentdm/models/profiles/campaign_data.rb +13 -6
  24. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  25. 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
  26. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rb → template_body.rb} +2 -3
  27. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button.rb → template_button.rb} +5 -6
  28. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rb → template_button_props.rb} +2 -3
  29. data/lib/sentdm/models/template_definition.rb +15 -19
  30. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rb → template_footer.rb} +1 -1
  31. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rb → template_header.rb} +2 -3
  32. data/lib/sentdm/models.rb +32 -27
  33. data/lib/sentdm/resources/contacts.rb +30 -0
  34. data/lib/sentdm/resources/conversations.rb +82 -0
  35. data/lib/sentdm/resources/messages.rb +4 -1
  36. data/lib/sentdm/resources/profiles/campaigns.rb +6 -6
  37. data/lib/sentdm/resources/profiles.rb +31 -19
  38. data/lib/sentdm/version.rb +1 -1
  39. data/lib/sentdm.rb +22 -14
  40. data/rbi/sentdm/client.rbi +3 -0
  41. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  42. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  43. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_authentication_config.rbi → authentication_config.rbi} +2 -5
  44. data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbi → brand_business_info.rbi} +12 -30
  45. data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbi → brand_compliance_info.rbi} +2 -13
  46. data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbi → brand_contact_info.rbi} +2 -5
  47. data/rbi/sentdm/models/brands_brand_data.rbi +12 -51
  48. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  49. data/rbi/sentdm/models/contact_retrieve_message_summary_params.rbi +49 -0
  50. data/rbi/sentdm/models/conversation_list_messages_params.rbi +65 -0
  51. data/rbi/sentdm/models/conversation_list_params.rbi +51 -0
  52. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  53. data/rbi/sentdm/models/message_send_response.rbi +2 -4
  54. data/rbi/sentdm/models/profile_detail.rbi +2 -10
  55. data/rbi/sentdm/models/profile_update_params.rbi +2 -2
  56. data/rbi/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rbi → api_response_of_brand_campaign.rbi} +8 -10
  57. data/rbi/sentdm/models/profiles/{campaign_list_response.rbi → api_response_of_list_of_brand_campaign.rbi} +5 -13
  58. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  59. data/rbi/sentdm/models/profiles/campaign_data.rbi +16 -18
  60. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  61. 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
  62. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rbi → template_body.rbi} +2 -7
  63. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button.rbi → template_button.rbi} +6 -22
  64. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rbi → template_button_props.rbi} +2 -5
  65. data/rbi/sentdm/models/template_definition.rbi +19 -87
  66. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rbi → template_footer.rbi} +2 -5
  67. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rbi → template_header.rbi} +2 -5
  68. data/rbi/sentdm/models.rbi +36 -27
  69. data/rbi/sentdm/resources/contacts.rbi +20 -0
  70. data/rbi/sentdm/resources/conversations.rbi +61 -0
  71. data/rbi/sentdm/resources/messages.rbi +4 -1
  72. data/rbi/sentdm/resources/profiles/campaigns.rbi +3 -3
  73. data/rbi/sentdm/resources/profiles.rbi +29 -18
  74. data/sig/sentdm/client.rbs +2 -0
  75. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
  76. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  77. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_authentication_config.rbs → authentication_config.rbs} +2 -2
  78. data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbs → brand_business_info.rbs} +7 -7
  79. data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbs → brand_compliance_info.rbs} +2 -7
  80. data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbs → brand_contact_info.rbs} +2 -2
  81. data/sig/sentdm/models/brands_brand_data.rbs +12 -12
  82. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  83. data/sig/sentdm/models/contact_retrieve_message_summary_params.rbs +30 -0
  84. data/sig/sentdm/models/conversation_list_messages_params.rbs +38 -0
  85. data/sig/sentdm/models/conversation_list_params.rbs +34 -0
  86. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  87. data/sig/sentdm/models/profile_detail.rbs +0 -5
  88. data/sig/sentdm/models/profiles/{campaign_list_response.rbs → api_response_of_brand_campaign.rbs} +6 -6
  89. data/sig/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rbs → api_response_of_list_of_brand_campaign.rbs} +6 -6
  90. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  91. data/sig/sentdm/models/profiles/campaign_data.rbs +12 -7
  92. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  93. 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
  94. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rbs → template_body.rbs} +2 -2
  95. data/sig/sentdm/models/template_button.rbs +28 -0
  96. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rbs → template_button_props.rbs} +2 -2
  97. data/sig/sentdm/models/template_definition.rbs +20 -20
  98. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rbs → template_footer.rbs} +2 -2
  99. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rbs → template_header.rbs} +2 -2
  100. data/sig/sentdm/models.rbs +32 -18
  101. data/sig/sentdm/resources/contacts.rbs +6 -0
  102. data/sig/sentdm/resources/conversations.rbs +22 -0
  103. data/sig/sentdm/resources/profiles/campaigns.rbs +3 -3
  104. metadata +68 -44
  105. data/lib/sentdm/models/profiles/base_dto.rb +0 -32
  106. data/rbi/sentdm/models/profiles/base_dto.rbi +0 -53
  107. data/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi +0 -425
  108. data/sig/sentdm/models/profiles/base_dto.rbs +0 -27
  109. data/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs +0 -306
  110. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +0 -32
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 111f6ce63585f229c84c378ab652335418deb3d223e2277c6eabd45445bec7d0
4
- data.tar.gz: 2f01db7d5893dcf369a867ee3d68fe7aa77ad72dc0da847f5fcbeafcd6168dbc
3
+ metadata.gz: ebdb5fd6a174b30850e1b33607c0c7acaa61fecae6564e0567d1f5ef1e957cc8
4
+ data.tar.gz: 830ae5cb38a33f35ff78031b19d31dac59f280a5fd48275e660d93fa4f54a457
5
5
  SHA512:
6
- metadata.gz: 297ffd2f50d965d6dc2455c275dfed75f79ede3b1a85d509b75ff73ebd26e5f8c0bca0ea0facc8f14f5668cd399cf0790c60f874a538dad01f7bbb6a232b5096
7
- data.tar.gz: ea87f1e165793385372a35114165a9e9385d2e1396cb61cb5fb04b9b65320c324afbca63b402b1c9a70d313ee146ec141a9ddca9b190b3c2a04acc367e5351e1
6
+ metadata.gz: 37b4f50c8af9746b8c2c1cd498715ce6f7dce3d765a60926a6cfcff9a43952045cb8c2938d0880968d803709f19751eb4f25baf5c8df83f949b1e56f9222d54e
7
+ data.tar.gz: 616928315abcb21dfcb69ba3011d1a61b0583982c552d8102d5a0812a0482e6ed75fcd0073586a666ff95fbfd4bba8ad86895766b21c5f2a68208b0b3d37a26a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.26.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.25.0...v0.26.0) (2026-08-08)
4
+
5
+
6
+ ### Features
7
+
8
+ * **api:** sync OpenAPI spec from production ([2a92d9a](https://github.com/sentdm/sent-dm-ruby/commit/2a92d9a1b29d11d5e4bc57e8119a50b9710a90fe))
9
+
10
+
11
+ ### Chores
12
+
13
+ * mark GitHub Releases as stable releases (prerelease: false) ([153cbe6](https://github.com/sentdm/sent-dm-ruby/commit/153cbe6938b8bc6ad8f593b43103982ffa716148))
14
+
3
15
  ## [0.25.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.24.0...v0.25.0) (2026-07-07)
4
16
 
5
17
 
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "sentdm", "~> 0.24.0"
20
+ gem "sentdm", "~> 0.26.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -262,25 +262,21 @@ Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::E
262
262
 
263
263
  ```ruby
264
264
  # :PRIVATE_PROFIT
265
- puts(
266
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::PRIVATE_PROFIT
267
- )
265
+ puts(Sentdm::BrandBusinessInfo::EntityType::PRIVATE_PROFIT)
268
266
 
269
- # Revealed type: `T.all(Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType, Symbol)`
270
- T.reveal_type(
271
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::PRIVATE_PROFIT
272
- )
267
+ # Revealed type: `T.all(Sentdm::BrandBusinessInfo::EntityType, Symbol)`
268
+ T.reveal_type(Sentdm::BrandBusinessInfo::EntityType::PRIVATE_PROFIT)
273
269
  ```
274
270
 
275
271
  Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
276
272
 
277
273
  ```ruby
278
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo.new(
279
- entity_type: Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::PRIVATE_PROFIT,
274
+ Sentdm::BrandBusinessInfo.new(
275
+ entity_type: Sentdm::BrandBusinessInfo::EntityType::PRIVATE_PROFIT,
280
276
  # …
281
277
  )
282
278
 
283
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo.new(
279
+ Sentdm::BrandBusinessInfo.new(
284
280
  entity_type: :PRIVATE_PROFIT,
285
281
  # …
286
282
  )
data/lib/sentdm/client.rb CHANGED
@@ -48,6 +48,9 @@ module Sentdm
48
48
  # @return [Sentdm::Resources::Contacts]
49
49
  attr_reader :contacts
50
50
 
51
+ # @return [Sentdm::Resources::Conversations]
52
+ attr_reader :conversations
53
+
51
54
  # Retrieve account details
52
55
  # @return [Sentdm::Resources::Me]
53
56
  attr_reader :me
@@ -120,6 +123,7 @@ module Sentdm
120
123
  @numbers = Sentdm::Resources::Numbers.new(client: self)
121
124
  @messages = Sentdm::Resources::Messages.new(client: self)
122
125
  @contacts = Sentdm::Resources::Contacts.new(client: self)
126
+ @conversations = Sentdm::Resources::Conversations.new(client: self)
123
127
  @me = Sentdm::Resources::Me.new(client: self)
124
128
  end
125
129
  end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Contacts#retrieve_message_summary
6
+ class APIResponseOfContactMessageSummary < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # The response data (null if error)
9
+ #
10
+ # @return [Sentdm::Models::ContactMessageSummary, nil]
11
+ optional :data, -> { Sentdm::ContactMessageSummary }, nil?: true
12
+
13
+ # @!attribute error
14
+ # Error information
15
+ #
16
+ # @return [Sentdm::Models::ErrorDetail, nil]
17
+ optional :error, -> { Sentdm::ErrorDetail }, nil?: true
18
+
19
+ # @!attribute meta
20
+ # Request and response metadata
21
+ #
22
+ # @return [Sentdm::Models::APIMeta, nil]
23
+ optional :meta, -> { Sentdm::APIMeta }
24
+
25
+ # @!attribute success
26
+ # Indicates whether the request was successful
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :success, Sentdm::Internal::Type::Boolean
30
+
31
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
32
+ # Standard API response envelope for all v3 endpoints
33
+ #
34
+ # @param data [Sentdm::Models::ContactMessageSummary, nil] The response data (null if error)
35
+ #
36
+ # @param error [Sentdm::Models::ErrorDetail, nil] Error information
37
+ #
38
+ # @param meta [Sentdm::Models::APIMeta] Request and response metadata
39
+ #
40
+ # @param success [Boolean] Indicates whether the request was successful
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Conversations#list
6
+ class APIResponseOfConversationMessagesList < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # A paginated list of messages — used by both conversation read endpoints.
9
+ #
10
+ # @return [Sentdm::Models::ConversationMessagesList, nil]
11
+ optional :data, -> { Sentdm::ConversationMessagesList }, nil?: true
12
+
13
+ # @!attribute error
14
+ # Error information
15
+ #
16
+ # @return [Sentdm::Models::ErrorDetail, nil]
17
+ optional :error, -> { Sentdm::ErrorDetail }, nil?: true
18
+
19
+ # @!attribute meta
20
+ # Request and response metadata
21
+ #
22
+ # @return [Sentdm::Models::APIMeta, nil]
23
+ optional :meta, -> { Sentdm::APIMeta }
24
+
25
+ # @!attribute success
26
+ # Indicates whether the request was successful
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :success, Sentdm::Internal::Type::Boolean
30
+
31
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
32
+ # Standard API response envelope for all v3 endpoints
33
+ #
34
+ # @param data [Sentdm::Models::ConversationMessagesList, nil] A paginated list of messages — used by both conversation read endpoints.
35
+ #
36
+ # @param error [Sentdm::Models::ErrorDetail, nil] Error information
37
+ #
38
+ # @param meta [Sentdm::Models::APIMeta] Request and response metadata
39
+ #
40
+ # @param success [Boolean] Indicates whether the request was successful
41
+ end
42
+ end
43
+ end
@@ -2,7 +2,7 @@
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
  # @!attribute add_security_recommendation
7
7
  # Whether to add the security recommendation text: "For your security, do not
8
8
  # share this code."
@@ -21,8 +21,7 @@ module Sentdm
21
21
 
22
22
  # @!method initialize(add_security_recommendation: nil, code_expiration_minutes: nil)
23
23
  # Some parameter documentations has been truncated, see
24
- # {Sentdm::Models::SentDmServicesCommonContractsPocOsAuthenticationConfig} for
25
- # more details.
24
+ # {Sentdm::Models::AuthenticationConfig} for more details.
26
25
  #
27
26
  # Configuration for AUTHENTICATION category templates
28
27
  #
@@ -2,7 +2,7 @@
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
  # @!attribute city
7
7
  # City
8
8
  #
@@ -23,11 +23,9 @@ module Sentdm
23
23
 
24
24
  # @!attribute entity_type
25
25
  #
26
- # @return [Symbol, Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType, nil]
26
+ # @return [Symbol, Sentdm::Models::BrandBusinessInfo::EntityType, nil]
27
27
  optional :entity_type,
28
- enum: -> {
29
- Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType
30
- },
28
+ enum: -> { Sentdm::BrandBusinessInfo::EntityType },
31
29
  api_name: :entityType,
32
30
  nil?: true
33
31
 
@@ -82,7 +80,7 @@ module Sentdm
82
80
  #
83
81
  # @param country_of_registration [String, nil] Country where the business is registered
84
82
  #
85
- # @param entity_type [Symbol, Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType, nil]
83
+ # @param entity_type [Symbol, Sentdm::Models::BrandBusinessInfo::EntityType, nil]
86
84
  #
87
85
  # @param legal_name [String, nil] Legal business name
88
86
  #
@@ -98,7 +96,7 @@ module Sentdm
98
96
  #
99
97
  # @param url [String, nil] Business website URL
100
98
 
101
- # @see Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo#entity_type
99
+ # @see Sentdm::Models::BrandBusinessInfo#entity_type
102
100
  module EntityType
103
101
  extend Sentdm::Internal::Type::Enum
104
102
 
@@ -2,7 +2,7 @@
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
  # @!attribute brand_relationship
7
7
  #
8
8
  # @return [Symbol, Sentdm::Models::TcrBrandRelationship]
@@ -22,12 +22,6 @@ module Sentdm
22
22
  api_name: :destinationCountries,
23
23
  nil?: true
24
24
 
25
- # @!attribute expected_messaging_volume
26
- # Expected daily messaging volume
27
- #
28
- # @return [String, nil]
29
- optional :expected_messaging_volume, String, api_name: :expectedMessagingVolume, nil?: true
30
-
31
25
  # @!attribute is_tcr_application
32
26
  # Whether this is a TCR (Campaign Registry) application
33
27
  #
@@ -52,7 +46,7 @@ module Sentdm
52
46
  # @return [String, nil]
53
47
  optional :primary_use_case, String, api_name: :primaryUseCase, nil?: true
54
48
 
55
- # @!method initialize(brand_relationship:, vertical:, destination_countries: nil, expected_messaging_volume: nil, is_tcr_application: nil, notes: nil, phone_number_prefix: nil, primary_use_case: nil)
49
+ # @!method initialize(brand_relationship:, vertical:, destination_countries: nil, is_tcr_application: nil, notes: nil, phone_number_prefix: nil, primary_use_case: nil)
56
50
  # Compliance and TCR information for brand registration
57
51
  #
58
52
  # @param brand_relationship [Symbol, Sentdm::Models::TcrBrandRelationship]
@@ -61,8 +55,6 @@ module Sentdm
61
55
  #
62
56
  # @param destination_countries [Array<Sentdm::Models::DestinationCountry>, nil] List of destination countries for messaging
63
57
  #
64
- # @param expected_messaging_volume [String, nil] Expected daily messaging volume
65
- #
66
58
  # @param is_tcr_application [Boolean, nil] Whether this is a TCR (Campaign Registry) application
67
59
  #
68
60
  # @param notes [String, nil] Additional notes about the business or use case
@@ -2,7 +2,7 @@
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
  # @!attribute name
7
7
  # Primary contact name (required)
8
8
  #
@@ -6,33 +6,29 @@ module Sentdm
6
6
  # @!attribute compliance
7
7
  # Compliance and TCR information for brand registration
8
8
  #
9
- # @return [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo]
10
- required :compliance,
11
- -> { Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo }
9
+ # @return [Sentdm::Models::BrandComplianceInfo]
10
+ required :compliance, -> { Sentdm::BrandComplianceInfo }
12
11
 
13
12
  # @!attribute contact
14
13
  # Contact information for brand KYC
15
14
  #
16
- # @return [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo]
17
- required :contact,
18
- -> { Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo }
15
+ # @return [Sentdm::Models::BrandContactInfo]
16
+ required :contact, -> { Sentdm::BrandContactInfo }
19
17
 
20
18
  # @!attribute business
21
19
  # Business details and address for brand KYC
22
20
  #
23
- # @return [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo, nil]
24
- optional :business,
25
- -> { Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo },
26
- nil?: true
21
+ # @return [Sentdm::Models::BrandBusinessInfo, nil]
22
+ optional :business, -> { Sentdm::BrandBusinessInfo }, nil?: true
27
23
 
28
24
  # @!method initialize(compliance:, contact:, business: nil)
29
25
  # Brand and KYC data grouped into contact, business, and compliance sections
30
26
  #
31
- # @param compliance [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo] Compliance and TCR information for brand registration
27
+ # @param compliance [Sentdm::Models::BrandComplianceInfo] Compliance and TCR information for brand registration
32
28
  #
33
- # @param contact [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo] Contact information for brand KYC
29
+ # @param contact [Sentdm::Models::BrandContactInfo] Contact information for brand KYC
34
30
  #
35
- # @param business [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo, nil] Business details and address for brand KYC
31
+ # @param business [Sentdm::Models::BrandBusinessInfo, nil] Business details and address for brand KYC
36
32
  end
37
33
  end
38
34
  end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ContactMessageSummary < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute channel_scores
7
+ #
8
+ # @return [Array<Sentdm::Models::ContactMessageSummary::ChannelScore>, nil]
9
+ optional :channel_scores,
10
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::ContactMessageSummary::ChannelScore] }
11
+
12
+ # @!attribute channels_used
13
+ #
14
+ # @return [Array<String>, nil]
15
+ optional :channels_used, Sentdm::Internal::Type::ArrayOf[String]
16
+
17
+ # @!attribute contact_id
18
+ #
19
+ # @return [String, nil]
20
+ optional :contact_id, String
21
+
22
+ # @!attribute first_message_at
23
+ #
24
+ # @return [Time, nil]
25
+ optional :first_message_at, Time, nil?: true
26
+
27
+ # @!attribute last_message_at
28
+ #
29
+ # @return [Time, nil]
30
+ optional :last_message_at, Time, nil?: true
31
+
32
+ # @!attribute message_count
33
+ #
34
+ # @return [Integer, nil]
35
+ optional :message_count, Integer
36
+
37
+ # @!method initialize(channel_scores: nil, channels_used: nil, contact_id: nil, first_message_at: nil, last_message_at: nil, message_count: nil)
38
+ # @param channel_scores [Array<Sentdm::Models::ContactMessageSummary::ChannelScore>]
39
+ # @param channels_used [Array<String>]
40
+ # @param contact_id [String]
41
+ # @param first_message_at [Time, nil]
42
+ # @param last_message_at [Time, nil]
43
+ # @param message_count [Integer]
44
+
45
+ class ChannelScore < Sentdm::Internal::Type::BaseModel
46
+ # @!attribute channel
47
+ #
48
+ # @return [String, nil]
49
+ optional :channel, String
50
+
51
+ # @!attribute fail_score
52
+ # Percentage (0-100) of messages on this channel that ended in FAILED.
53
+ #
54
+ # @return [Integer, nil]
55
+ optional :fail_score, Integer
56
+
57
+ # @!attribute success_score
58
+ # Percentage (0-100) of messages on this channel that reached a successful
59
+ # terminal state: SENT/DELIVERED/READ for outbound, RECEIVED for inbound.
60
+ #
61
+ # @return [Integer, nil]
62
+ optional :success_score, Integer
63
+
64
+ # @!method initialize(channel: nil, fail_score: nil, success_score: nil)
65
+ # Some parameter documentations has been truncated, see
66
+ # {Sentdm::Models::ContactMessageSummary::ChannelScore} for more details.
67
+ #
68
+ # @param channel [String]
69
+ #
70
+ # @param fail_score [Integer] Percentage (0-100) of messages on this channel that ended in FAILED.
71
+ #
72
+ # @param success_score [Integer] Percentage (0-100) of messages on this channel that reached a successful termina
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Contacts#retrieve_message_summary
6
+ class ContactRetrieveMessageSummaryParams < Sentdm::Internal::Type::BaseModel
7
+ extend Sentdm::Internal::Type::RequestParameters::Converter
8
+ include Sentdm::Internal::Type::RequestParameters
9
+
10
+ # @!attribute contact_id
11
+ #
12
+ # @return [String]
13
+ required :contact_id, String
14
+
15
+ # @!attribute x_profile_id
16
+ #
17
+ # @return [String, nil]
18
+ optional :x_profile_id, String
19
+
20
+ # @!method initialize(contact_id:, x_profile_id: nil, request_options: {})
21
+ # @param contact_id [String]
22
+ # @param x_profile_id [String]
23
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Conversations#list_messages
6
+ class ConversationListMessagesParams < Sentdm::Internal::Type::BaseModel
7
+ extend Sentdm::Internal::Type::RequestParameters::Converter
8
+ include Sentdm::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute page
16
+ #
17
+ # @return [Integer]
18
+ required :page, Integer
19
+
20
+ # @!attribute page_size
21
+ #
22
+ # @return [Integer]
23
+ required :page_size, Integer
24
+
25
+ # @!attribute x_profile_id
26
+ #
27
+ # @return [String, nil]
28
+ optional :x_profile_id, String
29
+
30
+ # @!method initialize(id:, page:, page_size:, x_profile_id: nil, request_options: {})
31
+ # @param id [String]
32
+ # @param page [Integer]
33
+ # @param page_size [Integer]
34
+ # @param x_profile_id [String]
35
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Conversations#list
6
+ class ConversationListParams < Sentdm::Internal::Type::BaseModel
7
+ extend Sentdm::Internal::Type::RequestParameters::Converter
8
+ include Sentdm::Internal::Type::RequestParameters
9
+
10
+ # @!attribute page
11
+ #
12
+ # @return [Integer]
13
+ required :page, Integer
14
+
15
+ # @!attribute page_size
16
+ #
17
+ # @return [Integer]
18
+ required :page_size, Integer
19
+
20
+ # @!attribute x_profile_id
21
+ #
22
+ # @return [String, nil]
23
+ optional :x_profile_id, String
24
+
25
+ # @!method initialize(page:, page_size:, x_profile_id: nil, request_options: {})
26
+ # @param page [Integer]
27
+ # @param page_size [Integer]
28
+ # @param x_profile_id [String]
29
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
30
+ end
31
+ end
32
+ end