client = $client; $this->parameterBag = $parameterBag; $this->mailUtils = $utilsManager->getMailUtils() ; $this->utils = $utilsManager->getUtils() ; } public function send($user, $message) { if($user) { $phone = $this->utils->formatPhoneNumber($user->getPhone()) ; if($this->parameterBag->get('mailjet.dev.redirect.active') == 1) { $this->mailUtils->send([ MailUtils::SUBJECT => 'Notification par SMS à '.$phone, MailUtils::TO_EMAIL => $user->getEmail(), MailUtils::CONTENT_TEMPLATE => 'mail/notification', MailUtils::CONTENT_DATA => [ 'message' => $message ], ]); return true ; } else { $token = $this->parameterBag->get('mailjet.sms.token'); $from = $this->parameterBag->get('mailjet.sms.from'); if ($token && strlen($token) > 0) { $response = $this->client->request( 'POST', 'https://api.mailjet.com/v4/sms-send', [ 'headers' => [ 'Authorization' => 'Bearer ' . $token, ], 'json' => [ 'From' => $from, 'To' => $phone, 'Text' => $message, ] ] ); $statusCode = $response->getStatusCode(); if ($statusCode == 200) { $content = $response->getContent(); $content = $response->toArray(); return $content; } else { // log } } else { throw new \ErrorException('Le token SMS Mailjet n\'est pas défini.'); } } } return false; } }