sentdm 0.3.0 → 0.3.1

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 (115) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +10 -1
  4. data/lib/sentdm/client.rb +8 -0
  5. data/lib/sentdm/internal/util.rb +31 -0
  6. data/lib/sentdm/models/brand_delete_params.rb +8 -1
  7. data/lib/sentdm/models/brand_update_params.rb +8 -1
  8. data/lib/sentdm/models/brands/campaign_create_params.rb +8 -1
  9. data/lib/sentdm/models/brands/campaign_delete_params.rb +8 -1
  10. data/lib/sentdm/models/brands/campaign_list_params.rb +7 -1
  11. data/lib/sentdm/models/brands/campaign_update_params.rb +8 -1
  12. data/lib/sentdm/models/contact_delete_params.rb +8 -1
  13. data/lib/sentdm/models/contact_retrieve_params.rb +7 -1
  14. data/lib/sentdm/models/contact_update_params.rb +8 -1
  15. data/lib/sentdm/models/lookup_retrieve_phone_info_params.rb +7 -1
  16. data/lib/sentdm/models/message_retrieve_activities_params.rb +7 -1
  17. data/lib/sentdm/models/message_retrieve_status_params.rb +7 -1
  18. data/lib/sentdm/models/profile_complete_params.rb +8 -1
  19. data/lib/sentdm/models/profile_delete_params.rb +8 -1
  20. data/lib/sentdm/models/profile_retrieve_params.rb +7 -1
  21. data/lib/sentdm/models/profile_update_params.rb +8 -1
  22. data/lib/sentdm/models/template_delete_params.rb +8 -1
  23. data/lib/sentdm/models/template_retrieve_params.rb +7 -1
  24. data/lib/sentdm/models/template_update_params.rb +8 -1
  25. data/lib/sentdm/models/user_remove_params.rb +8 -1
  26. data/lib/sentdm/models/user_retrieve_params.rb +7 -1
  27. data/lib/sentdm/models/user_update_role_params.rb +8 -1
  28. data/lib/sentdm/models/webhook_delete_params.rb +7 -1
  29. data/lib/sentdm/models/webhook_list_events_params.rb +7 -1
  30. data/lib/sentdm/models/webhook_retrieve_params.rb +7 -1
  31. data/lib/sentdm/models/webhook_rotate_secret_params.rb +7 -1
  32. data/lib/sentdm/models/webhook_test_params.rb +8 -1
  33. data/lib/sentdm/models/webhook_toggle_status_params.rb +8 -1
  34. data/lib/sentdm/models/webhook_update_params.rb +8 -1
  35. data/lib/sentdm/resources/brands/campaigns.rb +1 -0
  36. data/lib/sentdm/resources/brands.rb +2 -0
  37. data/lib/sentdm/resources/contacts.rb +3 -1
  38. data/lib/sentdm/resources/me.rb +1 -0
  39. data/lib/sentdm/resources/messages.rb +1 -0
  40. data/lib/sentdm/resources/profiles.rb +1 -0
  41. data/lib/sentdm/resources/templates.rb +3 -1
  42. data/lib/sentdm/resources/users.rb +1 -0
  43. data/lib/sentdm/resources/webhooks.rb +5 -2
  44. data/lib/sentdm/version.rb +1 -1
  45. data/rbi/sentdm/client.rbi +8 -0
  46. data/rbi/sentdm/internal/util.rbi +20 -0
  47. data/rbi/sentdm/models/brand_delete_params.rbi +6 -0
  48. data/rbi/sentdm/models/brand_update_params.rbi +6 -0
  49. data/rbi/sentdm/models/brands/campaign_create_params.rbi +6 -0
  50. data/rbi/sentdm/models/brands/campaign_delete_params.rbi +6 -0
  51. data/rbi/sentdm/models/brands/campaign_list_params.rbi +13 -5
  52. data/rbi/sentdm/models/brands/campaign_update_params.rbi +6 -0
  53. data/rbi/sentdm/models/contact_delete_params.rbi +6 -0
  54. data/rbi/sentdm/models/contact_retrieve_params.rbi +13 -5
  55. data/rbi/sentdm/models/contact_update_params.rbi +6 -0
  56. data/rbi/sentdm/models/lookup_retrieve_phone_info_params.rbi +13 -5
  57. data/rbi/sentdm/models/message_retrieve_activities_params.rbi +13 -5
  58. data/rbi/sentdm/models/message_retrieve_status_params.rbi +13 -5
  59. data/rbi/sentdm/models/profile_complete_params.rbi +6 -0
  60. data/rbi/sentdm/models/profile_delete_params.rbi +6 -0
  61. data/rbi/sentdm/models/profile_retrieve_params.rbi +13 -5
  62. data/rbi/sentdm/models/profile_update_params.rbi +6 -0
  63. data/rbi/sentdm/models/template_delete_params.rbi +6 -0
  64. data/rbi/sentdm/models/template_retrieve_params.rbi +13 -5
  65. data/rbi/sentdm/models/template_update_params.rbi +6 -0
  66. data/rbi/sentdm/models/user_remove_params.rbi +6 -0
  67. data/rbi/sentdm/models/user_retrieve_params.rbi +13 -5
  68. data/rbi/sentdm/models/user_update_role_params.rbi +6 -0
  69. data/rbi/sentdm/models/webhook_delete_params.rbi +13 -5
  70. data/rbi/sentdm/models/webhook_list_events_params.rbi +6 -1
  71. data/rbi/sentdm/models/webhook_retrieve_params.rbi +13 -5
  72. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +6 -1
  73. data/rbi/sentdm/models/webhook_test_params.rbi +6 -0
  74. data/rbi/sentdm/models/webhook_toggle_status_params.rbi +6 -0
  75. data/rbi/sentdm/models/webhook_update_params.rbi +6 -0
  76. data/rbi/sentdm/resources/brands/campaigns.rbi +1 -0
  77. data/rbi/sentdm/resources/brands.rbi +2 -0
  78. data/rbi/sentdm/resources/contacts.rbi +1 -0
  79. data/rbi/sentdm/resources/me.rbi +1 -0
  80. data/rbi/sentdm/resources/messages.rbi +1 -0
  81. data/rbi/sentdm/resources/profiles.rbi +1 -0
  82. data/rbi/sentdm/resources/templates.rbi +1 -0
  83. data/rbi/sentdm/resources/users.rbi +1 -0
  84. data/rbi/sentdm/resources/webhooks.rbi +1 -0
  85. data/sig/sentdm/internal/util.rbs +10 -0
  86. data/sig/sentdm/models/brand_delete_params.rbs +5 -1
  87. data/sig/sentdm/models/brand_update_params.rbs +10 -1
  88. data/sig/sentdm/models/brands/campaign_create_params.rbs +5 -0
  89. data/sig/sentdm/models/brands/campaign_delete_params.rbs +9 -1
  90. data/sig/sentdm/models/brands/campaign_list_params.rbs +11 -3
  91. data/sig/sentdm/models/brands/campaign_update_params.rbs +5 -0
  92. data/sig/sentdm/models/contact_delete_params.rbs +5 -1
  93. data/sig/sentdm/models/contact_retrieve_params.rbs +8 -3
  94. data/sig/sentdm/models/contact_update_params.rbs +5 -0
  95. data/sig/sentdm/models/lookup_retrieve_phone_info_params.rbs +11 -3
  96. data/sig/sentdm/models/message_retrieve_activities_params.rbs +8 -3
  97. data/sig/sentdm/models/message_retrieve_status_params.rbs +8 -3
  98. data/sig/sentdm/models/profile_complete_params.rbs +10 -1
  99. data/sig/sentdm/models/profile_delete_params.rbs +5 -1
  100. data/sig/sentdm/models/profile_retrieve_params.rbs +11 -3
  101. data/sig/sentdm/models/profile_update_params.rbs +5 -0
  102. data/sig/sentdm/models/template_delete_params.rbs +5 -1
  103. data/sig/sentdm/models/template_retrieve_params.rbs +8 -3
  104. data/sig/sentdm/models/template_update_params.rbs +5 -0
  105. data/sig/sentdm/models/user_remove_params.rbs +5 -1
  106. data/sig/sentdm/models/user_retrieve_params.rbs +11 -3
  107. data/sig/sentdm/models/user_update_role_params.rbs +5 -0
  108. data/sig/sentdm/models/webhook_delete_params.rbs +8 -3
  109. data/sig/sentdm/models/webhook_list_events_params.rbs +5 -1
  110. data/sig/sentdm/models/webhook_retrieve_params.rbs +8 -3
  111. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +9 -1
  112. data/sig/sentdm/models/webhook_test_params.rbs +10 -1
  113. data/sig/sentdm/models/webhook_toggle_status_params.rbs +5 -1
  114. data/sig/sentdm/models/webhook_update_params.rbs +5 -0
  115. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7e9255fd572fb809acadb95d529be7670e1108067cb33622e50169d008fbdef0
4
- data.tar.gz: 446bb1258628f0793cf4b657f940661dfb7abc792b4ed11d58ff061deb35c27d
3
+ metadata.gz: 55daa4cbbfa67e7eab52f43a902db3dfa1e12804f514a6fed126a2adb84e9cb5
4
+ data.tar.gz: 20bca2938be488c2018679a9c26a4799c0e82c16dbc7c9fa69cf6adb4bcf59df
5
5
  SHA512:
6
- metadata.gz: 385856fe59775e07188fb9c1e1b820c24db38858ae29a9899122106a21555da3c583b7c62f58eeaf717fc1bdb8ddeab639980aa96796cfaa11696cafe4d6fc9e
7
- data.tar.gz: '083c75a984c27b968a4edadba77fa4014c36650ae056d8c3c2d4cc8e05678ac7aba18548e61ac6923d8856579b0f49b29d17b2f6d187ce6ef5dcd0861ba252a6'
6
+ metadata.gz: 95fe7e54513a8dfd92833d88a4a954933caeeb5d9ec3af775f851fb718713c4d1450728c048782fb86aa7337a26703934c54d0cf229242df69f2cf12ac15272c
7
+ data.tar.gz: 7f0972a458476b6482b7158dd7c5ab721191761943df7081e1226af7d10523ac27eb36b7257d1906e18d8fcf84e3af345c3b6134de0e0da9ec8987856c036186
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.1 (2026-03-11)
4
+
5
+ Full Changelog: [v0.3.0...v0.3.1](https://github.com/sentdm/sent-dm-ruby/compare/v0.3.0...v0.3.1)
6
+
7
+ ### Bug Fixes
8
+
9
+ * properly mock time in ruby ci tests ([4c4ebe0](https://github.com/sentdm/sent-dm-ruby/commit/4c4ebe03e980346d3ecc508e2740ad2ded666a8e))
10
+
11
+
12
+ ### Chores
13
+
14
+ * **ci:** add build step ([e67706a](https://github.com/sentdm/sent-dm-ruby/commit/e67706ab8895b76ca683a3e2e47244650be6aca0))
15
+ * **ci:** skip uploading artifacts on stainless-internal branches ([1d6bb94](https://github.com/sentdm/sent-dm-ruby/commit/1d6bb94d3b4eb5b4383827200ead9f557c39c72f))
16
+ * **internal:** codegen related update ([0dd8713](https://github.com/sentdm/sent-dm-ruby/commit/0dd871352c089d8e40788912ba5c1eec907f4640))
17
+ * **internal:** codegen related update ([7b3ead8](https://github.com/sentdm/sent-dm-ruby/commit/7b3ead8de1ffc36ea448af5eed97ac1fc4f462bb))
18
+
3
19
  ## 0.3.0 (2026-02-18)
4
20
 
5
21
  Full Changelog: [v0.2.0...v0.3.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.2.0...v0.3.0)
data/README.md CHANGED
@@ -4,6 +4,15 @@ The Sent Dm Ruby library provides convenient access to the Sent Dm REST API from
4
4
 
5
5
  It is generated with [Stainless](https://www.stainless.com/).
6
6
 
7
+ ## MCP Server
8
+
9
+ Use the Sent Dm MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
10
+
11
+ [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=%40sentdm%2Fsentdm-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBzZW50ZG0vc2VudGRtLW1jcCJdLCJlbnYiOnsiU0VOVF9ETV9BUElfS0VZIjoiTXkgQVBJIEtleSJ9fQ)
12
+ [![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40sentdm%2Fsentdm-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40sentdm%2Fsentdm-mcp%22%5D%2C%22env%22%3A%7B%22SENT_DM_API_KEY%22%3A%22My%20API%20Key%22%7D%7D)
13
+
14
+ > Note: You may need to set environment variables in your MCP client.
15
+
7
16
  ## Documentation
8
17
 
9
18
  Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/sentdm).
@@ -17,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
17
26
  <!-- x-release-please-start-version -->
18
27
 
19
28
  ```ruby
20
- gem "sentdm", "~> 0.3.0"
29
+ gem "sentdm", "~> 0.3.1"
21
30
  ```
22
31
 
23
32
  <!-- x-release-please-end -->
data/lib/sentdm/client.rb CHANGED
@@ -20,30 +20,38 @@ module Sentdm
20
20
  # @return [String]
21
21
  attr_reader :api_key
22
22
 
23
+ # Configure webhook endpoints for real-time event delivery
23
24
  # @return [Sentdm::Resources::Webhooks]
24
25
  attr_reader :webhooks
25
26
 
27
+ # Invite, update, and manage organization users and roles
26
28
  # @return [Sentdm::Resources::Users]
27
29
  attr_reader :users
28
30
 
31
+ # Manage message templates with variable substitution
29
32
  # @return [Sentdm::Resources::Templates]
30
33
  attr_reader :templates
31
34
 
35
+ # Manage organization profiles
32
36
  # @return [Sentdm::Resources::Profiles]
33
37
  attr_reader :profiles
34
38
 
39
+ # Send and track SMS and WhatsApp messages
35
40
  # @return [Sentdm::Resources::Messages]
36
41
  attr_reader :messages
37
42
 
38
43
  # @return [Sentdm::Resources::Lookup]
39
44
  attr_reader :lookup
40
45
 
46
+ # Create, update, and manage customer contact lists
41
47
  # @return [Sentdm::Resources::Contacts]
42
48
  attr_reader :contacts
43
49
 
50
+ # Register and manage 10DLC brands for SMS compliance
44
51
  # @return [Sentdm::Resources::Brands]
45
52
  attr_reader :brands
46
53
 
54
+ # Retrieve account details
47
55
  # @return [Sentdm::Resources::Me]
48
56
  attr_reader :me
49
57
 
@@ -490,6 +490,37 @@ module Sentdm
490
490
  JSONL_CONTENT = %r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}
491
491
 
492
492
  class << self
493
+ # @api private
494
+ #
495
+ # @param query [Hash{Symbol=>Object}]
496
+ #
497
+ # @return [Hash{Symbol=>Object}]
498
+ def encode_query_params(query)
499
+ out = {}
500
+ query.each { write_query_param_element!(out, _1, _2) }
501
+ out
502
+ end
503
+
504
+ # @api private
505
+ #
506
+ # @param collection [Hash{Symbol=>Object}]
507
+ # @param key [String]
508
+ # @param element [Object]
509
+ #
510
+ # @return [nil]
511
+ private def write_query_param_element!(collection, key, element)
512
+ case element
513
+ in Hash
514
+ element.each do |name, value|
515
+ write_query_param_element!(collection, "#{key}[#{name}]", value)
516
+ end
517
+ in Array
518
+ collection[key] = element.map(&:to_s).join(",")
519
+ else
520
+ collection[key] = element.to_s
521
+ end
522
+ end
523
+
493
524
  # @api private
494
525
  #
495
526
  # @param y [Enumerator::Yielder]
@@ -7,13 +7,20 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute brand_id
11
+ #
12
+ # @return [String]
13
+ required :brand_id, String
14
+
10
15
  # @!attribute body
11
16
  # Request to delete a brand
12
17
  #
13
18
  # @return [Sentdm::Models::BrandDeleteParams::Body]
14
19
  required :body, -> { Sentdm::BrandDeleteParams::Body }
15
20
 
16
- # @!method initialize(body:, request_options: {})
21
+ # @!method initialize(brand_id:, body:, request_options: {})
22
+ # @param brand_id [String]
23
+ #
17
24
  # @param body [Sentdm::Models::BrandDeleteParams::Body] Request to delete a brand
18
25
  #
19
26
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
@@ -7,6 +7,11 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute brand_id
11
+ #
12
+ # @return [String]
13
+ required :brand_id, String
14
+
10
15
  # @!attribute brand
11
16
  # Brand and KYC information
12
17
  #
@@ -25,10 +30,12 @@ module Sentdm
25
30
  # @return [String, nil]
26
31
  optional :idempotency_key, String
27
32
 
28
- # @!method initialize(brand:, test_mode: nil, idempotency_key: nil, request_options: {})
33
+ # @!method initialize(brand_id:, brand:, test_mode: nil, idempotency_key: nil, request_options: {})
29
34
  # Some parameter documentations has been truncated, see
30
35
  # {Sentdm::Models::BrandUpdateParams} for more details.
31
36
  #
37
+ # @param brand_id [String]
38
+ #
32
39
  # @param brand [Sentdm::Models::BrandData] Brand and KYC information
33
40
  #
34
41
  # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
@@ -8,6 +8,11 @@ module Sentdm
8
8
  extend Sentdm::Internal::Type::RequestParameters::Converter
9
9
  include Sentdm::Internal::Type::RequestParameters
10
10
 
11
+ # @!attribute brand_id
12
+ #
13
+ # @return [String]
14
+ required :brand_id, String
15
+
11
16
  # @!attribute campaign
12
17
  # Campaign data
13
18
  #
@@ -26,10 +31,12 @@ module Sentdm
26
31
  # @return [String, nil]
27
32
  optional :idempotency_key, String
28
33
 
29
- # @!method initialize(campaign:, test_mode: nil, idempotency_key: nil, request_options: {})
34
+ # @!method initialize(brand_id:, campaign:, test_mode: nil, idempotency_key: nil, request_options: {})
30
35
  # Some parameter documentations has been truncated, see
31
36
  # {Sentdm::Models::Brands::CampaignCreateParams} for more details.
32
37
  #
38
+ # @param brand_id [String]
39
+ #
33
40
  # @param campaign [Sentdm::Models::Brands::CampaignData] Campaign data
34
41
  #
35
42
  # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
@@ -13,15 +13,22 @@ module Sentdm
13
13
  # @return [String]
14
14
  required :brand_id, String
15
15
 
16
+ # @!attribute campaign_id
17
+ #
18
+ # @return [String]
19
+ required :campaign_id, String
20
+
16
21
  # @!attribute body
17
22
  # Request to delete a campaign from a brand
18
23
  #
19
24
  # @return [Sentdm::Models::Brands::CampaignDeleteParams::Body]
20
25
  required :body, -> { Sentdm::Brands::CampaignDeleteParams::Body }
21
26
 
22
- # @!method initialize(brand_id:, body:, request_options: {})
27
+ # @!method initialize(brand_id:, campaign_id:, body:, request_options: {})
23
28
  # @param brand_id [String]
24
29
  #
30
+ # @param campaign_id [String]
31
+ #
25
32
  # @param body [Sentdm::Models::Brands::CampaignDeleteParams::Body] Request to delete a campaign from a brand
26
33
  #
27
34
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
@@ -8,7 +8,13 @@ module Sentdm
8
8
  extend Sentdm::Internal::Type::RequestParameters::Converter
9
9
  include Sentdm::Internal::Type::RequestParameters
10
10
 
11
- # @!method initialize(request_options: {})
11
+ # @!attribute brand_id
12
+ #
13
+ # @return [String]
14
+ required :brand_id, String
15
+
16
+ # @!method initialize(brand_id:, request_options: {})
17
+ # @param brand_id [String]
12
18
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
13
19
  end
14
20
  end
@@ -13,6 +13,11 @@ module Sentdm
13
13
  # @return [String]
14
14
  required :brand_id, String
15
15
 
16
+ # @!attribute campaign_id
17
+ #
18
+ # @return [String]
19
+ required :campaign_id, String
20
+
16
21
  # @!attribute campaign
17
22
  # Campaign data
18
23
  #
@@ -31,12 +36,14 @@ module Sentdm
31
36
  # @return [String, nil]
32
37
  optional :idempotency_key, String
33
38
 
34
- # @!method initialize(brand_id:, campaign:, test_mode: nil, idempotency_key: nil, request_options: {})
39
+ # @!method initialize(brand_id:, campaign_id:, campaign:, test_mode: nil, idempotency_key: nil, request_options: {})
35
40
  # Some parameter documentations has been truncated, see
36
41
  # {Sentdm::Models::Brands::CampaignUpdateParams} for more details.
37
42
  #
38
43
  # @param brand_id [String]
39
44
  #
45
+ # @param campaign_id [String]
46
+ #
40
47
  # @param campaign [Sentdm::Models::Brands::CampaignData] Campaign data
41
48
  #
42
49
  # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
@@ -7,13 +7,20 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
10
15
  # @!attribute body
11
16
  # Request to delete/dissociate a contact
12
17
  #
13
18
  # @return [Sentdm::Models::ContactDeleteParams::Body]
14
19
  required :body, -> { Sentdm::ContactDeleteParams::Body }
15
20
 
16
- # @!method initialize(body:, request_options: {})
21
+ # @!method initialize(id:, body:, request_options: {})
22
+ # @param id [String]
23
+ #
17
24
  # @param body [Sentdm::Models::ContactDeleteParams::Body] Request to delete/dissociate a contact
18
25
  #
19
26
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
@@ -7,7 +7,13 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
11
17
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,6 +7,11 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
10
15
  # @!attribute default_channel
11
16
  # Default messaging channel: "sms" or "whatsapp"
12
17
  #
@@ -31,10 +36,12 @@ module Sentdm
31
36
  # @return [String, nil]
32
37
  optional :idempotency_key, String
33
38
 
34
- # @!method initialize(default_channel: nil, opt_out: nil, test_mode: nil, idempotency_key: nil, request_options: {})
39
+ # @!method initialize(id:, default_channel: nil, opt_out: nil, test_mode: nil, idempotency_key: nil, request_options: {})
35
40
  # Some parameter documentations has been truncated, see
36
41
  # {Sentdm::Models::ContactUpdateParams} for more details.
37
42
  #
43
+ # @param id [String]
44
+ #
38
45
  # @param default_channel [String, nil] Default messaging channel: "sms" or "whatsapp"
39
46
  #
40
47
  # @param opt_out [Boolean, nil] Whether the contact has opted out of messaging
@@ -7,7 +7,13 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute phone_number
11
+ #
12
+ # @return [String]
13
+ required :phone_number, String
14
+
15
+ # @!method initialize(phone_number:, request_options: {})
16
+ # @param phone_number [String]
11
17
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,7 +7,13 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
11
17
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,7 +7,13 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
11
17
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,6 +7,11 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute profile_id
11
+ #
12
+ # @return [String]
13
+ required :profile_id, String
14
+
10
15
  # @!attribute web_hook_url
11
16
  # Webhook URL to call when profile completion finishes (success or failure)
12
17
  #
@@ -25,10 +30,12 @@ module Sentdm
25
30
  # @return [String, nil]
26
31
  optional :idempotency_key, String
27
32
 
28
- # @!method initialize(web_hook_url:, test_mode: nil, idempotency_key: nil, request_options: {})
33
+ # @!method initialize(profile_id:, web_hook_url:, test_mode: nil, idempotency_key: nil, request_options: {})
29
34
  # Some parameter documentations has been truncated, see
30
35
  # {Sentdm::Models::ProfileCompleteParams} for more details.
31
36
  #
37
+ # @param profile_id [String]
38
+ #
32
39
  # @param web_hook_url [String] Webhook URL to call when profile completion finishes (success or failure)
33
40
  #
34
41
  # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
@@ -7,6 +7,11 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute path_profile_id
11
+ #
12
+ # @return [String]
13
+ required :path_profile_id, String
14
+
10
15
  # @!attribute body_profile_id
11
16
  # Profile ID from route parameter
12
17
  #
@@ -20,10 +25,12 @@ module Sentdm
20
25
  # @return [Boolean, nil]
21
26
  optional :test_mode, Sentdm::Internal::Type::Boolean
22
27
 
23
- # @!method initialize(body_profile_id: nil, test_mode: nil, request_options: {})
28
+ # @!method initialize(path_profile_id:, body_profile_id: nil, test_mode: nil, request_options: {})
24
29
  # Some parameter documentations has been truncated, see
25
30
  # {Sentdm::Models::ProfileDeleteParams} for more details.
26
31
  #
32
+ # @param path_profile_id [String]
33
+ #
27
34
  # @param body_profile_id [String] Profile ID from route parameter
28
35
  #
29
36
  # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
@@ -7,7 +7,13 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute profile_id
11
+ #
12
+ # @return [String]
13
+ required :profile_id, String
14
+
15
+ # @!method initialize(profile_id:, request_options: {})
16
+ # @param profile_id [String]
11
17
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,6 +7,11 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute path_profile_id
11
+ #
12
+ # @return [String]
13
+ required :path_profile_id, String
14
+
10
15
  # @!attribute allow_contact_sharing
11
16
  # Whether contacts are shared across profiles (optional)
12
17
  #
@@ -121,10 +126,12 @@ module Sentdm
121
126
  # @return [String, nil]
122
127
  optional :idempotency_key, String
123
128
 
124
- # @!method initialize(allow_contact_sharing: nil, allow_number_change_during_onboarding: nil, allow_template_sharing: nil, billing_model: nil, description: nil, icon: nil, inherit_contacts: nil, inherit_tcr_brand: nil, inherit_tcr_campaign: nil, inherit_templates: nil, name: nil, body_profile_id: nil, sending_phone_number: nil, sending_phone_number_profile_id: nil, sending_whatsapp_number_profile_id: nil, short_name: nil, test_mode: nil, whatsapp_phone_number: nil, idempotency_key: nil, request_options: {})
129
+ # @!method initialize(path_profile_id:, allow_contact_sharing: nil, allow_number_change_during_onboarding: nil, allow_template_sharing: nil, billing_model: nil, description: nil, icon: nil, inherit_contacts: nil, inherit_tcr_brand: nil, inherit_tcr_campaign: nil, inherit_templates: nil, name: nil, body_profile_id: nil, sending_phone_number: nil, sending_phone_number_profile_id: nil, sending_whatsapp_number_profile_id: nil, short_name: nil, test_mode: nil, whatsapp_phone_number: nil, idempotency_key: nil, request_options: {})
125
130
  # Some parameter documentations has been truncated, see
126
131
  # {Sentdm::Models::ProfileUpdateParams} for more details.
127
132
  #
133
+ # @param path_profile_id [String]
134
+ #
128
135
  # @param allow_contact_sharing [Boolean, nil] Whether contacts are shared across profiles (optional)
129
136
  #
130
137
  # @param allow_number_change_during_onboarding [Boolean, nil] Whether number changes are allowed during onboarding (optional)
@@ -7,6 +7,11 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
10
15
  # @!attribute delete_from_meta
11
16
  # Whether to also delete the template from WhatsApp/Meta (optional, defaults to
12
17
  # false)
@@ -21,10 +26,12 @@ module Sentdm
21
26
  # @return [Boolean, nil]
22
27
  optional :test_mode, Sentdm::Internal::Type::Boolean
23
28
 
24
- # @!method initialize(delete_from_meta: nil, test_mode: nil, request_options: {})
29
+ # @!method initialize(id:, delete_from_meta: nil, test_mode: nil, request_options: {})
25
30
  # Some parameter documentations has been truncated, see
26
31
  # {Sentdm::Models::TemplateDeleteParams} for more details.
27
32
  #
33
+ # @param id [String]
34
+ #
28
35
  # @param delete_from_meta [Boolean, nil] Whether to also delete the template from WhatsApp/Meta (optional, defaults to fa
29
36
  #
30
37
  # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
@@ -7,7 +7,13 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
11
17
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,6 +7,11 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
10
15
  # @!attribute category
11
16
  # Template category: MARKETING, UTILITY, AUTHENTICATION
12
17
  #
@@ -49,10 +54,12 @@ module Sentdm
49
54
  # @return [String, nil]
50
55
  optional :idempotency_key, String
51
56
 
52
- # @!method initialize(category: nil, definition: nil, language: nil, name: nil, submit_for_review: nil, test_mode: nil, idempotency_key: nil, request_options: {})
57
+ # @!method initialize(id:, category: nil, definition: nil, language: nil, name: nil, submit_for_review: nil, test_mode: nil, idempotency_key: nil, request_options: {})
53
58
  # Some parameter documentations has been truncated, see
54
59
  # {Sentdm::Models::TemplateUpdateParams} for more details.
55
60
  #
61
+ # @param id [String]
62
+ #
56
63
  # @param category [String, nil] Template category: MARKETING, UTILITY, AUTHENTICATION
57
64
  #
58
65
  # @param definition [Sentdm::Models::TemplateDefinition, nil] Template definition including header, body, footer, and buttons
@@ -7,6 +7,11 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute path_user_id
11
+ #
12
+ # @return [String]
13
+ required :path_user_id, String
14
+
10
15
  # @!attribute test_mode
11
16
  # Test mode flag - when true, the operation is simulated without side effects
12
17
  # Useful for testing integrations without actual execution
@@ -20,10 +25,12 @@ module Sentdm
20
25
  # @return [String, nil]
21
26
  optional :body_user_id, String, api_name: :user_id
22
27
 
23
- # @!method initialize(test_mode: nil, body_user_id: nil, request_options: {})
28
+ # @!method initialize(path_user_id:, test_mode: nil, body_user_id: nil, request_options: {})
24
29
  # Some parameter documentations has been truncated, see
25
30
  # {Sentdm::Models::UserRemoveParams} for more details.
26
31
  #
32
+ # @param path_user_id [String]
33
+ #
27
34
  # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
28
35
  #
29
36
  # @param body_user_id [String] User ID from route parameter
@@ -7,7 +7,13 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute user_id
11
+ #
12
+ # @return [String]
13
+ required :user_id, String
14
+
15
+ # @!method initialize(user_id:, request_options: {})
16
+ # @param user_id [String]
11
17
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -7,6 +7,11 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute path_user_id
11
+ #
12
+ # @return [String]
13
+ required :path_user_id, String
14
+
10
15
  # @!attribute role
11
16
  # User role: admin, billing, or developer (required)
12
17
  #
@@ -31,10 +36,12 @@ module Sentdm
31
36
  # @return [String, nil]
32
37
  optional :idempotency_key, String
33
38
 
34
- # @!method initialize(role: nil, test_mode: nil, body_user_id: nil, idempotency_key: nil, request_options: {})
39
+ # @!method initialize(path_user_id:, role: nil, test_mode: nil, body_user_id: nil, idempotency_key: nil, request_options: {})
35
40
  # Some parameter documentations has been truncated, see
36
41
  # {Sentdm::Models::UserUpdateRoleParams} for more details.
37
42
  #
43
+ # @param path_user_id [String]
44
+ #
38
45
  # @param role [String] User role: admin, billing, or developer (required)
39
46
  #
40
47
  # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
@@ -7,7 +7,13 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
11
17
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end