lib/stytch/otps.rb in stytch-2.0.0 vs lib/stytch/otps.rb in stytch-2.1.0
- old
+ new
@@ -4,18 +4,19 @@
module Stytch
class OTPs
include Stytch::RequestHelper
- attr_reader :sms
+ attr_reader :sms, :whatsapp
PATH = '/v1/otps'
def initialize(connection)
@connection = connection
@sms = Stytch::OTPs::SMS.new(@connection)
+ @whatsapp = Stytch::OTPs::WhatsApp.new(@connection)
end
def authenticate(
method_id:,
code:,
@@ -35,9 +36,51 @@
class SMS
include Stytch::RequestHelper
PATH = "#{Stytch::OTPs::PATH}/sms"
+
+ def initialize(connection)
+ @connection = connection
+ end
+
+ def send(
+ phone_number:,
+ expiration_minutes: nil,
+ attributes: {}
+ )
+ request = {
+ phone_number: phone_number,
+ expiration_minutes: expiration_minutes
+ }
+
+ request[:attributes] = attributes if attributes != {}
+
+ post_request("#{PATH}/send", request)
+ end
+
+ def login_or_create(
+ phone_number:,
+ expiration_minutes: nil,
+ attributes: {},
+ create_user_as_pending: false
+ )
+ request = {
+ phone_number: phone_number,
+ expiration_minutes: expiration_minutes,
+ create_user_as_pending: create_user_as_pending
+ }
+
+ request[:attributes] = attributes if attributes != {}
+
+ post_request("#{PATH}/login_or_create", request)
+ end
+ end
+
+ class WhatsApp
+ include Stytch::RequestHelper
+
+ PATH = "#{Stytch::OTPs::PATH}/whatsapp"
def initialize(connection)
@connection = connection
end