prelude-sdk 0.1.0.pre.alpha.2 → 0.1.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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +74 -0
  3. data/README.md +29 -1
  4. data/lib/prelude_sdk/client.rb +4 -0
  5. data/lib/prelude_sdk/errors.rb +25 -11
  6. data/lib/prelude_sdk/file_part.rb +10 -7
  7. data/lib/prelude_sdk/internal/transport/base_client.rb +29 -11
  8. data/lib/prelude_sdk/internal/transport/pooled_net_requester.rb +41 -42
  9. data/lib/prelude_sdk/internal/type/array_of.rb +1 -0
  10. data/lib/prelude_sdk/internal/type/base_model.rb +4 -9
  11. data/lib/prelude_sdk/internal/type/base_page.rb +1 -1
  12. data/lib/prelude_sdk/internal/type/converter.rb +27 -0
  13. data/lib/prelude_sdk/internal/type/file_input.rb +7 -4
  14. data/lib/prelude_sdk/internal/type/hash_of.rb +1 -0
  15. data/lib/prelude_sdk/internal/type/union.rb +9 -7
  16. data/lib/prelude_sdk/internal/util.rb +9 -8
  17. data/lib/prelude_sdk/models/transactional_send_params.rb +41 -3
  18. data/lib/prelude_sdk/models/transactional_send_response.rb +7 -2
  19. data/lib/prelude_sdk/models/verification_check_response.rb +6 -1
  20. data/lib/prelude_sdk/models/verification_create_params.rb +57 -20
  21. data/lib/prelude_sdk/models/verification_create_response.rb +65 -12
  22. data/lib/prelude_sdk/models/verification_management_delete_phone_number_params.rb +32 -0
  23. data/lib/prelude_sdk/models/verification_management_delete_phone_number_response.rb +17 -0
  24. data/lib/prelude_sdk/models/verification_management_list_phone_numbers_params.rb +24 -0
  25. data/lib/prelude_sdk/models/verification_management_list_phone_numbers_response.rb +37 -0
  26. data/lib/prelude_sdk/models/verification_management_list_sender_ids_params.rb +14 -0
  27. data/lib/prelude_sdk/models/verification_management_list_sender_ids_response.rb +65 -0
  28. data/lib/prelude_sdk/models/verification_management_set_phone_number_params.rb +32 -0
  29. data/lib/prelude_sdk/models/verification_management_set_phone_number_response.rb +17 -0
  30. data/lib/prelude_sdk/models/verification_management_submit_sender_id_params.rb +22 -0
  31. data/lib/prelude_sdk/models/verification_management_submit_sender_id_response.rb +59 -0
  32. data/lib/prelude_sdk/models/watch_predict_params.rb +17 -3
  33. data/lib/prelude_sdk/models/watch_send_feedbacks_params.rb +18 -3
  34. data/lib/prelude_sdk/models.rb +14 -0
  35. data/lib/prelude_sdk/resources/transactional.rb +8 -3
  36. data/lib/prelude_sdk/resources/verification_management.rb +140 -0
  37. data/lib/prelude_sdk/version.rb +1 -1
  38. data/lib/prelude_sdk.rb +12 -0
  39. data/manifest.yaml +1 -0
  40. data/rbi/prelude_sdk/client.rbi +3 -0
  41. data/rbi/prelude_sdk/errors.rbi +31 -4
  42. data/rbi/prelude_sdk/file_part.rbi +1 -1
  43. data/rbi/prelude_sdk/internal/transport/base_client.rbi +10 -6
  44. data/rbi/prelude_sdk/internal/transport/pooled_net_requester.rbi +6 -2
  45. data/rbi/prelude_sdk/internal/type/base_model.rbi +8 -4
  46. data/rbi/prelude_sdk/internal/type/base_page.rbi +1 -1
  47. data/rbi/prelude_sdk/internal/type/converter.rbi +54 -0
  48. data/rbi/prelude_sdk/internal/type/union.rbi +9 -2
  49. data/rbi/prelude_sdk/internal/util.rbi +1 -1
  50. data/rbi/prelude_sdk/models/transactional_send_params.rbi +91 -2
  51. data/rbi/prelude_sdk/models/transactional_send_response.rbi +6 -2
  52. data/rbi/prelude_sdk/models/verification_check_response.rbi +7 -1
  53. data/rbi/prelude_sdk/models/verification_create_params.rbi +107 -23
  54. data/rbi/prelude_sdk/models/verification_create_response.rbi +160 -15
  55. data/rbi/prelude_sdk/models/verification_management_delete_phone_number_params.rbi +77 -0
  56. data/rbi/prelude_sdk/models/verification_management_delete_phone_number_response.rbi +30 -0
  57. data/rbi/prelude_sdk/models/verification_management_list_phone_numbers_params.rbi +64 -0
  58. data/rbi/prelude_sdk/models/verification_management_list_phone_numbers_response.rbi +87 -0
  59. data/rbi/prelude_sdk/models/verification_management_list_sender_ids_params.rbi +30 -0
  60. data/rbi/prelude_sdk/models/verification_management_list_sender_ids_response.rbi +175 -0
  61. data/rbi/prelude_sdk/models/verification_management_set_phone_number_params.rbi +77 -0
  62. data/rbi/prelude_sdk/models/verification_management_set_phone_number_response.rbi +30 -0
  63. data/rbi/prelude_sdk/models/verification_management_submit_sender_id_params.rbi +43 -0
  64. data/rbi/prelude_sdk/models/verification_management_submit_sender_id_response.rbi +117 -0
  65. data/rbi/prelude_sdk/models/watch_predict_params.rbi +19 -2
  66. data/rbi/prelude_sdk/models/watch_send_feedbacks_params.rbi +19 -2
  67. data/rbi/prelude_sdk/models.rbi +15 -0
  68. data/rbi/prelude_sdk/resources/transactional.rbi +17 -2
  69. data/rbi/prelude_sdk/resources/verification_management.rbi +112 -0
  70. data/sig/prelude_sdk/client.rbs +2 -0
  71. data/sig/prelude_sdk/errors.rbs +7 -0
  72. data/sig/prelude_sdk/file_part.rbs +1 -1
  73. data/sig/prelude_sdk/internal/transport/base_client.rbs +3 -1
  74. data/sig/prelude_sdk/internal/transport/pooled_net_requester.rbs +4 -1
  75. data/sig/prelude_sdk/internal/type/converter.rbs +17 -0
  76. data/sig/prelude_sdk/internal/type/union.rbs +2 -2
  77. data/sig/prelude_sdk/models/transactional_send_params.rbs +21 -0
  78. data/sig/prelude_sdk/models/verification_create_params.rbs +35 -16
  79. data/sig/prelude_sdk/models/verification_create_response.rbs +41 -16
  80. data/sig/prelude_sdk/models/verification_management_delete_phone_number_params.rbs +34 -0
  81. data/sig/prelude_sdk/models/verification_management_delete_phone_number_response.rbs +14 -0
  82. data/sig/prelude_sdk/models/verification_management_list_phone_numbers_params.rbs +26 -0
  83. data/sig/prelude_sdk/models/verification_management_list_phone_numbers_response.rbs +32 -0
  84. data/sig/prelude_sdk/models/verification_management_list_sender_ids_params.rbs +15 -0
  85. data/sig/prelude_sdk/models/verification_management_list_sender_ids_response.rbs +64 -0
  86. data/sig/prelude_sdk/models/verification_management_set_phone_number_params.rbs +34 -0
  87. data/sig/prelude_sdk/models/verification_management_set_phone_number_response.rbs +14 -0
  88. data/sig/prelude_sdk/models/verification_management_submit_sender_id_params.rbs +23 -0
  89. data/sig/prelude_sdk/models/verification_management_submit_sender_id_response.rbs +44 -0
  90. data/sig/prelude_sdk/models/watch_predict_params.rbs +7 -0
  91. data/sig/prelude_sdk/models/watch_send_feedbacks_params.rbs +7 -0
  92. data/sig/prelude_sdk/models.rbs +10 -0
  93. data/sig/prelude_sdk/resources/transactional.rbs +1 -0
  94. data/sig/prelude_sdk/resources/verification_management.rbs +33 -0
  95. metadata +37 -4
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ # @see PreludeSDK::Resources::VerificationManagement#list_phone_numbers
6
+ class VerificationManagementListPhoneNumbersResponse < PreludeSDK::Internal::Type::BaseModel
7
+ # @!attribute phone_numbers
8
+ # A list of phone numbers in the allow or block list.
9
+ #
10
+ # @return [Array<PreludeSDK::Models::VerificationManagementListPhoneNumbersResponse::PhoneNumber>]
11
+ required :phone_numbers,
12
+ -> { PreludeSDK::Internal::Type::ArrayOf[PreludeSDK::Models::VerificationManagementListPhoneNumbersResponse::PhoneNumber] }
13
+
14
+ # @!method initialize(phone_numbers:)
15
+ # @param phone_numbers [Array<PreludeSDK::Models::VerificationManagementListPhoneNumbersResponse::PhoneNumber>] A list of phone numbers in the allow or block list.
16
+
17
+ class PhoneNumber < PreludeSDK::Internal::Type::BaseModel
18
+ # @!attribute created_at
19
+ # The date and time when the phone number was added to the list.
20
+ #
21
+ # @return [Time]
22
+ required :created_at, Time
23
+
24
+ # @!attribute phone_number
25
+ # An E.164 formatted phone number.
26
+ #
27
+ # @return [String]
28
+ required :phone_number, String
29
+
30
+ # @!method initialize(created_at:, phone_number:)
31
+ # @param created_at [Time] The date and time when the phone number was added to the list.
32
+ #
33
+ # @param phone_number [String] An E.164 formatted phone number.
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ # @see PreludeSDK::Resources::VerificationManagement#list_sender_ids
6
+ class VerificationManagementListSenderIDsParams < PreludeSDK::Internal::Type::BaseModel
7
+ extend PreludeSDK::Internal::Type::RequestParameters::Converter
8
+ include PreludeSDK::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ # @see PreludeSDK::Resources::VerificationManagement#list_sender_ids
6
+ class VerificationManagementListSenderIDsResponse < PreludeSDK::Internal::Type::BaseModel
7
+ # @!attribute sender_ids
8
+ #
9
+ # @return [Array<PreludeSDK::Models::VerificationManagementListSenderIDsResponse::SenderID>, nil]
10
+ optional :sender_ids,
11
+ -> { PreludeSDK::Internal::Type::ArrayOf[PreludeSDK::Models::VerificationManagementListSenderIDsResponse::SenderID] }
12
+
13
+ # @!method initialize(sender_ids: nil)
14
+ # A list of Sender ID.
15
+ #
16
+ # @param sender_ids [Array<PreludeSDK::Models::VerificationManagementListSenderIDsResponse::SenderID>]
17
+
18
+ class SenderID < PreludeSDK::Internal::Type::BaseModel
19
+ # @!attribute sender_id
20
+ # Value that will be presented as Sender ID
21
+ #
22
+ # @return [String, nil]
23
+ optional :sender_id, String
24
+
25
+ # @!attribute status
26
+ # It indicates the status of the Sender ID. Possible values are:
27
+ #
28
+ # - `approved` - The Sender ID is approved.
29
+ # - `pending` - The Sender ID is pending.
30
+ # - `rejected` - The Sender ID is rejected.
31
+ #
32
+ # @return [Symbol, PreludeSDK::Models::VerificationManagementListSenderIDsResponse::SenderID::Status, nil]
33
+ optional :status,
34
+ enum: -> { PreludeSDK::Models::VerificationManagementListSenderIDsResponse::SenderID::Status }
35
+
36
+ # @!method initialize(sender_id: nil, status: nil)
37
+ # Some parameter documentations has been truncated, see
38
+ # {PreludeSDK::Models::VerificationManagementListSenderIDsResponse::SenderID} for
39
+ # more details.
40
+ #
41
+ # @param sender_id [String] Value that will be presented as Sender ID
42
+ #
43
+ # @param status [Symbol, PreludeSDK::Models::VerificationManagementListSenderIDsResponse::SenderID::Status] It indicates the status of the Sender ID. Possible values are:
44
+
45
+ # It indicates the status of the Sender ID. Possible values are:
46
+ #
47
+ # - `approved` - The Sender ID is approved.
48
+ # - `pending` - The Sender ID is pending.
49
+ # - `rejected` - The Sender ID is rejected.
50
+ #
51
+ # @see PreludeSDK::Models::VerificationManagementListSenderIDsResponse::SenderID#status
52
+ module Status
53
+ extend PreludeSDK::Internal::Type::Enum
54
+
55
+ APPROVED = :approved
56
+ PENDING = :pending
57
+ REJECTED = :rejected
58
+
59
+ # @!method self.values
60
+ # @return [Array<Symbol>]
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ # @see PreludeSDK::Resources::VerificationManagement#set_phone_number
6
+ class VerificationManagementSetPhoneNumberParams < PreludeSDK::Internal::Type::BaseModel
7
+ extend PreludeSDK::Internal::Type::RequestParameters::Converter
8
+ include PreludeSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute phone_number
11
+ # An E.164 formatted phone number to add to the list.
12
+ #
13
+ # @return [String]
14
+ required :phone_number, String
15
+
16
+ # @!method initialize(phone_number:, request_options: {})
17
+ # @param phone_number [String] An E.164 formatted phone number to add to the list.
18
+ #
19
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}]
20
+
21
+ module Action
22
+ extend PreludeSDK::Internal::Type::Enum
23
+
24
+ ALLOW = :allow
25
+ BLOCK = :block
26
+
27
+ # @!method self.values
28
+ # @return [Array<Symbol>]
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ # @see PreludeSDK::Resources::VerificationManagement#set_phone_number
6
+ class VerificationManagementSetPhoneNumberResponse < PreludeSDK::Internal::Type::BaseModel
7
+ # @!attribute phone_number
8
+ # The E.164 formatted phone number that was added to the list.
9
+ #
10
+ # @return [String]
11
+ required :phone_number, String
12
+
13
+ # @!method initialize(phone_number:)
14
+ # @param phone_number [String] The E.164 formatted phone number that was added to the list.
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ # @see PreludeSDK::Resources::VerificationManagement#submit_sender_id
6
+ class VerificationManagementSubmitSenderIDParams < PreludeSDK::Internal::Type::BaseModel
7
+ extend PreludeSDK::Internal::Type::RequestParameters::Converter
8
+ include PreludeSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute sender_id
11
+ # The sender ID to add.
12
+ #
13
+ # @return [String]
14
+ required :sender_id, String
15
+
16
+ # @!method initialize(sender_id:, request_options: {})
17
+ # @param sender_id [String] The sender ID to add.
18
+ #
19
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ # @see PreludeSDK::Resources::VerificationManagement#submit_sender_id
6
+ class VerificationManagementSubmitSenderIDResponse < PreludeSDK::Internal::Type::BaseModel
7
+ # @!attribute sender_id
8
+ # The sender ID that was added.
9
+ #
10
+ # @return [String]
11
+ required :sender_id, String
12
+
13
+ # @!attribute status
14
+ # It indicates the status of the sender ID. Possible values are:
15
+ #
16
+ # - `approved` - The sender ID is approved.
17
+ # - `pending` - The sender ID is pending.
18
+ # - `rejected` - The sender ID is rejected.
19
+ #
20
+ # @return [Symbol, PreludeSDK::Models::VerificationManagementSubmitSenderIDResponse::Status]
21
+ required :status, enum: -> { PreludeSDK::Models::VerificationManagementSubmitSenderIDResponse::Status }
22
+
23
+ # @!attribute reason
24
+ # The reason why the sender ID was rejected.
25
+ #
26
+ # @return [String, nil]
27
+ optional :reason, String
28
+
29
+ # @!method initialize(sender_id:, status:, reason: nil)
30
+ # Some parameter documentations has been truncated, see
31
+ # {PreludeSDK::Models::VerificationManagementSubmitSenderIDResponse} for more
32
+ # details.
33
+ #
34
+ # @param sender_id [String] The sender ID that was added.
35
+ #
36
+ # @param status [Symbol, PreludeSDK::Models::VerificationManagementSubmitSenderIDResponse::Status] It indicates the status of the sender ID. Possible values are:
37
+ #
38
+ # @param reason [String] The reason why the sender ID was rejected.
39
+
40
+ # It indicates the status of the sender ID. Possible values are:
41
+ #
42
+ # - `approved` - The sender ID is approved.
43
+ # - `pending` - The sender ID is pending.
44
+ # - `rejected` - The sender ID is rejected.
45
+ #
46
+ # @see PreludeSDK::Models::VerificationManagementSubmitSenderIDResponse#status
47
+ module Status
48
+ extend PreludeSDK::Internal::Type::Enum
49
+
50
+ APPROVED = :approved
51
+ PENDING = :pending
52
+ REJECTED = :rejected
53
+
54
+ # @!method self.values
55
+ # @return [Array<Symbol>]
56
+ end
57
+ end
58
+ end
59
+ end
@@ -82,15 +82,19 @@ module PreludeSDK
82
82
 
83
83
  class Metadata < PreludeSDK::Internal::Type::BaseModel
84
84
  # @!attribute correlation_id
85
- # A user-defined identifier to correlate this prediction with.
85
+ # A user-defined identifier to correlate this prediction with. It is returned in
86
+ # the response and any webhook events that refer to this prediction.
86
87
  #
87
88
  # @return [String, nil]
88
89
  optional :correlation_id, String
89
90
 
90
91
  # @!method initialize(correlation_id: nil)
92
+ # Some parameter documentations has been truncated, see
93
+ # {PreludeSDK::Models::WatchPredictParams::Metadata} for more details.
94
+ #
91
95
  # The metadata for this prediction.
92
96
  #
93
- # @param correlation_id [String] A user-defined identifier to correlate this prediction with.
97
+ # @param correlation_id [String] A user-defined identifier to correlate this prediction with. It is returned in t
94
98
  end
95
99
 
96
100
  class Signals < PreludeSDK::Internal::Type::BaseModel
@@ -133,6 +137,14 @@ module PreludeSDK
133
137
  # @return [Boolean, nil]
134
138
  optional :is_trusted_user, PreludeSDK::Internal::Type::Boolean
135
139
 
140
+ # @!attribute ja4_fingerprint
141
+ # The JA4 fingerprint observed for the connection. Prelude will infer it
142
+ # automatically when requests go through our client SDK (which uses Prelude's
143
+ # edge), but you can also provide it explicitly if you terminate TLS yourself.
144
+ #
145
+ # @return [String, nil]
146
+ optional :ja4_fingerprint, String
147
+
136
148
  # @!attribute os_version
137
149
  # The version of the user's device operating system.
138
150
  #
@@ -147,7 +159,7 @@ module PreludeSDK
147
159
  # @return [String, nil]
148
160
  optional :user_agent, String
149
161
 
150
- # @!method initialize(app_version: nil, device_id: nil, device_model: nil, device_platform: nil, ip: nil, is_trusted_user: nil, os_version: nil, user_agent: nil)
162
+ # @!method initialize(app_version: nil, device_id: nil, device_model: nil, device_platform: nil, ip: nil, is_trusted_user: nil, ja4_fingerprint: nil, os_version: nil, user_agent: nil)
151
163
  # Some parameter documentations has been truncated, see
152
164
  # {PreludeSDK::Models::WatchPredictParams::Signals} for more details.
153
165
  #
@@ -166,6 +178,8 @@ module PreludeSDK
166
178
  #
167
179
  # @param is_trusted_user [Boolean] This signal should provide a higher level of trust, indicating that the user is
168
180
  #
181
+ # @param ja4_fingerprint [String] The JA4 fingerprint observed for the connection. Prelude will infer it automatic
182
+ #
169
183
  # @param os_version [String] The version of the user's device operating system.
170
184
  #
171
185
  # @param user_agent [String] The user agent of the user's device. If the individual fields (os_version, devic
@@ -116,15 +116,20 @@ module PreludeSDK
116
116
  # @see PreludeSDK::Models::WatchSendFeedbacksParams::Feedback#metadata
117
117
  class Metadata < PreludeSDK::Internal::Type::BaseModel
118
118
  # @!attribute correlation_id
119
- # A user-defined identifier to correlate this feedback with.
119
+ # A user-defined identifier to correlate this feedback with. It is returned in the
120
+ # response and any webhook events that refer to this feedback.
120
121
  #
121
122
  # @return [String, nil]
122
123
  optional :correlation_id, String
123
124
 
124
125
  # @!method initialize(correlation_id: nil)
126
+ # Some parameter documentations has been truncated, see
127
+ # {PreludeSDK::Models::WatchSendFeedbacksParams::Feedback::Metadata} for more
128
+ # details.
129
+ #
125
130
  # The metadata for this feedback.
126
131
  #
127
- # @param correlation_id [String] A user-defined identifier to correlate this feedback with.
132
+ # @param correlation_id [String] A user-defined identifier to correlate this feedback with. It is returned in the
128
133
  end
129
134
 
130
135
  # @see PreludeSDK::Models::WatchSendFeedbacksParams::Feedback#signals
@@ -169,6 +174,14 @@ module PreludeSDK
169
174
  # @return [Boolean, nil]
170
175
  optional :is_trusted_user, PreludeSDK::Internal::Type::Boolean
171
176
 
177
+ # @!attribute ja4_fingerprint
178
+ # The JA4 fingerprint observed for the connection. Prelude will infer it
179
+ # automatically when requests go through our client SDK (which uses Prelude's
180
+ # edge), but you can also provide it explicitly if you terminate TLS yourself.
181
+ #
182
+ # @return [String, nil]
183
+ optional :ja4_fingerprint, String
184
+
172
185
  # @!attribute os_version
173
186
  # The version of the user's device operating system.
174
187
  #
@@ -183,7 +196,7 @@ module PreludeSDK
183
196
  # @return [String, nil]
184
197
  optional :user_agent, String
185
198
 
186
- # @!method initialize(app_version: nil, device_id: nil, device_model: nil, device_platform: nil, ip: nil, is_trusted_user: nil, os_version: nil, user_agent: nil)
199
+ # @!method initialize(app_version: nil, device_id: nil, device_model: nil, device_platform: nil, ip: nil, is_trusted_user: nil, ja4_fingerprint: nil, os_version: nil, user_agent: nil)
187
200
  # Some parameter documentations has been truncated, see
188
201
  # {PreludeSDK::Models::WatchSendFeedbacksParams::Feedback::Signals} for more
189
202
  # details.
@@ -203,6 +216,8 @@ module PreludeSDK
203
216
  #
204
217
  # @param is_trusted_user [Boolean] This signal should provide a higher level of trust, indicating that the user is
205
218
  #
219
+ # @param ja4_fingerprint [String] The JA4 fingerprint observed for the connection. Prelude will infer it automatic
220
+ #
206
221
  # @param os_version [String] The version of the user's device operating system.
207
222
  #
208
223
  # @param user_agent [String] The user agent of the user's device. If the individual fields (os_version, devic
@@ -47,6 +47,20 @@ module PreludeSDK
47
47
 
48
48
  VerificationCreateParams = PreludeSDK::Models::VerificationCreateParams
49
49
 
50
+ VerificationManagementDeletePhoneNumberParams =
51
+ PreludeSDK::Models::VerificationManagementDeletePhoneNumberParams
52
+
53
+ VerificationManagementListPhoneNumbersParams =
54
+ PreludeSDK::Models::VerificationManagementListPhoneNumbersParams
55
+
56
+ VerificationManagementListSenderIDsParams = PreludeSDK::Models::VerificationManagementListSenderIDsParams
57
+
58
+ VerificationManagementSetPhoneNumberParams =
59
+ PreludeSDK::Models::VerificationManagementSetPhoneNumberParams
60
+
61
+ VerificationManagementSubmitSenderIDParams =
62
+ PreludeSDK::Models::VerificationManagementSubmitSenderIDParams
63
+
50
64
  WatchPredictParams = PreludeSDK::Models::WatchPredictParams
51
65
 
52
66
  WatchSendEventsParams = PreludeSDK::Models::WatchSendEventsParams
@@ -3,12 +3,15 @@
3
3
  module PreludeSDK
4
4
  module Resources
5
5
  class Transactional
6
+ # @deprecated
7
+ #
6
8
  # Some parameter documentations has been truncated, see
7
9
  # {PreludeSDK::Models::TransactionalSendParams} for more details.
8
10
  #
9
- # Send a transactional message to your user.
11
+ # Legacy route maintained for backward compatibility. Migrate to `/v2/notify`
12
+ # instead.
10
13
  #
11
- # @overload send_(template_id:, to:, callback_url: nil, correlation_id: nil, expires_at: nil, from: nil, locale: nil, variables: nil, request_options: {})
14
+ # @overload send_(template_id:, to:, callback_url: nil, correlation_id: nil, expires_at: nil, from: nil, locale: nil, preferred_channel: nil, variables: nil, request_options: {})
12
15
  #
13
16
  # @param template_id [String] The template identifier.
14
17
  #
@@ -16,7 +19,7 @@ module PreludeSDK
16
19
  #
17
20
  # @param callback_url [String] The callback URL.
18
21
  #
19
- # @param correlation_id [String] A unique, user-defined identifier that will be included in webhook events.
22
+ # @param correlation_id [String] A user-defined identifier to correlate this transactional message with. It is re
20
23
  #
21
24
  # @param expires_at [String] The message expiration date.
22
25
  #
@@ -24,6 +27,8 @@ module PreludeSDK
24
27
  #
25
28
  # @param locale [String] A BCP-47 formatted locale string with the language the text message will be sent
26
29
  #
30
+ # @param preferred_channel [Symbol, PreludeSDK::Models::TransactionalSendParams::PreferredChannel] The preferred delivery channel for the message. When specified, the system will
31
+ #
27
32
  # @param variables [Hash{Symbol=>String}] The variables to be replaced in the template.
28
33
  #
29
34
  # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -0,0 +1,140 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Resources
5
+ class VerificationManagement
6
+ # Remove a phone number from the allow or block list.
7
+ #
8
+ # This operation is idempotent - re-deleting the same phone number will not result
9
+ # in errors. If the phone number does not exist in the specified list, the
10
+ # operation will succeed without making any changes.
11
+ #
12
+ # In order to get access to this endpoint, contact our support team.
13
+ #
14
+ # @overload delete_phone_number(action, phone_number:, request_options: {})
15
+ #
16
+ # @param action [Symbol, PreludeSDK::Models::VerificationManagementDeletePhoneNumberParams::Action] The action type - either "allow" or "block"
17
+ #
18
+ # @param phone_number [String] An E.164 formatted phone number to remove from the list.
19
+ #
20
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
21
+ #
22
+ # @return [PreludeSDK::Models::VerificationManagementDeletePhoneNumberResponse]
23
+ #
24
+ # @see PreludeSDK::Models::VerificationManagementDeletePhoneNumberParams
25
+ def delete_phone_number(action, params)
26
+ parsed, options = PreludeSDK::VerificationManagementDeletePhoneNumberParams.dump_request(params)
27
+ @client.request(
28
+ method: :delete,
29
+ path: ["v2/verification/management/phone-numbers/%1$s", action],
30
+ body: parsed,
31
+ model: PreludeSDK::Models::VerificationManagementDeletePhoneNumberResponse,
32
+ options: options
33
+ )
34
+ end
35
+
36
+ # Retrieve the list of phone numbers in the allow or block list.
37
+ #
38
+ # In order to get access to this endpoint, contact our support team.
39
+ #
40
+ # @overload list_phone_numbers(action, request_options: {})
41
+ #
42
+ # @param action [Symbol, PreludeSDK::Models::VerificationManagementListPhoneNumbersParams::Action] The action type - either "allow" or "block"
43
+ #
44
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
45
+ #
46
+ # @return [PreludeSDK::Models::VerificationManagementListPhoneNumbersResponse]
47
+ #
48
+ # @see PreludeSDK::Models::VerificationManagementListPhoneNumbersParams
49
+ def list_phone_numbers(action, params = {})
50
+ @client.request(
51
+ method: :get,
52
+ path: ["v2/verification/management/phone-numbers/%1$s", action],
53
+ model: PreludeSDK::Models::VerificationManagementListPhoneNumbersResponse,
54
+ options: params[:request_options]
55
+ )
56
+ end
57
+
58
+ # Retrieve sender IDs list.
59
+ #
60
+ # In order to get access to this endpoint, contact our support team.
61
+ #
62
+ # @overload list_sender_ids(request_options: {})
63
+ #
64
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
65
+ #
66
+ # @return [PreludeSDK::Models::VerificationManagementListSenderIDsResponse]
67
+ #
68
+ # @see PreludeSDK::Models::VerificationManagementListSenderIDsParams
69
+ def list_sender_ids(params = {})
70
+ @client.request(
71
+ method: :get,
72
+ path: "v2/verification/management/sender-id",
73
+ model: PreludeSDK::Models::VerificationManagementListSenderIDsResponse,
74
+ options: params[:request_options]
75
+ )
76
+ end
77
+
78
+ # Add a phone number to the allow or block list.
79
+ #
80
+ # This operation is idempotent - re-adding the same phone number will not result
81
+ # in duplicate entries or errors. If the phone number already exists in the
82
+ # specified list, the operation will succeed without making any changes.
83
+ #
84
+ # In order to get access to this endpoint, contact our support team.
85
+ #
86
+ # @overload set_phone_number(action, phone_number:, request_options: {})
87
+ #
88
+ # @param action [Symbol, PreludeSDK::Models::VerificationManagementSetPhoneNumberParams::Action] The action type - either "allow" or "block"
89
+ #
90
+ # @param phone_number [String] An E.164 formatted phone number to add to the list.
91
+ #
92
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
93
+ #
94
+ # @return [PreludeSDK::Models::VerificationManagementSetPhoneNumberResponse]
95
+ #
96
+ # @see PreludeSDK::Models::VerificationManagementSetPhoneNumberParams
97
+ def set_phone_number(action, params)
98
+ parsed, options = PreludeSDK::VerificationManagementSetPhoneNumberParams.dump_request(params)
99
+ @client.request(
100
+ method: :post,
101
+ path: ["v2/verification/management/phone-numbers/%1$s", action],
102
+ body: parsed,
103
+ model: PreludeSDK::Models::VerificationManagementSetPhoneNumberResponse,
104
+ options: options
105
+ )
106
+ end
107
+
108
+ # This endpoint allows you to submit a new sender ID for verification purposes.
109
+ #
110
+ # In order to get access to this endpoint, contact our support team.
111
+ #
112
+ # @overload submit_sender_id(sender_id:, request_options: {})
113
+ #
114
+ # @param sender_id [String] The sender ID to add.
115
+ #
116
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
117
+ #
118
+ # @return [PreludeSDK::Models::VerificationManagementSubmitSenderIDResponse]
119
+ #
120
+ # @see PreludeSDK::Models::VerificationManagementSubmitSenderIDParams
121
+ def submit_sender_id(params)
122
+ parsed, options = PreludeSDK::VerificationManagementSubmitSenderIDParams.dump_request(params)
123
+ @client.request(
124
+ method: :post,
125
+ path: "v2/verification/management/sender-id",
126
+ body: parsed,
127
+ model: PreludeSDK::Models::VerificationManagementSubmitSenderIDResponse,
128
+ options: options
129
+ )
130
+ end
131
+
132
+ # @api private
133
+ #
134
+ # @param client [PreludeSDK::Client]
135
+ def initialize(client:)
136
+ @client = client
137
+ end
138
+ end
139
+ end
140
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PreludeSDK
4
- VERSION = "0.1.0.pre.alpha.2"
4
+ VERSION = "0.1.0"
5
5
  end
data/lib/prelude_sdk.rb CHANGED
@@ -9,6 +9,7 @@ require "erb"
9
9
  require "etc"
10
10
  require "json"
11
11
  require "net/http"
12
+ require "openssl"
12
13
  require "pathname"
13
14
  require "rbconfig"
14
15
  require "securerandom"
@@ -58,6 +59,16 @@ require_relative "prelude_sdk/models/verification_check_params"
58
59
  require_relative "prelude_sdk/models/verification_check_response"
59
60
  require_relative "prelude_sdk/models/verification_create_params"
60
61
  require_relative "prelude_sdk/models/verification_create_response"
62
+ require_relative "prelude_sdk/models/verification_management_delete_phone_number_params"
63
+ require_relative "prelude_sdk/models/verification_management_delete_phone_number_response"
64
+ require_relative "prelude_sdk/models/verification_management_list_phone_numbers_params"
65
+ require_relative "prelude_sdk/models/verification_management_list_phone_numbers_response"
66
+ require_relative "prelude_sdk/models/verification_management_list_sender_ids_params"
67
+ require_relative "prelude_sdk/models/verification_management_list_sender_ids_response"
68
+ require_relative "prelude_sdk/models/verification_management_set_phone_number_params"
69
+ require_relative "prelude_sdk/models/verification_management_set_phone_number_response"
70
+ require_relative "prelude_sdk/models/verification_management_submit_sender_id_params"
71
+ require_relative "prelude_sdk/models/verification_management_submit_sender_id_response"
61
72
  require_relative "prelude_sdk/models/watch_predict_params"
62
73
  require_relative "prelude_sdk/models/watch_predict_response"
63
74
  require_relative "prelude_sdk/models/watch_send_events_params"
@@ -68,4 +79,5 @@ require_relative "prelude_sdk/models"
68
79
  require_relative "prelude_sdk/resources/lookup"
69
80
  require_relative "prelude_sdk/resources/transactional"
70
81
  require_relative "prelude_sdk/resources/verification"
82
+ require_relative "prelude_sdk/resources/verification_management"
71
83
  require_relative "prelude_sdk/resources/watch"
data/manifest.yaml CHANGED
@@ -6,6 +6,7 @@ dependencies:
6
6
  - etc
7
7
  - json
8
8
  - net/http
9
+ - openssl
9
10
  - pathname
10
11
  - rbconfig
11
12
  - securerandom
@@ -23,6 +23,9 @@ module PreludeSDK
23
23
  sig { returns(PreludeSDK::Resources::Verification) }
24
24
  attr_reader :verification
25
25
 
26
+ sig { returns(PreludeSDK::Resources::VerificationManagement) }
27
+ attr_reader :verification_management
28
+
26
29
  sig { returns(PreludeSDK::Resources::Watch) }
27
30
  attr_reader :watch
28
31