sentdm 0.4.0 → 0.7.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 (140) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -0
  3. data/README.md +13 -9
  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/brands_brand_data.rb +38 -0
  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 +5 -5
  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}/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +4 -4
  32. data/lib/sentdm/models/{brands → profiles}/tcr_campaign_with_use_cases.rb +15 -15
  33. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rb +119 -0
  34. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rb +77 -0
  35. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rb +58 -0
  36. data/lib/sentdm/models/user_remove_params.rb +1 -1
  37. data/lib/sentdm/models/webhook_rotate_secret_params.rb +1 -1
  38. data/lib/sentdm/models.rb +23 -8
  39. data/lib/sentdm/resources/contacts.rb +6 -6
  40. data/lib/sentdm/resources/numbers.rb +44 -0
  41. data/lib/sentdm/resources/profiles/campaigns.rb +160 -0
  42. data/lib/sentdm/resources/profiles.rb +16 -11
  43. data/lib/sentdm/version.rb +1 -1
  44. data/lib/sentdm.rb +26 -16
  45. data/rbi/sentdm/client.rbi +4 -6
  46. data/rbi/sentdm/models/{api_response_contact.rbi → api_response_of_contact.rbi} +6 -6
  47. data/rbi/sentdm/models/base_dto.rbi +49 -0
  48. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  49. data/rbi/sentdm/models/brands_brand_data.rbi +104 -0
  50. data/rbi/sentdm/models/contact_delete_params.rbi +1 -1
  51. data/rbi/sentdm/models/contact_list_response.rbi +4 -4
  52. data/rbi/sentdm/models/{contact.rbi → contact_response.rbi} +4 -2
  53. data/rbi/sentdm/models/{mutation_request.rbi → mutation_request_base.rbi} +2 -2
  54. data/rbi/sentdm/models/number_lookup_params.rbi +46 -0
  55. data/rbi/sentdm/models/number_lookup_response.rbi +166 -0
  56. data/rbi/sentdm/models/payment_details.rbi +59 -0
  57. data/rbi/sentdm/models/{profile_complete_params.rbi → profile_complete_setup_params.rbi} +2 -2
  58. data/rbi/sentdm/models/{profile_complete_response.rbi → profile_complete_setup_response.rbi} +1 -1
  59. data/rbi/sentdm/models/profile_create_params.rbi +12 -146
  60. data/rbi/sentdm/models/profile_delete_params.rbi +1 -1
  61. data/rbi/sentdm/models/profile_detail.rbi +562 -4
  62. data/rbi/sentdm/models/profile_update_params.rbi +12 -146
  63. 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
  64. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +88 -0
  65. data/rbi/sentdm/models/{brands → profiles}/campaign_data.rbi +5 -5
  66. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +95 -0
  67. data/rbi/sentdm/models/profiles/campaign_list_params.rbi +51 -0
  68. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +84 -0
  69. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +94 -0
  70. data/rbi/sentdm/models/{brands → profiles}/messaging_use_case_us.rbi +20 -16
  71. data/rbi/sentdm/models/{brands → profiles}/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +6 -5
  72. data/rbi/sentdm/models/{brands → profiles}/tcr_campaign_with_use_cases.rbi +37 -29
  73. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbi +183 -0
  74. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbi +99 -0
  75. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbi +81 -0
  76. data/rbi/sentdm/models/user_remove_params.rbi +1 -1
  77. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -1
  78. data/rbi/sentdm/models.rbi +23 -8
  79. data/rbi/sentdm/resources/contacts.rbi +3 -3
  80. data/rbi/sentdm/resources/numbers.rbi +32 -0
  81. data/rbi/sentdm/resources/profiles/campaigns.rbi +127 -0
  82. data/rbi/sentdm/resources/profiles.rbi +11 -11
  83. data/sig/sentdm/client.rbs +2 -4
  84. data/sig/sentdm/models/{api_response_contact.rbs → api_response_of_contact.rbs} +6 -6
  85. data/sig/sentdm/models/base_dto.rbs +25 -0
  86. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  87. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  88. data/sig/sentdm/models/contact_delete_params.rbs +1 -1
  89. data/sig/sentdm/models/contact_list_response.rbs +7 -5
  90. data/sig/sentdm/models/{contact.rbs → contact_response.rbs} +2 -2
  91. data/sig/sentdm/models/{mutation_request.rbs → mutation_request_base.rbs} +2 -2
  92. data/sig/sentdm/models/number_lookup_params.rbs +30 -0
  93. data/sig/sentdm/models/number_lookup_response.rbs +100 -0
  94. data/sig/sentdm/models/payment_details.rbs +30 -0
  95. data/sig/sentdm/models/{profile_complete_params.rbs → profile_complete_setup_params.rbs} +2 -2
  96. data/sig/sentdm/models/profile_complete_setup_response.rbs +5 -0
  97. data/sig/sentdm/models/profile_create_params.rbs +12 -66
  98. data/sig/sentdm/models/profile_delete_params.rbs +1 -1
  99. data/sig/sentdm/models/profile_detail.rbs +289 -4
  100. data/sig/sentdm/models/profile_update_params.rbs +12 -66
  101. data/sig/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rbs +41 -0
  102. data/sig/sentdm/models/profiles/campaign_create_params.rbs +54 -0
  103. data/sig/sentdm/models/{brands → profiles}/campaign_data.rbs +5 -5
  104. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +53 -0
  105. data/sig/sentdm/models/profiles/campaign_list_params.rbs +32 -0
  106. data/sig/sentdm/models/{brands/api_response_tcr_campaign_with_use_cases.rbs → profiles/campaign_list_response.rbs} +7 -7
  107. data/sig/sentdm/models/profiles/campaign_update_params.rbs +59 -0
  108. data/sig/sentdm/models/{brands → profiles}/messaging_use_case_us.rbs +2 -2
  109. data/sig/sentdm/models/{brands → profiles}/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +5 -5
  110. data/sig/sentdm/models/{brands → profiles}/tcr_campaign_with_use_cases.rbs +29 -29
  111. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbs +89 -0
  112. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbs +55 -0
  113. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbs +45 -0
  114. data/sig/sentdm/models/user_remove_params.rbs +1 -1
  115. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +1 -1
  116. data/sig/sentdm/models.rbs +20 -8
  117. data/sig/sentdm/resources/contacts.rbs +3 -3
  118. data/sig/sentdm/resources/numbers.rbs +13 -0
  119. data/sig/sentdm/resources/profiles/campaigns.rbs +42 -0
  120. data/sig/sentdm/resources/profiles.rbs +9 -7
  121. metadata +79 -49
  122. data/lib/sentdm/models/brand_data.rb +0 -274
  123. data/lib/sentdm/models/brand_with_kyc.rb +0 -370
  124. data/lib/sentdm/models/brands/base_dto.rb +0 -32
  125. data/lib/sentdm/resources/brands/campaigns.rb +0 -16
  126. data/lib/sentdm/resources/brands.rb +0 -18
  127. data/lib/sentdm/resources/lookup.rb +0 -14
  128. data/rbi/sentdm/models/brand_data.rbi +0 -389
  129. data/rbi/sentdm/models/brand_with_kyc.rbi +0 -516
  130. data/rbi/sentdm/models/brands/base_dto.rbi +0 -53
  131. data/rbi/sentdm/resources/brands/campaigns.rbi +0 -14
  132. data/rbi/sentdm/resources/brands.rbi +0 -15
  133. data/rbi/sentdm/resources/lookup.rbi +0 -12
  134. data/sig/sentdm/models/brand_data.rbs +0 -210
  135. data/sig/sentdm/models/brand_with_kyc.rbs +0 -288
  136. data/sig/sentdm/models/brands/base_dto.rbs +0 -27
  137. data/sig/sentdm/models/profile_complete_response.rbs +0 -5
  138. data/sig/sentdm/resources/brands/campaigns.rbs +0 -9
  139. data/sig/sentdm/resources/brands.rbs +0 -9
  140. 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: bff2c5b4e518eeec2d0ab709016c3f835ae425bd86e3c1552e238f1d64419da3
4
+ data.tar.gz: b5360b4e37cc156800a6f8a90d051ade3078fa10c89c453999a9fdb2a70a8813
5
5
  SHA512:
6
- metadata.gz: d464e1edb179e1b3ef4b76c017417016ff67f4d16d02345985c1177493cdb286285cf00eb4a6a9347a1361aa03a3783f8b2646d889d1fc16ef7b0a6782cde06a
7
- data.tar.gz: 8bc5abf3c6429faa22188eef6711467142b6b9623fbd208ae5b6171d65f7f44beb7b9b13fad99ab9ba6c29f9d652234e1776bce5b61397f09dd24e4ba1ba89e1
6
+ metadata.gz: bb49d13d9d4c5d4f3eed14a8e2caeb8fe3c2a70214b551408c1cf60b2ae3c2f3497031a77e44a7e558362d7e38fe6076fc774a62946fdb1ae45f88a2215186ff
7
+ data.tar.gz: 606ca84dfc65bb1b02f08bbf8d2cdad31db141e5e9354c595f95e6127190a0c9a01df1c78f3221804dbe680b0ac09bdb31f313384852ebe11dd0774ec62bf598
data/CHANGELOG.md CHANGED
@@ -1,5 +1,44 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.0 (2026-03-11)
4
+
5
+ Full Changelog: [v0.6.0...v0.7.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.6.0...v0.7.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([ca96b29](https://github.com/sentdm/sent-dm-ruby/commit/ca96b2943f08c60dcbe3c7d9b2f4afe8af9b14d6))
10
+ * **api:** manual updates ([df62aff](https://github.com/sentdm/sent-dm-ruby/commit/df62affd4c31572d0fb8a4bc6b2787cfaabea4f2))
11
+ * **api:** manual updates ([843dfa8](https://github.com/sentdm/sent-dm-ruby/commit/843dfa8613623db67382955ee3ba5f116f945f21))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * properly mock time in ruby ci tests ([4c4ebe0](https://github.com/sentdm/sent-dm-ruby/commit/4c4ebe03e980346d3ecc508e2740ad2ded666a8e))
17
+
18
+
19
+ ### Chores
20
+
21
+ * **ci:** add build step ([e67706a](https://github.com/sentdm/sent-dm-ruby/commit/e67706ab8895b76ca683a3e2e47244650be6aca0))
22
+ * **ci:** skip uploading artifacts on stainless-internal branches ([1d6bb94](https://github.com/sentdm/sent-dm-ruby/commit/1d6bb94d3b4eb5b4383827200ead9f557c39c72f))
23
+ * **internal:** codegen related update ([0dd8713](https://github.com/sentdm/sent-dm-ruby/commit/0dd871352c089d8e40788912ba5c1eec907f4640))
24
+ * **internal:** codegen related update ([7b3ead8](https://github.com/sentdm/sent-dm-ruby/commit/7b3ead8de1ffc36ea448af5eed97ac1fc4f462bb))
25
+
26
+ ## 0.6.0 (2026-03-11)
27
+
28
+ Full Changelog: [v0.5.0...v0.6.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.5.0...v0.6.0)
29
+
30
+ ### Features
31
+
32
+ * **api:** manual updates ([df62aff](https://github.com/sentdm/sent-dm-ruby/commit/df62affd4c31572d0fb8a4bc6b2787cfaabea4f2))
33
+
34
+ ## 0.5.0 (2026-03-11)
35
+
36
+ Full Changelog: [v0.4.0...v0.5.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.4.0...v0.5.0)
37
+
38
+ ### Features
39
+
40
+ * **api:** manual updates ([bdd5b4e](https://github.com/sentdm/sent-dm-ruby/commit/bdd5b4efe70096707888663254558a55d1a3c03b))
41
+
3
42
  ## 0.4.0 (2026-03-11)
4
43
 
5
44
  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.7.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -270,23 +270,27 @@ sent_dm.messages.send_(**params)
270
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
271
 
272
272
  ```ruby
273
- # :SELF_DECLARED
274
- puts(Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED)
273
+ # :PRIVATE_PROFIT
274
+ puts(
275
+ Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::PRIVATE_PROFIT
276
+ )
275
277
 
276
- # Revealed type: `T.all(Sentdm::BrandWithKYC::IdentityStatus, Symbol)`
277
- T.reveal_type(Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED)
278
+ # Revealed type: `T.all(Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType, Symbol)`
279
+ T.reveal_type(
280
+ Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::PRIVATE_PROFIT
281
+ )
278
282
  ```
279
283
 
280
284
  Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
281
285
 
282
286
  ```ruby
283
- Sentdm::BrandWithKYC.new(
284
- identity_status: Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED,
287
+ Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo.new(
288
+ entity_type: Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::PRIVATE_PROFIT,
285
289
  # …
286
290
  )
287
291
 
288
- Sentdm::BrandWithKYC.new(
289
- identity_status: :SELF_DECLARED,
292
+ Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo.new(
293
+ entity_type: :PRIVATE_PROFIT,
290
294
  # …
291
295
  )
292
296
  ```
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
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandsBrandData < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute compliance
7
+ # Compliance and TCR-related information
8
+ #
9
+ # @return [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo]
10
+ required :compliance,
11
+ -> { Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo }
12
+
13
+ # @!attribute contact
14
+ # Contact information for the brand
15
+ #
16
+ # @return [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo]
17
+ required :contact,
18
+ -> { Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo }
19
+
20
+ # @!attribute business
21
+ # Business details and address information
22
+ #
23
+ # @return [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo, nil]
24
+ optional :business,
25
+ -> { Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo },
26
+ nil?: true
27
+
28
+ # @!method initialize(compliance:, contact:, business: nil)
29
+ # Brand and KYC data grouped into contact, business, and compliance sections
30
+ #
31
+ # @param compliance [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo] Compliance and TCR-related information
32
+ #
33
+ # @param contact [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo] Contact information for the brand
34
+ #
35
+ # @param business [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo, nil] Business details and address information
36
+ end
37
+ end
38
+ end
@@ -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