namespace App\Utils;
use Twilio\Rest\Client;
class Twilio
{
const EMAIL_CHANNEL = 'email';
const SMS_CHANNEL = 'sms';
const VERIFY_APPROVED = 'approved';
private static function initialize()
{
return new Client(config('twilio.sid'), config('twilio.token'));
}
public static function requestOtp(string $recipient, string $channel)
{
return self::initialize()
->verify
->v2
->services(config('twilio.services.verify'))
->verifications
->create($recipient, $channel);
}
}
in my controller it look something like this
class Controller
{
public function store(Request $request)
{
// some code here...
Twilio::requestOtp($request->recipient, $request->channel);
// some code here..
}
}