sentdm 0.4.0 → 0.5.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 (149) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -27
  4. data/lib/sentdm/client.rb +5 -8
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/models/{api_response_contact.rb → api_response_of_contact.rb} +4 -4
  7. data/lib/sentdm/models/base_dto.rb +30 -0
  8. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  9. data/lib/sentdm/models/{brand_data.rb → brands_brand_data.rb} +17 -17
  10. data/lib/sentdm/models/contact_delete_params.rb +1 -1
  11. data/lib/sentdm/models/contact_list_response.rb +3 -3
  12. data/lib/sentdm/models/{contact.rb → contact_response.rb} +1 -1
  13. data/lib/sentdm/models/{mutation_request.rb → mutation_request_base.rb} +2 -2
  14. data/lib/sentdm/models/number_lookup_params.rb +26 -0
  15. data/lib/sentdm/models/number_lookup_response.rb +104 -0
  16. data/lib/sentdm/models/payment_details.rb +44 -0
  17. data/lib/sentdm/models/{profile_complete_params.rb → profile_complete_setup_params.rb} +3 -3
  18. data/lib/sentdm/models/{profile_complete_response.rb → profile_complete_setup_response.rb} +1 -1
  19. data/lib/sentdm/models/profile_create_params.rb +9 -91
  20. data/lib/sentdm/models/profile_delete_params.rb +1 -1
  21. data/lib/sentdm/models/profile_detail.rb +369 -3
  22. data/lib/sentdm/models/profile_update_params.rb +9 -91
  23. data/lib/sentdm/models/{brands/api_response_tcr_campaign_with_use_cases.rb → profiles/api_response_of_tcr_campaign_with_use_cases.rb} +6 -5
  24. data/lib/sentdm/models/profiles/campaign_create_params.rb +57 -0
  25. data/lib/sentdm/models/{brands → profiles}/campaign_data.rb +28 -7
  26. data/lib/sentdm/models/profiles/campaign_delete_params.rb +50 -0
  27. data/lib/sentdm/models/profiles/campaign_list_params.rb +28 -0
  28. data/lib/sentdm/models/profiles/campaign_list_response.rb +47 -0
  29. data/lib/sentdm/models/profiles/campaign_update_params.rb +64 -0
  30. data/lib/sentdm/models/{brands → profiles}/messaging_use_case_us.rb +1 -1
  31. data/lib/sentdm/models/{brands → profiles}/tcr_campaign_with_use_cases.rb +15 -15
  32. data/lib/sentdm/models/template_definition.rb +255 -15
  33. data/lib/sentdm/models/user_remove_params.rb +1 -1
  34. data/lib/sentdm/models/webhook_rotate_secret_params.rb +1 -1
  35. data/lib/sentdm/models.rb +14 -26
  36. data/lib/sentdm/resources/contacts.rb +6 -6
  37. data/lib/sentdm/resources/numbers.rb +44 -0
  38. data/lib/sentdm/resources/profiles/campaigns.rb +160 -0
  39. data/lib/sentdm/resources/profiles.rb +16 -11
  40. data/lib/sentdm/version.rb +1 -1
  41. data/lib/sentdm.rb +22 -22
  42. data/rbi/sentdm/client.rbi +4 -6
  43. data/rbi/sentdm/models/{api_response_contact.rbi → api_response_of_contact.rbi} +6 -6
  44. data/rbi/sentdm/models/base_dto.rbi +49 -0
  45. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  46. data/rbi/sentdm/models/{brand_data.rbi → brands_brand_data.rbi} +44 -27
  47. data/rbi/sentdm/models/contact_delete_params.rbi +1 -1
  48. data/rbi/sentdm/models/contact_list_response.rbi +4 -4
  49. data/rbi/sentdm/models/{contact.rbi → contact_response.rbi} +4 -2
  50. data/rbi/sentdm/models/{mutation_request.rbi → mutation_request_base.rbi} +2 -2
  51. data/rbi/sentdm/models/number_lookup_params.rbi +46 -0
  52. data/rbi/sentdm/models/number_lookup_response.rbi +166 -0
  53. data/rbi/sentdm/models/payment_details.rbi +59 -0
  54. data/rbi/sentdm/models/{profile_complete_params.rbi → profile_complete_setup_params.rbi} +2 -2
  55. data/rbi/sentdm/models/{profile_complete_response.rbi → profile_complete_setup_response.rbi} +1 -1
  56. data/rbi/sentdm/models/profile_create_params.rbi +12 -146
  57. data/rbi/sentdm/models/profile_delete_params.rbi +1 -1
  58. data/rbi/sentdm/models/profile_detail.rbi +562 -4
  59. data/rbi/sentdm/models/profile_update_params.rbi +12 -146
  60. data/rbi/sentdm/models/{brands/api_response_tcr_campaign_with_use_cases.rbi → profiles/api_response_of_tcr_campaign_with_use_cases.rbi} +7 -7
  61. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +88 -0
  62. data/rbi/sentdm/models/{brands → profiles}/campaign_data.rbi +51 -16
  63. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +95 -0
  64. data/rbi/sentdm/models/profiles/campaign_list_params.rbi +51 -0
  65. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +84 -0
  66. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +94 -0
  67. data/rbi/sentdm/models/{brands → profiles}/messaging_use_case_us.rbi +20 -16
  68. data/rbi/sentdm/models/{brands → profiles}/tcr_campaign_with_use_cases.rbi +37 -29
  69. data/rbi/sentdm/models/template_definition.rbi +405 -74
  70. data/rbi/sentdm/models/user_remove_params.rbi +1 -1
  71. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -1
  72. data/rbi/sentdm/models.rbi +14 -26
  73. data/rbi/sentdm/resources/contacts.rbi +3 -3
  74. data/rbi/sentdm/resources/numbers.rbi +32 -0
  75. data/rbi/sentdm/resources/profiles/campaigns.rbi +127 -0
  76. data/rbi/sentdm/resources/profiles.rbi +11 -11
  77. data/sig/sentdm/client.rbs +2 -4
  78. data/sig/sentdm/models/{api_response_contact.rbs → api_response_of_contact.rbs} +6 -6
  79. data/sig/sentdm/models/base_dto.rbs +25 -0
  80. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  81. data/sig/sentdm/models/{brand_data.rbs → brands_brand_data.rbs} +19 -19
  82. data/sig/sentdm/models/contact_delete_params.rbs +1 -1
  83. data/sig/sentdm/models/contact_list_response.rbs +7 -5
  84. data/sig/sentdm/models/{contact.rbs → contact_response.rbs} +2 -2
  85. data/sig/sentdm/models/{mutation_request.rbs → mutation_request_base.rbs} +2 -2
  86. data/sig/sentdm/models/number_lookup_params.rbs +30 -0
  87. data/sig/sentdm/models/number_lookup_response.rbs +100 -0
  88. data/sig/sentdm/models/payment_details.rbs +30 -0
  89. data/sig/sentdm/models/{profile_complete_params.rbs → profile_complete_setup_params.rbs} +2 -2
  90. data/sig/sentdm/models/profile_complete_setup_response.rbs +5 -0
  91. data/sig/sentdm/models/profile_create_params.rbs +12 -66
  92. data/sig/sentdm/models/profile_delete_params.rbs +1 -1
  93. data/sig/sentdm/models/profile_detail.rbs +289 -4
  94. data/sig/sentdm/models/profile_update_params.rbs +12 -66
  95. data/sig/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rbs +41 -0
  96. data/sig/sentdm/models/profiles/campaign_create_params.rbs +54 -0
  97. data/sig/sentdm/models/{brands → profiles}/campaign_data.rbs +27 -5
  98. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +53 -0
  99. data/sig/sentdm/models/profiles/campaign_list_params.rbs +32 -0
  100. data/sig/sentdm/models/{brands/api_response_tcr_campaign_with_use_cases.rbs → profiles/campaign_list_response.rbs} +7 -7
  101. data/sig/sentdm/models/profiles/campaign_update_params.rbs +59 -0
  102. data/sig/sentdm/models/{brands → profiles}/messaging_use_case_us.rbs +2 -2
  103. data/sig/sentdm/models/{brands → profiles}/tcr_campaign_with_use_cases.rbs +29 -29
  104. data/sig/sentdm/models/template_definition.rbs +233 -20
  105. data/sig/sentdm/models/user_remove_params.rbs +1 -1
  106. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +1 -1
  107. data/sig/sentdm/models.rbs +14 -20
  108. data/sig/sentdm/resources/contacts.rbs +3 -3
  109. data/sig/sentdm/resources/numbers.rbs +13 -0
  110. data/sig/sentdm/resources/profiles/campaigns.rbs +42 -0
  111. data/sig/sentdm/resources/profiles.rbs +9 -7
  112. metadata +67 -67
  113. data/lib/sentdm/models/brand_with_kyc.rb +0 -370
  114. data/lib/sentdm/models/brands/base_dto.rb +0 -32
  115. data/lib/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +0 -30
  116. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +0 -34
  117. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +0 -40
  118. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +0 -38
  119. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +0 -81
  120. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +0 -34
  121. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +0 -39
  122. data/lib/sentdm/resources/brands/campaigns.rb +0 -16
  123. data/lib/sentdm/resources/brands.rb +0 -18
  124. data/lib/sentdm/resources/lookup.rb +0 -14
  125. data/rbi/sentdm/models/brand_with_kyc.rbi +0 -516
  126. data/rbi/sentdm/models/brands/base_dto.rbi +0 -53
  127. data/rbi/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +0 -52
  128. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +0 -56
  129. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +0 -76
  130. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +0 -79
  131. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +0 -104
  132. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +0 -60
  133. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +0 -62
  134. data/rbi/sentdm/resources/brands/campaigns.rbi +0 -14
  135. data/rbi/sentdm/resources/brands.rbi +0 -15
  136. data/rbi/sentdm/resources/lookup.rbi +0 -12
  137. data/sig/sentdm/models/brand_with_kyc.rbs +0 -288
  138. data/sig/sentdm/models/brands/base_dto.rbs +0 -27
  139. data/sig/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +0 -27
  140. data/sig/sentdm/models/profile_complete_response.rbs +0 -5
  141. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +0 -24
  142. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +0 -30
  143. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +0 -38
  144. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +0 -75
  145. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +0 -32
  146. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +0 -32
  147. data/sig/sentdm/resources/brands/campaigns.rbs +0 -9
  148. data/sig/sentdm/resources/brands.rbs +0 -9
  149. data/sig/sentdm/resources/lookup.rbs +0 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 05c854c79f1208c28d3ecacb5111648f56c2d850f1b2a353462a19ef9559f70f
4
- data.tar.gz: 07d88b86954305d084b1dcd5a54785349979e08d66dc68b292be60845f44e05a
3
+ metadata.gz: b04e02de625816b5c8b0b5a02ecedc198dc33f346277ebaebca6e26e8df61844
4
+ data.tar.gz: cb8626c2a126335a92cea456679fdb2d5865fbecbb391e6634d00b932cde65d4
5
5
  SHA512:
6
- metadata.gz: d464e1edb179e1b3ef4b76c017417016ff67f4d16d02345985c1177493cdb286285cf00eb4a6a9347a1361aa03a3783f8b2646d889d1fc16ef7b0a6782cde06a
7
- data.tar.gz: 8bc5abf3c6429faa22188eef6711467142b6b9623fbd208ae5b6171d65f7f44beb7b9b13fad99ab9ba6c29f9d652234e1776bce5b61397f09dd24e4ba1ba89e1
6
+ metadata.gz: 7a1eec1d9dfd462eefddb941989e06e7af9ed1e2a3fd9a84fca256af193711b0443c7dbbca66db20963722c630e34854207489842f21d8ab4fd4f174118a6178
7
+ data.tar.gz: d291e1ace6701e0ef970dc044aa629847472273a9ec1b422456eba805db7f4b45358ea0b71fba71f166392f20c0e4b37a20d4c23b5339ed9d55c29980defd60a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.0 (2026-03-11)
4
+
5
+ Full Changelog: [v0.4.0...v0.5.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.4.0...v0.5.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** manual updates ([bdd5b4e](https://github.com/sentdm/sent-dm-ruby/commit/bdd5b4efe70096707888663254558a55d1a3c03b))
10
+
3
11
  ## 0.4.0 (2026-03-11)
4
12
 
5
13
  Full Changelog: [v0.3.1...v0.4.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.3.1...v0.4.0)
data/README.md CHANGED
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
26
26
  <!-- x-release-please-start-version -->
27
27
 
28
28
  ```ruby
29
- gem "sentdm", "~> 0.4.0"
29
+ gem "sentdm", "~> 0.5.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -265,32 +265,6 @@ params = Sentdm::MessageSendParams.new(
265
265
  sent_dm.messages.send_(**params)
266
266
  ```
267
267
 
268
- ### Enums
269
-
270
- Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime:
271
-
272
- ```ruby
273
- # :SELF_DECLARED
274
- puts(Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED)
275
-
276
- # Revealed type: `T.all(Sentdm::BrandWithKYC::IdentityStatus, Symbol)`
277
- T.reveal_type(Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED)
278
- ```
279
-
280
- Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
281
-
282
- ```ruby
283
- Sentdm::BrandWithKYC.new(
284
- identity_status: Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED,
285
- # …
286
- )
287
-
288
- Sentdm::BrandWithKYC.new(
289
- identity_status: :SELF_DECLARED,
290
- # …
291
- )
292
- ```
293
-
294
268
  ## Versioning
295
269
 
296
270
  This package follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions. As the library is in initial development and has a major version of `0`, APIs may change at any time.
data/lib/sentdm/client.rb CHANGED
@@ -36,20 +36,18 @@ module Sentdm
36
36
  # @return [Sentdm::Resources::Profiles]
37
37
  attr_reader :profiles
38
38
 
39
+ # Manage and lookup phone numbers
40
+ # @return [Sentdm::Resources::Numbers]
41
+ attr_reader :numbers
42
+
39
43
  # Send and track SMS and WhatsApp messages
40
44
  # @return [Sentdm::Resources::Messages]
41
45
  attr_reader :messages
42
46
 
43
- # @return [Sentdm::Resources::Lookup]
44
- attr_reader :lookup
45
-
46
47
  # Create, update, and manage customer contact lists
47
48
  # @return [Sentdm::Resources::Contacts]
48
49
  attr_reader :contacts
49
50
 
50
- # @return [Sentdm::Resources::Brands]
51
- attr_reader :brands
52
-
53
51
  # Retrieve account details
54
52
  # @return [Sentdm::Resources::Me]
55
53
  attr_reader :me
@@ -105,10 +103,9 @@ module Sentdm
105
103
  @users = Sentdm::Resources::Users.new(client: self)
106
104
  @templates = Sentdm::Resources::Templates.new(client: self)
107
105
  @profiles = Sentdm::Resources::Profiles.new(client: self)
106
+ @numbers = Sentdm::Resources::Numbers.new(client: self)
108
107
  @messages = Sentdm::Resources::Messages.new(client: self)
109
- @lookup = Sentdm::Resources::Lookup.new(client: self)
110
108
  @contacts = Sentdm::Resources::Contacts.new(client: self)
111
- @brands = Sentdm::Resources::Brands.new(client: self)
112
109
  @me = Sentdm::Resources::Me.new(client: self)
113
110
  end
114
111
  end
@@ -438,11 +438,11 @@ module Sentdm
438
438
  # @return [Hash{Symbol=>Object}]
439
439
  #
440
440
  # @example
441
- # # `api_error` is a `Sentdm::APIError`
442
- # api_error => {
443
- # code: code,
444
- # details: details,
445
- # doc_url: doc_url
441
+ # # `base_dto` is a `Sentdm::BaseDto`
442
+ # base_dto => {
443
+ # id: id,
444
+ # created_at: created_at,
445
+ # updated_at: updated_at
446
446
  # }
447
447
  def deconstruct_keys(keys)
448
448
  (keys || self.class.known_fields.keys)
@@ -3,12 +3,12 @@
3
3
  module Sentdm
4
4
  module Models
5
5
  # @see Sentdm::Resources::Contacts#create
6
- class APIResponseContact < Sentdm::Internal::Type::BaseModel
6
+ class APIResponseOfContact < Sentdm::Internal::Type::BaseModel
7
7
  # @!attribute data
8
8
  # The response data (null if error)
9
9
  #
10
- # @return [Sentdm::Models::Contact, nil]
11
- optional :data, -> { Sentdm::Contact }, nil?: true
10
+ # @return [Sentdm::Models::ContactResponse, nil]
11
+ optional :data, -> { Sentdm::ContactResponse }, nil?: true
12
12
 
13
13
  # @!attribute error
14
14
  # Error details (null if successful)
@@ -31,7 +31,7 @@ module Sentdm
31
31
  # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
32
32
  # Standard API response envelope for all v3 endpoints
33
33
  #
34
- # @param data [Sentdm::Models::Contact, nil] The response data (null if error)
34
+ # @param data [Sentdm::Models::ContactResponse, nil] The response data (null if error)
35
35
  #
36
36
  # @param error [Sentdm::Models::APIError, nil] Error details (null if successful)
37
37
  #
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BaseDto < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ # Unique identifier
8
+ #
9
+ # @return [String, nil]
10
+ optional :id, String
11
+
12
+ # @!attribute created_at
13
+ #
14
+ # @return [Time, nil]
15
+ optional :created_at, Time, api_name: :createdAt
16
+
17
+ # @!attribute updated_at
18
+ #
19
+ # @return [Time, nil]
20
+ optional :updated_at, Time, api_name: :updatedAt, nil?: true
21
+
22
+ # @!method initialize(id: nil, created_at: nil, updated_at: nil)
23
+ # @param id [String] Unique identifier
24
+ #
25
+ # @param created_at [Time]
26
+ #
27
+ # @param updated_at [Time, nil]
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BillingContactInfo < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute email
7
+ # Email address where invoices will be sent (required)
8
+ #
9
+ # @return [String]
10
+ required :email, String
11
+
12
+ # @!attribute name
13
+ # Full name of the billing contact or company (required)
14
+ #
15
+ # @return [String]
16
+ required :name, String
17
+
18
+ # @!attribute address
19
+ # Billing address (optional). Free-form text including street, city, state, postal
20
+ # code, and country.
21
+ #
22
+ # @return [String, nil]
23
+ optional :address, String, nil?: true
24
+
25
+ # @!attribute phone
26
+ # Phone number for the billing contact (optional)
27
+ #
28
+ # @return [String, nil]
29
+ optional :phone, String, nil?: true
30
+
31
+ # @!method initialize(email:, name:, address: nil, phone: nil)
32
+ # Some parameter documentations has been truncated, see
33
+ # {Sentdm::Models::BillingContactInfo} for more details.
34
+ #
35
+ # Billing contact information for a profile. Required when billing_model is
36
+ # "profile" or "profile_and_organization".
37
+ #
38
+ # @param email [String] Email address where invoices will be sent (required)
39
+ #
40
+ # @param name [String] Full name of the billing contact or company (required)
41
+ #
42
+ # @param address [String, nil] Billing address (optional). Free-form text including street, city, state, postal
43
+ #
44
+ # @param phone [String, nil] Phone number for the billing contact (optional)
45
+ end
46
+ end
47
+ end
@@ -2,35 +2,35 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- class BrandData < Sentdm::Internal::Type::BaseModel
5
+ class BrandsBrandData < Sentdm::Internal::Type::BaseModel
6
6
  # @!attribute compliance
7
7
  # Compliance and TCR-related information
8
8
  #
9
- # @return [Sentdm::Models::BrandData::Compliance]
10
- required :compliance, -> { Sentdm::BrandData::Compliance }
9
+ # @return [Sentdm::Models::BrandsBrandData::Compliance]
10
+ required :compliance, -> { Sentdm::BrandsBrandData::Compliance }
11
11
 
12
12
  # @!attribute contact
13
13
  # Contact information for the brand
14
14
  #
15
- # @return [Sentdm::Models::BrandData::Contact]
16
- required :contact, -> { Sentdm::BrandData::Contact }
15
+ # @return [Sentdm::Models::BrandsBrandData::Contact]
16
+ required :contact, -> { Sentdm::BrandsBrandData::Contact }
17
17
 
18
18
  # @!attribute business
19
19
  # Business details and address information
20
20
  #
21
- # @return [Sentdm::Models::BrandData::Business, nil]
22
- optional :business, -> { Sentdm::BrandData::Business }, nil?: true
21
+ # @return [Sentdm::Models::BrandsBrandData::Business, nil]
22
+ optional :business, -> { Sentdm::BrandsBrandData::Business }, nil?: true
23
23
 
24
24
  # @!method initialize(compliance:, contact:, business: nil)
25
25
  # Brand and KYC data grouped into contact, business, and compliance sections
26
26
  #
27
- # @param compliance [Sentdm::Models::BrandData::Compliance] Compliance and TCR-related information
27
+ # @param compliance [Sentdm::Models::BrandsBrandData::Compliance] Compliance and TCR-related information
28
28
  #
29
- # @param contact [Sentdm::Models::BrandData::Contact] Contact information for the brand
29
+ # @param contact [Sentdm::Models::BrandsBrandData::Contact] Contact information for the brand
30
30
  #
31
- # @param business [Sentdm::Models::BrandData::Business, nil] Business details and address information
31
+ # @param business [Sentdm::Models::BrandsBrandData::Business, nil] Business details and address information
32
32
 
33
- # @see Sentdm::Models::BrandData#compliance
33
+ # @see Sentdm::Models::BrandsBrandData#compliance
34
34
  class Compliance < Sentdm::Internal::Type::BaseModel
35
35
  # @!attribute brand_relationship
36
36
  # Brand relationship level with TCR (required for TCR)
@@ -103,7 +103,7 @@ module Sentdm
103
103
  # @param primary_use_case [String, nil] Primary messaging use case description
104
104
  end
105
105
 
106
- # @see Sentdm::Models::BrandData#contact
106
+ # @see Sentdm::Models::BrandsBrandData#contact
107
107
  class Contact < Sentdm::Internal::Type::BaseModel
108
108
  # @!attribute name
109
109
  # Primary contact name (required)
@@ -157,7 +157,7 @@ module Sentdm
157
157
  # @param role [String, nil] Contact's role in the business
158
158
  end
159
159
 
160
- # @see Sentdm::Models::BrandData#business
160
+ # @see Sentdm::Models::BrandsBrandData#business
161
161
  class Business < Sentdm::Internal::Type::BaseModel
162
162
  # @!attribute city
163
163
  # City
@@ -180,9 +180,9 @@ module Sentdm
180
180
  # @!attribute entity_type
181
181
  # Business entity type
182
182
  #
183
- # @return [Symbol, Sentdm::Models::BrandData::Business::EntityType, nil]
183
+ # @return [Symbol, Sentdm::Models::BrandsBrandData::Business::EntityType, nil]
184
184
  optional :entity_type,
185
- enum: -> { Sentdm::BrandData::Business::EntityType },
185
+ enum: -> { Sentdm::BrandsBrandData::Business::EntityType },
186
186
  api_name: :entityType,
187
187
  nil?: true
188
188
 
@@ -237,7 +237,7 @@ module Sentdm
237
237
  #
238
238
  # @param country_of_registration [String, nil] Country where the business is registered
239
239
  #
240
- # @param entity_type [Symbol, Sentdm::Models::BrandData::Business::EntityType, nil] Business entity type
240
+ # @param entity_type [Symbol, Sentdm::Models::BrandsBrandData::Business::EntityType, nil] Business entity type
241
241
  #
242
242
  # @param legal_name [String, nil] Legal business name
243
243
  #
@@ -255,7 +255,7 @@ module Sentdm
255
255
 
256
256
  # Business entity type
257
257
  #
258
- # @see Sentdm::Models::BrandData::Business#entity_type
258
+ # @see Sentdm::Models::BrandsBrandData::Business#entity_type
259
259
  module EntityType
260
260
  extend Sentdm::Internal::Type::Enum
261
261
 
@@ -32,7 +32,7 @@ module Sentdm
32
32
  #
33
33
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
34
34
 
35
- class Body < Sentdm::Models::MutationRequest
35
+ class Body < Sentdm::Models::MutationRequestBase
36
36
  # @!method initialize
37
37
  # Request to delete/dissociate a contact
38
38
  end
@@ -44,8 +44,8 @@ module Sentdm
44
44
  # @!attribute contacts
45
45
  # List of contacts
46
46
  #
47
- # @return [Array<Sentdm::Models::Contact>, nil]
48
- optional :contacts, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Contact] }
47
+ # @return [Array<Sentdm::Models::ContactResponse>, nil]
48
+ optional :contacts, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::ContactResponse] }
49
49
 
50
50
  # @!attribute pagination
51
51
  # Pagination metadata
@@ -56,7 +56,7 @@ module Sentdm
56
56
  # @!method initialize(contacts: nil, pagination: nil)
57
57
  # The response data (null if error)
58
58
  #
59
- # @param contacts [Array<Sentdm::Models::Contact>] List of contacts
59
+ # @param contacts [Array<Sentdm::Models::ContactResponse>] List of contacts
60
60
  #
61
61
  # @param pagination [Sentdm::Models::PaginationMeta] Pagination metadata
62
62
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- class Contact < Sentdm::Internal::Type::BaseModel
5
+ class ContactResponse < Sentdm::Internal::Type::BaseModel
6
6
  # @!attribute id
7
7
  # Unique identifier for the contact
8
8
  #
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- class MutationRequest < Sentdm::Internal::Type::BaseModel
5
+ class MutationRequestBase < Sentdm::Internal::Type::BaseModel
6
6
  # @!attribute sandbox
7
7
  # Sandbox flag - when true, the operation is simulated without side effects Useful
8
8
  # for testing integrations without actual execution
@@ -12,7 +12,7 @@ module Sentdm
12
12
 
13
13
  # @!method initialize(sandbox: nil)
14
14
  # Some parameter documentations has been truncated, see
15
- # {Sentdm::Models::MutationRequest} for more details.
15
+ # {Sentdm::Models::MutationRequestBase} for more details.
16
16
  #
17
17
  # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
18
18
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Numbers#lookup
6
+ class NumberLookupParams < Sentdm::Internal::Type::BaseModel
7
+ extend Sentdm::Internal::Type::RequestParameters::Converter
8
+ include Sentdm::Internal::Type::RequestParameters
9
+
10
+ # @!attribute phone_number
11
+ #
12
+ # @return [String]
13
+ required :phone_number, String
14
+
15
+ # @!attribute x_profile_id
16
+ #
17
+ # @return [String, nil]
18
+ optional :x_profile_id, String
19
+
20
+ # @!method initialize(phone_number:, x_profile_id: nil, request_options: {})
21
+ # @param phone_number [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,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Numbers#lookup
6
+ class NumberLookupResponse < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # The response data (null if error)
9
+ #
10
+ # @return [Sentdm::Models::NumberLookupResponse::Data, nil]
11
+ optional :data, -> { Sentdm::Models::NumberLookupResponse::Data }, nil?: true
12
+
13
+ # @!attribute error
14
+ # Error details (null if successful)
15
+ #
16
+ # @return [Sentdm::Models::APIError, nil]
17
+ optional :error, -> { Sentdm::APIError }, nil?: true
18
+
19
+ # @!attribute meta
20
+ # Metadata about the request and response
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::NumberLookupResponse::Data, nil] The response data (null if error)
35
+ #
36
+ # @param error [Sentdm::Models::APIError, nil] Error details (null if successful)
37
+ #
38
+ # @param meta [Sentdm::Models::APIMeta] Metadata about the request and response
39
+ #
40
+ # @param success [Boolean] Indicates whether the request was successful
41
+
42
+ # @see Sentdm::Models::NumberLookupResponse#data
43
+ class Data < Sentdm::Internal::Type::BaseModel
44
+ # @!attribute carrier_name
45
+ #
46
+ # @return [String, nil]
47
+ optional :carrier_name, String, nil?: true
48
+
49
+ # @!attribute country_code
50
+ #
51
+ # @return [String, nil]
52
+ optional :country_code, String, nil?: true
53
+
54
+ # @!attribute is_ported
55
+ #
56
+ # @return [Boolean, nil]
57
+ optional :is_ported, Sentdm::Internal::Type::Boolean, nil?: true
58
+
59
+ # @!attribute is_valid
60
+ #
61
+ # @return [Boolean, nil]
62
+ optional :is_valid, Sentdm::Internal::Type::Boolean
63
+
64
+ # @!attribute is_voip
65
+ #
66
+ # @return [Boolean, nil]
67
+ optional :is_voip, Sentdm::Internal::Type::Boolean, nil?: true
68
+
69
+ # @!attribute line_type
70
+ #
71
+ # @return [String, nil]
72
+ optional :line_type, String, nil?: true
73
+
74
+ # @!attribute mobile_country_code
75
+ #
76
+ # @return [String, nil]
77
+ optional :mobile_country_code, String, nil?: true
78
+
79
+ # @!attribute mobile_network_code
80
+ #
81
+ # @return [String, nil]
82
+ optional :mobile_network_code, String, nil?: true
83
+
84
+ # @!attribute phone_number
85
+ #
86
+ # @return [String, nil]
87
+ optional :phone_number, String
88
+
89
+ # @!method initialize(carrier_name: nil, country_code: nil, is_ported: nil, is_valid: nil, is_voip: nil, line_type: nil, mobile_country_code: nil, mobile_network_code: nil, phone_number: nil)
90
+ # The response data (null if error)
91
+ #
92
+ # @param carrier_name [String, nil]
93
+ # @param country_code [String, nil]
94
+ # @param is_ported [Boolean, nil]
95
+ # @param is_valid [Boolean]
96
+ # @param is_voip [Boolean, nil]
97
+ # @param line_type [String, nil]
98
+ # @param mobile_country_code [String, nil]
99
+ # @param mobile_network_code [String, nil]
100
+ # @param phone_number [String]
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class PaymentDetails < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute card_number
7
+ # Card number (digits only, 13–19 characters)
8
+ #
9
+ # @return [String]
10
+ required :card_number, String
11
+
12
+ # @!attribute cvc
13
+ # Card security code (3–4 digits)
14
+ #
15
+ # @return [String]
16
+ required :cvc, String
17
+
18
+ # @!attribute expiry
19
+ # Card expiry date in MM/YY format (e.g. "09/27")
20
+ #
21
+ # @return [String]
22
+ required :expiry, String
23
+
24
+ # @!attribute zip_code
25
+ # Billing ZIP / postal code associated with the card
26
+ #
27
+ # @return [String]
28
+ required :zip_code, String
29
+
30
+ # @!method initialize(card_number:, cvc:, expiry:, zip_code:)
31
+ # Payment card details for a profile. Accepted when billing_model is "profile" or
32
+ # "profile_and_organization". These details are not stored on our servers and will
33
+ # be forwarded to the payment processor.
34
+ #
35
+ # @param card_number [String] Card number (digits only, 13–19 characters)
36
+ #
37
+ # @param cvc [String] Card security code (3–4 digits)
38
+ #
39
+ # @param expiry [String] Card expiry date in MM/YY format (e.g. "09/27")
40
+ #
41
+ # @param zip_code [String] Billing ZIP / postal code associated with the card
42
+ end
43
+ end
44
+ end
@@ -2,8 +2,8 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- # @see Sentdm::Resources::Profiles#complete
6
- class ProfileCompleteParams < Sentdm::Internal::Type::BaseModel
5
+ # @see Sentdm::Resources::Profiles#complete_setup
6
+ class ProfileCompleteSetupParams < Sentdm::Internal::Type::BaseModel
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
@@ -37,7 +37,7 @@ module Sentdm
37
37
 
38
38
  # @!method initialize(profile_id:, web_hook_url:, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
39
39
  # Some parameter documentations has been truncated, see
40
- # {Sentdm::Models::ProfileCompleteParams} for more details.
40
+ # {Sentdm::Models::ProfileCompleteSetupParams} for more details.
41
41
  #
42
42
  # @param profile_id [String]
43
43
  #
@@ -3,6 +3,6 @@
3
3
  module Sentdm
4
4
  module Models
5
5
  # @type [Sentdm::Internal::Type::Converter]
6
- ProfileCompleteResponse = Sentdm::Internal::Type::Unknown
6
+ ProfileCompleteSetupResponse = Sentdm::Internal::Type::Unknown
7
7
  end
8
8
  end