From ab5b709f9de5b6b91fdd59b872304d73ecab7353 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 2 Nov 2022 18:31:46 +1100 Subject: [PATCH] User Twilio API to verify phone numbers --- app/Jobs/User/VerifyPhone.php | 84 +++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 app/Jobs/User/VerifyPhone.php diff --git a/app/Jobs/User/VerifyPhone.php b/app/Jobs/User/VerifyPhone.php new file mode 100644 index 000000000000..592e965d8527 --- /dev/null +++ b/app/Jobs/User/VerifyPhone.php @@ -0,0 +1,84 @@ +email); + + $sid = config('ninja.twilio_account_sid'); + $token = config('ninja.twilio_auth_token'); + + if(!$sid) + return; // no twilio api credentials provided, bail. + + $twilio = new Twilio\Rest\Client($sid, $token); + + $country = $user->account?->companies()?->first()?->country(); + + if(!$country || strlen($user->phone) < 2) + return; + + $countryCode = $country->iso_3166_2; + + try{ + + $phone_number = $twilio->lookups->v1->phoneNumbers($user->phone) + ->fetch(["countryCode" => $countryCode]); + } + catch(\Exception $e) { + $user->verified_phone_number = false; + $user->save(); + } + + if($phone_number && strlen($phone_number->phoneNumber) > 1) + { + $user->phone = $phone_number->phoneNumber; + $user->verified_phone_number = true; + $user->save(); + } + } + +} \ No newline at end of file