prelude-sdk 0.1.0.pre.alpha.2

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 (125) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +352 -0
  4. data/README.md +217 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/prelude_sdk/client.rb +87 -0
  7. data/lib/prelude_sdk/errors.rb +214 -0
  8. data/lib/prelude_sdk/file_part.rb +55 -0
  9. data/lib/prelude_sdk/internal/transport/base_client.rb +555 -0
  10. data/lib/prelude_sdk/internal/transport/pooled_net_requester.rb +209 -0
  11. data/lib/prelude_sdk/internal/type/array_of.rb +167 -0
  12. data/lib/prelude_sdk/internal/type/base_model.rb +536 -0
  13. data/lib/prelude_sdk/internal/type/base_page.rb +55 -0
  14. data/lib/prelude_sdk/internal/type/boolean.rb +77 -0
  15. data/lib/prelude_sdk/internal/type/converter.rb +300 -0
  16. data/lib/prelude_sdk/internal/type/enum.rb +131 -0
  17. data/lib/prelude_sdk/internal/type/file_input.rb +108 -0
  18. data/lib/prelude_sdk/internal/type/hash_of.rb +187 -0
  19. data/lib/prelude_sdk/internal/type/request_parameters.rb +42 -0
  20. data/lib/prelude_sdk/internal/type/union.rb +235 -0
  21. data/lib/prelude_sdk/internal/type/unknown.rb +81 -0
  22. data/lib/prelude_sdk/internal/util.rb +914 -0
  23. data/lib/prelude_sdk/internal.rb +20 -0
  24. data/lib/prelude_sdk/models/lookup_lookup_params.rb +37 -0
  25. data/lib/prelude_sdk/models/lookup_lookup_response.rb +236 -0
  26. data/lib/prelude_sdk/models/transactional_send_params.rb +84 -0
  27. data/lib/prelude_sdk/models/transactional_send_response.rb +81 -0
  28. data/lib/prelude_sdk/models/verification_check_params.rb +69 -0
  29. data/lib/prelude_sdk/models/verification_check_response.rb +67 -0
  30. data/lib/prelude_sdk/models/verification_create_params.rb +388 -0
  31. data/lib/prelude_sdk/models/verification_create_response.rb +148 -0
  32. data/lib/prelude_sdk/models/watch_predict_params.rb +191 -0
  33. data/lib/prelude_sdk/models/watch_predict_response.rb +50 -0
  34. data/lib/prelude_sdk/models/watch_send_events_params.rb +100 -0
  35. data/lib/prelude_sdk/models/watch_send_events_response.rb +41 -0
  36. data/lib/prelude_sdk/models/watch_send_feedbacks_params.rb +229 -0
  37. data/lib/prelude_sdk/models/watch_send_feedbacks_response.rb +41 -0
  38. data/lib/prelude_sdk/models.rb +55 -0
  39. data/lib/prelude_sdk/request_options.rb +77 -0
  40. data/lib/prelude_sdk/resources/lookup.rb +42 -0
  41. data/lib/prelude_sdk/resources/transactional.rb +53 -0
  42. data/lib/prelude_sdk/resources/verification.rb +76 -0
  43. data/lib/prelude_sdk/resources/watch.rb +91 -0
  44. data/lib/prelude_sdk/version.rb +5 -0
  45. data/lib/prelude_sdk.rb +71 -0
  46. data/manifest.yaml +15 -0
  47. data/rbi/prelude_sdk/client.rbi +59 -0
  48. data/rbi/prelude_sdk/errors.rbi +178 -0
  49. data/rbi/prelude_sdk/file_part.rbi +37 -0
  50. data/rbi/prelude_sdk/internal/transport/base_client.rbi +296 -0
  51. data/rbi/prelude_sdk/internal/transport/pooled_net_requester.rbi +80 -0
  52. data/rbi/prelude_sdk/internal/type/array_of.rbi +104 -0
  53. data/rbi/prelude_sdk/internal/type/base_model.rbi +304 -0
  54. data/rbi/prelude_sdk/internal/type/base_page.rbi +42 -0
  55. data/rbi/prelude_sdk/internal/type/boolean.rbi +58 -0
  56. data/rbi/prelude_sdk/internal/type/converter.rbi +162 -0
  57. data/rbi/prelude_sdk/internal/type/enum.rbi +82 -0
  58. data/rbi/prelude_sdk/internal/type/file_input.rbi +59 -0
  59. data/rbi/prelude_sdk/internal/type/hash_of.rbi +104 -0
  60. data/rbi/prelude_sdk/internal/type/request_parameters.rbi +29 -0
  61. data/rbi/prelude_sdk/internal/type/union.rbi +121 -0
  62. data/rbi/prelude_sdk/internal/type/unknown.rbi +58 -0
  63. data/rbi/prelude_sdk/internal/util.rbi +487 -0
  64. data/rbi/prelude_sdk/internal.rbi +18 -0
  65. data/rbi/prelude_sdk/models/lookup_lookup_params.rbi +78 -0
  66. data/rbi/prelude_sdk/models/lookup_lookup_response.rbi +520 -0
  67. data/rbi/prelude_sdk/models/transactional_send_params.rbi +126 -0
  68. data/rbi/prelude_sdk/models/transactional_send_response.rbi +113 -0
  69. data/rbi/prelude_sdk/models/verification_check_params.rbi +140 -0
  70. data/rbi/prelude_sdk/models/verification_check_response.rbi +149 -0
  71. data/rbi/prelude_sdk/models/verification_create_params.rbi +805 -0
  72. data/rbi/prelude_sdk/models/verification_create_response.rbi +336 -0
  73. data/rbi/prelude_sdk/models/watch_predict_params.rbi +382 -0
  74. data/rbi/prelude_sdk/models/watch_predict_response.rbi +96 -0
  75. data/rbi/prelude_sdk/models/watch_send_events_params.rbi +245 -0
  76. data/rbi/prelude_sdk/models/watch_send_events_response.rbi +82 -0
  77. data/rbi/prelude_sdk/models/watch_send_feedbacks_params.rbi +500 -0
  78. data/rbi/prelude_sdk/models/watch_send_feedbacks_response.rbi +86 -0
  79. data/rbi/prelude_sdk/models.rbi +17 -0
  80. data/rbi/prelude_sdk/request_options.rbi +59 -0
  81. data/rbi/prelude_sdk/resources/lookup.rbi +33 -0
  82. data/rbi/prelude_sdk/resources/transactional.rbi +50 -0
  83. data/rbi/prelude_sdk/resources/verification.rbi +61 -0
  84. data/rbi/prelude_sdk/resources/watch.rbi +67 -0
  85. data/rbi/prelude_sdk/version.rbi +5 -0
  86. data/sig/prelude_sdk/client.rbs +32 -0
  87. data/sig/prelude_sdk/errors.rbs +110 -0
  88. data/sig/prelude_sdk/file_part.rbs +21 -0
  89. data/sig/prelude_sdk/internal/transport/base_client.rbs +131 -0
  90. data/sig/prelude_sdk/internal/transport/pooled_net_requester.rbs +45 -0
  91. data/sig/prelude_sdk/internal/type/array_of.rbs +48 -0
  92. data/sig/prelude_sdk/internal/type/base_model.rbs +102 -0
  93. data/sig/prelude_sdk/internal/type/base_page.rbs +24 -0
  94. data/sig/prelude_sdk/internal/type/boolean.rbs +26 -0
  95. data/sig/prelude_sdk/internal/type/converter.rbs +62 -0
  96. data/sig/prelude_sdk/internal/type/enum.rbs +32 -0
  97. data/sig/prelude_sdk/internal/type/file_input.rbs +25 -0
  98. data/sig/prelude_sdk/internal/type/hash_of.rbs +48 -0
  99. data/sig/prelude_sdk/internal/type/request_parameters.rbs +19 -0
  100. data/sig/prelude_sdk/internal/type/union.rbs +52 -0
  101. data/sig/prelude_sdk/internal/type/unknown.rbs +26 -0
  102. data/sig/prelude_sdk/internal/util.rbs +185 -0
  103. data/sig/prelude_sdk/internal.rbs +9 -0
  104. data/sig/prelude_sdk/models/lookup_lookup_params.rbs +38 -0
  105. data/sig/prelude_sdk/models/lookup_lookup_response.rbs +179 -0
  106. data/sig/prelude_sdk/models/transactional_send_params.rbs +73 -0
  107. data/sig/prelude_sdk/models/transactional_send_response.rbs +66 -0
  108. data/sig/prelude_sdk/models/verification_check_params.rbs +61 -0
  109. data/sig/prelude_sdk/models/verification_check_response.rbs +67 -0
  110. data/sig/prelude_sdk/models/verification_create_params.rbs +345 -0
  111. data/sig/prelude_sdk/models/verification_create_response.rbs +136 -0
  112. data/sig/prelude_sdk/models/watch_predict_params.rbs +180 -0
  113. data/sig/prelude_sdk/models/watch_predict_response.rbs +41 -0
  114. data/sig/prelude_sdk/models/watch_send_events_params.rbs +98 -0
  115. data/sig/prelude_sdk/models/watch_send_events_response.rbs +35 -0
  116. data/sig/prelude_sdk/models/watch_send_feedbacks_params.rbs +211 -0
  117. data/sig/prelude_sdk/models/watch_send_feedbacks_response.rbs +35 -0
  118. data/sig/prelude_sdk/models.rbs +15 -0
  119. data/sig/prelude_sdk/request_options.rbs +36 -0
  120. data/sig/prelude_sdk/resources/lookup.rbs +13 -0
  121. data/sig/prelude_sdk/resources/transactional.rbs +19 -0
  122. data/sig/prelude_sdk/resources/verification.rbs +22 -0
  123. data/sig/prelude_sdk/resources/watch.rbs +25 -0
  124. data/sig/prelude_sdk/version.rbs +3 -0
  125. metadata +182 -0
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Internal
5
+ extend PreludeSDK::Internal::Util::SorbetRuntimeSupport
6
+
7
+ OMIT =
8
+ Object.new.tap do
9
+ _1.define_singleton_method(:inspect) { "#<#{PreludeSDK::Internal}::OMIT>" }
10
+ end
11
+ .freeze
12
+
13
+ define_sorbet_constant!(:AnyHash) do
14
+ T.type_alias { T::Hash[Symbol, T.anything] }
15
+ end
16
+ define_sorbet_constant!(:FileInput) do
17
+ T.type_alias { T.any(Pathname, StringIO, IO, String, PreludeSDK::FilePart) }
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ # @see PreludeSDK::Resources::Lookup#lookup
6
+ class LookupLookupParams < PreludeSDK::Internal::Type::BaseModel
7
+ extend PreludeSDK::Internal::Type::RequestParameters::Converter
8
+ include PreludeSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute type
11
+ # Optional features. Possible values are:
12
+ #
13
+ # - `cnam` - Retrieve CNAM (Caller ID Name) along with other information. Contact
14
+ # us if you need to use this functionality.
15
+ #
16
+ # @return [Array<Symbol, PreludeSDK::Models::LookupLookupParams::Type>, nil]
17
+ optional :type, -> { PreludeSDK::Internal::Type::ArrayOf[enum: PreludeSDK::LookupLookupParams::Type] }
18
+
19
+ # @!method initialize(type: nil, request_options: {})
20
+ # Some parameter documentations has been truncated, see
21
+ # {PreludeSDK::Models::LookupLookupParams} for more details.
22
+ #
23
+ # @param type [Array<Symbol, PreludeSDK::Models::LookupLookupParams::Type>] Optional features. Possible values are:
24
+ #
25
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}]
26
+
27
+ module Type
28
+ extend PreludeSDK::Internal::Type::Enum
29
+
30
+ CNAM = :cnam
31
+
32
+ # @!method self.values
33
+ # @return [Array<Symbol>]
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,236 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ # @see PreludeSDK::Resources::Lookup#lookup
6
+ class LookupLookupResponse < PreludeSDK::Internal::Type::BaseModel
7
+ # @!attribute caller_name
8
+ # The CNAM (Caller ID Name) associated with the phone number. Contact us if you
9
+ # need to use this functionality. Once enabled, put `cnam` option to `type` query
10
+ # parameter.
11
+ #
12
+ # @return [String, nil]
13
+ optional :caller_name, String
14
+
15
+ # @!attribute country_code
16
+ # The country code of the phone number.
17
+ #
18
+ # @return [String, nil]
19
+ optional :country_code, String
20
+
21
+ # @!attribute flags
22
+ # A list of flags associated with the phone number.
23
+ #
24
+ # - `ported` - Indicates the phone number has been transferred from one carrier to
25
+ # another.
26
+ # - `temporary` - Indicates the phone number is likely a temporary or virtual
27
+ # number, often used for verification services or burner phones.
28
+ #
29
+ # @return [Array<Symbol, PreludeSDK::Models::LookupLookupResponse::Flag>, nil]
30
+ optional :flags,
31
+ -> { PreludeSDK::Internal::Type::ArrayOf[enum: PreludeSDK::Models::LookupLookupResponse::Flag] }
32
+
33
+ # @!attribute line_type
34
+ # The type of phone line.
35
+ #
36
+ # - `calling_cards` - Numbers that are associated with providers of pre-paid
37
+ # domestic and international calling cards.
38
+ # - `fixed_line` - Landline phone numbers.
39
+ # - `isp` - Numbers reserved for Internet Service Providers.
40
+ # - `local_rate` - Numbers that can be assigned non-geographically.
41
+ # - `mobile` - Mobile phone numbers.
42
+ # - `other` - Other types of services.
43
+ # - `pager` - Number ranges specifically allocated to paging devices.
44
+ # - `payphone` - Allocated numbers for payphone kiosks in some countries.
45
+ # - `premium_rate` - Landline numbers where the calling party pays more than
46
+ # standard.
47
+ # - `satellite` - Satellite phone numbers.
48
+ # - `service` - Automated applications.
49
+ # - `shared_cost` - Specific landline ranges where the cost of making the call is
50
+ # shared between the calling and called party.
51
+ # - `short_codes_commercial` - Short codes are memorable, easy-to-use numbers,
52
+ # like the UK's NHS 111, often sold to businesses. Not available in all
53
+ # countries.
54
+ # - `toll_free` - Number where the called party pays for the cost of the call not
55
+ # the calling party.
56
+ # - `universal_access` - Number ranges reserved for Universal Access initiatives.
57
+ # - `unknown` - Unknown phone number type.
58
+ # - `vpn` - Numbers are used exclusively within a private telecommunications
59
+ # network, connecting the operator's terminals internally and not accessible via
60
+ # the public telephone network.
61
+ # - `voice_mail` - A specific category of Interactive Voice Response (IVR)
62
+ # services.
63
+ # - `voip` - Specific ranges for providers of VoIP services to allow incoming
64
+ # calls from the regular telephony network.
65
+ #
66
+ # @return [Symbol, PreludeSDK::Models::LookupLookupResponse::LineType, nil]
67
+ optional :line_type, enum: -> { PreludeSDK::Models::LookupLookupResponse::LineType }
68
+
69
+ # @!attribute network_info
70
+ # The current carrier information.
71
+ #
72
+ # @return [PreludeSDK::Models::LookupLookupResponse::NetworkInfo, nil]
73
+ optional :network_info, -> { PreludeSDK::Models::LookupLookupResponse::NetworkInfo }
74
+
75
+ # @!attribute original_network_info
76
+ # The original carrier information.
77
+ #
78
+ # @return [PreludeSDK::Models::LookupLookupResponse::OriginalNetworkInfo, nil]
79
+ optional :original_network_info, -> { PreludeSDK::Models::LookupLookupResponse::OriginalNetworkInfo }
80
+
81
+ # @!attribute phone_number
82
+ # The phone number.
83
+ #
84
+ # @return [String, nil]
85
+ optional :phone_number, String
86
+
87
+ # @!method initialize(caller_name: nil, country_code: nil, flags: nil, line_type: nil, network_info: nil, original_network_info: nil, phone_number: nil)
88
+ # Some parameter documentations has been truncated, see
89
+ # {PreludeSDK::Models::LookupLookupResponse} for more details.
90
+ #
91
+ # @param caller_name [String] The CNAM (Caller ID Name) associated with the phone number. Contact us if you ne
92
+ #
93
+ # @param country_code [String] The country code of the phone number.
94
+ #
95
+ # @param flags [Array<Symbol, PreludeSDK::Models::LookupLookupResponse::Flag>] A list of flags associated with the phone number.
96
+ #
97
+ # @param line_type [Symbol, PreludeSDK::Models::LookupLookupResponse::LineType] The type of phone line.
98
+ #
99
+ # @param network_info [PreludeSDK::Models::LookupLookupResponse::NetworkInfo] The current carrier information.
100
+ #
101
+ # @param original_network_info [PreludeSDK::Models::LookupLookupResponse::OriginalNetworkInfo] The original carrier information.
102
+ #
103
+ # @param phone_number [String] The phone number.
104
+
105
+ module Flag
106
+ extend PreludeSDK::Internal::Type::Enum
107
+
108
+ PORTED = :ported
109
+ TEMPORARY = :temporary
110
+
111
+ # @!method self.values
112
+ # @return [Array<Symbol>]
113
+ end
114
+
115
+ # The type of phone line.
116
+ #
117
+ # - `calling_cards` - Numbers that are associated with providers of pre-paid
118
+ # domestic and international calling cards.
119
+ # - `fixed_line` - Landline phone numbers.
120
+ # - `isp` - Numbers reserved for Internet Service Providers.
121
+ # - `local_rate` - Numbers that can be assigned non-geographically.
122
+ # - `mobile` - Mobile phone numbers.
123
+ # - `other` - Other types of services.
124
+ # - `pager` - Number ranges specifically allocated to paging devices.
125
+ # - `payphone` - Allocated numbers for payphone kiosks in some countries.
126
+ # - `premium_rate` - Landline numbers where the calling party pays more than
127
+ # standard.
128
+ # - `satellite` - Satellite phone numbers.
129
+ # - `service` - Automated applications.
130
+ # - `shared_cost` - Specific landline ranges where the cost of making the call is
131
+ # shared between the calling and called party.
132
+ # - `short_codes_commercial` - Short codes are memorable, easy-to-use numbers,
133
+ # like the UK's NHS 111, often sold to businesses. Not available in all
134
+ # countries.
135
+ # - `toll_free` - Number where the called party pays for the cost of the call not
136
+ # the calling party.
137
+ # - `universal_access` - Number ranges reserved for Universal Access initiatives.
138
+ # - `unknown` - Unknown phone number type.
139
+ # - `vpn` - Numbers are used exclusively within a private telecommunications
140
+ # network, connecting the operator's terminals internally and not accessible via
141
+ # the public telephone network.
142
+ # - `voice_mail` - A specific category of Interactive Voice Response (IVR)
143
+ # services.
144
+ # - `voip` - Specific ranges for providers of VoIP services to allow incoming
145
+ # calls from the regular telephony network.
146
+ #
147
+ # @see PreludeSDK::Models::LookupLookupResponse#line_type
148
+ module LineType
149
+ extend PreludeSDK::Internal::Type::Enum
150
+
151
+ CALLING_CARDS = :calling_cards
152
+ FIXED_LINE = :fixed_line
153
+ ISP = :isp
154
+ LOCAL_RATE = :local_rate
155
+ MOBILE = :mobile
156
+ OTHER = :other
157
+ PAGER = :pager
158
+ PAYPHONE = :payphone
159
+ PREMIUM_RATE = :premium_rate
160
+ SATELLITE = :satellite
161
+ SERVICE = :service
162
+ SHARED_COST = :shared_cost
163
+ SHORT_CODES_COMMERCIAL = :short_codes_commercial
164
+ TOLL_FREE = :toll_free
165
+ UNIVERSAL_ACCESS = :universal_access
166
+ UNKNOWN = :unknown
167
+ VPN = :vpn
168
+ VOICE_MAIL = :voice_mail
169
+ VOIP = :voip
170
+
171
+ # @!method self.values
172
+ # @return [Array<Symbol>]
173
+ end
174
+
175
+ # @see PreludeSDK::Models::LookupLookupResponse#network_info
176
+ class NetworkInfo < PreludeSDK::Internal::Type::BaseModel
177
+ # @!attribute carrier_name
178
+ # The name of the carrier.
179
+ #
180
+ # @return [String, nil]
181
+ optional :carrier_name, String
182
+
183
+ # @!attribute mcc
184
+ # Mobile Country Code.
185
+ #
186
+ # @return [String, nil]
187
+ optional :mcc, String
188
+
189
+ # @!attribute mnc
190
+ # Mobile Network Code.
191
+ #
192
+ # @return [String, nil]
193
+ optional :mnc, String
194
+
195
+ # @!method initialize(carrier_name: nil, mcc: nil, mnc: nil)
196
+ # The current carrier information.
197
+ #
198
+ # @param carrier_name [String] The name of the carrier.
199
+ #
200
+ # @param mcc [String] Mobile Country Code.
201
+ #
202
+ # @param mnc [String] Mobile Network Code.
203
+ end
204
+
205
+ # @see PreludeSDK::Models::LookupLookupResponse#original_network_info
206
+ class OriginalNetworkInfo < PreludeSDK::Internal::Type::BaseModel
207
+ # @!attribute carrier_name
208
+ # The name of the original carrier.
209
+ #
210
+ # @return [String, nil]
211
+ optional :carrier_name, String
212
+
213
+ # @!attribute mcc
214
+ # Mobile Country Code.
215
+ #
216
+ # @return [String, nil]
217
+ optional :mcc, String
218
+
219
+ # @!attribute mnc
220
+ # Mobile Network Code.
221
+ #
222
+ # @return [String, nil]
223
+ optional :mnc, String
224
+
225
+ # @!method initialize(carrier_name: nil, mcc: nil, mnc: nil)
226
+ # The original carrier information.
227
+ #
228
+ # @param carrier_name [String] The name of the original carrier.
229
+ #
230
+ # @param mcc [String] Mobile Country Code.
231
+ #
232
+ # @param mnc [String] Mobile Network Code.
233
+ end
234
+ end
235
+ end
236
+ end
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ # @see PreludeSDK::Resources::Transactional#send_
6
+ class TransactionalSendParams < PreludeSDK::Internal::Type::BaseModel
7
+ extend PreludeSDK::Internal::Type::RequestParameters::Converter
8
+ include PreludeSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute template_id
11
+ # The template identifier.
12
+ #
13
+ # @return [String]
14
+ required :template_id, String
15
+
16
+ # @!attribute to
17
+ # The recipient's phone number.
18
+ #
19
+ # @return [String]
20
+ required :to, String
21
+
22
+ # @!attribute callback_url
23
+ # The callback URL.
24
+ #
25
+ # @return [String, nil]
26
+ optional :callback_url, String
27
+
28
+ # @!attribute correlation_id
29
+ # A unique, user-defined identifier that will be included in webhook events.
30
+ #
31
+ # @return [String, nil]
32
+ optional :correlation_id, String
33
+
34
+ # @!attribute expires_at
35
+ # The message expiration date.
36
+ #
37
+ # @return [String, nil]
38
+ optional :expires_at, String
39
+
40
+ # @!attribute from
41
+ # The Sender ID.
42
+ #
43
+ # @return [String, nil]
44
+ optional :from, String
45
+
46
+ # @!attribute locale
47
+ # A BCP-47 formatted locale string with the language the text message will be sent
48
+ # to. If there's no locale set, the language will be determined by the country
49
+ # code of the phone number. If the language specified doesn't exist, the default
50
+ # set on the template will be used.
51
+ #
52
+ # @return [String, nil]
53
+ optional :locale, String
54
+
55
+ # @!attribute variables
56
+ # The variables to be replaced in the template.
57
+ #
58
+ # @return [Hash{Symbol=>String}, nil]
59
+ optional :variables, PreludeSDK::Internal::Type::HashOf[String]
60
+
61
+ # @!method initialize(template_id:, to:, callback_url: nil, correlation_id: nil, expires_at: nil, from: nil, locale: nil, variables: nil, request_options: {})
62
+ # Some parameter documentations has been truncated, see
63
+ # {PreludeSDK::Models::TransactionalSendParams} for more details.
64
+ #
65
+ # @param template_id [String] The template identifier.
66
+ #
67
+ # @param to [String] The recipient's phone number.
68
+ #
69
+ # @param callback_url [String] The callback URL.
70
+ #
71
+ # @param correlation_id [String] A unique, user-defined identifier that will be included in webhook events.
72
+ #
73
+ # @param expires_at [String] The message expiration date.
74
+ #
75
+ # @param from [String] The Sender ID.
76
+ #
77
+ # @param locale [String] A BCP-47 formatted locale string with the language the text message will be sent
78
+ #
79
+ # @param variables [Hash{Symbol=>String}] The variables to be replaced in the template.
80
+ #
81
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}]
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ # @see PreludeSDK::Resources::Transactional#send_
6
+ class TransactionalSendResponse < PreludeSDK::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The message identifier.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute created_at
14
+ # The message creation date.
15
+ #
16
+ # @return [Time]
17
+ required :created_at, Time
18
+
19
+ # @!attribute expires_at
20
+ # The message expiration date.
21
+ #
22
+ # @return [Time]
23
+ required :expires_at, Time
24
+
25
+ # @!attribute template_id
26
+ # The template identifier.
27
+ #
28
+ # @return [String]
29
+ required :template_id, String
30
+
31
+ # @!attribute to
32
+ # The recipient's phone number.
33
+ #
34
+ # @return [String]
35
+ required :to, String
36
+
37
+ # @!attribute variables
38
+ # The variables to be replaced in the template.
39
+ #
40
+ # @return [Hash{Symbol=>String}]
41
+ required :variables, PreludeSDK::Internal::Type::HashOf[String]
42
+
43
+ # @!attribute callback_url
44
+ # The callback URL.
45
+ #
46
+ # @return [String, nil]
47
+ optional :callback_url, String
48
+
49
+ # @!attribute correlation_id
50
+ # A unique, user-defined identifier that will be included in webhook events.
51
+ #
52
+ # @return [String, nil]
53
+ optional :correlation_id, String
54
+
55
+ # @!attribute from
56
+ # The Sender ID.
57
+ #
58
+ # @return [String, nil]
59
+ optional :from, String
60
+
61
+ # @!method initialize(id:, created_at:, expires_at:, template_id:, to:, variables:, callback_url: nil, correlation_id: nil, from: nil)
62
+ # @param id [String] The message identifier.
63
+ #
64
+ # @param created_at [Time] The message creation date.
65
+ #
66
+ # @param expires_at [Time] The message expiration date.
67
+ #
68
+ # @param template_id [String] The template identifier.
69
+ #
70
+ # @param to [String] The recipient's phone number.
71
+ #
72
+ # @param variables [Hash{Symbol=>String}] The variables to be replaced in the template.
73
+ #
74
+ # @param callback_url [String] The callback URL.
75
+ #
76
+ # @param correlation_id [String] A unique, user-defined identifier that will be included in webhook events.
77
+ #
78
+ # @param from [String] The Sender ID.
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ # @see PreludeSDK::Resources::Verification#check
6
+ class VerificationCheckParams < PreludeSDK::Internal::Type::BaseModel
7
+ extend PreludeSDK::Internal::Type::RequestParameters::Converter
8
+ include PreludeSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute code
11
+ # The OTP code to validate.
12
+ #
13
+ # @return [String]
14
+ required :code, String
15
+
16
+ # @!attribute target
17
+ # The verification target. Either a phone number or an email address. To use the
18
+ # email verification feature contact us to discuss your use case.
19
+ #
20
+ # @return [PreludeSDK::Models::VerificationCheckParams::Target]
21
+ required :target, -> { PreludeSDK::VerificationCheckParams::Target }
22
+
23
+ # @!method initialize(code:, target:, request_options: {})
24
+ # Some parameter documentations has been truncated, see
25
+ # {PreludeSDK::Models::VerificationCheckParams} for more details.
26
+ #
27
+ # @param code [String] The OTP code to validate.
28
+ #
29
+ # @param target [PreludeSDK::Models::VerificationCheckParams::Target] The verification target. Either a phone number or an email address. To use the e
30
+ #
31
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}]
32
+
33
+ class Target < PreludeSDK::Internal::Type::BaseModel
34
+ # @!attribute type
35
+ # The type of the target. Either "phone_number" or "email_address".
36
+ #
37
+ # @return [Symbol, PreludeSDK::Models::VerificationCheckParams::Target::Type]
38
+ required :type, enum: -> { PreludeSDK::VerificationCheckParams::Target::Type }
39
+
40
+ # @!attribute value
41
+ # An E.164 formatted phone number or an email address.
42
+ #
43
+ # @return [String]
44
+ required :value, String
45
+
46
+ # @!method initialize(type:, value:)
47
+ # The verification target. Either a phone number or an email address. To use the
48
+ # email verification feature contact us to discuss your use case.
49
+ #
50
+ # @param type [Symbol, PreludeSDK::Models::VerificationCheckParams::Target::Type] The type of the target. Either "phone_number" or "email_address".
51
+ #
52
+ # @param value [String] An E.164 formatted phone number or an email address.
53
+
54
+ # The type of the target. Either "phone_number" or "email_address".
55
+ #
56
+ # @see PreludeSDK::Models::VerificationCheckParams::Target#type
57
+ module Type
58
+ extend PreludeSDK::Internal::Type::Enum
59
+
60
+ PHONE_NUMBER = :phone_number
61
+ EMAIL_ADDRESS = :email_address
62
+
63
+ # @!method self.values
64
+ # @return [Array<Symbol>]
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ # @see PreludeSDK::Resources::Verification#check
6
+ class VerificationCheckResponse < PreludeSDK::Internal::Type::BaseModel
7
+ # @!attribute status
8
+ # The status of the check.
9
+ #
10
+ # @return [Symbol, PreludeSDK::Models::VerificationCheckResponse::Status]
11
+ required :status, enum: -> { PreludeSDK::Models::VerificationCheckResponse::Status }
12
+
13
+ # @!attribute id
14
+ # The verification identifier.
15
+ #
16
+ # @return [String, nil]
17
+ optional :id, String
18
+
19
+ # @!attribute metadata
20
+ # The metadata for this verification.
21
+ #
22
+ # @return [PreludeSDK::Models::VerificationCheckResponse::Metadata, nil]
23
+ optional :metadata, -> { PreludeSDK::Models::VerificationCheckResponse::Metadata }
24
+
25
+ # @!attribute request_id
26
+ #
27
+ # @return [String, nil]
28
+ optional :request_id, String
29
+
30
+ # @!method initialize(status:, id: nil, metadata: nil, request_id: nil)
31
+ # @param status [Symbol, PreludeSDK::Models::VerificationCheckResponse::Status] The status of the check.
32
+ #
33
+ # @param id [String] The verification identifier.
34
+ #
35
+ # @param metadata [PreludeSDK::Models::VerificationCheckResponse::Metadata] The metadata for this verification.
36
+ #
37
+ # @param request_id [String]
38
+
39
+ # The status of the check.
40
+ #
41
+ # @see PreludeSDK::Models::VerificationCheckResponse#status
42
+ module Status
43
+ extend PreludeSDK::Internal::Type::Enum
44
+
45
+ SUCCESS = :success
46
+ FAILURE = :failure
47
+ EXPIRED_OR_NOT_FOUND = :expired_or_not_found
48
+
49
+ # @!method self.values
50
+ # @return [Array<Symbol>]
51
+ end
52
+
53
+ # @see PreludeSDK::Models::VerificationCheckResponse#metadata
54
+ class Metadata < PreludeSDK::Internal::Type::BaseModel
55
+ # @!attribute correlation_id
56
+ #
57
+ # @return [String, nil]
58
+ optional :correlation_id, String
59
+
60
+ # @!method initialize(correlation_id: nil)
61
+ # The metadata for this verification.
62
+ #
63
+ # @param correlation_id [String]
64
+ end
65
+ end
66
+ end
67
+ end