sentdm 0.17.0 → 0.18.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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/sentdm/models/contact_delete_params.rb +2 -17
  5. data/lib/sentdm/models/profile_complete_response.rb +68 -2
  6. data/lib/sentdm/models/profile_delete_params.rb +2 -17
  7. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -18
  8. data/lib/sentdm/models/user_remove_params.rb +2 -17
  9. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -12
  10. data/lib/sentdm/resources/contacts.rb +6 -5
  11. data/lib/sentdm/resources/profiles/campaigns.rb +5 -4
  12. data/lib/sentdm/resources/profiles.rb +8 -7
  13. data/lib/sentdm/resources/users.rb +6 -5
  14. data/lib/sentdm/resources/webhooks.rb +6 -8
  15. data/lib/sentdm/version.rb +1 -1
  16. data/rbi/sentdm/models/contact_delete_params.rbi +2 -33
  17. data/rbi/sentdm/models/profile_complete_response.rbi +121 -2
  18. data/rbi/sentdm/models/profile_delete_params.rbi +2 -33
  19. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -35
  20. data/rbi/sentdm/models/user_remove_params.rbi +2 -33
  21. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -28
  22. data/rbi/sentdm/resources/contacts.rbi +4 -3
  23. data/rbi/sentdm/resources/profiles/campaigns.rbi +4 -3
  24. data/rbi/sentdm/resources/profiles.rbi +5 -4
  25. data/rbi/sentdm/resources/users.rbi +4 -3
  26. data/rbi/sentdm/resources/webhooks.rbi +4 -3
  27. data/sig/sentdm/models/contact_delete_params.rbs +6 -20
  28. data/sig/sentdm/models/profile_complete_response.rbs +51 -1
  29. data/sig/sentdm/models/profile_delete_params.rbs +6 -20
  30. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +9 -22
  31. data/sig/sentdm/models/user_remove_params.rbs +6 -20
  32. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -23
  33. data/sig/sentdm/resources/contacts.rbs +1 -1
  34. data/sig/sentdm/resources/profiles/campaigns.rbs +1 -1
  35. data/sig/sentdm/resources/profiles.rbs +2 -2
  36. data/sig/sentdm/resources/users.rbs +1 -1
  37. data/sig/sentdm/resources/webhooks.rbs +1 -1
  38. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a156f615bcb0c3a315688ef1b00ec81cfa032750d749642a0365e20d7ae4c9df
4
- data.tar.gz: 0e1ef565451ca40155a468de7154f9faa663a6229b52e27ecc04e1160cb7acf9
3
+ metadata.gz: 197216990e5fbfd233a96fe398d63ae6e8bf0666fe5dae76e66da1f9396db36f
4
+ data.tar.gz: 8787403ba8b32810d77c97652e3d6c6386dc8e2941eb02e2fcb0854e9601f302
5
5
  SHA512:
6
- metadata.gz: 2b0c996f6f0b65632fce6f0867021a06740f3db0b91cab4f451bd2ddac122e2f797fa124c942b9cce33fde78de2ccc053724d96ce1fb5017b5ecf285a7d7e010
7
- data.tar.gz: 406bb232a1d48f76b18f0b4b0b55112c7c2cb5c31bf05bb258f52a8dd7e08279c54e59be388ba47420534f59d40cf9a897a1a799707f0e3fbf640b63f87732f6
6
+ metadata.gz: 950c0205f1cc3ae2e6da794c1e13df4e9c51ddf7f0dd12f0e33c73d2eec23dc25e24aca483c7cad15548948aabd49065ac1a597b26f994c9c52202df39ea2a39
7
+ data.tar.gz: 6eed0efde25a0400b67af7b15c38ea05064ebeb3df63d3dab82065495b3b72774fa60c71df2975e30e0260ba8bef83d25fe8bba9ade46e4f17c3102137c400b6
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.18.0 (2026-04-29)
4
+
5
+ Full Changelog: [v0.17.0...v0.18.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.17.0...v0.18.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([144871d](https://github.com/sentdm/sent-dm-ruby/commit/144871d5fdd3214a7467a468519b392d759a6ada))
10
+
3
11
  ## 0.17.0 (2026-04-29)
4
12
 
5
13
  Full Changelog: [v0.16.0...v0.17.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.16.0...v0.17.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.17.0"
29
+ gem "sentdm", "~> 0.18.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -3,7 +3,7 @@
3
3
  module Sentdm
4
4
  module Models
5
5
  # @see Sentdm::Resources::Contacts#delete
6
- class ContactDeleteParams < Sentdm::Internal::Type::BaseModel
6
+ class ContactDeleteParams < Sentdm::Models::MutationRequest
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
@@ -12,30 +12,15 @@ module Sentdm
12
12
  # @return [String]
13
13
  required :id, String
14
14
 
15
- # @!attribute body
16
- # Request to delete/dissociate a contact
17
- #
18
- # @return [Sentdm::Models::ContactDeleteParams::Body]
19
- required :body, -> { Sentdm::ContactDeleteParams::Body }
20
-
21
15
  # @!attribute x_profile_id
22
16
  #
23
17
  # @return [String, nil]
24
18
  optional :x_profile_id, String
25
19
 
26
- # @!method initialize(id:, body:, x_profile_id: nil, request_options: {})
20
+ # @!method initialize(id:, x_profile_id: nil, request_options: {})
27
21
  # @param id [String]
28
- #
29
- # @param body [Sentdm::Models::ContactDeleteParams::Body] Request to delete/dissociate a contact
30
- #
31
22
  # @param x_profile_id [String]
32
- #
33
23
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
34
-
35
- class Body < Sentdm::Models::MutationRequest
36
- # @!method initialize
37
- # Request to delete/dissociate a contact
38
- end
39
24
  end
40
25
  end
41
26
  end
@@ -2,7 +2,73 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- # @type [Sentdm::Internal::Type::Converter]
6
- ProfileCompleteResponse = Sentdm::Internal::Type::Unknown
5
+ # @see Sentdm::Resources::Profiles#complete
6
+ class ProfileCompleteResponse < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # Response when a profile is already in the completed state and no further action
9
+ # is taken.
10
+ #
11
+ # @return [Sentdm::Models::ProfileCompleteResponse::Data, nil]
12
+ optional :data, -> { Sentdm::Models::ProfileCompleteResponse::Data }, nil?: true
13
+
14
+ # @!attribute error
15
+ # Error information
16
+ #
17
+ # @return [Sentdm::Models::ErrorDetail, nil]
18
+ optional :error, -> { Sentdm::ErrorDetail }, nil?: true
19
+
20
+ # @!attribute meta
21
+ # Request and response metadata
22
+ #
23
+ # @return [Sentdm::Models::APIMeta, nil]
24
+ optional :meta, -> { Sentdm::APIMeta }
25
+
26
+ # @!attribute success
27
+ # Indicates whether the request was successful
28
+ #
29
+ # @return [Boolean, nil]
30
+ optional :success, Sentdm::Internal::Type::Boolean
31
+
32
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
33
+ # Some parameter documentations has been truncated, see
34
+ # {Sentdm::Models::ProfileCompleteResponse} for more details.
35
+ #
36
+ # Standard API response envelope for all v3 endpoints
37
+ #
38
+ # @param data [Sentdm::Models::ProfileCompleteResponse::Data, nil] Response when a profile is already in the completed state and no further action
39
+ #
40
+ # @param error [Sentdm::Models::ErrorDetail, nil] Error information
41
+ #
42
+ # @param meta [Sentdm::Models::APIMeta] Request and response metadata
43
+ #
44
+ # @param success [Boolean] Indicates whether the request was successful
45
+
46
+ # @see Sentdm::Models::ProfileCompleteResponse#data
47
+ class Data < Sentdm::Internal::Type::BaseModel
48
+ # @!attribute message
49
+ # Human-readable message describing the result.
50
+ #
51
+ # @return [String, nil]
52
+ optional :message, String
53
+
54
+ # @!attribute status
55
+ # Current process status of the profile (e.g., "completed", "submitted",
56
+ # "in_progress").
57
+ #
58
+ # @return [String, nil]
59
+ optional :status, String
60
+
61
+ # @!method initialize(message: nil, status: nil)
62
+ # Some parameter documentations has been truncated, see
63
+ # {Sentdm::Models::ProfileCompleteResponse::Data} for more details.
64
+ #
65
+ # Response when a profile is already in the completed state and no further action
66
+ # is taken.
67
+ #
68
+ # @param message [String] Human-readable message describing the result.
69
+ #
70
+ # @param status [String] Current process status of the profile (e.g., "completed", "submitted", "in_progr
71
+ end
72
+ end
7
73
  end
8
74
  end
@@ -3,7 +3,7 @@
3
3
  module Sentdm
4
4
  module Models
5
5
  # @see Sentdm::Resources::Profiles#delete
6
- class ProfileDeleteParams < Sentdm::Internal::Type::BaseModel
6
+ class ProfileDeleteParams < Sentdm::Models::MutationRequest
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
@@ -12,30 +12,15 @@ module Sentdm
12
12
  # @return [String]
13
13
  required :profile_id, String
14
14
 
15
- # @!attribute body
16
- # Request to delete a profile
17
- #
18
- # @return [Sentdm::Models::ProfileDeleteParams::Body]
19
- required :body, -> { Sentdm::ProfileDeleteParams::Body }
20
-
21
15
  # @!attribute x_profile_id
22
16
  #
23
17
  # @return [String, nil]
24
18
  optional :x_profile_id, String
25
19
 
26
- # @!method initialize(profile_id:, body:, x_profile_id: nil, request_options: {})
20
+ # @!method initialize(profile_id:, x_profile_id: nil, request_options: {})
27
21
  # @param profile_id [String]
28
- #
29
- # @param body [Sentdm::Models::ProfileDeleteParams::Body] Request to delete a profile
30
- #
31
22
  # @param x_profile_id [String]
32
- #
33
23
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
34
-
35
- class Body < Sentdm::Models::MutationRequest
36
- # @!method initialize
37
- # Request to delete a profile
38
- end
39
24
  end
40
25
  end
41
26
  end
@@ -4,7 +4,7 @@ module Sentdm
4
4
  module Models
5
5
  module Profiles
6
6
  # @see Sentdm::Resources::Profiles::Campaigns#delete
7
- class CampaignDeleteParams < Sentdm::Internal::Type::BaseModel
7
+ class CampaignDeleteParams < Sentdm::Models::MutationRequest
8
8
  extend Sentdm::Internal::Type::RequestParameters::Converter
9
9
  include Sentdm::Internal::Type::RequestParameters
10
10
 
@@ -18,32 +18,16 @@ module Sentdm
18
18
  # @return [String]
19
19
  required :campaign_id, String
20
20
 
21
- # @!attribute body
22
- # Request to delete a campaign from a brand
23
- #
24
- # @return [Sentdm::Models::Profiles::CampaignDeleteParams::Body]
25
- required :body, -> { Sentdm::Profiles::CampaignDeleteParams::Body }
26
-
27
21
  # @!attribute x_profile_id
28
22
  #
29
23
  # @return [String, nil]
30
24
  optional :x_profile_id, String
31
25
 
32
- # @!method initialize(profile_id:, campaign_id:, body:, x_profile_id: nil, request_options: {})
26
+ # @!method initialize(profile_id:, campaign_id:, x_profile_id: nil, request_options: {})
33
27
  # @param profile_id [String]
34
- #
35
28
  # @param campaign_id [String]
36
- #
37
- # @param body [Sentdm::Models::Profiles::CampaignDeleteParams::Body] Request to delete a campaign from a brand
38
- #
39
29
  # @param x_profile_id [String]
40
- #
41
30
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
42
-
43
- class Body < Sentdm::Models::MutationRequest
44
- # @!method initialize
45
- # Request to delete a campaign from a brand
46
- end
47
31
  end
48
32
  end
49
33
  end
@@ -3,7 +3,7 @@
3
3
  module Sentdm
4
4
  module Models
5
5
  # @see Sentdm::Resources::Users#remove
6
- class UserRemoveParams < Sentdm::Internal::Type::BaseModel
6
+ class UserRemoveParams < Sentdm::Models::MutationRequest
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
@@ -12,30 +12,15 @@ module Sentdm
12
12
  # @return [String]
13
13
  required :user_id, String
14
14
 
15
- # @!attribute body
16
- # Request to remove a user from an organization
17
- #
18
- # @return [Sentdm::Models::UserRemoveParams::Body]
19
- required :body, -> { Sentdm::UserRemoveParams::Body }
20
-
21
15
  # @!attribute x_profile_id
22
16
  #
23
17
  # @return [String, nil]
24
18
  optional :x_profile_id, String
25
19
 
26
- # @!method initialize(user_id:, body:, x_profile_id: nil, request_options: {})
20
+ # @!method initialize(user_id:, x_profile_id: nil, request_options: {})
27
21
  # @param user_id [String]
28
- #
29
- # @param body [Sentdm::Models::UserRemoveParams::Body] Request to remove a user from an organization
30
- #
31
22
  # @param x_profile_id [String]
32
- #
33
23
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
34
-
35
- class Body < Sentdm::Models::MutationRequest
36
- # @!method initialize
37
- # Request to remove a user from an organization
38
- end
39
24
  end
40
25
  end
41
26
  end
@@ -3,7 +3,7 @@
3
3
  module Sentdm
4
4
  module Models
5
5
  # @see Sentdm::Resources::Webhooks#rotate_secret
6
- class WebhookRotateSecretParams < Sentdm::Internal::Type::BaseModel
6
+ class WebhookRotateSecretParams < Sentdm::Models::MutationRequest
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
@@ -12,11 +12,6 @@ module Sentdm
12
12
  # @return [String]
13
13
  required :id, String
14
14
 
15
- # @!attribute body
16
- #
17
- # @return [Sentdm::Models::WebhookRotateSecretParams::Body]
18
- required :body, -> { Sentdm::WebhookRotateSecretParams::Body }
19
-
20
15
  # @!attribute idempotency_key
21
16
  #
22
17
  # @return [String, nil]
@@ -27,16 +22,11 @@ module Sentdm
27
22
  # @return [String, nil]
28
23
  optional :x_profile_id, String
29
24
 
30
- # @!method initialize(id:, body:, idempotency_key: nil, x_profile_id: nil, request_options: {})
25
+ # @!method initialize(id:, idempotency_key: nil, x_profile_id: nil, request_options: {})
31
26
  # @param id [String]
32
- # @param body [Sentdm::Models::WebhookRotateSecretParams::Body]
33
27
  # @param idempotency_key [String]
34
28
  # @param x_profile_id [String]
35
29
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
36
-
37
- class Body < Sentdm::Models::MutationRequest
38
- # @!method initialize
39
- end
40
30
  end
41
31
  end
42
32
  end
@@ -152,11 +152,11 @@ module Sentdm
152
152
  # Dissociates a contact from the authenticated customer. Inherited contacts cannot
153
153
  # be deleted.
154
154
  #
155
- # @overload delete(id, body:, x_profile_id: nil, request_options: {})
155
+ # @overload delete(id, sandbox: nil, x_profile_id: nil, request_options: {})
156
156
  #
157
157
  # @param id [String] Path param: Contact ID from route parameter
158
158
  #
159
- # @param body [Sentdm::Models::ContactDeleteParams::Body] Body param: Request to delete/dissociate a contact
159
+ # @param sandbox [Boolean] Body param: Sandbox flag - when true, the operation is simulated without side ef
160
160
  #
161
161
  # @param x_profile_id [String] Header param: Profile UUID to scope the request to a child profile. Only organiz
162
162
  #
@@ -165,13 +165,14 @@ module Sentdm
165
165
  # @return [nil]
166
166
  #
167
167
  # @see Sentdm::Models::ContactDeleteParams
168
- def delete(id, params)
168
+ def delete(id, params = {})
169
169
  parsed, options = Sentdm::ContactDeleteParams.dump_request(params)
170
+ header_params = {x_profile_id: "x-profile-id"}
170
171
  @client.request(
171
172
  method: :delete,
172
173
  path: ["v3/contacts/%1$s", id],
173
- headers: parsed.except(:body).transform_keys(x_profile_id: "x-profile-id"),
174
- body: parsed[:body],
174
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
175
+ body: parsed.except(*header_params.keys),
175
176
  model: NilClass,
176
177
  options: options
177
178
  )
@@ -117,13 +117,13 @@ module Sentdm
117
117
  # Deletes a campaign by ID from the brand of the specified profile. The profile
118
118
  # must belong to the authenticated organization.
119
119
  #
120
- # @overload delete(campaign_id, profile_id:, body:, x_profile_id: nil, request_options: {})
120
+ # @overload delete(campaign_id, profile_id:, sandbox: nil, x_profile_id: nil, request_options: {})
121
121
  #
122
122
  # @param campaign_id [String] Path param: Campaign ID from route parameter
123
123
  #
124
124
  # @param profile_id [String] Path param: Profile ID from route parameter
125
125
  #
126
- # @param body [Sentdm::Models::Profiles::CampaignDeleteParams::Body] Body param: Request to delete a campaign from a brand
126
+ # @param sandbox [Boolean] Body param: Sandbox flag - when true, the operation is simulated without side ef
127
127
  #
128
128
  # @param x_profile_id [String] Header param: Profile UUID to scope the request to a child profile. Only organiz
129
129
  #
@@ -138,11 +138,12 @@ module Sentdm
138
138
  parsed.delete(:profile_id) do
139
139
  raise ArgumentError.new("missing required path argument #{_1}")
140
140
  end
141
+ header_params = {x_profile_id: "x-profile-id"}
141
142
  @client.request(
142
143
  method: :delete,
143
144
  path: ["v3/profiles/%1$s/campaigns/%2$s", profile_id, campaign_id],
144
- headers: parsed.except(:body).transform_keys(x_profile_id: "x-profile-id"),
145
- body: parsed[:body],
145
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
146
+ body: parsed.except(*header_params.keys),
146
147
  model: NilClass,
147
148
  options: options
148
149
  )
@@ -255,11 +255,11 @@ module Sentdm
255
255
  # Soft deletes a sender profile. The profile will be marked as deleted but data is
256
256
  # retained. Requires admin role in the organization.
257
257
  #
258
- # @overload delete(profile_id, body:, x_profile_id: nil, request_options: {})
258
+ # @overload delete(profile_id, sandbox: nil, x_profile_id: nil, request_options: {})
259
259
  #
260
260
  # @param profile_id [String] Path param
261
261
  #
262
- # @param body [Sentdm::Models::ProfileDeleteParams::Body] Body param: Request to delete a profile
262
+ # @param sandbox [Boolean] Body param: Sandbox flag - when true, the operation is simulated without side ef
263
263
  #
264
264
  # @param x_profile_id [String] Header param: Profile UUID to scope the request to a child profile. Only organiz
265
265
  #
@@ -268,13 +268,14 @@ module Sentdm
268
268
  # @return [nil]
269
269
  #
270
270
  # @see Sentdm::Models::ProfileDeleteParams
271
- def delete(profile_id, params)
271
+ def delete(profile_id, params = {})
272
272
  parsed, options = Sentdm::ProfileDeleteParams.dump_request(params)
273
+ header_params = {x_profile_id: "x-profile-id"}
273
274
  @client.request(
274
275
  method: :delete,
275
276
  path: ["v3/profiles/%1$s", profile_id],
276
- headers: parsed.except(:body).transform_keys(x_profile_id: "x-profile-id"),
277
- body: parsed[:body],
277
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
278
+ body: parsed.except(*header_params.keys),
278
279
  model: NilClass,
279
280
  options: options
280
281
  )
@@ -316,7 +317,7 @@ module Sentdm
316
317
  #
317
318
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
318
319
  #
319
- # @return [Object]
320
+ # @return [Sentdm::Models::ProfileCompleteResponse]
320
321
  #
321
322
  # @see Sentdm::Models::ProfileCompleteParams
322
323
  def complete(profile_id, params)
@@ -327,7 +328,7 @@ module Sentdm
327
328
  path: ["v3/profiles/%1$s/complete", profile_id],
328
329
  headers: parsed.slice(*header_params.keys).transform_keys(header_params),
329
330
  body: parsed.except(*header_params.keys),
330
- model: Sentdm::Internal::Type::Unknown,
331
+ model: Sentdm::Models::ProfileCompleteResponse,
331
332
  options: options
332
333
  )
333
334
  end
@@ -104,11 +104,11 @@ module Sentdm
104
104
  # Removes a user's access to an organization or profile. Requires admin role. You
105
105
  # cannot remove yourself or remove the last admin.
106
106
  #
107
- # @overload remove(user_id, body:, x_profile_id: nil, request_options: {})
107
+ # @overload remove(user_id, sandbox: nil, x_profile_id: nil, request_options: {})
108
108
  #
109
109
  # @param user_id [String] Path param
110
110
  #
111
- # @param body [Sentdm::Models::UserRemoveParams::Body] Body param: Request to remove a user from an organization
111
+ # @param sandbox [Boolean] Body param: Sandbox flag - when true, the operation is simulated without side ef
112
112
  #
113
113
  # @param x_profile_id [String] Header param: Profile UUID to scope the request to a child profile. Only organiz
114
114
  #
@@ -117,13 +117,14 @@ module Sentdm
117
117
  # @return [nil]
118
118
  #
119
119
  # @see Sentdm::Models::UserRemoveParams
120
- def remove(user_id, params)
120
+ def remove(user_id, params = {})
121
121
  parsed, options = Sentdm::UserRemoveParams.dump_request(params)
122
+ header_params = {x_profile_id: "x-profile-id"}
122
123
  @client.request(
123
124
  method: :delete,
124
125
  path: ["v3/users/%1$s", user_id],
125
- headers: parsed.except(:body).transform_keys(x_profile_id: "x-profile-id"),
126
- body: parsed[:body],
126
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
127
+ body: parsed.except(*header_params.keys),
127
128
  model: NilClass,
128
129
  options: options
129
130
  )
@@ -249,11 +249,11 @@ module Sentdm
249
249
  # Generates a new signing secret for the specified webhook. The old secret is
250
250
  # immediately invalidated.
251
251
  #
252
- # @overload rotate_secret(id, body:, idempotency_key: nil, x_profile_id: nil, request_options: {})
252
+ # @overload rotate_secret(id, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
253
253
  #
254
254
  # @param id [String] Path param
255
255
  #
256
- # @param body [Sentdm::Models::WebhookRotateSecretParams::Body] Body param
256
+ # @param sandbox [Boolean] Body param: Sandbox flag - when true, the operation is simulated without side ef
257
257
  #
258
258
  # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
259
259
  #
@@ -264,16 +264,14 @@ module Sentdm
264
264
  # @return [Sentdm::Models::WebhookRotateSecretResponse]
265
265
  #
266
266
  # @see Sentdm::Models::WebhookRotateSecretParams
267
- def rotate_secret(id, params)
267
+ def rotate_secret(id, params = {})
268
268
  parsed, options = Sentdm::WebhookRotateSecretParams.dump_request(params)
269
+ header_params = {idempotency_key: "idempotency-key", x_profile_id: "x-profile-id"}
269
270
  @client.request(
270
271
  method: :post,
271
272
  path: ["v3/webhooks/%1$s/rotate-secret", id],
272
- headers: parsed.except(:body).transform_keys(
273
- idempotency_key: "idempotency-key",
274
- x_profile_id: "x-profile-id"
275
- ),
276
- body: parsed[:body],
273
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
274
+ body: parsed.except(*header_params.keys),
277
275
  model: Sentdm::Models::WebhookRotateSecretResponse,
278
276
  options: options
279
277
  )
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sentdm
4
- VERSION = "0.17.0"
4
+ VERSION = "0.18.0"
5
5
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- class ContactDeleteParams < Sentdm::Internal::Type::BaseModel
5
+ class ContactDeleteParams < Sentdm::Models::MutationRequest
6
6
  extend Sentdm::Internal::Type::RequestParameters::Converter
7
7
  include Sentdm::Internal::Type::RequestParameters
8
8
 
@@ -14,13 +14,6 @@ module Sentdm
14
14
  sig { returns(String) }
15
15
  attr_accessor :id
16
16
 
17
- # Request to delete/dissociate a contact
18
- sig { returns(Sentdm::ContactDeleteParams::Body) }
19
- attr_reader :body
20
-
21
- sig { params(body: Sentdm::ContactDeleteParams::Body::OrHash).void }
22
- attr_writer :body
23
-
24
17
  sig { returns(T.nilable(String)) }
25
18
  attr_reader :x_profile_id
26
19
 
@@ -30,25 +23,17 @@ module Sentdm
30
23
  sig do
31
24
  params(
32
25
  id: String,
33
- body: Sentdm::ContactDeleteParams::Body::OrHash,
34
26
  x_profile_id: String,
35
27
  request_options: Sentdm::RequestOptions::OrHash
36
28
  ).returns(T.attached_class)
37
29
  end
38
- def self.new(
39
- id:,
40
- # Request to delete/dissociate a contact
41
- body:,
42
- x_profile_id: nil,
43
- request_options: {}
44
- )
30
+ def self.new(id:, x_profile_id: nil, request_options: {})
45
31
  end
46
32
 
47
33
  sig do
48
34
  override.returns(
49
35
  {
50
36
  id: String,
51
- body: Sentdm::ContactDeleteParams::Body,
52
37
  x_profile_id: String,
53
38
  request_options: Sentdm::RequestOptions
54
39
  }
@@ -56,22 +41,6 @@ module Sentdm
56
41
  end
57
42
  def to_hash
58
43
  end
59
-
60
- class Body < Sentdm::Models::MutationRequest
61
- OrHash =
62
- T.type_alias do
63
- T.any(Sentdm::ContactDeleteParams::Body, Sentdm::Internal::AnyHash)
64
- end
65
-
66
- # Request to delete/dissociate a contact
67
- sig { returns(T.attached_class) }
68
- def self.new
69
- end
70
-
71
- sig { override.returns({}) }
72
- def to_hash
73
- end
74
- end
75
44
  end
76
45
  end
77
46
  end